
- •Уровни представления данных в бд
- •Языки баз данных
- •Логическая структура данных
- •Операции над данными
- •10. Иерархическая модель данных
- •Реляционная модель данных
- •Основные понятия реляционной модели данных
- •Таким образом, отношение - это совокупность кортежей, т.Е. Таблица со всеми своими строками.
- •Ключи отношений
- •Поставщик изделие
- •Первичный ключ никогда не должен принимать нулевого значения, а в составном ключе ни одна из компонент никогда не должна быть нулевой.
- •Контроль ссылочной целостности
- •Нормализация отношений реляционной бд
- •Первая нормальная форма
- •Поставки1 поставки
- •Поставщик1 поставки
- •Операции над отношениями
- •Теоретико-множественные операции
- •Запрос 4
- •Язык sql - общие сведения
- •Язык запросов qbe
- •Запрос 1
- •Запрос 2
Язык sql - общие сведения
Язык SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры таблиц), и над данными (выборка, изменение, добавление, удаление данных). Он позволяет выполнять и некоторые дополнительные операции. Язык не содержит операторов управления и ввода-вывода, операторов организации подпрограмм и т.п. Поэтому язык SQL автономно не используется, он может работать только в среде конкретной СУБД.
SQL был создан и впервые использован в 1981 г. С тех пор появились различные версии языка, однако основные принципы составления запросов, основные операторы и правила их выполнения практически одинаковы для всех СУБД. В настоящее время принят международный стандарт SQL - SQL-92. Этот стандарт представляет собой обобщение всех известных его реализаций. Это означает, что ядро стандарта содержит операции, применяемые практически во всех известных коммерческих версиях языка, а полный стандарт включает усовершенствования, которые некоторым производителям еще только предстоит реализовать.
Из реляционной алгебры в этот стандарт включены операторы для некоторых операций над множествами, а также операторы, выполняющие над отношениями основные реляционные операции: выборку SELECT, соединение JOIN и проекцию. В языке также используется аппарат реляционного исчисления.
Язык запросов qbe
Язык SQL требует определенных навыков в составлении запросов и не может быть предложен пользователю- непрограммисту для общения с БД. Был разработан простой и наглядный графически-ориентированный язык запросов для пользователей – Query By Example (запрос по образцу), ставший важной частью коммерческих СУБД. Этот язык также основан на реляционной алгебре.
В различных реляционных СУБД имеются свои варианты QBE, но везде запросы формулируются посредством графического представления таблиц БД. Помещая символы в определенные места в столбцах таблицы, пользователь формирует условия отбора строк из таблиц БД, формат и порядок вывода данных.
Рассмотрим основные возможности QBE, опираясь на первоначально разработанный вариант языка.
Пользователю предоставляются сведения об именах таблиц и именах столбцов, содержащихся в каждой из таблиц. Пользователь может вывести таблицу-образец для любой таблицы БД, указав ее имя. В первом столбце таблицы-образца выводится имя таблицы, за ним следуют имена столбцов. Под каждым именем столбца оставлено пустое пространство, позволяющее пользователю формировать запрос. Проиллюстрируем использование таблиц-образцов на примерах, составив на QBE два из ранее рассмотренных запросов.
Запрос 1
Сообщить название фирмы-поставщика П1.
Поскольку известные и искомые данные хранятся в одной таблице ПОСТАВЩИК, нужно вывести образец для этой таблицы.
-
ПОСТАВЩИК
П#
Имя поставщика
Город
П1
Р.
Условием отбора является равенство значения, находящегося в столбце П# базовой таблицы, введенному значению П1.
В столбец П# помещаем условие отбора данных - номер поставщика П1. Для того, чтобы указать, что именно мы хотим вывести, в столбец Имя поставщика помещаем команду Р. (print - распечатать). Пустые столбцы можно удалить. Результат запроса будет представлен в виде так называемой ответной или целевой таблицы, содержащей все строки из базовой таблицы, в которых номер поставщика равен П1.
-
ПОСТАВЩИК
П#
Имя поставщика
П1
Восход