
- •Курсова робота
- •Доцент кафедри іпз, к. Ф.- м. Н. Резніченко в.А.
- •Аналіз предметної області
- •Загальні положення системного аналізу по
- •Загальні положення організації складу
- •Системний аналіз предметної області
- •Сутність: товар
- •Сутність: накладна
- •Сутність: склад
- •Сутність: місце зберігання
- •Сутність:тип товару
- •Сутність: контрагент
- •Сутність: платіжна інформація
- •Сутність: співробітник
- •Сутність: графік роботи
- •Сутність: техніка
- •Сутність: термінал
- •Інформаційно-довідкові задачі
- •Логічне та фізичне проектування бази даних
- •Логічне проектування
- •Фізичне проектування
- •Скрипти створення таблиць бази даних
- •Створення запитів до бази даних.
- •Інформаційно–пошукові запити повязані з товарами та накладними
- •Інформаційно пошукові запити організаційного характеру
- •Інформаційно пошукові запити процесу керування складом
- •Висновок
Фізичне проектування
База даних спроектована для її збереження у СКБД Oracle, яка підтримує реляційну модель даних і є об’єкто-реляційною СКБД. Ця СКБД має дуже розвинені можливості по створенню та супроводу баз даних, оскільки володіє найбільш розвиненою системою типів даних, можливостями індексування полів, що дозволяє одержувати доступ до даних за мінімальний час, а також функціями по забезпеченню підтримки цілісності даних між реляційними таблицями, що дозволяє розробнику мінімізувати тимчасові витрати на створення бази даних, а кінцевому користувачеві витрати на підтримку цілісності збережених даних і одержання даних з бази даних. Робота з базою даних підтримується за допомогою реляційної мови запитів SQL.
Логічна модель бази даних легко відображається в реляційну фізичну модель, оскільки логічна модель була побудована з використанням реляційної структури даних. Крім того, логічна модель була приведена у третю нормальну форму, тому усі відношення представляються у фізичній моделі окремими таблицями. Ніякі злиття відношень в одну таблицю для підвищення ефективності виконання окремих класів запитів не виконуються у зв’язку з тим, що такі класи запитів не були знайдені. У результаті отримано сімнадцять таблиць реляційної бази даних, де кожне відношення прямо відповідає окремій таблиці, атрибути кожного відношення стають полями цієї таблиці, а первинні ключі відношень стають первинними ключами таблиць.
Скрипти створення таблиць бази даних
Створення таблиці ТОВАР:
create table GOODS
(
Code integer UNIQUE NOT NULL ,
Name varchar2(50) NOT NULL,
EAN13 varchar2(50) constaraint goods_eqn_uniq UNIQUE NOT NULL,
Cost number(MAX,10) ,
TypeFK integer constaraint goods_goodsType_frk references GOODS_TYPE(TypeCode) NOT NULL,
StoringPlaceFK integer constaraint goods_storage_frk refernces STORAGE(StorageNum) NOT NULL,
Number_of_units integer NOT NULL
Constraint goods_pk primary key(Code,EAN13)
);
Сторення таблиці НАКЛАДНА:
Create table BILL
(
Number integer constarint bill_pk primary key,
Type varchar2(20) constarint bill_type_chk check (Type in(‘supply’,’order’)) NOT NULL,
ContractorFK integer constarint bill_contractor_frk references CONTRACTOR(Code) NOT NULL,
GoodsFK integer constaraint bill_goods_frk references GOODS(Code) NOT NULL,
Number_of_units integer NOT NULL,
Cost number(MAX,10) NOT NULL,
Financially_responsible_personFK integer constarint bill_employee_frk references EMPLOYEE(Code) NOT NULL;
);
Створення таблиці СКЛАД:
Create table WAREHOUSE
(
Num integer constarint warehosue_prk primary key,
StorageFK integer constarint warehouse_storage_frk references SOTRAGE(StorageNum) NOT NULL
);
Створення таблиці МІСЦЕ ЗБЕРІГАННЯ:
Create table SORAGE
(
StorageNum integer constarint storage_prk primary key,
EmployeeFK integer constarint storage_employee_frk references EMPLOYEE(Code) NOT NULL,
GoodsFK intger constarint storage_goods_frk references GOODS(Code) NOT NULL,
WarehouseFK integer constarint storage_warehouse_frk references WAREHOUSE(Num) NOT NULL,
TerminalFK integer constarint storage_terminal_frk references TERMINAL(Num) NOT NULL
);
Створення таблиці ТИП ТОВАРУ:
Create table GOODS_TYPE
(
TypeCode integer constarint goods_type_prk primary key,
Description varchar2(50) constarint goods_type_desc_chk check (Description in (‘Grocery’, ‘Chemistry’, ‘Engineering’, ‘Clothing and footwear’, ‘Perfumes’,’Vegetables’,’ Fruits’)) NOT NULL
);
Створення таблиці ПЛАТІЖНА ІНФОРМАЦІЯ:
Create table BILLING_INFORMATION
(
Code integer constarint billing_information_prk primary key,
BankName varchar2(50) NOT NULL,
Account_Number varchar2(50) constraint bl_accnum_unq UNIQUE NOT NULL,
BankAddress varchar2(50) NOT NULL
);
Створення таблиці КОНТРАГЕНТ:
Ctreate table CONTRACTOR
(
Code integer constraint contractor_prk primary key,
Name varcahr2(50) NOT NULL,
Billing_infoFK integer constraint contractor_billing_info_frk references BILLING_INFORMATION(Code) NOT NULL,
Address varchar2(50) NOT NULL
);
Створення таблиці ТЕРМІНАЛ:
Create table TERMINAL
(
Num integer constraint terminal_prk primarykey,
EmployeeFK integer constraint terminal_employee_frk references EMPLOYEE(Code) NOT NULL,
ScheduleFK integer constraint terminal_schedule_frk references SCHEDULE(Code) NOT NULL,
StorageFK integer constraint terminal_storage_frk references STORAGE(Num) NOT NULL
);
Створення таблиці ГРАФІК РОБОТИ:
Create table SCHEDULE
(
Code integer constraint schedule_prk primary key,
StartTime date NOT NULL,
EndTime date NOT NULL
);
Створення таблиці ТЕХНІКА:
Create table TECHNIC
(
Reg_number integer constraint techinic_prk primary key,
Type varchar2(50) constraint techinic_type_chk check(Type in(‘Wheel’, ‘Freight’, ‘Crane’)) NOT NULL,
Schedule_CodeFK integer constraint technic_schedule_frk references SCHEDULE(Code) NOT NULL,
Employee_CodeFK integer constraint technic_employee_frk references EMPLOYEE(Code) NOT NULL
);
Стоврення таблиці СПІВРОБІТНИК:
Create table EMPLOYEE
(
Code integer constraint employee_prk primary key,
Name varchar2(50) NOT NULL,
Last_Name varchar2(50) NOT NULL,
Middle_Name varchar2(50) NOT NULL,
ScheduleFK integer constraint employee_schedule_frk references SCHEDULE(Code) NOT NULL,
StorageNumFK integer constraint employee_storage_frk references STORAGE(Num),
TechnicNumFK integer constraint employee_technic_frk references TECHNIC(Reg_number)
);