Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Язык SQL

Создание итогов в подчиненных формах.

Итоговые поля создаются дополнительно в примечании подчиненной формы. Для табличной или ленточной формы- это будет сумма обработанных записей.

Свойство «Данные» = Sum [Total]- значение суммирования всех значений поля «Total»

Хотя оно создано как поле подчиненной формы, оно будет отображаться как поле главной формы и можно будет увидеть полную ссылку.

отобразится.
[Forms]![Имя главной формы]![Имя починенной формы].[Form]![Total Sum]

 

SQL (произносится “SEQUEL”)- структурированный язык запросов (Structured Query Language).

Базы данных имеют тенденцию к постоянной интеграции, что привело к необходимости разработки стандартного языка запросов, пригодного для использования на множестве компьютерных платформ.

Прообраз SQL возник в 1970 году в одной из лабораторий IBM (Санта-Тереза (проект System/R)) как средство запроса к реляционной БД. На настоящее время SQL стал фактически стандартом и его популярность настолько велика, что разработчики не реляционных СУБД (например, Adobes), снабжают свои системы SQL- интерфейсом.

Кроме de facto SQL имеет официальный стандарт ANCI / ISO (American National Standarts Institute / International Standarts Organization), что выводит его в ранг международного стандарта.

Настоящая тенденция заключается в том, что многие реальные СУБД расширяют возможности за рамки ANCI и тогда «хорошие» черты вновь становятся «рыночным» стандартом и повторяются другими.

SQL изначально не являлся языком программирования, поскольку на нем пишутся не программы, а запросы к БД. Т.е. SQL- декларативный язык. Это означает, что с его помощью можно сформулировать ЧТО необходимо получить, но нельзя указать КАК это сделать. Операторы типа if, for, do, while и т.п. – отсутствуют.

Для получения общих представлений об SQL рассмотрим ряд простых примеров и синтаксис необходимый для их понимания.

Запрос на языке SQL состоит из одной или нескольких команд SQL, следующих одна за другой и разделенных точкой с запятой. Наиболее важные команды:

       
 
   
 

SELECT Выбрать Вбрать данные из БД
INSERT Добавить Добавить данные в БД
UPDATE Обновить Обновить данные в БД
DELETE Удалить Удалить данные из БД
GRANT Разрешить Предоставить привилегию пользователю
REVOKE Отменить Отменить привилегию пользователя
COMMIT ЗАФИКСИРОВАТЬ Зафиксировать текущую транзакцию
ROLLBACK ПРЕРВАТЬ Прервать текущую транзакцию

 

В командах участвуют имена, идентифицирующие объекты БД. Например, имя таблицы (Деталь), имя столбца (Название). Имена могут быть сложными, в которых перед именем столбца, через разделитель ‘.’ следует имя таблицы (Деталь. Все).

Пример 1

Запрос: «определить количество деталей на складе, для всех типов деталей»

 

SELECT Название, Количество FROM Деталь;

(Выбрать) (Из).

Результат: таблица со столбцами:

 

Название Количество

Это вертикальная проекция.

 

Пример 2

Запрос: «какие детали, из стали, хранятся на складе?»

 

SELECT * FROM Деталь WHERE Материал = «Сталь»;

(где)

Результат- таблица, но содержащая только те строки из исходной таблицы, которые в столбце (поле) «Материал» имеют «Сталь». Это горизонтальная проекция, поскольку * означает выбор из всех столбцов.

 

Пример 3

Запрос: «определить название и количество деталей на складе, изготовленных из пластмассы и весящих меньше 5 кг».

SELECT Название, Количество FROM Деталь

WHERE Материал = «Пластмасса»

AND Вес < 5;

Результат- таблица из 2 столбцов «Название» и «Количество». Сначала- горизонтальная проекция, затем- вертикальная.

 

Пример 4

SELECT Название, Количество, Материал

FROM Деталь

WHERE Номер = «Т145-А8»;

 

Если в таблице «Деталь» не существует индекса по полю «Номер», то запрос будет выполняться долго из-за прямого перебора.

 

Индекс можно создать командой CREATE INDEX

CREATE UNIQUE INDEX Индекс детали

ON Деталь (Номер);

 

Создается индекс с именем «Индекс детали» по столбцу «Номер» таблицы «Деталь».

Чаще всего для пользователя СУБД представляют интерес не отдельные команды SQL (иногда используется термин для всей строки; до ‘;’- Statement (продолжение, фраза)), а некоторая их последовательность. Каждая такая последовательность Statements реализует некую законченную операцию в терминах предметной области. Например, банковскую операцию (перевод некоторой суммы с краткосрочного счета на долгосрочный в несколько шагов (снятие со счета, зачисление на счет)).

Если в процессе выполнения этой многошаговой операции произойдет сбой, когда первая часть (снятие) будет выполнена, а вторая- нет, то деньги будут потеряны. Следовательно, любое многошаговое действие над БД должно быть выполнено целиком, или не выполняться вовсе. Такое действие получило название транзакция.

Обработка транзакций опирается на журнал транзакций. В него заносится информация о каждой транзакции и она используется для ОТКАТА транзакций и восстановления состояния БД.

 

<== предыдущая лекция | следующая лекция ==>
Связывание главной и подчиненной форм | Команда SELECT
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 272; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.