minh_tran_782

Company DB

Sep 27th, 2022
1,908
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.75 KB | None | 0 0
  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');
Advertisement
Add Comment
Please, Sign In to add comment