Файл: Проектирование баз данных Основная цель проектирования баз данных Проектирование базы данных.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-диаграмму и описание базы данных проектной организации.
Известно следующее:
- Организация состоит из отделов.
- В каждом отделе работают несколько сотрудников.
- По каждому сотруднику хранятся сведения: о должности, стаже работы (дата начала деятельности в организации) и детях (ФИО, дата рождения ребенка).
- Сотрудники организации выполняют проекты. Каждый сотрудник может участвовать в одном или нескольких проектах, либо не участвовать ни в одном проекте.
- Проекты состоят из нескольких заданий.
- Задания имеют один из статусов: «в разработке» или «выполнено».
- Проекты поручают заказчики.
- У каждого сотрудника имеется уникальный табельный номер и ФИО.
- Каждый отдел имеет уникальный номер и название.
- Каждый проект имеет уникальный номер и наименование.
- Каждое задание проекта имеет наименование, краткое описание и номер, уникальный в пределах этого проекта.
- Заказчики проектов – это организации и предприятия.
Дополнительно: