View on GitHub

ITMO-PE

My study notes about Program Engineering at University ITMO

MainPage/DataBase/Lab 2

Университет ИТМО

Факультет ФПИ и КТ






Отчёт по лабораторной работе 2

«Информационная система и база данных»

Вариант: 310930













Студент: Чжоу Хунсян
Группа: P33131
Преподаватель:

1 Текст задания.

Для отношений, полученных при построении предметной области из лабораторной работы №1, выполните следующие действия:
对于从 1 号实验室工作构建主题区域时获得的关系,执行以下步骤:

2 DataBase

Инфологическая модель

Source

Даталогическая модель

Source

3 Функциональные зависимости для отношений полученной схемы (минимальное множество)

Условия чтобы множество функц. зависимостей были минимальными

  1. У всех зависимостей – один атрибут в правой части
  2. $A_1\rightarrow A_2$ нельзя заменить на $A_3\rightarrow A_2$($A_3$ – подмножество $A_1$)
  3. При удалении любой функции. Зависимости из изначального множества не получается эквивалентное множество функции. Зависимостей

charaters

key: id

events

key: id

locations

key: id

status

key: id

groups

key: id

group_member

key: id

id -> group id -> member

relations

key: id

id -> name id -> subject id -> object

actions

key: id

id -> event id -> subject id -> object id -> location id -> status id -> process

movements

key: id

id -> character id -> starting_location id -> destination_location

4 Отношения в 3NF.

Приведение к 3NF можно разбить в 3 этапа:

  1. Убедиться, что сущности приведены к 1NF (привести, если требуется)
    • В таблице не должно быть дублирующих строк
    • В каждой ячейке таблицы хранится атомарное значение (одно не составное значение)
    • В столбце хранятся данные одного типа
    • Отсутствуют массивы и списки в любом виде
  2. Убедиться, что сущности приведены к 2NF (привести, если требуется)
    • Таблица должна находиться в первой нормальной форме
    • Таблица должна иметь ключ
    • Все не ключевые столбцы таблицы должны зависеть от полного ключа (в случае, если он составной)
  3. Убедиться, что сущности приведены к 3NF (привести, если требуется)
    • Таблица находиться во второй нормальной форме
    • Отсутствие транзитивных зависимостей (зависимость не ключевых столбцов от значений других не ключевых столбцов)

Все имеющиеся таблицы приведены к 1NF. Отношение, на пересечении каждой строки и столбца — одно значение. Все имеющиеся таблицы приведены к 2NF.
Все имеющиеся таблицы приведены к 3NF. Нет транзитивных зависимостей.

5 Отношения в BCNF

6 Денормализация


movements locations
id(PK) id(PK)
character(FK) name
starting_location(FK)  
destination_location(FK)  
movements locations
id -> character id -> name
id -> starting_location name -> id
id -> destination_location  
movements
id(PK)
character(FK)
starting_location_id
starting_location_name
destination_location_id
destination_location_name
movements
id -> character
id -> starting_location_id
id -> destination_location_id
id -> starting_location_name
id -> destination_location_name
starting_location_id -> starting_location_name
destination_location_id -> destination_location_name

7 Выводы