Файл: Проектирование баз данных Основная цель проектирования баз данных Проектирование базы данных.pptx

ВУЗ: Не указан

Категория: Решение задач

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 20

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  • Основная цель проектирования баз данных.
  • Этапы проектирования баз данных.
  • Нормализация отношений. Три нормальные формы.
  • ER-модель.

Проектирование баз данных

Основная цель проектирования баз данных

Проектирование базы данных – это сложный процесс, связанный с задачами создания эффективной информационной системы.

Цель проектирования БД:
  • Обеспечение полноты сведений о предметной области.
  • Обеспечение достоверности и целостности.
  • Эффективность функционирования.
  • Обеспечение ограничений на объёмы памяти.
  • Защита данных.
  • Простота в эксплуатации.
  • Обеспечение удобства доступа к данным пользователя.
  • Возможность развития.

Этапы проектирования баз данных

Этапы проектирования:
  • Анализ предметной области
  • Концептуальное проектирование
  • Логическое проектирование
  • Физическое проектирование

Этапы проектирования баз данных

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

Восходящий и нисходящий подходы

Восходящий подход предусматривает выделение необходимых атрибутов, которые надо сохранить в базе данных.

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

Нисходящий подход подразумевает выявление сущностей. Затем происходит анализ сущностей, выявляются связи между ними, а потом и атрибуты сущностей.

Этапы проектирования баз данных

Логическое проектирование – создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных.

Физическое проектирование – создание схемы базы данных для конкретной СУБД.

Нормализация отношений

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


Нормализация представляет собой процесс разделения данных по отдельным связанным таблицам.

Атрибут — свойство сущности (поле таблицы).

Домен атрибута — множество допустимых значений, которые может принимать атрибут.

Кортеж — множество допустимых значений атрибутов, которые описывают некоторую сущность (строка таблицы).

Отношение — конечное множество кортежей (таблица).

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

Проекция — отношение, полученное из заданного путём удаления и/или перестановки некоторых атрибутов.

Нормализация отношений

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

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

Нормализация отношений

Необходимо создать БД о студентах факультета.

Предварительно все сведения собраны в одной таблице со следующими полями:
  • Номер личного дела студента
  • Фамилия студента
  • Имя студента
  • Дата рождения студента
  • Номер группы, в которой учится студент
  • Название специальности
  • Семестр обучения
  • Название предмета, изучаемого студентом
  • Экзаменационная оценка

Нормализация отношений

Нормализация отношений

Проблема обновления данных

Нормализация отношений

Проблема добавления новых данных

Нормализация отношений

Нормальная форма

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

Цель нормализации: исключить избыточное дублирование данных, которое может приводить к аномалиям при редактировании кортежей (строк таблицы).

Нормализация отношений

Отношение находится в Первой Нормальной форме

(1НФ), если в каждой ячейке всегда находится единственное атомарное значение, и никогда не может быть множества таких значений.

Нормализация отношений

Отношение не находится в 1НФ

Нормализация отношений

Отношение находится в 1НФ

Нормализация отношений

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

Нормализация отношений

Причина избыточности:

Специальность'>№, Фамилия, Имя, Дата рождения, Группа, Специальность – составной ключ. Семестр, Предмет, Оценка функционально зависят только от атрибута (часть составного ключа).

Нормализация отношений

Нормализация отношений

Отношения находятся во 2НФ

Отношение находится в Третьей Нормальной форме (3НФ) – если оно находится во Второй Нормальной форме и у него нет функциональных зависимостей между не ключевыми атрибутами.

Нормализация отношений

Причина избыточности: Функциональная зависимость атрибута Специальность от не ключевого атрибута Группа

Нормализация отношений

Нормализация отношений

Отношения находятся в 3НФ

Нормализация отношений

ER-модельПитер_Чен,_1976_годER-модель'>Определите избыточность

ER-модель

Питер Чен, 1976 год

ER-модель (Entity-Relationship model, сущность-связь) – модель данных, позволяющая описывать концептуальные схемы предметной области.

ER-модель (ER-диаграмма) используется при высокоуровневом проектировании баз данных.

ER-модель

ER-диаграмма

Задание для создания ER-модели и описания базы данных смотрите в файле Техзадание.xlsx (вкладки Лист_1 и Лист_2)

SITE – данные сайта

id_site (PK) – id сайта

url – URL-адрес ресурса

ACCOUNT – аккаунт пользователя сайта

id_account (PK) – id аккаунта

id_site (FK) – id сайта

login – логин пользователя

password – пароль

email – email пользователя

WORKER – работники организации

id_worker (PK) – id работника

name – имя работника

id_position (FK) – id должности

Описание БД

ACCOUNT_ACTION – действия, выполняемые на аккаунте работниками


id_account_action (PK) – id действия

id_account (FK) – id аккаунта

id_action (FK) – id действия

number – номер выполнения действия на аккаунте по порядку

id_worker (FK) – id работника

id_access (FK) – id доступа

date_start – дата и время начала выполнения действия

date_finish – дата и время окончания выполнения действия

id_status (FK) – id статус выполнения действия работником (не выполнено/ выполнено), заполняется самим работником.

SCHEDULE – график выполнения действий (вынесен в отдельную таблицу)

id_account_action (FK) – id действия на аккаунте

from – минимальный срок выполнения действия на аккаунте

to – максимальный срок выполнения действия на аккаунте

id_status (FK) – id статус, результат выполнения действия (ok/bad), выставляется автоматически, по истечении установленного срока.

Справочные таблицы (заполняются админом)

S_ACTION – список действий на аккаунте

id_action (PK) – id действия

name – наименование

schedule_from – срок выполнения от (в днях)

schedule_to – срок выполнения до (в днях)

S_POSITION – занимаемая должность

id_position (PK) – id должности

name – наименование должности

S_ACCESS – список вариантов доступа («могут видеть и изменять», «не могут видеть и не могут изменять», «могут видеть, не могут изменять»)

id_access (PK) – id доступа

name – наименование доступа

S_STATUS – статус выполнения действий

id_status (PK) – id статуса

name – наименование

 

Лабораторная работа 8

Создать ER-диаграмму и описание базы данных проектной организации.

Известно следующее:
  • Организация состоит из отделов.
  • В каждом отделе работают несколько сотрудников.
  • По каждому сотруднику хранятся сведения: о должности, стаже работы (дата начала деятельности в организации) и детях (ФИО, дата рождения ребенка).
  • Сотрудники организации выполняют проекты. Каждый сотрудник может участвовать в одном или нескольких проектах, либо не участвовать ни в одном проекте.
  • Проекты состоят из нескольких заданий.
  • Задания имеют один из статусов: «в разработке» или «выполнено».
  • Проекты поручают заказчики.

  • Дополнительно:
  • У каждого сотрудника имеется уникальный табельный номер и ФИО.
  • Каждый отдел имеет уникальный номер и название.
  • Каждый проект имеет уникальный номер и наименование.
  • Каждое задание проекта имеет наименование, краткое описание и номер, уникальный в пределах этого проекта.
  • Заказчики проектов – это организации и предприятия.