Этапы проектирования БД

Содержание

Слайд 2

Важно, что такая модель никак не зависит от любых аспектов ее

Важно, что такая модель никак не зависит от любых аспектов ее

физической реализации:

тип СУБД и вычислительной платформы;
набор прикладных программ;
средства программирования приложений и др.
Концептуальная модель данных создается на основе информации, записанной в требованиях пользователей.
Дополнительно проводится специальный опрос (анкетирование) пользователей.
В процессе разработки этой модели она постоянно обсуждается с пользователями для достижения полного согласия.

Слайд 3

2. Логическое проектирование БД – это процесс создания информационной модели на

2. Логическое проектирование БД – это процесс создания информационной модели на

основе выбранной модели структурной организации данных при их хранении и обработке.

Это делается без выбора конкретной СУБД и без учета остальных аспектов физической реализации БД.
Логическая модель данных создается путем преобразования концептуальной модели с учетом особенностей выбранной модели организации данных.

Слайд 4

Важную роль логическая модель данных играет и при эксплуатации (сопровождении) уже

Важную роль логическая модель данных играет и при эксплуатации (сопровождении) уже

готовой БД.

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

Слайд 5

В случае реляционной БД это означает: выбор конкретной (целевой) СУБД; построение

В случае реляционной БД это означает:

выбор конкретной (целевой) СУБД;
построение процедуры создания

таблиц на жестком диске;
определение методов доступа к данным, чтобы обеспечить высокую производительность СУБД:
выбор необходимой файловой структуры (т.е. типов файлов для хранения данных);
оценка целесообразности использования индексных файлов;
планирование средств информационной безопасности и защиты данных.
Слайд 6

Методология концептуального проектирования БД Определение типов (классов) сущностей Определение атрибутов для

Методология концептуального проектирования БД

Определение типов (классов) сущностей
Определение атрибутов для сущностей
Определение доменов

для атрибутов
Определение потенциальных и первичных ключей
Определение типов связей между сущностями
Построение ER-диаграммы
Слайд 7

При выборе первичного ключа среди нескольких потенциальных ключей наиболее важными являются

При выборе первичного ключа среди нескольких потенциальных ключей наиболее важными являются

следующие факторы:

min набор атрибутов (наилучший вариант – простой ключ целого типа);
значения min длины;
высокая стабильность (т.е. min вероятность изменения значений);
простота работы для пользователя.
Если нет возможности сделать удачный выбор первичного ключа среди собственных атрибутов сущности, то рекомендуется ввести вспомогательный суррогатный ключ.

Слайд 8

Методология логического проектирования реляционной БД Нужно выполнить следующую последовательность действий: Исключение

Методология логического проектирования реляционной БД

Нужно выполнить следующую последовательность действий:
Исключение элементов, несовместимых

с реляционной моделью данных.
Формирование набора таблиц для логической структуры реляционной БД.
Проверка полученных таблиц с учетом требований нормализации.
Определение ограничений целостности данных.
Слайд 9

1. Исключение элементов, несовместимых с реляционной моделью данных Концептуальная модель данных

1. Исключение элементов, несовместимых с реляционной моделью данных

Концептуальная модель данных часто

содержит конструкции, для которых нет поддержки в реляционных СУБД.
На этом этапе от таких конструкций нужно избавиться путем их преобразования.
Преобразованию подлежат следующие элементы концептуальной модели данных:
связи типа «многие ко многим»;
сложные связи;
многозначные атрибуты;
связи с атрибутами;
рекурсивные связи.
Слайд 10

1а) Исключение связи «многие ко многим» Вместо связи N:М нужно ввести

1а) Исключение связи «многие ко многим»

Вместо связи N:М нужно ввести еще

одну промежуточную сущность и две связи 1:М.
Слайд 11

1b) Преобразование сложных связей Исключение сложной связи (степень>2) идет по следующему

1b) Преобразование сложных связей

Исключение сложной связи (степень>2) идет по следующему сценарию:
в

модель добавляется новая сущность;
вводятся бинарные связи типа 1:М для связи этой сущности с исходными сущностями.
Слайд 12

Сложная связь после преобразования: 1с) Исключение многозначных атрибутов Вместо такого атрибута

Сложная связь после преобразования:

1с) Исключение многозначных атрибутов
Вместо такого атрибута вводится новая

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

Пример исключения многозначного атрибута Пусть концептуальная модель содержит сущность ОТДЕЛ с

Пример исключения многозначного атрибута

Пусть концептуальная модель содержит сущность ОТДЕЛ с атрибутом

Номер_телефона.
Если некоторые отделы имеют несколько контактных телефонов, то этот атрибут относится к типу многозначного.
Для исключения из модели такого атрибута вводится дополнительная сущность ТЕЛЕФОН:
Слайд 14

2. Формирование набора таблиц для логической структуры реляционной БД Для каждой

2. Формирование набора таблиц для логической структуры реляционной БД

Для каждой сущности

создается таблица и в нее включают все простые атрибуты этой сущности.
В случае составного атрибута в таблицу включают отдельные простые части этого атрибута.
Связи между разными таблицами реализуются по схеме «первичный ключ/внешний ключ».
Суть этой схемы: из родительской сущности копия первичного ключа передается в дочернюю сущность для его использования в роли внешнего ключа.
Слайд 15

При реализации бинарных связей типа 1:1 возможны следующие варианты: Для обеих

При реализации бинарных связей типа 1:1 возможны следующие варианты:

Для обеих сторон

участие в связи полное (т.е. связь обязательная)
Такие сущности целесообразно объединить.

Пример 1:

В этом случае целесообразно паспортные данные включить в таблицу КЛИЕНТЫ.

Слайд 16

Пример 2: Для связи между таблицами КЛИЕНТЫ и ПОЖЕЛАНИЯ копия первичного

Пример 2:

Для связи между таблицами КЛИЕНТЫ и ПОЖЕЛАНИЯ копия первичного ключа

таблицы КЛИЕНТЫ передается в таблицу ПОЖЕЛАНИЯ и становится там внешним ключом.

Для одной из сторон участие в связи неполное (т.е. связь необязательная)

Сущность, для которой имеет место неполное участие в связи, объявляется родительской.
После этого можно применять схему «первичный ключ/внешний ключ».