Физическая модель базы данных

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

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

Физическая модель строится на основе логической с учетом ограничений, накладываемых возможностями выбранной СУБД (в данном случае - MS SQL Server 2012).

Имена

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

Типы данных

Для каждого атрибута необходимо определить тип данных его значений (табл. 2.2).

Связи

Реляционная модель данных требует преобразования связей «многие ко многим» и иерархии наследования и допускает их только на уровне логической модели базы данных.

Приведенные три варианта физической модели различаются способами реализации наследования:

§ миграция первичного ключа и неключевых атрибутов в иерархии от потомков к предку (рис. 2.11);

§ миграция первичного ключа и неключевых атрибутов в иерархии от предка к потомкам (рис. 2.12);

§ замена иерархии наследования идентифицирующими связями (рис. 2.13).

Преобразование связи «многие ко многим» (таблицы «Поставка» и «Способ доставки») включает создание новой таблицы-развязки и двух новых связей «один ко многим» от старых таблиц к новой.

Таблица 2.2. Основные типы данных в MS SQL Server
Тип данных Описание
Целые числа
bigint Целочисленные данные от -263 до 263-1
int Целые числа от -2147483648 до 2147483647
smallint Целые числа от -32768 до 32767
tinyint Целые числа от 0 до 255
Вещественные числа
decimal (n, m) / numeric (n, m) Числа с фиксированной точностью (n) и масштабом (m). Максимальная точность от -1038-1 до 1038-1
float Приближенные числовые данные от -1,79Е+308 до 1,79Е+308
real Частный случай типа float, от -3,40Е+38 до 3,40Е+38
money Количество денежных единиц от -263 до 263 с точностью до четырех десятичных позиций
smallmoney Денежные единицы от -214748,3648 до 214748,3647
Дата и время
datetime Данные о дате и (или) времени, которые относятся к периоду с 1 января 1753 года по 31 декабря 9999 года, определяемые с точностью до трех сотых секунды
smalldatetime Данные о дате и (или) времени, которые относятся к периоду с 1 января 1900 года по 6 июня 2079 года, определяемые с точностью до одной минуты
date Дата с точностью до дня, занимает 3 байта
Символьные (строки)
char (n) Символьные данные фиксированной длины. Значения данных с длиной короче заданной дополняются пробелами. Максимальная длина – 8000 символов
varchar (n) Символьные данные переменной длины. Максимальная длина – 8000 символов. Длина, заданная ключевым словом max, позволяет определять данные объемом до 231 байтов
Продолжение табл. 2.2
Тип данных Описание
nchar (n) Символьные данные в кодировке Unicode фиксированной длины. Максимальное заданное значение длины может составлять 4000 символов
nvarchar (n) Символьные данные в кодировке Unicode переменной длины. Максимальное заданное значение длины может составлять 4000 символов, но для обозначения длины можно использовать ключевое слово max, что позволяет определять столбцы с символьными данными объемов до 231 байт
text / ntext Устаревший тип данных, вместо него следует использовать тип varchar (max) / nvarchar (max)
binary Двоичные данные фиксированной длины с максимальной длиной 8000 байт
varbinary Двоичные данные переменной длины с максимальной указанной длиной 8000 байт, но для обозначения длины можно использовать ключевое слово max, что позволяет определять столбцы типа LOB, имеющие объем до 231 байт
image Устаревший тип данных, вместо него следует использовать тип данных varbinary (max)
table Данные типа таблицы, предназначены для использования в работе с результирующими наборами. Как правило, они передаются из пользовательских функций. Применение данных типа table в определениях таблиц не допускается
sql_variant Данные различных типов
xml Определяет символьное поле как содержащее данные XML
Timestamp / rowversion Специальное значение, которое является уникальным в пределах данной базы данных. Устанавливается автоматически
uniqueidentifier Специальный глобально уникальный идентификатор (GUID). Уникальность любого идентификатора GUID в пространстве и времени является гарантированной.

Рис. 2.11. Физическая модель базы данных: реализация наследования через миграцию потомков в предка

 

Рис. 2.12. Физическая модель базы данных: реализация наследования через миграцию предка в потомков

Рис. 2.13. Физическая модель базы данных: реализация наследования через замену иерархии идентифицирующими связями

Задание: постройтефизическую модель базы данных в соответствии с описанием предметной области из вашего варианта задания. Для этого воспользуйтесь уже имеющейся логической моделью базы данных.


Контрольные вопросы

1. Дайте определение реляционной модели базы данных.

2. Какие ограничения целостности поддерживаются на уровне реляционной модели?

3. Дайте определение нормализованному отношению, которое лежит в основе реляционной модели базы данных.

4. Что такое первичный ключ нормализованного отношения? Определите свойства первичного ключа.

5. Как реализуются связи между сущностями в реляционной модели?

6. Что такое логическая модель базы данных?

7. Что такое физическая модель базы данных?

8. Что такое «зависимая сущность» в нотации IDEF1X?

9. Какие отношения допустимы в нотации IDEF1X?

10. Каким образом определяется степень связи в нотации IDEF1X?

11. Какие отношения между сущностями отсутствуют в физической модели базы данных в нотации IDEF1X?

12. Как реализуется отображение ассоциативных связей из концептуальной модели ПО в реляционную модель БД?

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

14. Как реализуется связь «многое ко многим» на уровне физической модели реляционной базы данных?

15. Как реализуется отношение «наследование» на уровне физической модели реляционной базы данных?

16. Какие варианты реализации наследования на уровне физической модели базы данных существуют?

17. Приведите пример справочника в разработанной модели базы данных.








Дата добавления: 2015-03-03; просмотров: 31728;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.