Главная страница

БД. БД_ЛР2. Реляционное моделирование базы данных


Скачать 296.57 Kb.
НазваниеРеляционное моделирование базы данных
Дата21.11.2021
Размер296.57 Kb.
Формат файлаdocx
Имя файлаБД_ЛР2.docx
ТипЛабораторная работа
#277851

Лабораторная работа №2


Тема: Реляционное моделирование базы данных

Цель работы


Построить реляционную модель базы данных по концептуальной модели из лабораторной работы №1

Основные теоретические сведения


1. Каждая таблица состоит из однотипных строк и имеет уникальное имя.

2. Строки имеют фиксированное число полей (столбцов) и значений (множественные поля и повторяющиеся группы недопустимы). Иначе говоря, в каждой позиции таблицы на пересечении строки и столбца всегда имеется в точности одно значение или ничего.

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

4. Столбцам таблицы однозначно присваиваются имена, и в каждом из них размещаются однородные значения данных (даты, фамилии, целые числа или денежные суммы).

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

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


  1. Убедиться в наличии выполненной лабораторной работы 1

  2. Последовательно перенести сущности, связи и их атрибуты в реляционную модель

  3. Привести отношения к 1 НФ

  4. Привести отношения к 2 НФ

  5. Привести отношения к 3 НФ

  6. Привести отношения к НФБК

  7. Привести отношения к 4 НФ

  8. Описать отношения графически (например, в Access и заполнить таблицы примерами данных (не менее 3 записей в каждой таблице))

  9. Оформить раздел отчета "Реляционное моделирование базы данных. Нормальные формы", включив в него информацию из пп. 1 - 8.

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





  1. Концептуальная схема БД представлена на рисунке





Рис. 2.4. Инфологическая модель базы данных
2) Переходим от сущностей ER модели к отношениям в реляционной модели

1. Каждой сущности модели «сущность-связь» ставится в соответствие отношение реляционной модели.

2. Каждый атрибут сущности становится атрибутом соответствующего отношения.



Для каждого атрибута задается имя, тип данных, обязательность)

3. Первичный ключ сущности становится первичным ключом соответствующего отношения.(атрибуты становятся notnull)

4. В каждое отношение, соответствующее сущности со стороны «многие» (связь 1:N), добавляется набор атрибутов сущности со стороны «один», являющихся первичным ключом сущности со стороны «один». В отношении, соответствующим сущности со стороны «многие», этот набор атрибутов становится внешним ключом.

5. Для моделирования обязательного/необязательного класса принадлежности у атрибутов, соответствующих внешнему ключу, устанавливается свойство отсутствия / допустимости неопределенных значений.

6. Связи M:N. ставится в соответствие отношение, имеющее атрибуты, которые в сущностях являются первичными ключами, а в новом отношении будут внешними ключами. Первичным ключом нового отношения будет совокупность внешних ключей.

Продукты

Атрибут

Тип данных

Null/Not Null

Первичный ключ

Внешний ключ

КодПрод

int

нет

да




Название продукта

varchar(30)

нет







Единица измерения

varchar(15)

да







Срок хранения (дней)

int

да







Условия хранения

varchar(200)

да








Поставщики

Атрибут

Тип данных

Null/Not Null

Первичный ключ

Внешний ключ

КодПост

int

нет

да




Название поставщика

varchar(50)

нет







Код города

int

да




да

Адрес

varchar(100)

да







ФИО директора

varchar(200)

да







Телефон

varchar(20)

да







Факс

varchar(20)

да






















Продажи

Атрибут

Тип данных

Null/Not Null

Первичный ключ

Внешний ключ

ДатаПродажи

int

нет

да




КодПрод

varchar(30)

нет

да

да

Количество

varchar(15)

да







ЦенаПродажи

decimal(12,2)

нет








Города

Атрибут

Тип данных

Null/Not Null

Первичный ключ

Внешний ключ

КодГорода

int

нет

да




НазваниеГорода

varchar(100)

нет







3) Чтобы отношение было в 1 НФ необходимо, чтобы значения всех его атрибутов были атомарны. Поэтому если это не так, разбиваем атрибут на несколько таким образом, чтобы требование 1 НФ выполнялось.

Например, атрибут ФИО директора поставщика не является атомарным, поэтому разбиваем его на три атрибута: Фамилия Имя и Отчество.

Поставщики

Атрибут

Тип данных

Null/Not Null

Первичный ключ

Внешний ключ

КодПост

int

нет

да




Название поставщика

varchar(50)

нет







Код города

int

да




да

Адрес

varchar(100)

да







Фамилия

директора

varchar(200)

да







Имя

директора

varchar(100)

да







Отчество

директора

varchar(100)

да







Телефон

varchar(20)

да







Факс

varchar(20)

да






















Значения остальных атрибутов являются атомарными, следовательно отношения находятся в 1 НФ.

4) Отношение (таблица) находится во 2НФ, если оно находится в 1НФ, и каждый неключевой атрибут функционально полно зависит от всего ключа.

Если атрибут зависит от части составного первичного ключа, нужно:

  • создать новое отношение, атрибутами которого будут:

• часть составного ключа (первичный ключ нового отношения)

• атрибут, зависящий от нового ключа

  • из исходного отношения исключить атрибут, включенный в новое отношение

Отношения проектируемой БД находятся во 2 НФ.

5) Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

В каждом отношении отсутствует транзитивная зависимость между атрибутами и ключом, следовательно отношения находятся в 3 НФ.

6) Переменная отношения находится в Нормальной форме Бойса-Кодда тогда и только тогда, когда каждая её нетривиальная и неприводимая слева функциональная зависимость имеет в качестве своего детерминанта некоторый потенциальный ключ. То есть, переменная отношения находится в нормальной форме Бойса-Кодда тогда и только тогда, когда детерминанты всех её функциональных зависимостей являются потенциальными ключами. Так как в наших отношениях нет потенциальных составных ключей, имеющих общий атрибут, то отношение находится в НФБК.

7) Отношение находится в 4НФ, если оно находится в НФБК, и в нем отсутствуют многозначные зависимости, не являющиеся функциональными зависимостями.

8) Создадим БД в Access и заполним примерами данных


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


  1. Назовите реляционные объекты данных и дайте их определения

  2. Назовите виды ограничений целостности в реляционной модели и опишите, в чем они заключаются

  3. Что такое семантическая целостность

  4. Дайте определения операторам реляционной алгебры

  5. Опишите алгоритм перехода от концептуальной модели к реляционной

  6. Дайте определения видам функциональной зависимости и их отличия.

  7. Какие есть нормальные формы, чем они отличаются


написать администратору сайта