Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Физическая модель базы данных содержит все детали, необходимые конкретной СУБД для создания базы (наименования таблиц и столбцов, типы данных, определения первичных и внешних ключей и т.п.).
Физическая модель строится на основе логической с учетом ограничений, накладываемых возможностями выбранной СУБД (в нашем случае - MS SQL Server 2008 R2):
Имена
Имена сущностей и полей (таблиц и столбцов) должны быть записаны латинскими буквами, без пробелов, начиная с буквы.
Типы данных
Для каждого поля необходимо определить тип данных, которые в нем содержатся. В таблице
Связи
Реляционная модель данных требует разрешения связей «многие ко многим» и иерархии наследования и допускает их только на концептуальной модели.
На физическом уровне эти связи должны быть преобразованы.
Приведенные три варианта физической модели различаются способами реализации наследования:
§ миграция первичного ключа и неключевых атрибутов в иерархии от потомков к предку (рис. 2.2);
§ миграция первичного ключа и неключевых атрибутов в иерархии от предка к потомкам (рис. 2.3).
§ замена иерархии наследования идентифицирующими связями (рис. 2.4);
Преобразование связи «многие ко многим» (таблицы «Поставка» и «Способ доставки») включает создание новой таблицы развязки и двух новых связей «один ко многим» от старых таблиц к новой.
Таблица 2.2. Основные типы данных в СУБД MS SQL Server | |
Тип данных | Описание |
bigint | Целочисленные данные от -263 до 263-1 |
int | Целые числа от -214748364 до 2147483647 |
smallint | Целые числа от -32768 до 32767 |
tinyint | Целые числа от 0 до 255 |
decimal или numeric | Являются синонимами. Заданная точность и масштаб от -1038-1 до 1038-1 |
money | Количество денежных единиц от -263 до 263 с точностью до четырех десятичных позиций |
smallmoney | Денежные единицы от -214748,3648 до 214748,3647 |
float | Приближенные числовые данные от -1,79Е+308 до 1,79Е+308 |
datet me | Данные о да е и (или) времени, которые относятся к периоду с 1 января 1753 года по 31 декабря 9999 года,определяемые с точностью до трех сотых секунды |
smalldatetime | Данные о дате и (или) времени, которые относятся к периоду с 1 января 1900 года по 6 июня 2079 года, опр деляемые с точностью до одной минуты |
cursor | Указатель на курсор |
Timestamp / rowversion | Специальное значение, которое является уникальным в пределах данной базы данных. Устанавливается автоматически |
uniqueidentifier | Специальный глобально уникальный идентификатор (GUID). Уникальность любого идентификатора GUID в пространстве и времени является гарантирован ой. |
char (n) | Символьные данные фиксированной длины. Значения данных с длиной короче заданной заполняются пробелами до указанной длины. Максимальное за анное значение длины может составлять 8000 символов. |
varchar (n) | Символьные данные переменной длины. Значения данных с длиной короче заданной не дополняются пробелами. Максимальное заданное значение длины может составлять 8000 символов, но для обозначения длины можно использовать ключевое слово max, что позволяет определять столбцы с символьными данными объемом до 231 байтов. |
text | Устаревший тип данных, вместо него следует использовать тип varchar (max). |
nchar (n) | Символьные данные в кодировке Unicode фиксированной длины. Максимальное заданное значение длины может составлять 4000 символов |
nvarchar (n) | Символьные данные в кодировке Unicode переменной длины. Максимальное заданное значение длины может составлять 4000 символов, но для обозначения длины можно использовать ключевое слово max, что позволяет определять столбцы с символьными данными объемов до 231 байт. |
ntext | Устаревший тип данных, вместо него следует использовать тип данных nvarchar (max). |
binary | Двоичные данные фиксированной длины с максималь ой длиной 8 00 байт. |
varbinary | Двоичные данные переменной длины с максимальной указанной длиной 8000 байт, но для обозначения длины можно использовать ключевое слово max, что позволяет определять столбцы типа LOB, имеющие объем до 231 байт |
image | Устаревший тип данных, вместо него следует использовать тип данных varbinary (max). |
table | Данные типа таблицы, предназначены для использования в работе с результирующими наборами. Как правило, они передаются из пользовательских функций. Применение данных типа table в определениях таблиц не допускается. |
sql_variant | Данные различных типов. |
xml | Определяет символьное поле как содержащее данные XML. |
Рис. 2.2. Физическая модель базы данных: реализация наследования через миграцию потомков в предка
Рис. 2.3. Физическая модель базы данных: реализация наследования через миграцию предка в потомков
Рис. 2.4. Физическая модель базы данных: реализация наследования через замену иерархии идентифицирующими связями
Задание: постройтефизическую модель базы данных в соответствии с описанием предметной области из вашего варианта задания. Для этого удобно воспользоваться уже имеющейся логической моделью базы данных.
Дата публикования: 2014-11-03; Прочитано: 7159 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!