![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Физическая модель – логическая модель базы данных, выраженная в терминах языка описания данных конкретной СУБД.
Физическая модель базы данных содержит все детали, необходимые конкретной СУБД для создания базы: наименования таблиц и столбцов, типы данных, определения первичных и внешних ключей и т.п. (рис. 2.11).
Физическая модель строится на основе логической с учетом ограничений, накладываемых возможностями выбранной СУБД (в нашем случае - MS SQL Server 2008 R2):
Имена
Имена таблиц и столбцов должны быть записаны латинскими буквами, без пробелов, начиная с буквы.
Типы данных
Для каждого атрибута необходимо определить тип данных его значений (табл. 2.2).
Связи
Реляционная модель данных требует преобразования связей «многие ко многим» и иерархии наследования и допускает их только на уровне логической модели базы данных.
Наследование (обобщение) может быть реализовано различными способами; наиболее предпочтительным является преобразование каждого подтипа (дочерние сущности) в отдельную таблицу с включением в нее вторичного ключа, соответствующего первичному ключу таблицы-супертипа (родительская сущность).
Преобразование связи «многие ко многим» (таблицы «Поставка» и «Способ доставки») включает создание новой таблицы развязки и двух новых связей «один ко многим» от старых таблиц к новой.
Рис. 2.11. Физическая модель базы данных в нотации IDEF1X
Таблица 2.2. Основные типы данных в MS SQL Server | |
Тип данных | Описание |
Целые числа | |
bigint | Целочисленные данные от -263 до 263-1 |
int | Целые числа от -2147483648 до 2147483647 |
smallint | Целые числа от -32768 до 32767 |
tinyint | Целые числа от 0 до 255 |
Вещественные числа | |
decimal / numeric | Являются синонимами. Заданная точность и масштаб от -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 байтов. |
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 в пространстве и времени является гарантированной. |
Задание: постройтефизическую модель базы данных в соответствии с описанием предметной области из вашего варианта задания. Для этого воспользуйтесь уже имеющейся логической моделью базы данных.
Дата публикования: 2015-07-22; Прочитано: 321 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!