русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Введение в SQL


Дата добавления: 2013-12-24; просмотров: 1778; Нарушение авторских прав


SQL

Реляционное исчисление на доменах

Реляционное исчисление на кортежах

Выражение в реляционном исчислении на кортежах имеют вид:

{S | F(S)}, где S – переменная-кортеж, F-формула.

Пример: все продавцы, получающие зарплату больше 10000

{S | Продавцы(S) & S.Зарплата>10000}

Формулы могут строиться с помощью логических операций конъюнкции, дизъюнкции, отрицания и операций сравнения. Используются кванторы существования и всеобщности, например:

Выбрать все сделки Иванова:

{S | Сделки(S) & (B)(Продавцы(B) & B.N = S.N_Продавца & B.Имя=’Иванов’)}

Выражение имеет вид: {d1, d2,…,dn | F(d1,d2,…, dm)}; m>=n, где d1…dm – переменные области определения (домена). F – формула, которая может быть отношением или выражением сравнения.

Пример: Найти номера и имена всех продавцов, зарплата которых > 10000.

{N, Имя | (Город, Отдел, N_Начальника)(Продавцы(N, Имя, Отдел, Город, Зарплата, N_Начальника)& (Зарплата>10000))}

Д/З 5. Для примера реляционной БД из Д/З 4 приведите примеры всех операций, запишите запрос в формах реляционного исчисления на кортежах и на доменах.

Вопросы для самопроверки:

1. Что из трех математических основ требует процедурного программирования (то есть программирования с поэтапным получением результата), а что – декларативного (то есть описания желаемого результата)?

Язык SQL (Structure Query Language – язык структурированных запросов) представляет собой декларативный язык для работы с реляционными БД, основанный на реляционном исчислении на кортежах. Декларативность языка заключается в том, что, в отличие от императивных языков (например, С++), программист не пишет последовательность действий для получения нужного ему результата, а описывает желаемый результат. СУБД сама подбирает алгоритм нахождения результата по его описанию.



Язык SQL состоит из трех подъязыков, которые описаны в Табл. 8:

Табл. 8. Подъязыки языка SQL

Подъязык Описание Операторы
Определение данных (Data Definition Language, DDL) Предназначен для создания различных объектов БД Create - создание, Alter - изменение, Drop – удаление следующих объектов: Database – базы данных, Table - таблицы, View - представления, Index – индекса, Trigger – триггера, Procedure – процедуры.
Управление данными (Data Control Language, DCL). Предназначен для управления правами доступа пользователей к различным объектам БД Grant – наделить правами, Revoke – отнять права.
Манипулирование данными (Data Manipulation Language, DML) Предназначен для работы с данными. Select – выбрать данные, Insert – создать новые данные, Update – изменить данные, Delete – удалить данные.

Операторы определения и управления данными просты, часто они скрыты от разработчика, если он пользуется мастерами при создании БД. Их рассмотрение выходит за пределы данной книги. Все богатство языка SQL заключено в операторе Select, который используется со вспомогательными операторами, приведенными в Табл. 9.

Табл. 9. Вспомогательные операторы для Select

Группа операторов Описание операторов
Тип выборки All – выбрать все записи Distinct – выбрать записи, удалив повторы  
Селекция, сортировка и группировка order by [asc | desc] – сортировка по возрастанию или убыванию, Where – селекция записей, group by - группировка, having – селекция групп, [left | right | full | inner] join…on – различные виды соединений таблиц
Операторы сравнения и логические операторы =, <>, >, <, >=, <= - операторы сравнения, Or, Аnd, Not – логические И, ИЛИ, отрицание, is [not] null – проверка на (не)пустое значение in, between, like, starting,containing – операторы примерного совпадения полей строковых типов.
Агрегирующие операторы Count – подсчет количества строк, Sum – сумма, Avg – среднее значение, Min – минимальное значение, Max – максимальное значение.
Кванторы Any – какой-нибудь, All – все, Singular – единственный, Exists – существует.
Операции над множествами Union – объединение, Intersect – пересечение, Except – разность.

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



<== предыдущая лекция | следующая лекция ==>
Реляционная алгебра | Вложенные запросы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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