ВУЗ: Северный (Арктический) федеральный университет имени М.В. Ломоносова
Категория: Методичка
Дисциплина: Базы данных
Добавлен: 15.11.2018
Просмотров: 1907
Скачиваний: 8
16
Продолжение таблицы 2.1
Контактное лицо
-
Обязательный
Контактный телефон -
Обязательный
Сущность «Заказчик» связана с сущностью «Договор на перевозку груза»
связью «Один-ко-многим», так как один и тот же заказчик «может заключить»
несколько договоров, на перевозку разных грузов в разных направлениях.
Сущность «Тип судна» определяет разновидность судна, которая
указывает какие именно грузы может доставлять корабль. Например,
рефрижераторы используются, в основном, для перевозки быстропортящихся
продуктов питания.
Таблица 2.2 - Сущность «Тип судна»
Название
атрибута
Уник.
атриб
.
Обязательный
атрибут
Примечание
Наименование
-
Обязательный
Сущность «Тип судна» связана с сущностью «Судно» связью «Один-ко-
многим», так как один тип судна «указывается» при характеристики многих
судов.
Сущность
«Судно»
определяет
непосредственно
суда
фирмы,
занимающейся водными перевозками. Данные судна должны быть указаны в
договоре на перевозку.
Таблица 2.3 - Сущность «Судно»
Название
атрибута
Уник.
атриб
.
Обязательный
атрибут
Примечание
Наименование
-
Обязательный
Сущность «Судно» связана с сущностью «Договор на перевозку груза»
связью «Один-ко-многим», так как одно и то же судно «указывается в»
нескольких договорах и других документах, прилагаемым к договору.
Сущность «Порт» определяет пункты убытия и назначения, в которые
заходит судно при осуществлении перевозки груза. Сведения о портах также
указываются в договорах и других документах, прилагаемым к договору.
Таблица 2.4 - Сущность «Порт»
Название
атрибута
Уник.
атриб
.
Обязательный
атрибут
Примечание
Название
-
Обязательный
17
Продолжение таблицы 2.4
Обозначение
-
Обязательный
Значение
-
Обязательный
Сущность «Порт» связана с сущностью «Договор на перевозку груза»
связью «Один-ко-многим», так как один и тот же порт «указывается как место
назначения» в договоре. Также есть еще одна, параллельная, связь, которая
определяет порт «как место убытия» судна в рейс.
Сущность «Груз» определяет груз, который перевозят морскими водными
путями суда фирмы, занимающейся перевозками. Данные груза указываются в
позициях договора.
Таблица 2.5 - Сущность «Груз»
Название
атрибута
Уник.
атриб
.
Обязательный
атрибут
Примечание
Наименование
-
Обязательный
Единица
измерения
-
Обязательный
Домен, со следующими значениями
атрибута: «т», «шт», «м куб».
Сущность «Груз» связана с сущностью «Позиция договора» связью
«Один-ко-многим», так как один и тот же груз «указывается в» нескольких
позициях разных договоров.
Сущность «Тариф на перевозку» определяет установленный тариф,
необходимый для расчета стоимости перевозки по договору.
Таблица 2.6 - Сущность «Тариф на перевозку»
Название атрибута
Уник.
атриб.
Обязательный
атрибут
Примечание
Цена за единицу
-
Обязательный
Единица измерения
-
Обязательный
Домен,
со
следующими
значениями атрибута: «т»,
«шт», «м куб».
Дата установки тарифа -
Обязательный
Сущность «Тариф на перевозку» связана с сущностью «Позиция
договора» связью «Один-ко-многим», так как один и тот же тариф «указывается
в» нескольких позициях разных договоров.
Сущность «Договор на перевозку груза» определяет документ, согласно
которому фирма, занимающаяся перевозками, обязуется доставить груз в место
назначения, а заказчик - оплатить доставку груза.
18
Таблица 2.7 - Сущность «Договор на перевозку груза»
Название атрибута
Уник.
атриб.
Обязательный
атрибут
Примечание
Номер
+
Обязательный
Дата оформления
-
Обязательный
Дата выхода судна
-
Обязательный
Дата прихода судна в
порт
-
Обязательный
Дата закрытия
-
Не
обязательный
Представитель
заказчика
-
Обязательный
Общая
стоимость
перевозки по договору
-
Не
обязательный
Сущность «Договор на перевозку груза» связана с сущностью «Заказчик»
связью «Многие-к-одному», так как несколько договоров «принадлежат»
одному заказчику. Сущность «Договор на перевозку груза» связана с сущностью
«Судно» связью «Многие-к-одному», так как несколько договоров «будут
выполняться» одним судном. Сущность «Договор на перевозку груза» связана с
сущностью «Порт» связью «Многие-к-одному», так как несколько договоров
«содержат» названия одних и тех же портов.
Сущность «Договор на перевозку груза» связана с сущностью «Позиция
договора» связью «Один-ко-многим», так как один договор может «иметь»
несколько позиций.
Сущность «Позиция договора» определяет позицию в договоре, согласно
которой описывается доставляемый груз.
Таблица 2.8 - Сущность «Позиция договора»
Название атрибута
Уник.
атриб.
Обязательный
атрибут
Примечание
Количество груза
-
Обязательный
Сущность «Позиция договора» связана с сущностью «Тариф на
перевозку» связью «Многие-к-одному», так как несколько позиций договора
«отражает» один тариф. Сущность «Позиция договора» связана с сущностью
«Договор на перевозку груза» связью «Многие-к-одному», так как несколько
позиций «принадлежат» одному договору.
19
Рисунок.2.1 - Логическая модель
2.2 Разработка физической модели
На основании логической информационной модели произведена
разработка проекта базы данных. Основным компонентом реляционной БД
является таблица. Таблица используется для структуризации и хранения
информации. На этапе проектирования базы данных были определены
основные таблицы, необходимые для реализации проекта, тип и размерность
используемых данных, первичные и внешние ключи, ограничение целостности,
индексы, свойства.
Раздел содержит исходные тексты команд всех таблиц спроектированных
в среде СУБД Oracle, с указанием названий, характеристик этих таблиц и
соответствия описываемых таблиц сущностям информационно-логической
модели (ИЛМ).
Таблица «Timn_Dogovor» разработана для хранения информации по всем
договорам, заключенных на перевозку грузов водным путем.
CREATE TABLE Timn_Dogovor
(
Nomer_dog INTEGER NOT NULL ,
Data_oform DATE NOT NULL ,
Data_vixoda DATE NOT NULL ,
Data_prix_v_punkt_nazn DATE NOT NULL ,
20
Data_zakr DATE NULL ,
Predstav_zakazchika VARCHAR2(40) NOT NULL ,
Kod_porta_ybut INTEGER NOT NULL ,
kod_zakazchika INTEGER NOT NULL ,
Kod_sud INTEGER NOT NULL ,
Obsh_summa_po_dogovory NUMBER NULL ,
Kod_porta_prib INTEGER NOT NULL);
Таблица «Timn_Dogovor» соответствует сущности ИЛМ «Договор на
перевозку груза».
Создание уникального индекса под первичный ключ.
CREATE UNIQUE INDEX XPKДоговор_на_перевозку_груза ON Timn_Dogovor
(Nomer_dog ASC);
Команда для создания первичного ключа.
ALTER TABLE Timn_Dogovor
ADD CONSTRAINT XPKДоговор_на_перевозку_груза PRIMARY KEY
(Nomer_dog);
Команда для создания ограничений внешних ключей.
ALTER TABLE Timn_Dogovor
ADD
(CONSTRAINT
timn_4
FOREIGN
KEY
(kod_zakazchika)
REFERENCES Timn_Zakazchik (kod_zakazchika));
ALTER TABLE Timn_Dogovor
ADD (CONSTRAINT timn_7 FOREIGN KEY (Kod_sud) REFERENCES
Timn_Sudno (Kod_sud));
ALTER TABLE Timn_Dogovor
ADD
(CONSTRAINT
timn_9
FOREIGN
KEY
(Kod_porta_ybut)
REFERENCES Timn_Port (Kod_porta));
ALTER TABLE Timn_Dogovor
ADD
(CONSTRAINT
Timn_10
FOREIGN
KEY
(Kod_porta_prib)
REFERENCES Timn_Port (Kod_porta));