Мегаобучалка Главная | О нас | Обратная связь


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



2019-12-29 186 Обсуждений (0)
Проектирование логической модели базы данных 0.00 из 5.00 0 оценок




 

К основным компонентам диаграммы Data Modeler стоит отнести сущности, атрибуты и связи. Каждая сущность является множеством подобных индивидуальных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться ото всех остальных экземпляров. Атрибут выражает определенное свойство объекта. На физическом уровне сущности соответствует таблица, экземпляру сущности - строка в таблице, а атрибуту - колонка таблицы.

Работа Data Modeler основана на известном механизме отображения объектной модели в реляционную. Результатом являются построение диаграммы «сущность – связь» и последующая генерация описания базы данных на SQL.

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

Далее более подробно рассмотрим сущности таблиц диаграммы классов.

 

Рис. 2.2. Таблица «СТО».


В этой таблице содержатся данные о номере составленного заказ-наряда на ремонтные работы, данные о заявленных клиентом неисправностях, дата начала ремонта, выявленные в ходе ремонтных и диагностических работ неисправности, дата и время окончания ремонта автомобиля, а так же стоимость проделанных работ.

 

Рис. 2.3. Таблица «клиенты».

 

В таблице «клиенты» содержатся данные о клиентах компании, без разделения на клиентов СТО и клиентов отдела продаж автомобилей Lada.

В этой таблице хранятся данные о ФИО клиента, его контактном телефоне, адрес места проживания, серия и номер паспорта, а так же номер водительского удостоверения.

 

Рис. 2.4. Таблица «Новые автомобили».

 

В данной таблице отображаются сведения о новых автомобилях приобретаемых компанией «Питер-Лада». Таблица содержит данные о модели автомобиля, его цвете, VIN – номере, комплектации и статус, в котором находится автомобиль. Если в статусе стоит Spb, значит автомобиль находится в наличии, и стоит на складе автосалона. Так же в статусе могут стоять следующие данные:

 

Таб. 2.2 Статусы новых автомобилей

Значение находящееся в таблице: Расшифровка
20 Сборка автомобиля запланирована на конкретную дату следующего месяца (время ожидания примерно 1.5 месяца)
32 Автомобиль поступил на сборку (ожидание от одной недели до месяца)
40 Автомобиль собран и ждет очереди на покраску.* (ожидание от одной недели до месяца)
48 Автомобиль полностью собран и находится на складе в Тольятти
60 Автомобиль находится в пути от Тольятти до Санкт-Петербурга (срок ожидания 3-4 дня)

*Покраска автомобилей в определенный цвет производится строго по графику, например в цвет 606 - «Млечный путь» 11-12 числа каждого месяца, а цвет 105 – «Франкония» только 1-го числа.

 

Рис. 2.5. Таблица «Заказы».

 

Таблица «Заказы» определяет заказ клиента на конкретный автомобиль. В таблице отображаются данные о номере заказа, модели выбранного автомобиля, дате сборки , дате оформления договора с клиентом, ФИО менеджера составившего договор, данные об оставленной клиентом предоплате. Отдельное внимание стоит уделить графе «автомобиль в зачет». Если клиент сдает свой старый автомобиль по программе утилизации, то в графе ставится значение «Да», и клиенту предоставляется скидка в 50 000 рублей, в противном случае ставится значение «Нет» и скидка не предоставляется.

 

Рис.2.6. Таблица «Утилизация».

 

В этой таблице содержатся данные об утилизируемых автомобилях, такие как марка автомобиля, год выпуска (под программу утилизации попадают все автомобили произведенные до 2000 года), VIN –номер, а так же данные о владельце данного автомобиля.

 

Рис. 2.7. Таблица «Пользователи».

 

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

 

Рис. 2.8. Таблица «Дополнительное оборудование».


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

 

Рис. 2.9. Таблица «Диски».

 

Содержит информацию о радиусе и фирме-производителе оригинальных дисков.

 

Рис. 2.10. Таблица «Мультимедиа»

 

Данная таблица отображает сведения о фирме мультимедийной системы, сведения о ее размерах (1-2 din), а так же информацию о ее основных функциях.

Для создания физической модели базы данных, из меню на пакете Моя модель выполняем команду Þ Data Modeler/Transform to Data Model.

В открывшемся окне в списке Target Database указать DB_0 и закрыть окно кнопкой ОК. В результате в логическом представлении в пакете Schemas появится пакет «Schema» S_0, в которую войдут все таблицы имеющие стереотип Сущность (entity). После чего из меню на пакете «Schema» S_0 выполняем команду Þ Data Modeler/New/Data Model Diagram. В пакете «Schema» S_0 появится новая диаграмма NewDiagram (диаграмма «сущность – связь»). Затем открываем эту диаграмму и наносим на нее все классы – таблицы, находящиеся в пакете «Schema» S_0.

В результате получаем диаграмму физической модели данных, изображенную на следующем рисунке:

После того, как мы создали физическую модель базы данных, приступим к генерации описания базы данных на SQL. Для этого из меню на пакете «Schema» S_0 выполняем команду Þ Data Modeler/Forward Engineer. Произойдет запуск генератора описания БД на SQL, после чего нажимаем клавишу Next. На следующем шаге мастера устанавливаем все флажки генерации и опять жмем Next. В следующем меню в графе «File Name» указываем имя и расположение текстового файла с результатами генерации. После чего доводим до конца работу с мастером.

После завершения генерации получаем следующий файл с описанием структуры БД на SQL:

 

CREATE TABLE DO (

name_option VARCHAR ( 255 ) NOT NULL,

cena INT NOT NULL,

DO_ID INT IDENTITY NOT NULL,

CONSTRAINT PK_DO13 PRIMARY KEY NONCLUSTERED (DO_ID)

)

GO

CREATE TABLE Diski (

id_Disk INT NOT NULL,

radius INT NOT NULL,

firma VARCHAR ( 255 ) NOT NULL,

Diski_ID INT IDENTITY NOT NULL,

DO_ID INT NOT NULL,

CONSTRAINT PK_Diski12 PRIMARY KEY NONCLUSTERED (Diski_ID)

)

GO

CREATE TABLE Multimedia_system (

id_system INT NOT NULL,

firma VARCHAR ( 255 ) NOT NULL,

din BIT NOT NULL,

function VARCHAR ( 255 ) NOT NULL,

Multimedia_system_ID INT IDENTITY NOT NULL,

DO_ID INT NOT NULL,

CONSTRAINT PK_Multimedia_system14 PRIMARY KEY NONCLUSTERED (Multimedia_system_ID)

)

GO

CREATE TABLE Users (

id_users BIGINT NOT NULL,

FIO VARCHAR ( 255 ) NOT NULL,

Dostup INT NOT NULL,

Users_ID INT IDENTITY NOT NULL,

CONSTRAINT PK_Users15 PRIMARY KEY NONCLUSTERED (Users_ID)

)

GO

CREATE TABLE Т_3 (

Zakazi_ID INT NOT NULL,

Clients_ID INT NOT NULL,

CONSTRAINT PK_220 PRIMARY KEY NONCLUSTERED (Zakazi_ID, Clients_ID)

)

GO

CREATE TABLE Т_2 (

Zakazi_ID INT NOT NULL,

DO_ID INT NOT NULL,

CONSTRAINT PK_119 PRIMARY KEY NONCLUSTERED (Zakazi_ID, DO_ID)

)

GO

CREATE TABLE Т_1 (

CTO_ID INT NOT NULL,

Clients_ID INT NOT NULL,

CONSTRAINT PK_018 PRIMARY KEY NONCLUSTERED (CTO_ID, Clients_ID)

)

GO

CREATE TABLE Zakazi (

id_zakaz INT NOT NULL,

number INT NOT NULL,

model_avto VARCHAR ( 255 ) NOT NULL,

data_sborki DATETIME NOT NULL,

data_oforml_zakaz DATETIME NOT NULL,

FIO_manager VARCHAR ( 255 ) NOT NULL,

predoplata INT NOT NULL,

auto_v_zachet BIT NOT NULL,

Zakazi_ID INT IDENTITY NOT NULL,

New_auto_ID INT NOT NULL,

Users_ID INT NOT NULL,

CONSTRAINT TC_Zakazi4 UNIQUE NONCLUSTERED (New_auto_ID),

CONSTRAINT PK_Zakazi17 PRIMARY KEY NONCLUSTERED (Zakazi_ID)

)

GO

CREATE TABLE Utilization (

Id_Utiliz BIGINT NOT NULL,

Marka VARCHAR ( 255 ) NOT NULL,

God_v INT NOT NULL,

VIN INT NOT NULL,

Vladelec VARCHAR ( 255 ) NOT NULL,

Utilization_ID INT IDENTITY NOT NULL,

Zakazi_ID INT NOT NULL,

CONSTRAINT PK_Utilization16 PRIMARY KEY NONCLUSTERED (Utilization_ID)

)

GO

CREATE TABLE Clients (

id_client BIGINT NOT NULL,

FIO VARCHAR ( 255 ) NOT NULL,

Tel VARCHAR ( 255 ) NOT NULL,

Adr VARCHAR ( 255 ) NOT NULL,

N_pasport VARCHAR ( 255 ) NOT NULL,

N_VU VARCHAR ( 255 ) NOT NULL,

Clients_ID INT IDENTITY NOT NULL,

CONSTRAINT PK_Clients11 PRIMARY KEY NONCLUSTERED (Clients_ID)

)

GO

CREATE TABLE CTO (

id_CTO INT NOT NULL,

nuber_zakaz-naryada SMALLINT NOT NULL,

zayavlennie_neispravnosti VARCHAR ( 255 ) NOT NULL,

data_nachala_remonta DATETIME NOT NULL,

viyavlennie_neispravnosti VARCHAR ( 255 ) NOT NULL,

gotovnost DATETIME NOT NULL,

cena INT NOT NULL,

CTO_ID INT IDENTITY NOT NULL,

CONSTRAINT PK_CTO9 PRIMARY KEY NONCLUSTERED (CTO_ID)

)

GO

CREATE TABLE New_auto (

id_New_auto INT NOT NULL,

Model VARCHAR ( 255 ) NOT NULL,

Color INT NOT NULL,

VIN INT NOT NULL,

Complectation VARCHAR ( 255 ) NOT NULL,

status VARCHAR ( 255 ) NOT NULL,

New_auto_ID INT IDENTITY NOT NULL,

CONSTRAINT PK_New_auto10 PRIMARY KEY NONCLUSTERED (New_auto_ID)

)

GO

CREATE INDEX TC_Diski6 ON Diski (DO_ID)

GO

CREATE INDEX TC_Multimedia_system8 ON Multimedia_system (DO_ID)

GO

CREATE INDEX TC_215 ON Т_3 (Zakazi_ID)

GO

CREATE INDEX TC_216 ON Т_3 (Clients_ID)

GO

CREATE INDEX TC_111 ON Т_2 (Zakazi_ID)

GO

CREATE INDEX TC_112 ON Т_2 (DO_ID)

GO

CREATE INDEX TC_00 ON Т_1 (CTO_ID)

GO

CREATE INDEX TC_01 ON Т_1 (Clients_ID)

GO

CREATE INDEX TC_Zakazi3 ON Zakazi (New_auto_ID)

GO

CREATE INDEX TC_Zakazi10 ON Zakazi (Users_ID)

GO

CREATE INDEX TC_Utilization14 ON Utilization (Zakazi_ID)

GO

ALTER TABLE Diski ADD CONSTRAINT FK_Diski3 FOREIGN KEY (DO_ID) REFERENCES DO (DO_ID)

GO

ALTER TABLE Multimedia_system ADD CONSTRAINT FK_Multimedia_system4 FOREIGN KEY (DO_ID) REFERENCES DO (DO_ID)

GO

ALTER TABLE Т_3 ADD CONSTRAINT FK_29 FOREIGN KEY (Zakazi_ID) REFERENCES Zakazi (Zakazi_ID)

GO

ALTER TABLE Т_3 ADD CONSTRAINT FK_210 FOREIGN KEY (Clients_ID) REFERENCES Clients (Clients_ID)

GO

ALTER TABLE Т_2 ADD CONSTRAINT FK_16 FOREIGN KEY (Zakazi_ID) REFERENCES Zakazi (Zakazi_ID)

GO

ALTER TABLE Т_2 ADD CONSTRAINT FK_17 FOREIGN KEY (DO_ID) REFERENCES DO (DO_ID)

GO

ALTER TABLE Т_1 ADD CONSTRAINT FK_00 FOREIGN KEY (CTO_ID) REFERENCES CTO (CTO_ID)

GO

ALTER TABLE Т_1 ADD CONSTRAINT FK_01 FOREIGN KEY (Clients_ID) REFERENCES Clients (Clients_ID)

GO

ALTER TABLE Zakazi ADD CONSTRAINT FK_Zakazi2 FOREIGN KEY (New_auto_ID) REFERENCES New_auto (New_auto_ID)

GO

ALTER TABLE Zakazi ADD CONSTRAINT FK_Zakazi5 FOREIGN KEY (Users_ID) REFERENCES Users (Users_ID)

GO

ALTER TABLE Utilization ADD CONSTRAINT FK_Utilization8 FOREIGN KEY (Zakazi_ID) REFERENCES Zakazi (Zakazi_ID)

GO

 



2019-12-29 186 Обсуждений (0)
Проектирование логической модели базы данных 0.00 из 5.00 0 оценок









Обсуждение в статье: Проектирование логической модели базы данных

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (186)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)