Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
82
Добавлен:
22.03.2015
Размер:
156.67 Кб
Скачать

Порядок выполнения работы

  1. Разработать ER-диаграмму базы данных для своего индивидуального задания из первой лабораторной работы. Диаграмма должна содержать указания множественности ассоциаций, названия ассоциаций или ролей сущностей, ключевые атрибуты сущностей.ER-диаграмма должна содержать не менее одной ассоциации вида «многие ко многим».

  2. Выполнить формирование реляционной модели базы данных по результатам инфологического моделирования. Конечный результат этого шага – разработка скриптов создания таблиц базы данных.

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

Рекомендации

Для графического построения ER-диаграммы можно использовать CASE-средства, например, программный продукт ERWin или MSVisio.

Содержание отчета

  1. Формулировка варианта индивидуального задания из первой лабораторной работы.

  2. ER-диаграмма разработанной базы данных. Текстовое объяснение назначения сущностей и их атрибутов.

  3. Тексты всех разработанных SQLскриптов для создания таблиц реляционной модели.

  4. Выводы по работе.

Контрольные вопросы

  1. Модель «сущность-связь».

  2. Виды ассоциаций, множественность ассоциаций.

  3. Порядок формирования реляционной модели базы данных по ее ER-модели.

  4. Нормальные формы отношений реляционной алгебры.

Лабораторная работа № 3. Поддержка целостности реляционной базы данных

Цель работы:Изучить средства поддержания целостности баз данных в языке SQL.

Теоретические положения

Целостность– соответствие информационной модели предметной области, хранимой в базе данных, объектам реального мира и взаимосвязям в каждый момент времени.

В языке SQL декларативная целостность задается в определении таблицы следующим образом:

CREATE TABLE <имя таблицы> (<описание элемента таблицы> [,… n])

<описание элемента таблицы> ::= <определение столбца> | <ограничение таблицы>

<определение столбца> ::= <имя столбца> <тип данных> [<значение по умолчанию>] [<ограничения столбца>]

<значение по умолчанию> ::= [DEFAULT <выражение>] | [IDENTITY (<нач.значение>, <приращение>)]

<ограничение столбца> ::= [CONSTRAINT <имя ограничения>] { [NULL | NOT NULL] [ {PRIMARY KEY | UNIQUE} | [ [FOREIGN KEY] REFERENCES <имя таблицы> (<имя столбца>) ] [ON DELETE {CASCADE | NO ACTION}]

[ON UPDATE {CASCADE | NO ACTION}] ] |

CHECK <логическое выражение>}

<ограничение таблицы> ::= [ CONSTRAINT <название ограничения> ] { [ { PRIMARY KEY | UNIQUE } { ( <столбец>[ ,...n ] ) } ] | FOREIGN KEY ( <столбец>[ ,...n ] ) REFERENCES <родительская таблица>[ ( <столбец ссылки>[ ,...n ] ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] |

CHECK(<логическое выражение>)}

Следует обратить внимание на то, что ограничение целостности может быть задано на уровне столбца и на уровне таблицы. Ограничение на уровне таблицы задается в том случае, если оно зависит от двух или более столбцов.

Порядок выполнения работы

  1. Разработать в соответствии с индивидуальным заданием концептуальную модель базы данных. Выполнить нормализацию всех таблиц таким образом, чтобы они находились в третьей нормальной форме. Модель должна содержать не менее четырех связных таблиц. В качестве начального варианта базы данных можно использовать результаты второй лабораторной работы.

  2. Создать таблицы, в которых предусмотреть средства поддержания целостности (см. рекомендации). Во всех таблицах должны быть определены первичные ключи, и не менее двух таблиц должны содержать внешние ключи. Не менее двух столбцов должны обеспечивать уникальность значений, не менее двух столбцов должны содержать предикат ограничения CHECK, в одной из таблиц должно быть хотя бы одно совместное ограничение на два или более столбцов.

  3. Занести в таблицы данные, не менее 10 записей.

  4. Составить запросы на изменение таблиц, не нарушающие целостности и запросы, нарушающие целостность базы данных. Исследовать реакцию СУБД на нарушение каждого ограничения. В том числе составить запросы на удаление строк из родительской и подчиненной таблиц.

Соседние файлы в папке Базы данных