Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.72 KB | None | 0 0
  1. CREATE DATABASE PCTRADE_INF3A
  2.  
  3. CREATE TABLE REGIONS(
  4.     REGION_ID SMALLINT NOT NULL,
  5.     NAME VARCHAR(25) NOT NULL,
  6.     CONSTRAINT PK_REGIONS PRIMARY KEY (REGION_ID)
  7. )
  8.  
  9. CREATE TABLE JOBS(
  10.     JOB_ID VARCHAR(10) NOT NULL,
  11.     JOB_TITLE VARCHAR(35) NOT NULL,
  12.     MIN_SALARY NUMERIC(6),
  13.     MAX_SALARY NUMERIC(6),
  14.     CONSTRAINT PK_JOBS PRIMARY KEY (JOB_ID)
  15. )
  16.  
  17. CREATE TABLE COUNTRIES(
  18.     COUNTRY_ID CHAR(2) NOT NULL,
  19.     NAME VARCHAR(40) NOT NULL,
  20.     REGION_ID SMALLINT,
  21.     CONSTRAINT PK_COUNTRIES PRIMARY KEY (COUNTRY_ID),
  22.     CONSTRAINT FK_COUNTRIES FOREIGN KEY (REGION_ID) REFERENCES REGIONS (REGION_ID)
  23.     ON DELETE SET NULL
  24. )
  25.  
  26. CREATE TABLE DEPARTMENTS(
  27.     DEPARTMENT_ID INT NOT NULL,
  28.     NAME VARCHAR(30) NOT NULL,
  29.     MANAGER_ID INT,
  30.     COUNTRY_ID CHAR(2) NOT NULL DEFAULT 'DF',
  31.     CITY VARCHAR(30) NOT NULL,
  32.     STATE VARCHAR(25),
  33.     ADDRESS VARCHAR(40),
  34.     POSTAL_CODE VARCHAR(12),
  35.     CONSTRAINT PK_DEPARTMENTS PRIMARY KEY (DEPARTMENT_ID),
  36.     CONSTRAINT FK_DEP_COUNT FOREIGN KEY (COUNTRY_ID) REFERENCES COUNTRIES (COUNTRY_ID)
  37.     ON DELETE SET DEFAULT
  38. )
  39.  
  40. CREATE TABLE EMPLOYEES(
  41.     EMPLOYEE_ID INT NOT NULL,
  42.     FNAME VARCHAR(20) NOT NULL,
  43.     LNAME VARCHAR(25) NOT NULL,
  44.     EMAIL VARCHAR(25) UNIQUE,
  45.     PHONE VARCHAR(20),
  46.     HIRE_DATE DATETIME NOT NULL,
  47.     SALARY NUMERIC(8,2) NOT NULL,
  48.     JOB_ID VARCHAR(10) NOT NULL,
  49.     MANAGER_ID INT,
  50.     DEPARTMENT_ID INT,
  51.     CONSTRAINT PK_EMPLOYEES PRIMARY KEY (EMPLOYEE_ID),
  52.     CONSTRAINT FK_EMP_JOBS FOREIGN KEY (JOB_ID) REFERENCES JOBS (JOB_ID),
  53.     CONSTRAINT FK_EMP_DEP FOREIGN KEY (DEPARTMENT_ID) REFERENCES DEPARTMENTS (DEPARTMENT_ID),
  54.     CONSTRAINT FK_EMP_MANAGER FOREIGN KEY (MANAGER_ID) REFERENCES EMPLOYEES (EMPLOYEE_ID),
  55. )
  56.  
  57. ALTER TABLE DEPARTMENTS
  58. ADD CONSTRAINT FK_DEP_MANAGERS FOREIGN KEY (MANAGER_ID) REFERENCES EMPLOYEES (EMPLOYEE_ID)
  59.  
  60. CREATE TABLE CUSTOMERS(
  61.     CUSTOMER_ID NUMERIC(6) NOT NULL,
  62.     COUNTRY_ID CHAR(2) NOT NULL,
  63.     FNAME VARCHAR(20) NOT NULL,
  64.     LNAME VARCHAR(20) NOT NULL,
  65.     ADDRESS TEXT,
  66.     EMAIL VARCHAR(30),
  67.     GENDER CHAR(1),
  68.     CONSTRAINT PK_CUSTOMERS PRIMARY KEY (CUSTOMER_ID),
  69.     CONSTRAINT FK_CUST_COUNTRIES FOREIGN KEY (COUNTRY_ID) REFERENCES COUNTRIES (COUNTRY_ID),
  70.     CONSTRAINT CHECK_GENDER CHECK (GENDER IS NULL OR (GENDER IN ('M', 'F')))
  71. )
  72.  
  73. CREATE TABLE PRODUCTS(
  74.     PRODUCT_ID INT NOT NULL,
  75.     NAME VARCHAR(50) NOT NULL,
  76.     PRICE NUMERIC(8,2) NOT NULL,
  77.     DESCR VARCHAR(2000),
  78.     CONSTRAINT PK_PRODUCTS PRIMARY KEY (PRODUCT_ID)
  79. )
  80.  
  81. CREATE TABLE ORDERS(
  82.     ORDER_ID INT NOT NULL,
  83.     ORDER_DATE DATETIME NOT NULL,
  84.     CUSTOMER_ID NUMERIC(6) NOT NULL,
  85.     EMPLOYEE_ID INT NOT NULL,
  86.     SHIP_ADDRESS VARCHAR(150),
  87.     CONSTRAINT PK_ORDERS PRIMARY KEY (ORDER_ID),
  88.     CONSTRAINT FK_ORDERS_CUST FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMERS (CUSTOMER_ID),
  89.     CONSTRAINT FK_ORDERS_EMPL FOREIGN KEY (EMPLOYEE_ID) REFERENCES EMPLOYEES (EMPLOYEE_ID)
  90. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement