Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТБД_курсовая.docx
Скачиваний:
109
Добавлен:
28.06.2021
Размер:
916.66 Кб
Скачать

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

  1. Воронова Л.И. «Лабораторный практикум по дисциплине “базы данных”» - Москва 2010г.

  2. ГОСТ 2.105-95 Единая система конструкторской документации. Общие требования к текстовым документам

  3. Флоренция Нами [Электронный ресурс] – Статья “Применение баз данных в современном мире” – Режим доступа - https://idaten.ru/technology/primenenie-baz-dannih-v-sovremennom-mire

  4. Википедия. Свободная энциклопедия [Электронный ресурс] – Базы данных- Режим доступа - https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

  5. Портал StudFiles [Электронный ресурс] – Обзор информационных технологий для БД –Режим доступа - https://studfiles.net/preview/5157336/page:3/

  6. Википедия. Свободная энциклопедия [Электронный ресурс] – SQLite – Режим доступа - https://ru.wikipedia.org/wiki/SQLite

  7. Форум w3ii [Электронный ресурс] - Обзор SQLite – Режим доступа - http://www.w3ii.com/ru/sqlite/sqlite_overview.html

  8. Сообщество Oracle-patches [Электронный ресурс] – СУБД Oracle database 11g – Режим доступа - https://oracle-patches.ru/%D0%B1%D0%BB%D0%BE%D0%B3%D0%B8/70-%D0%B1%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-oracle/3139-%D1%81%D1%83%D0%B1%D0%B4-oracle-database-11g

  9. Портал Студопедия [Электронный ресурс] – Модели данных – Режим доступа - https://studopedia.ru/2_57929_infologicheskie-i-datalogicheskie-modeli-dannih.html

  10. Портал Office-menu[Электронный ресурс] – Нормализация базы данных – Режим доступа - http://office-menu.ru/uroki-sql/51-normalizatsiya-bazy-dannykh

Приложения

Программный код:

CREATE TABLE Products (

Product_ID INT PRIMARY KEY,

Name VARCHAR(45) NOT NULL,

Price INT NOT NULL,

Description VARCHAR(45) NULL

);

CREATE SEQUENCE ProductID START WITH 1 INCREMENT BY 1;

CREATE TABLE Clients (

Client_ID INT PRIMARY KEY,

Username VARCHAR(20) NOT NULL,

Password_hash VARCHAR(50) NOT NULL,

Name VARCHAR(45) NOT NULL,

Client_Type VARCHAR(20) NOT NULL,

Address VARCHAR(45) NOT NULL,

Contact_number VARCHAR(15) NULL,

Email VARCHAR(45) NULL

);

CREATE SEQUENCE ClientID START WITH 1 INCREMENT BY 1;

CREATE TABLE Warehouses (

Warehouse_ID INT PRIMARY KEY,

Address VARCHAR(45) NOT NULL

);

CREATE SEQUENCE WarehouseID START WITH 1 INCREMENT BY 1;

CREATE TABLE Couriers (

Courier_ID INT PRIMARY KEY,

Username VARCHAR(20) NOT NULL,

Password_hash VARCHAR(50) NOT NULL,

FIO VARCHAR(45) NOT NULL,

Birth_date DATE NOT NULL,

Passport VARCHAR(100) NOT NULL,

Hire_date DATE NOT NULL,

Contact_number VARCHAR(15) NOT NULL

);

CREATE SEQUENCE CourierID START WITH 1 INCREMENT BY 1;

CREATE TABLE Self_pickup_points (

Point_ID INT PRIMARY KEY,

Point_address VARCHAR(45) NOT NULL

);

CREATE SEQUENCE PointID START WITH 1 INCREMENT BY 1;

CREATE TABLE Managers (

Manager_ID INT PRIMARY KEY,

Username VARCHAR(20) NOT NULL,

Password_hash VARCHAR(50) NOT NULL,

FIO VARCHAR(45) NOT NULL,

Birth_date DATE NOT NULL,

Passport VARCHAR(100) NOT NULL,

Hire_date DATE NOT NULL,

Contact_number VARCHAR(15) NOT NULL

);

CREATE SEQUENCE ManagerID START WITH 1 INCREMENT BY 1;

CREATE TABLE Orders (

Order_ID INT PRIMARY KEY,

Client_ID INT NOT NULL,

Courier_ID INT NOT NULL,

Delivery_date DATE NULL,

Payment_method VARCHAR(45) NOT NULL,

Self_pickup_ID INT NULL,

Manager_ID INT NOT NULL

);

ALTER TABLE Orders ADD CONSTRAINT fk_clientId FOREIGN KEY (Client_ID) REFERENCES Clients(Client_ID);

ALTER TABLE Orders ADD CONSTRAINT fk_courierId FOREIGN KEY (Courier_ID) REFERENCES Couriers(Courier_ID);

ALTER TABLE Orders ADD CONSTRAINT fk_selfpickupId FOREIGN KEY (Self_pickup_ID) REFERENCES Self_pickup_points(Point_ID);

ALTER TABLE Orders ADD CONSTRAINT fk_managerId FOREIGN KEY (Manager_ID) REFERENCES Managers(Manager_ID);

CREATE SEQUENCE OrderID START WITH 1 INCREMENT BY 1;

CREATE TABLE Position_count (

Position_ID INT PRIMARY KEY,

Product_ID INT NOT NULL,

Order_ID INT NOT NULL,

Amount INT NOT NULL

)

ALTER TABLE Position_count ADD CONSTRAINT fk_producId FOREIGN KEY (Product_ID) REFERENCES Products(Product_ID);

ALTER TABLE Position_count ADD CONSTRAINT fk_orderId FOREIGN KEY (Order_ID) REFERENCES Orders(Order_ID);

CREATE SEQUENCE PositionID START WITH 1 INCREMENT BY 1;

CREATE TABLE Product_to_warehouse (

Warehouse_ID INT ,

Product_ID INT

)

ALTER TABLE Product_to_warehouse ADD CONSTRAINT pk_Id PRIMARY KEY (Warehouse_ID, Product_ID);

ALTER TABLE Product_to_warehouse ADD CONSTRAINT fk_warehouseId FOREIGN KEY (Warehouse_ID) REFERENCES Warehouses(Warehouse_ID);

ALTER TABLE Product_to_warehouse ADD CONSTRAINT fk_productId FOREIGN KEY (Product_ID) REFERENCES Products(Product_ID);

INSERT INTO Products VALUES (ProductID.nextval, 'Шиферные гвозди', 3, '90мм/5мм/18мм/');

INSERT INTO Products VALUES (ProductID.nextval, 'Молоток слесарный', 58, 'Молоток слесарный 100гр с деревянной ручкой');

INSERT INTO Clients VALUES (ClientID.nextval, 'Client1', '098f6bcd4621d373cade4e832627b4f6', 'Виталий Иванов', 'Физ. лицо', 'Москва', '88005553535', 'vitalya@ya.ru');

INSERT INTO Clients VALUES (ClientID.nextval, 'Client2', 'ad0234829205b9033196ba818f7a872b', 'ЗАО Строй', 'Юр. лицо', 'Москва', '89034457812', 'stroy@ya.ru');

INSERT INTO Warehouses VALUES (WarehouseID.nextval, 'Москва, ул. Пушкина д.3');

INSERT INTO Warehouses VALUES (WarehouseID.nextval, 'Москва, ул. Академика Королева д.12');

INSERT INTO Couriers VALUES (CourierID.nextval, 'Courier1', 'c79d74a1e537c13ccb4ec1c6266d5a8d', 'Петрова С.А.', '03/12/1990', '123456/12', '13/03/2017', '89346570173');

INSERT INTO Couriers VALUES (CourierID.nextval, 'Courier2', '61b49956a9f21a7268ea9d175aa0fc91', 'Иванов К.С.', '04/03/1995', '145656/03', '10/05/2017', '89346567183');

INSERT INTO Self_pickup_points VALUES(PointID.nextval, 'ул.Якиманка д.74');

INSERT INTO Self_pickup_points VALUES(PointID.nextval, 'Мирской проезд д.16');

INSERT INTO Managers VALUES (ManagerID.nextval, 'Manager1', 'c240642ddef994358c96da82c0361a58', 'Васильева К.А.', '03/11/1980', '199956/12', '13/03/2017', '8934445173');

INSERT INTO Managers VALUES (ManagerID.nextval, 'Manager2', '8df5127cd164b5bc2d2b78410a7eea0c', 'Пилан И.И.', '04/04/1987', '124566/12', '13/03/2017', '89346668173');

INSERT INTO Product_to_warehouse VALUES(3,4);

INSERT INTO Product_to_warehouse VALUES(3,6);

INSERT INTO Product_to_warehouse VALUES(6,6);

Соседние файлы в предмете Базы данных