Разработанный выше пример ER-диаграммы является примером концептуальной диаграммы. Это означает, что диаграмма не учитывает особенности конкретной СУБД. По данной концептуальной диаграмме можно построить физическую диаграмму, которая уже будут учитываться такие особенности СУБД, как допустимые типы и наименования полей и таблиц, ограничения целостности и т.п.
1. Перечислите и охарактеризуйте уровни моделирования базы данных.
2. Перечислите основные критерии качества логической модели данных.
3. Какими свойствами должно обладать отношение, находящееся в 1 НФ?
4. Какие отношения требуют перевода в 2 НФ?
5. В чем заключается алгоритм перевода отношения в 2 НФ?
6. В каких случаях требуется перевод отношений в 3 НФ?
7. Как перевести отношение 3 НФ?
8. Перечислите основные понятия ER-модели.
9. Что понимают под ключом сущности?
10. Какие типы связей возможны между сущностями?
11. В чем смысл понятия модальности связи, и каким образом задается модальность связи на ER-диаграмме?
12. Перечислите правила преобразования инфологической модели в реляционную. Каким образом выполняется преобразование связей?
Внутренний язык СУБД для работы с данными состоит из 2-х частей: языка определения данныx (DDL)и языка управления данными (DML).
Язык определения данных используется для определения схемы данных, язык управления данными служит для чтения и обновления данных, хранимых в базе. Во многих СУБД предусмотрена возможность внедрения операторов подъязыка данных в программы, написанные на языках высокого уровня.
Язык DDL позволяет описывать таблицы БД и связи между ними. Результатом компиляции DDL-операторов является набор таблиц, хранимых в особых файлах, называемых системным каталогом. В системном каталоге содержатся метаданные, т.е. данные, которые описывают объекты БД.
Язык DML содержит набор операторов для манипулирования данными:
· вставки в БД данных новых сведений;
· модификации сведений;
· извлечение сведений, хранимых в базе;
· удаления сведений из базы.
Языки DML различаются базовыми конструкциями извлечения данных. Различают два типа языков: процедурный и непроцедурный. С помощью процедурного языка можно указать, какие данные необходимы, и как их можно получить. Языки сетевых и иерархических СУБД обычно бывают процедурными.
Непроцедурный язык позволяет указать лишь то, какие данные необходимо получить, без указания на то, как их следует извлекать. Реляционные СУБД обычно включают поддержку непроцедурных языков манипулирования данными, чаще всего SQL.