Professional Documents
Culture Documents
GO
set nocount on
set dateformat dmy
USE master
GO
CHECKPOINT
go
CHECKPOINT
GO
USE Store
GO
-- -----------------------------------------------------
-- Table Membership
-- -----------------------------------------------------
CREATE TABLE Membership (
Membership_id VARCHAR(10) NOT NULL,
Membership_name VARCHAR(45) NOT NULL,
Discount_percentage TINYINT NOT NULL,
PRIMARY KEY (Membership_id))
-- -----------------------------------------------------
-- Table Clients
-- -----------------------------------------------------
CREATE TABLE Clients (
Clients_id VARCHAR(10) NOT NULL,
F_name NCHAR(30) NOT NULL DEFAULT 'Ivan',
L_name NCHAR(30) NOT NULL DEFAULT 'Ivanov',
Membership_id VARCHAR(10) NULL,
Email VARCHAR(50) NULL DEFAULT 'user@email.com',
PRIMARY KEY (Clients_id),
CONSTRAINT Membership_id
FOREIGN KEY (Membership_id)
REFERENCES Membership (Membership_id)
)
-- -----------------------------------------------------
-- Table Department
-- -----------------------------------------------------
CREATE TABLE Department (
Department_id VARCHAR(10) NOT NULL,
Department_name VARCHAR(45) NOT NULL,
Manager_id VARCHAR(10) NULL,
PRIMARY KEY (Department_id))
-- -----------------------------------------------------
-- Table Employee
-- -----------------------------------------------------
CREATE TABLE Employee (
Employee_id VARCHAR(10) NOT NULL,
F_name NCHAR(30) NOT NULL,
L_name NCHAR(30) NOT NULL,
Manager_id VARCHAR(10) NULL,
Position VARCHAR(30) NOT NULL,
Salary MONEY NOT NULL,
Phone_number VARCHAR(15) NOT NULL,
Email VARCHAR(50) NULL DEFAULT 'user@email.com',
Employ_date DATE NOT NULL,
PRIMARY KEY (Employee_id),
CONSTRAINT Manager_id
FOREIGN KEY (Manager_id)
REFERENCES Employee (Employee_id)
)
-- -----------------------------------------------------
-- Table Manager
-- -----------------------------------------------------
CREATE TABLE Manager (
Manager_id VARCHAR(10) NOT NULL,
Department_id VARCHAR(10) NOT NULL,
PRIMARY KEY (Manager_id),
CONSTRAINT mng_dep
FOREIGN KEY (Department_id)
REFERENCES Department (Department_id)
,
CONSTRAINT mng_emp
FOREIGN KEY (Manager_id)
REFERENCES Employee (Employee_id)
)
-- -----------------------------------------------------
-- Table Product
-- -----------------------------------------------------
CREATE TABLE Product (
Product_id VARCHAR(10) NOT NULL,
Product_name VARCHAR(45) NOT NULL,
Price MONEY NOT NULL,
Quantity INT NOT NULL,
Department_id VARCHAR(10) NOT NULL,
PRIMARY KEY (Product_id),
CONSTRAINT Department_id
FOREIGN KEY (Department_id)
REFERENCES Department (Department_id)
)
-- -----------------------------------------------------
-- Table Product_Department
-- -----------------------------------------------------
/* - otpada
CREATE TABLE Product_Department (
Product_id VARCHAR(10) NOT NULL,
Department_id VARCHAR(10) NOT NULL,
PRIMARY KEY (Product_id),
CONSTRAINT Department_Prod
FOREIGN KEY (Department_id)
REFERENCES Department (Department_id)
,
CONSTRAINT Product_Dept
FOREIGN KEY (Product_id)
REFERENCES Product (Product_id)
)
*/
-- -----------------------------------------------------
-- Table Sale
-- -----------------------------------------------------
CREATE TABLE Sale (
Sale_id VARCHAR(10) NOT NULL,
Product_id VARCHAR(10) NOT NULL,
Product_qty TINYINT NOT NULL,
Client_id VARCHAR(10) NOT NULL,
Employee_id VARCHAR(10) NOT NULL,
Sale_date DATE NOT NULL,
PRIMARY KEY (Sale_id),
CONSTRAINT Sale_emp_id
FOREIGN KEY (Employee_id)
REFERENCES Employee (Employee_id)
/*CHECK (Department_id = '1831101001' )*/
,
CONSTRAINT Sale_cl_id
FOREIGN KEY (Client_id)
REFERENCES Clients (Clients_id)
,
CONSTRAINT Sale_prod_id
FOREIGN KEY (Product_id)
REFERENCES Product (Product_id)
)
insert Membership values('00000000M', 'Member', 0)
insert Membership values('00000000B', 'Bronze', 5)
insert Membership values('00000000S', 'Silver', 10)
insert Membership values('00000000G', 'Gold', 15)
*/
/*
dep-prod - otpada
insert Product_Department values ('0000000001','1831101006')
insert Product_Department values ('0000000002','1831101006')
More TODO -
2. check Relationships
3. Make Constraints
4. Check WTF Index are, how do we make them and do what we need and why do we
even need them?!?
5. Check the foreign keys, are they build like the ones in pubs.txt
6. �� ����� � ���� �������� ����, ��������� ������ � ����� ������
7. �� �� ������ ��� ������� � ���������! - ok
*/