Advertisement
BeatriceGhetel

TU_SIA_DDL

May 3rd, 2020
5,149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 5.27 KB | None | 0 0
  1. DROP TABLE banks cascade constraints;
  2. DROP TABLE category cascade constraints;
  3. DROP TABLE customers cascade constraints;
  4. DROP TABLE products cascade constraints;
  5. DROP TABLE transactions cascade constraints;
  6.  
  7. CREATE TABLE Banks (
  8.  Bank_ID INTEGER NOT NULL PRIMARY KEY,
  9.  Bank_Name VARCHAR (255) NOT NULL,
  10.  Phone VARCHAR (25),
  11.  Email VARCHAR (255),
  12.  Address VARCHAR (255),
  13.  City VARCHAR (255),
  14.  Country VARCHAR (10)
  15. )
  16. tablespace TU_SIA_TBS_2;
  17.  
  18. INSERT INTO banks VALUES(1, 'Bank_1',485685, 'test_125@mail.com','Address1','Iasi','Romania');
  19. INSERT INTO banks VALUES(2, 'Bank_2',485686, 'test_125@mail.com','Address2','Iasi','Romania');
  20. INSERT INTO banks VALUES(3, 'Bank_3',485687, 'test_125@mail.com','Address3','Iasi','Romania');
  21. INSERT INTO banks VALUES(4, 'Bank_4',485688, 'test_125@mail.com','Address4','Iasi','Romania');
  22. INSERT INTO banks VALUES(5, 'Bank_5',485689, 'test_125@mail.com','Address5','Iasi','Romania');
  23. INSERT INTO banks VALUES(6, 'Bank_6',485690, 'test_125@mail.com','Address6','Iasi','Romania');
  24. INSERT INTO banks VALUES(7, 'Bank_7',485691, 'test_125@mail.com','Address7','Iasi','Romania');
  25.  
  26. CREATE TABLE Customers (
  27.  Customer_ID INTEGER NOT NULL PRIMARY KEY,
  28.  First_Name VARCHAR (50) NOT NULL,
  29.  Last_name VARCHAR (50) NOT NULL,
  30.  Email VARCHAR (255) NOT NULL,
  31.  Phone VARCHAR (25),
  32.  Active INTEGER NOT NULL,
  33.  Bank_ID INTEGER NOT NULL,
  34.  Branch_id INTEGER NOT NULL
  35. ) tablespace TU_SIA_TBS_1;
  36.  
  37. ALTER TABLE Customers add CONSTRAINT cust_bank_fk FOREIGN KEY (Branch_id) REFERENCES Banks (Bank_ID);
  38. CREATE INDEX Customers_FK_IDX ON Customers(Branch_id) tablespace TU_SIA_TBS_IDX;
  39. CREATE INDEX Customers_PK_FK_IDX ON Customers(Customer_ID, Branch_id) tablespace TU_SIA_TBS_IDX;
  40.  
  41. INSERT INTO Customers VALUES( 1,'Name_1','Last_1','TEST1@net.com',46984,1,1,1);
  42. INSERT INTO Customers VALUES( 2,'Name_2','Last_2','TEST1@net.com',46984,0,2,2);
  43. INSERT INTO Customers VALUES( 3,'Name_3','Last_3','TEST1@net.com',46984,1,3,3);
  44. INSERT INTO Customers VALUES( 4,'Name_4','Last_4','TEST1@net.com',46984,1,4,4);
  45. INSERT INTO Customers VALUES( 5,'Name_5','Last_5','TEST1@net.com',46984,1,5,5);
  46. INSERT INTO Customers VALUES( 6,'Name_6','Last_6','TEST1@net.com',46984,1,6,6);
  47. INSERT INTO Customers VALUES( 7,'Name_7','Last_7','TEST1@net.com',46984,1,7,7);
  48.  
  49. CREATE TABLE Category (
  50.  Category_ID INTEGER NOT NULL primary key,
  51.  Category_name VARCHAR (255) NOT NULL
  52. )
  53. tablespace TU_SIA_TBS_2;
  54.  
  55. INSERT INTO Category VALUES( 1,'Name_1');
  56. INSERT INTO Category VALUES( 2,'Name_2');
  57.  
  58. CREATE TABLE Products (
  59.  Product_ID INTEGER NOT NULL primary key,
  60.  Product_name VARCHAR (255) NOT NULL,
  61.  Category_ID INTEGER NOT NULL,
  62.  Interest_rate NUMBER NOT NULL,
  63.  Installements_numbers INTEGER NOT NULL
  64. )
  65. tablespace TU_SIA_TBS_2;
  66.  
  67. ALTER TABLE Products add CONSTRAINT prod_categ_fk FOREIGN KEY (Category_ID) REFERENCES Category (Category_ID);
  68. CREATE INDEX Products_FK_IDX ON Products(Category_ID) tablespace TU_SIA_TBS_IDX;
  69. CREATE INDEX Products_PK_FK_IDX ON Products(Product_ID, Category_ID) tablespace TU_SIA_TBS_IDX;
  70.  
  71. INSERT INTO Products VALUES ( 1,'Name_1',1,0.1,100     );
  72. INSERT INTO Products VALUES ( 2,'Name_2',2,1.1,101     );
  73. INSERT INTO Products VALUES ( 3,'Name_3',1,2.1,102     );
  74. INSERT INTO Products VALUES ( 4,'Name_4',2,3.1,103     );
  75. INSERT INTO Products VALUES ( 5,'Name_5',1,4.1,104     );
  76. INSERT INTO Products VALUES ( 6,'Name_6',2,5.1,105     );
  77. INSERT INTO Products VALUES ( 7,'Name_7',1,6.1,106     );
  78.  
  79. CREATE TABLE Transactions (
  80.  Transaction_ID INTEGER NOT NULL primary key,
  81.  Customer_ID INTEGER NOT NULL,
  82.  Transaction_Date DATE NOT NULL,
  83.  Year_month INTEGER NOT NULL,
  84.  Installement_Date DATE NOT NULL,
  85.  Bank_id INTEGER NOT NULL,
  86.  Category_id INTEGER NOT NULL
  87. )
  88. tablespace TU_SIA_TBS_1;
  89.  
  90. ALTER TABLE Transactions MODIFY PARTITION BY LIST (Year_month) (PARTITION TP_FIRST VALUES (0));
  91. ALTER TABLE Transactions SET PARTITIONING AUTOMATIC;
  92.  
  93. ALTER TABLE Transactions ADD CONSTRAINT trans_cust_fk FOREIGN KEY (Customer_ID) REFERENCES Customers (Customer_ID);
  94. ALTER TABLE Transactions ADD CONSTRAINT trans_bank_fk FOREIGN KEY (Bank_id) REFERENCES Banks (Bank_id);
  95. ALTER TABLE Transactions ADD CONSTRAINT trans_cat_fk FOREIGN KEY (Category_ID) REFERENCES Category (Category_ID);
  96. CREATE INDEX Transactions_FK1_IDX ON Transactions(Customer_ID) tablespace TU_SIA_TBS_IDX;
  97. CREATE INDEX Transactions_FK2_IDX ON Transactions(Bank_id) tablespace TU_SIA_TBS_IDX;
  98. CREATE INDEX Transactions_FK3_IDX ON Transactions(Category_ID) tablespace TU_SIA_TBS_IDX;
  99.  
  100. INSERT INTO Transactions VALUES (1,1,TO_DATE('2020-02-10','YYYY-MM-DD'), 202002,TO_DATE('2020-02-10','YYYY-MM-DD'), 1,1);
  101. INSERT INTO Transactions VALUES (2,2,TO_DATE('2020-02-10','YYYY-MM-DD'), 202002,TO_DATE('2020-02-10','YYYY-MM-DD'), 2,2);
  102. INSERT INTO Transactions VALUES (3,1,TO_DATE('2020-02-10','YYYY-MM-DD'), 202002,TO_DATE('2020-02-10','YYYY-MM-DD'), 3,1);
  103. INSERT INTO Transactions VALUES (4,2,TO_DATE('2020-02-10','YYYY-MM-DD'), 202002,TO_DATE('2020-02-10','YYYY-MM-DD'), 4,2);
  104. INSERT INTO Transactions VALUES (5,1,TO_DATE('2020-02-10','YYYY-MM-DD'), 202002,TO_DATE('2020-02-10','YYYY-MM-DD'), 5,1);
  105. INSERT INTO Transactions VALUES (6,2,TO_DATE('2020-02-10','YYYY-MM-DD'), 202002,TO_DATE('2020-02-10','YYYY-MM-DD'), 6,2);
  106. INSERT INTO Transactions VALUES (7,1,TO_DATE('2020-02-10','YYYY-MM-DD'), 202002,TO_DATE('2020-02-10','YYYY-MM-DD'), 7,1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement