
Лабораторные работы БД / Лабораторная 3-4. Лог и Физ
.docxЛабораторная № 3. Концептуальная и физическая модели базы данных (IDEF1x)
Концептуальная модель базы данных (Логическая модель)
Концептуальная модель базы данных (рис. 2) описывает объекты предметной области, их атрибуты и связи между ними в том объеме, в котором они подлежат непосредственному хранению в базе данных системы.
Методология IDEF1х – один из подходов к семантическому моделированию данных, основанный на концепции "сущность – связь" (Entity – Relationship). Это инструмент для анализа информационной структуры систем различной природы. Информационная модель, построенная с помощью IDEF1х методологии, отображает логическую структуру информации об объектах системы. Таким образом, концептуальная модель, представленная в соответствии со стандартом IDEF1х, является логической схемой базы данных для проектируемой системы.
Сущность |
Нотация |
Сущность (Entity) |
Наименование Уникальный идентификатор Атрибуты
|
Связь |
|
Идентифицирующая связь |
Независ. Завис.
|
Связь «Многие ко многим» |
|
Наследование (обобщение) Полное
Неполное |
Родит. -й
Дочерн. -й
Дочерн. -й
|
Рис. 2. Концептуальная модель базы данных
Физическая модель базы данных
Физическая модель базы данных содержит все детали, необходимые конкретной СУБД для создания базы (наименования таблиц и столбцов, типы данных, определения первичных и внешних ключей и т.п.).
Физическая модель строится на основе логической с учетом ограничений, накладываемых возможностями выбранной СУБД:
Имена
Имена сущностей и полей (таблиц и столбцов) должны быть записаны латинскими буквами, без пробелов, начиная с буквы.
Типы данных
Для каждого поля необходимо определить тип данных, которые в нем содержатся.
Таблица 1. Основные типы данных в СУБД MS SQL Server
Тип данных
Описание
bigint
Целочисленные данные от -263 до 263-1
int
Целые числа от -214748364
до 2147483647
smallint
Целые числа от -32768 до 32767
tinyint
Целые числа от 0 до 255
decimal
Являются синонимами. Заданная точность и масштаб от -1038-1 до 1038-1
float
Приближенные числовые данные от -1,79Е+308 до 1,79Е+308
datetime
Данные о дате и (или) времени, которые относятся к периоду с 1 января 1753 года по 31 декабря 9999 года,определяемые с точностью до трех сотых секунды
smalldatetime
Данные о дате и (или) времени, которые относятся к периоду с 1 января 1900 года по 6 июня 2079 года, определяемые с точностью до одной минуты
char (n)
Символьные данные фиксированной длины. Значения данных с длиной короче заданной заполняются пробелами до указанной длины. Максимальное заданное значение длины может составлять 8000 символов.
varchar (n)
Символьные данные переменной длины. Значения данных с длиной короче заданной не дополняются пробелами. Максимальное заданное значение длины может составлять 8000 символов, но для обозначения длины можно использовать ключевое слово max, что позволяет определять столбцы с символьными данными объемом до 231 байтов.
nchar (n)
Символьные данные в кодировке Unicode фиксированной длины. Максимальное заданное значение длины может составлять 4000 символов
nvarchar (n)
Символьные данные в кодировке Unicode переменной длины. Максимальное заданное значение длины может составлять 4000 символов, но для обозначения длины можно использовать ключевое слово max, что позволяет определять столбцы с символьными данными объемов до 231 байт.
Связи
Реляционная модель данных требует разрешения связей «многие ко многим» и иерархии наследования и допускает их только на концептуальной модели.
На физическом уровне эти связи должны быть преобразованы.
Приведенные три варианта физической модели различаются способами реализации наследования:
-
миграция первичного ключа и неключевых атрибутов в иерархии от потомков к предку (рис. 3);
-
миграция первичного ключа и неключевых атрибутов в иерархии от предка к потомкам (рис. 4).
-
замена иерархии наследования идентифицирующими связями (рис. 5);
Преобразование связи «многие ко многим» (таблицы «Поставка» и «Способ доставки») включает создание новой таблицы развязки и двух новых связей «один ко многим» от старых таблиц к новой.
Задание: построить концептуальную и физическую модели базы данных в соответствии с описанием предметной области из вашего варианта задания.
Рис. 3. Физическая модель базы данных: реализация наследования через миграцию потомков в предка
Рис. 4. Физическая модель базы данных: реализация наследования через миграцию предка в потомков
Рис. 5. Физическая модель базы данных: реализация наследования через замену иерархии идентифицирующими связями
Этапы:
-
Отсечь все лишнее (избыточные классы), если они не соответствуют диаграмме прецедентов.
-
Преобразовать классы в сущности.
-
Преобразовать отношения в связи
-
Выделить в каждой сущности уникальный идентификатор (первичный ключ)
-
Определить зависимые сущности