Пятая нормальная форма (5NF)Таблица находится в 5NF, если она находится в 4NF. Пятая нормальная форма в большей степени является теоретическим исследованием и практически не применяется при реальном проектировании баз данных.
Шестая нормальная форма (6NF)Таблица находится в 6NF, если она находится в 5NF и удовлетворяет требованию отсутствия нетривиальных зависимостей.
Языки баз данных
Внутренний язык СУБД для работы с данными состоит из двух частей: языка определения данных DDL используется для описания структуры базы данных, языка управления данными DML. для чтения и обновления самой базы данных. Эти языки называются подъязыками данных, поскольку в них отсутствуют конструкции для выполнения всех вычислительных операций. Во многих СУБД предусмотрена возможность внедрения операторов подъязыка данных в программы, написанные на таких языках программирования высокого уровня, как COBOL, Fortran, Pascal, Ada или С. В этом случае язык высокого уровня принято называть базовым языком (host language).
Язык управления данными DML - язык, содержащий набор операторов для поддержки основных операций манипулирования содержащимися в базе данными. К операциям управления данными относятся: вставка в базу данных новых сведений; модификация сведений, хранимых в базе данных; извлечение сведений, содержащихся в базе данных; удаление сведений из базы данных.
Языки 4GL. "язык четвертого поколения"(Fourth-Generation Language). Выделяют следующие типы языков четвертого поколения: языки представления информации, например языки запросов или генераторы отчетов; специализированные языки, например языки электронных таблиц и баз данных; генераторы приложений, которые при создании приложений обеспечивают определение, вставку, обновление или извлечение сведений из базы данных; языки очень высокого уровня, предназначенные для генерации кода приложений. В качестве примеров языков четвертого поколения можно указать упоминавшиеся выше языки SQL и QBE.
Язык SQL. Структурированный Язык Запросов. Это - язык, который дает Вам возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах. SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации).
Состав языка SQL
Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде.
Поэтому, в язык SQL в качестве составных частей входят различные команды одного языка:
язык манипулирования данными (Data Manipulation Language, DML)
язык определения данных (Data Definition Language, DDL)
язык управления данными (Data Control Language, DCL).
Основные операторы языка.
Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:
SELECT | (выбрать) |
INSERT | (вставить) |
UPDATE | (обновить) |
DELETE | (удалить) |
Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:
CREATE DATABASE | (создать базу данных) |
CREATE TABLE | (создать таблицу) |
CREATE VIEW | (создать виртуальную таблицу) |
CREATE INDEX | (создать индекс) |
CREATE TRIGGER | (создать триггер) |
CREATE PROCEDURE | (создать сохраненную процедуру) |
ALTER DATABASE | (модифицировать базу данных) |
ALTER TABLE | (модифицировать таблицу) |
ALTER VIEW | (модифицировать виртуальную таблицу) |
ALTER INDEX | (модифицировать индекс) |
ALTER TRIGGER | (модифицировать триггер) |
ALTER PROCEDURE | (модифицировать сохраненную процедуру) |
DROP DATABASE | (удалить базу данных) |
DROP TABLE | (удалить таблицу) |
DROP VIEW | (удалить виртуальную таблицу) |
DROP INDEX | (удалить индекс) |
DROP TRIGGER | (удалить триггер) |
DROP PROCEDURE | (удалить сохраненную процедуру) |
Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать "язык управления доступом". Он состоит из двух основных команд:
GRANT | (дать права) |
REVOKE | (забрать права) |
С точки зрения прикладного интерфейса существуют две разновидности команд SQL:
интерактивный SQL
встроенный SQL.
Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне. Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.
Типы данных
Строковые: символьные строки функциональной длины а символьные строки переменной длины
Числовые типы: целочислительные, вещественные.
Типы с функциональной длиной: вещественные
Типы с плавающей точкой: двоичные
Типы представляющие дату и время.
Оператор выбора.
Реляционные операции. Команды языка манипулирования данными SELECT
Начнем с базовых операций реляционных баз данных. Таковыми являются:
выборка(Restriction)
проекция(Projection)
соединение(Join)
объединение(Union)
Операция выборки позволяет получить все строки (записи) либо часть строк одной таблицы.
SELECT * FROM country
Получить все строки таблицы Country
Эти примеры иллюстрируют общую форму команды SELECT в языке SQL (для одной таблицы):
SELECT | (выбрать) специфицированные поля |
FROM | (из) специфицированной таблицы |
WHERE | (где) некоторое специфицированное условие является истинны |
Операция соединения позволяет соединять строки из более чем одной таблицы (по некоторому условию) для образования новых строк данных.
Операция объединения позволяет объединять результаты отдельных запросов по нескольким таблицам в единую результирующую таблицу. Таким образом, предложение UNION объединяет вывод двух или более SQL-запросов в единый набор строк и столбцов.
Формирование запросов.
Статические и динамические запросы.
Статические –задаются в процессе разработки приложения. При запуске отображается два поля. В процессе запрос можно заменить другими запросами. Данные компонента qvery представляется виде таблицы.
Динамические запросы - является запрос когда меняются отдельные его составляющие, и его отдельные параметры запроса.
Под параметром запроса понимается имя запроса перед которым стоит двоеточие без пробела. В компоненте qvery имеется свойство в которое записывается имя параметра
Операторы манипулирования данными
Агрегатные операторы.
Языки баз данных
Язык SQL.
Основные операторы языка. Оператор выбора.
Формирование запросов. Операторы манипулирования данными.
Агрегатные операторы
Внутренний язык СУБД для работы с данными состоит из двух частей: языка определения данных DDL и языка управления данными DML. языка определения данных DDL (Data Definition Language) и языка управления данными DML (Data Ma-nipulation Language). Язык DDL используется для описания структуры базы данных, а язык DML - для чтения и обновления самой базы данных. Эти языки называются подъязыками данных, поскольку в них отсутствуют конструкции для выполнения всех вычислительных операций, обычно используемых в языках программирования высокого уровня. Во многих СУБД предусмотрена возможность внедрения операторов подъязыка данных в программы, написанные на таких языках программирования высокого уровня, как COBOL, Fortran, Pascal, Ada или С. В этом случае язык высокого уровня принято называть базовым языком (host language). Помимо механизма внедрения, для большинства подъязыков данных также предоставляются средства интерактивного выполнения их операторов, вводимых пользователем непосредственно со своего терминала.
Схема базы данных состоит из набора определений, выраженных на специальном языке определения данных - DDL. Язык DDL используется как для определения новой схемы, так и для модификации уже существующей. Этот язык нельзя использовать для управления данными. Результатом компиляции DDL-операторов является набор таблиц, хранимый в особых файлах, называемых системным каталогом. В системном каталоге интегрированы метаданные - т.е. данные, которые описывают объекты базы данных, а также позволяют упростить способ доступа к ним и управления ими. Метаданные включают определения записей, элементов данных, а также другие объекты, представляющие интерес для пользователей или необходимые для работы СУБД. Перед доступом к реальным данным СУБД обычно обращается к системному каталогу. Для обозначения системного каталога также используются термины словарь данных и каталог данных, хотя первый из них (словарь данных) обычно относится к программному обеспечению более общего типа, чем просто каталог СУБД.
Язык управления данными DML - язык, содержащий набор операторов для поддержки основных операций манипулирования содержащимися в базе данными. К операциям управления данными относятся: вставка в базу данных новых сведений; модификация сведений, хранимых в базе данных; извлечение сведений, содержащихся в базе данных; удаление сведений из базы данных.