Создание физической модели данных




Создание логической модели данных

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

Сущности должны иметь наименование с четким смысловым значением, именоваться существительным в единственном числе. В рассматриваемом примере такими сущностями будут Поставщик и Книга поставок.

В качестве атрибутов сущности Поставщик используем все свойства объекта Поставщик (рис.1). Один из атрибутов должен быть выбран в качестве первичного ключа (Primary Key). Первичный ключ – это уникальное неповторяющееся значение для однозначного указания на конкретного поставщика. Атрибутами с неповторяющимися значениями являются: Код поставщика и Наименование поставщика. Но следуя требованиям к первичному ключу (простой по составу и желательно числового типа), в качестве атрибута первичного ключа выберем атрибут Код поставщика.

В сущности Книга поставок также будем использовать свойства соответствующего объекта (рис.1). Но для этой сущности есть две проблемы. Первая проблема связана со свойством Поставщик. Указывать в поставке все атрибуты сущности Поставщик нецелесообразно. Более правильно использовать один из атрибутов поставщика как указатель на экземпляр сущности Поставщик, который выполнил поставку сырья. Так как данный атрибут должен однозначно указывать на одного поставщика, то в качестве атрибута-указателя целесообразно выбрать атрибут Код поставщика, являющийся первичным ключом в сущности Поставщик. Это гарантирует, что значение атрибута будет ссылаться ровно на одну запись (одного поставщика) в сущности Поставщик. Такой атрибут-указатель называют ссылкой или внешним ключом (Foreign Key), так как он содержит значение первичного ключа другой (внешней) сущности. Вторая проблема связана с выбором атрибута первичного ключа. В качестве первичного ключа нельзя выбрать атрибут Номер документа (номера могут повторяться из года в год) или атрибут Дата поставки (в один день может быть несколько поставок). Можно выбрать оба эти атрибута в качестве первичного ключа, но при этом нарушается требование «простого» ключа (не составного). Поэтому целесообразно добавить новый атрибут, которого не было в содержательном описании предметной области. Назначение такого атрибута – идентифицировать запись сущности. Поэтому его называют идентификатором или суррогатным ключом. Идентификатор получает свои значения по правилу автоинкрементного увеличения. В качестве имени выбирают словосочетание «Идентификатор НазваниеСущности ». В нашем примере это будет атрибут Идентификатор книги поставок.

Логическая модель данных приведена на рис.2. Две сущность связаны обязательной неидентифицирующей связью один-ко-многим, и в этой связи главной сущностью является Поставщик. Следует отметить, что атрибут внешнего ключа не следует непосредственно добавлять в состав атрибутов подчиненной сущности Книга поставок. При установке связи между сущностями атрибут первичного ключа главной сущности мигрирует (скопируется) в подчиненную сущность связаны.

 

Рис.2 Логическая модель данных

Создание физической модели данных

Для перехода к разработке физической модели данных выберем в списке-переключателе вида модели значение Phуsical.

Физическая модель содержит всю информацию, необходимую для реализации конкретной БД. Трансформационная модель содержит информацию для реализации. Физический уровень представления модели зависит от выбранного сервера. Для выбора СУБД служит окно-диалог Target Server (меню Database - Choose Database). В качестве целевого сервера выберем Sybase SQL Anywhere.

Физическая модель данных приведена на рис.2. Описание атрибутов сущностей логической модели и полей сущностей физической модели приведено в таблице 1.

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

 

Таблица 1. Описание сущностей и таблиц модели данных

Имя атрибута логической модели данных Тип атрибута Имя колонки физической модели данных Тип колонки
Сущность Поставщик (таблица Spost)
Код поставщика (PK) Number PostKod Integer
Наименование поставщика String PostName Varchar(50)
Адрес поставщика String Adres Varchar(70)
Тип поставщика String Tip Varchar(20)
Сущность Книга поставок (таблица Book)
Идентификатор поставки (PK) Number BookID Integer
Дата поставки DateTime Dat Date
Номер документа Number NDoc Integer
Наименование сырья String Syrie Varchar(50)
Код поставщика (FK) Number PostKod Integer
Количество сырья Number Kol Integer
Цена за 1 ед Number Cena Numeric (12,2)

 

 

Для некоторых полей заданы значения по умолчанию и правила валидации (таблица 2).


 

Таблица 2 – Значения по умолчанию и правила валидации

Сущность Имя поля Значение по умолчанию Правило валидации
Книга поставки (Book) BookID AUTOINCREMENT PK
NDoc - Положительные значения
Kol   Неотрицательные значения
Cena   Неотрицательные значения
PostKod - FK
Поставщик PostKod - PK

 

Для перехода к созданию базы данных необходимо предварительно сгенерировать файл сценария создания каталога БД (скрипт-файл с расширением sql), выполнив команду меню

Tools - Forward Engineering

 

Текст скрипт-файла с командами создания таблиц БД для рассматриваемой модели приведен ниже.

 

CREATE TABLE Spost (

PostKod INTEGER NOT NULL,

PostName VARCHAR(50) NOT NULL,

Adres VARCHAR(70),

Tip VARCHAR(20),

PRIMARY KEY (PostKod)

);

CREATE TABLE Book (

BookId INTEGER NOT NULL DEFAULT AUTOINCREMENT,

Dat DATE NOT NULL,

NDoc INTEGER NOT NULL

CHECK (NDoc>0),

Syrie VARCHAR(50) NOT NULL,

Kol INTEGER DEFAULT 0

CHECK (Kol>=0),

Cena NUMERIC(12,2) DEFAULT 0

CHECK (Cena>=0),

PostKod INTEGER NOT NULL,

PRIMARY KEY (BookId),

FOREIGN KEY (PostKod)

REFERENCES Spost (PostKod)

ON DELETE RESTRICT

ON UPDATE RESTRICT

);

 

Текст скрипта сохраним в файле created.sql

 

Создание базы данных

Создание БД выполняется в СУБД с использованием административной утилиты Sybase Central

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

Tools – SQL Anywhere 11 – Create Database

 

В процессе создания базы данных необходимо:

- выбрать каталог расположения БД и задать имя БД;

- отключить поддержку журнала транзакций (Transaction log file);

- включить режим игнорирования учета хвостовых пробелов в операциях сравнения строк (ignore trailing blanks in string compsrisons);

- отключить (игнорировать) чувствительность к регистру символьных значений (Case sensitivity for all names and values).

Остальные параметры создания БД оставить со значениями по умолчанию.

На последнем шаге необходимо подсоединится к созданной БД (включить флаг Connect to the new database)

 

После создания БД необходимо:

- создать пользователей (администратора и обычного);

- подсоединится к БД под учетной записью администратора;

- открыть утилиту интерактивного SQL (в контекстном меню на иконке БД выбрать команду Open Interactive SQL);

- загрузить скрипт-файл (File-Open);

- выполнить команды, нажав F9.

 

Если все сделано правильно, то в панели Result программы Interactive SQL, появится строка об успешном выполнении команд и времени их выполнения (рис.3).

 

Структуру БД можно увидеть в окне Sybase Central, выделив имя БД и перейдя на вкладку ER-Diagram (рис. 4).

 

 

Список литературы

1. Маклаков С. В. BPwin и ERwin: CASE-средства для разработки информационных систем,

2. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем

 



Поделиться:




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

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-06 Нарушение авторских прав и Нарушение персональных данных


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