[sql] companyDB

Viewer

copydownloadembedprintName: companyDB
  1. -----------------Create database-----------------------------------------------------
  2. CREATE TABLE Employee 
  3. (       fname           VARCHAR(15)     NOT NULL,
  4.         minit           CHAR(1),                                                -- The default of CHAR is also 1 byte
  5.         lname           VARCHAR(15)     NOT NULL,
  6.         ssn                     CHAR(9)         PRIMARY KEY,
  7.         bdate           DATE,
  8.         address         VARCHAR(30),
  9.         sex                     CHAR(1),
  10.         salary          DECIMAL(10,2),
  11.         superssn        CHAR(9),
  12.         dno                     INT                     NOT NULL,
  13.         CONSTRAINT     fk_emp_superssn FOREIGN KEY (superssn) 
  14.                                 REFERENCES Employee(ssn) 
  15.                                 ON DELETE SET NULL DEFERRABLE
  16. );
  17.  
  18. CREATE TABLE Department
  19. (       dname           VARCHAR(15) NOT NULL  UNIQUE,
  20.         dnumber         INT                     PRIMARY KEY,
  21.         mgrssn          CHAR(9)         NOT NULL,
  22.         mgrstartdate    DATE,
  23.         CONSTRAINT     fk_dept_emp_mgrssn FOREIGN KEY (mgrssn)
  24.                                 REFERENCES Employee(ssn) 
  25.                                 ON DELETE SET NULL   DEFERRABLE     
  26. );
  27.  
  28. ALTER TABLE Employee
  29. ADD CONSTRAINT fk_emp_dept_dno FOREIGN KEY (dno)
  30.                                 REFERENCES Department(dnumber)
  31.                                 ON DELETE SET NULL;
  32.                                
  33. CREATE TABLE Dept_locations
  34. (       dnumber         INT                     NOT NULL,
  35.         dlocation       VARCHAR(15)     NOT NULL,
  36.         PRIMARY KEY    (dnumber, dlocation),
  37.         CONSTRAINT      fk_loc_dept_dnum        FOREIGN KEY (dnumber)
  38.                                 REFERENCES Department(dnumber)
  39.                                 ON DELETE CASCADE
  40. );
  41.  
  42. CREATE TABLE Project
  43. (       pname           VARCHAR(15)     NOT NULL       UNIQUE,
  44.         pnumber         INT                     PRIMARY KEY,
  45.         plocation       VARCHAR(15),
  46.         dnum            INT                     NOT     NULL,
  47.         CONSTRAINT      fk_proj_dept_dnum       FOREIGN KEY (dnum)
  48.                                 REFERENCES Department(dnumber)
  49.                                 ON DELETE SET NULL
  50. );
  51.  
  52. CREATE TABLE   Works_on
  53. (       essn            CHAR(9)         NOT NULL,
  54.         pno                     INT                     NOT NULL,
  55.         hours           DECIMAL(3,1)    NOT NULL,
  56.         PRIMARY KEY    (essn, pno),
  57.         CONSTRAINT      fk_work_emp_essn        FOREIGN KEY (essn)
  58.                                 REFERENCES Employee(ssn)
  59.                                 ON DELETE CASCADE,
  60.         CONSTRAINT      fk_work_proj_pno        FOREIGN KEY (pno)
  61.                                 REFERENCES Project(pnumber)
  62.                                 ON DELETE CASCADE
  63. );
  64.  
  65. ALTER TABLE works_on
  66. MODIFY hours   DECIMAL(3,1)    NULL;
  67.  
  68. CREATE TABLE Dependent
  69. (       essn                    CHAR(9)         NOT     NULL,
  70.         dependent_name  VARCHAR(15)     NOT NULL,
  71.         sex                             CHAR,
  72.         bdate                   DATE,
  73.         relationship    VARCHAR(8),
  74.         PRIMARY KEY (essn, dependent_name),
  75.         CONSTRAINT      fk_depend_emp_essn      FOREIGN KEY (essn)
  76.                                 REFERENCES Employee(ssn)
  77.                                 ON DELETE CASCADE
  78. );
  79.  
  80. -------------------------Insert data-----------------------------------------------------------------------------------------------------
  81. SET CONSTRAINTS fk_dept_emp_mgrssn  DEFERRED;
  82. SET CONSTRAINTS fk_emp_superssn  DEFERRED;
  83.  
  84. ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY';
  85.  
  86. INSERT INTO Department VALUES ('Research', 5, '333445555', '22-05-1988');
  87. INSERT INTO Department VALUES ('Administration', 4, '987654321', '01-01-1995');
  88. INSERT INTO Department VALUES ('Headquarters', 1, '888665555', '19-06-1981');
  89.  
  90. INSERT INTO Employee VALUES ('John', 'B', 'Smith', '123456789', '09-01-1965', '731 Fondren, Houston, TX', 'M', 30000, '333445555', 5);
  91. INSERT INTO Employee VALUES ('Franklin', 'T', 'Wong', '333445555', '08-12-1955', '638 Voss, Houston, TX', 'M', 40000, '888665555', 5);
  92. INSERT INTO Employee VALUES ('Alicia', 'J', 'Zelaya', '999887777', '19-07-1968', '3321 Castle, Spring, TX', 'F', 25000, '987654321', 4);
  93. INSERT INTO Employee VALUES ('Jennifer', 'S', 'Wallace', '987654321', '20-06-1941', '291 Berry, Bellaire, TX', 'F', 43000, '888665555', 4);
  94. INSERT INTO Employee VALUES ('Ramesh', 'K', 'Narayan', '666884444', '15-09-1962', '975 Fire Oak, Humble, TX', 'M', 38000, '333445555', 5);
  95. INSERT INTO Employee VALUES ('Joyce', 'A', 'English', '453453453', '31-07-1972', '5631 Rice, Houston, TX', 'F', 25000, '333445555', 5);
  96. INSERT INTO Employee VALUES ('Ahmad', 'V', 'Jabbar', '987987987', '29-03-1969', '980 Dallas, Houston, TX', 'M', 25000, '987654321', 4);
  97. INSERT INTO Employee VALUES ('James', 'E', 'Borg', '888665555', '10-11-1973', '450 Stone, Houston, TX', 'M', 55000, NULL, 1);
  98.  
  99. COMMIT;
  100. ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY';
  101.  
  102. INSERT INTO Dept_locations VALUES (1, 'Houston');
  103. INSERT INTO Dept_locations VALUES (4, 'Stafford');
  104. INSERT INTO Dept_locations VALUES (5, 'Bellaire');
  105. INSERT INTO Dept_locations VALUES (5, 'Sugarland');
  106. INSERT INTO Dept_locations VALUES (5, 'Houston');
  107.  
  108. INSERT INTO Project VALUES ('ProductX', 1, 'Bellaire', 5);
  109. INSERT INTO Project VALUES ('ProductY', 2, 'Sugarland', 5);
  110. INSERT INTO Project VALUES ('ProductZ', 3, 'Houston', 5);
  111. INSERT INTO Project VALUES ('Computerization', 10, 'Stafford', 4);
  112. INSERT INTO Project VALUES ('Reorganization', 20, 'Houston', 1);
  113. INSERT INTO Project VALUES ('Newbenefits', 30, 'Stafford', 4);
  114.  
  115. INSERT INTO Works_on VALUES ('123456789', 1, 32.5);
  116. INSERT INTO Works_on VALUES ('123456789', 2, 7.5);
  117. INSERT INTO Works_on VALUES ('666884444', 3, 40.0);
  118. INSERT INTO Works_on VALUES ('453453453', 1, 20.0);
  119. INSERT INTO Works_on VALUES ('453453453', 2, 20.0);
  120. INSERT INTO Works_on VALUES ('333445555', 2, 10.0);
  121. INSERT INTO Works_on VALUES ('333445555', 3, 10.0);
  122. INSERT INTO Works_on VALUES ('333445555', 10, 10.0);
  123. INSERT INTO Works_on VALUES ('333445555', 20, 10.0);
  124. INSERT INTO Works_on VALUES ('999887777', 30, 30.0);
  125. INSERT INTO Works_on VALUES ('999887777', 10, 10.0);
  126. INSERT INTO Works_on VALUES ('987987987', 10, 35.0);
  127. INSERT INTO Works_on VALUES ('987987987', 30, 5.0);
  128. INSERT INTO Works_on VALUES ('987654321', 30, 20.0);
  129. INSERT INTO Works_on VALUES ('987654321', 20, 15.0);
  130. INSERT INTO Works_on VALUES ('888665555', 20, NULL);
  131.  
  132. INSERT INTO Dependent VALUES ('333445555', 'Alice', 'F', '05-04-1986', 'Daughter');
  133. INSERT INTO Dependent VALUES ('333445555', 'Theodore', 'M', '25-10-1983', 'Son');
  134. INSERT INTO Dependent VALUES ('333445555', 'Joy', 'F', '03-05-1958', 'Spouse');
  135. INSERT INTO Dependent VALUES ('987654321', 'Abner', 'M', '28-02-1942', 'Spouse');
  136. INSERT INTO Dependent VALUES ('123456789', 'Michael', 'M', '04-01-1988', 'Son');
  137. INSERT INTO Dependent VALUES ('123456789', 'Alice', 'M', '04-01-1988', 'Son');
  138. INSERT INTO Dependent VALUES ('123456789', 'Elizabeth', 'M', '05-05-1967', 'Spouse');
  139.  

Editor

You can edit this paste and save as new:


File Description
  • companyDB
  • Paste Code
  • 19 Sep-2021
  • 5.75 Kb
You can Share it: