Advertisement
S_Madanska

trade_ready

Oct 13th, 2022
2,505
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 6.76 KB | None | 0 0
  1. CREATE DATABASE TRADE_READY
  2. GO
  3. USE TRADE_READY
  4. GO
  5. ALTER DATABASE CURRENT COLLATE CYRILLIC_GENERAL_CI_AI
  6. GO
  7.  
  8. /*==============================================================*/
  9. /* Table: REGIONS                                               */
  10. /*==============================================================*/
  11. create table REGIONS
  12. (
  13.    REGION_ID smallint    not null primary key identity(1, 1),
  14.    NAME      varchar(25) not null unique
  15. )
  16. go
  17. /*==============================================================*/
  18. /* Table: COUNTRIES                                             */
  19. /*==============================================================*/
  20. create table COUNTRIES
  21. (
  22.    COUNTRY_ID           char(2)              not null,
  23.    NAME                 varchar(40)          not null,
  24.    REGION_ID            smallint             null,
  25.    constraint PK_COUNTRY primary key (COUNTRY_ID),
  26.    constraint FK_COUNTRIES_REGIONS foreign key (REGION_ID)
  27.       references REGIONS (REGION_ID)
  28. )
  29. go
  30.  
  31. /*==============================================================*/
  32. /* Table: CUSTOMERS                                             */
  33. /*==============================================================*/
  34. create table CUSTOMERS
  35. (
  36.    CUSTOMER_ID          numeric(6)           not null,
  37.    COUNTRY_ID           char(2)              not null,
  38.    FNAME                varchar(20)          not null,
  39.    LNAME                varchar(20)          not null,
  40.    ADDRESS              text                 null,
  41.    EMAIL                varchar(30)          null,
  42.    GENDER               char(1)              null default 'M'
  43.       constraint CUST_GENDER check (GENDER is null or (GENDER in ('M','F'))),
  44.    constraint PK_CUSTOMERS primary key (CUSTOMER_ID)
  45. )
  46. go
  47.  
  48. /*==============================================================*/
  49. /* Table: DEPARTMENTS                                           */
  50. /*==============================================================*/
  51. create table DEPARTMENTS
  52. (
  53.    DEPARTMENT_ID        int                  not null,
  54.    NAME                 varchar(30)          not null,
  55.    MANAGER_ID           int                  null,
  56.    COUNTRY_ID           char(2)              not null,
  57.    CITY                 varchar(30)          not null,
  58.    STATE                varchar(25)          null,
  59.    ADDRESS              varchar(40)          null,
  60.    POSTAL_CODE          varchar(12)          null,
  61.    constraint PK_DEPT primary key (DEPARTMENT_ID)
  62. )
  63. go
  64.  
  65. /*==============================================================*/
  66. /* Table: EMPLOYEES                                             */
  67. /*==============================================================*/
  68. create table EMPLOYEES
  69. (
  70.    EMPLOYEE_ID          int                  not null,
  71.    FNAME                varchar(20)          not null,
  72.    LNAME                varchar(25)          not null,
  73.    EMAIL                varchar(40)          not null,
  74.    PHONE                varchar(20)          null,
  75.    HIRE_DATE            date                 not null,
  76.    SALARY               numeric(8,2)         not null
  77.       constraint EMP_SALARY_MIN check (SALARY > 0),
  78.    JOB_ID               varchar(10)          not null,
  79.    MANAGER_ID           int                  null,
  80.    DEPARTMENT_ID        int                  null,
  81.    constraint PK_EMP primary key (EMPLOYEE_ID),
  82.    constraint UK_EMP unique (EMAIL)
  83. )
  84. go
  85.  
  86. /*==============================================================*/
  87. /* Table: JOBS                                                  */
  88. /*==============================================================*/
  89. create table JOBS
  90. (
  91.    JOB_ID               varchar(10)          not null,
  92.    JOB_TITLE            varchar(35)          not null,
  93.    MIN_SALARY           numeric(6)           null,
  94.    MAX_SALARY           numeric(6)           null,
  95.    constraint PK_JOB primary key (JOB_ID)
  96. )
  97. go
  98.  
  99. /*==============================================================*/
  100. /* Table: ORDERS                                                */
  101. /*==============================================================*/
  102. create table ORDERS
  103. (
  104.    ORDER_ID             int                  not null,
  105.    ORDER_DATE           datetime             not null,
  106.    CUSTOMER_ID          numeric(6)           not null,
  107.    EMPLOYEE_ID          int                  not null,
  108.    SHIP_ADDRESS         varchar(150)         null,
  109.    constraint PK_ORDER primary key (ORDER_ID)
  110. )
  111. go
  112.  
  113. /*==============================================================*/
  114. /* Table: ORDER_ITEMS                                           */
  115. /*==============================================================*/
  116. create table ORDER_ITEMS
  117. (
  118.    ORDER_ID             int                  not null,
  119.    PRODUCT_ID           integer              not null,
  120.    UNIT_PRICE           numeric(8,2)         not null,
  121.    QUANTITY             numeric(8)           not null,
  122.    constraint PK_ORDER_ITEMS primary key (ORDER_ID, PRODUCT_ID)
  123. )
  124. go
  125.  
  126. /*==============================================================*/
  127. /* Table: PRODUCTS                                              */
  128. /*==============================================================*/
  129. create table PRODUCTS
  130. (
  131.    PRODUCT_ID           int                  not null,
  132.    NAME                 varchar(70)          not null,
  133.    PRICE                numeric(8,2)         not null,
  134.    DESCR                varchar(2000)        null,
  135.    constraint PK_PRODUCTS primary key (PRODUCT_ID)
  136. )
  137. go
  138.  
  139.  
  140. alter table CUSTOMERS
  141.    add constraint FK_CUSTOMER_COUNTRIES foreign key (COUNTRY_ID)
  142.       references COUNTRIES (COUNTRY_ID)
  143. go
  144.  
  145. alter table DEPARTMENTS
  146.    add constraint DEPT_MGR_FK foreign key (MANAGER_ID)
  147.       references EMPLOYEES (EMPLOYEE_ID)
  148. go
  149.  
  150. alter table DEPARTMENTS
  151.    add constraint FK_DEPT_REFERENCE_COUNTRIE foreign key (COUNTRY_ID)
  152.       references COUNTRIES (COUNTRY_ID)
  153. go
  154.  
  155. alter table EMPLOYEES
  156.    add constraint FK_EMPLOYEE_DEPARTMENTS foreign key (DEPARTMENT_ID)
  157.       references DEPARTMENTS (DEPARTMENT_ID)
  158. go
  159.  
  160. alter table EMPLOYEES
  161.    add constraint FK_EMPLOYEE_JOBS foreign key (JOB_ID)
  162.       references JOBS (JOB_ID)
  163. go
  164.  
  165. alter table EMPLOYEES
  166.    add constraint FK_EMPLOYEE_MANAGERS foreign key (MANAGER_ID)
  167.       references EMPLOYEES (EMPLOYEE_ID)
  168. go
  169.  
  170. alter table ORDERS
  171.    add constraint FK_ORDERS_CUSTOMER foreign key (CUSTOMER_ID)
  172.       references CUSTOMERS (CUSTOMER_ID)
  173. go
  174.  
  175. alter table ORDERS
  176.    add constraint FK_ORDERS_REFERENCE_EMPLOYEE foreign key (EMPLOYEE_ID)
  177.       references EMPLOYEES (EMPLOYEE_ID)
  178. go
  179.  
  180. alter table ORDER_ITEMS
  181.    add constraint FK_ORD_ITEM_ORDERS foreign key (ORDER_ID)
  182.       references ORDERS (ORDER_ID)
  183.          on update cascade on delete cascade
  184. go
  185.  
  186. alter table ORDER_ITEMS
  187.    add constraint FK_ORD_ITEM_PRODUCTS foreign key (PRODUCT_ID)
  188.       references PRODUCTS (PRODUCT_ID)
  189. go
  190.  
  191.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement