Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы теории информации.doc
Скачиваний:
16
Добавлен:
17.09.2019
Размер:
446.98 Кб
Скачать

24. Язык структурированных запросов sql: история развития языка sql, основные категории команд языка sql, типы данных.

SQL («язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на исчислении кортежей.

Год Название Иное название Изменения

1986 SQL-86 SQL-87 Первый вариант стандарта, принятый институтом ANSI и одобренный ISO в 1987 году.

1989 SQL-89 FIPS 127-1 Немного доработанный вариант предыдущего стандарта.

1992 SQL-92 SQL2, FIPS 127-2 Значительные изменения (ISO 9075); уровень Entry Level стандарта SQL-92 был принят как стандарт FIPS 127-2.

1999 SQL:1999 SQL3 Добавлена поддержка регулярных выражений, рекурсивных запросов, поддержка триггеров, базовые процедурные расширения, нескалярные типы данных и некоторые объектно-ориентированные возможности.

2003 SQL:2003 Введены расширения для работы с XML-данными, оконные функции (применяемые для работы с OLAP-базами данных), генераторы последовательностей и основанные на них типы данных.

2006 SQL:2006 Функциональность работы с XML-данными значительно расширена. Появилась возможность совместно использовать в запросах SQL и XQuery.

2008 SQL:2008 Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003[5]

Основные категории команд языка SQL:

  • DDL – язык определения данных(позволяет создавать и изменять структуру объектов базы данных, например, создавать и удалять таблицы.);

  • DML – используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд

  • DQL – язык запросов (Эта команда вместе со своими многочисленными опциями и предложениями используется для формирования запросов к реляционной базе данных.) ;

  • DCL – язык управления данными (управлять доступом к информации, находящейся внутри базы данных.);

  • команды администрирования данных (пользователь осуществляет контроль за выполняемыми действиями и анализирует операции базы данных);

  • команды управления транзакциями

В языке SQL/89 поддерживаются следующие типы данных: CHARACTER, NUMERIC,DECIMAL, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION. Эти типы данных классифицируются на типы строк символов, точных чисел и приблизительных чисел. Заметим еще, что в большинстве реализаций SQL поддерживаются некоторые дополнительные типы данных, например DATE, TIME, INTERVAL, MONEY.

25. Проектирование баз данных на основе принципов нормализации: нормальные формы 1нф, 2нф, 3нф.

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

Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную избыточность, то есть нормализация не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение объёма БД. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в БД информации.

1НФ В реляционной модели отношение всегда находится в первой нормальной форме по определению понятия отношение. Что же касается таблиц в существующих реляционных СУБД (SQL-СУБД), то они могут не быть правильными отношениями и, соответственно, не находиться в 1NF.

2НФ Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).

3НФ Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A - набор ключевых атрибутов (ключ), B и С - различные множества неключевых атрибутов.