Языки баз данных sql и qbe. синтаксис языка sql.
В языке QBE (Query-by-Example - язык запросов по образцу) используется визуальный подход для организации доступа к информации в базе данных, основанный на применении шаблонов запросов. Применение QBE осуществляется путем задания образцов значений в шаблоне запроса, предусматривающем такой тип доступа к базе данных, который требуется в данный момент, например получение ответа на некоторый вопрос.
Структурированный язык запросов SQL - это гибкий язык, являющийся самым распространенным инструментом, используемым для связи с реляционной базой данных. Этот язык предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SQL является непроцедурным языком и состоит из ограниченного числа команд, специально предназначенных для управления над данными.
По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Главное отличие между ними, заключается в способе формирования запросов: язык QBE предполагает ручное или визуальное формирование запроса, в то время как использование SQL означает программирование запроса.
Синтаксис языка SQL.
SQL подразделятся на два подмножества команд: DDL (Data Definition Language - язык определения данных) и DML (Data Manipulation Language - язык обработки данных). Команды DDL используются для создания новых баз данных, таблиц и столбцов, а команды DML - для чтения, записи, сортировки, фильтрования, удаления данных. Также существует язык запросов Data Query Language (DQL).
Команды DDL.
CREATE TABLE – Создает новую таблицу в БД.
DROP TABLE – Удаляет таблицу из БД.
ALTER TABLE – Изменяет структуру существующей таблицы или ограничения целостности, задаваемые для данной таблицы.
CREATE VIEW – Создает виртуальную таблицу, соответствующую некоторому SQL-запросу.
ALTER VIEW – Изменяет ранее созданное представление.
DROP VIEW – Удаляет ранее созданное представление.
CREATE INDEX – Создает индекс для некоторой таблицы для обеспечения быстрого доступа по атрибутам, входящим в индекс.
DROP INDEX – Удаляет ранее созданный индекс.
Команды DML.
DELETE – Удаляет одну или несколько строк, соответствующих условиям фильтрации, из базовой таблицы. Применение оператора согласуется с принципами поддержки целостности, поэтому этот оператор не всегда может быть выполнен корректно, даже если синтаксически он записан правильно.
INSERT – Вставляет одну строку в базовую таблицу. Допустимы модификации оператора, при которых сразу несколько строк могут быть перенесены из одной таблицы или запроса в базовую таблицу.
UPDATE – Обновляет значения одного или нескольких столбцов в одной или нескольких строках, соответствующих условиям фильтрации.
Команды DQL.
SELECT – Оператор, заменяющий все операторы реляционной алгебры и позволяющий сформировать результирующее отношение, соответствующее запросу.
Отличия языков SQL и QBE. Синтаксис языка SQL.
См. 36
Нормализация БД. Нормальные формы. ER-диаграмма.
Нормализацией схемы базы данных называется процедура, производимая над базой данных с целью удаления в ней избыточности. Схемой базы данных называется структура связей между полями и таблицами. Нормализация несет с собой немало преимуществ. Очевидно, что в нормализованной базе данных уменьшается вероятность возникновения ошибок, она занимает меньше места на жестком диске и т.д.
Замечание: В теории баз данных говорится о том, что схема базы данных должна быть полностью нормализована. При работе с полностью нормализованными базами данных необходимо применять весьма сложные SQL-запросы, что приводит к обратному эффекту - замедлению работы базы данных. Поэтому иногда для упрощения запросов даже прибегают к обратной процедуре - денормализации.
Виды нормальных форм.
С точки зрения нормализации, существует 6 нормальных форм, но на практике обычно используется только три:
первая нормальная форма (1NF): Отношение находится в 1NF, если оно удовлетворяет двум условиям:1.Значения всех его атрибутов атомарны;2.Отсутствуют повторяющиеся группы атрибутов.
вторая нормальная форма (2NF): Отношение находится в 2NF, если оно находится в 1NF и каждый неключевой атрибут функционально полно зависит от ключа.
третья нормальная форма (3NF): Отношение находится в 3NF, если оно находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
нормальная форма Бойса-Кодда (BCNF):
четвертая нормальная форма (4NF):
пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF):
Построение ER-диаграммы.
Чаще всего концептуальная модель представляется в виде диаграммы сущностей – связей (entity – relationship) или ER-диаграммы. Процесс построения ER-диаграммы называется ER-моделированием. Сущность (Entity) или объект – то, о чем будет накапливаться информация в информационной системе (нечто такое, за чем пользователь хотел бы наблюдать).
Процедуры моделирования.
Стадия 1 – начало работы над проектом: Разрабатывается план моделирования, в котором указываются задания для выполнения и последовательность, в которой они должны выполняться.
Стадия 2 – определение сущностей:
Стадия 3 – определение отношений:
Стадия 4 – определение ключей: Цели стадии: 1)Детализация неспецифических отношений; 2)Определение ключевых атрибутов для каждой сущности; 3)Перемещение первичных ключей на установление внешних ключей; 4)Проверка правильности ключей и отношений.
Стадия 5 – определение атрибутов: Цели стадии: 1)Установление принадлежности атрибутов к сущности; 2)Определение не ключевых атрибутов; 3)Проверку правильности и детализацию структур данных.
Имя атрибута должно быть уникальным.
Пример диаграммы.