Advertisement
RogerFig

bd_company

Mar 25th, 2024
878
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Observações:
  2.     1. Criar Bancos de dados a sua escolha
  3.     2. Não esquecer de usar o banco criado com \c
  4.  
  5. -- PRIMEIRA PARTE
  6.  
  7. CREATE SCHEMA company;
  8. SET search_path TO company;
  9. CREATE TABLE employee  (
  10.     fname varchar  (15)  not null,
  11.         minit char,
  12.     lname varchar (15)  not null,
  13.         ssn char(9)  not null,
  14.         bdate date,
  15.     address varchar(30),
  16.         sex char CHECK (sex IN ('M', 'F')),
  17.     salary DECIMAL(10, 2),
  18.         superssn char(9),
  19.     dno int not null,
  20.         primary key (ssn),
  21.     CONSTRAINT emp_superssn FOREIGN KEY (superssn)
  22.        REFERENCES employee(ssn) DEFERRABLE
  23. );
  24. CREATE TABLE department  (
  25.     dname varchar(15)  not null,
  26.         dnumber int not null,
  27.     mgrssn char(9),
  28.         mgrstartdate date,
  29.     primary key  (dnumber),
  30.         foreign key  (mgrssn) REFERENCES employee(ssn));
  31. CREATE TABLE dependent (
  32.     essn char (9)  not null,
  33.     dependent_name varchar  (30) not null,
  34.         sex char,
  35.     bdate date,
  36.        relationship varchar(15),
  37.        primary key  (essn,  dependent_name),
  38.        foreign key  (essn)  REFERENCES employee(ssn)
  39. );
  40.  
  41. -- SEGUNDA PARTE
  42.  
  43. SET CONSTRAINTS ALL DEFERRED;
  44. SET SEARCH_PATH TO company; -- DEFINE ESQUEMA DEFAULT
  45. INSERT INTO  employee
  46.     VALUES ('James', 'E', 'Borg', '888665555',
  47.         DATE '1937-11-10', '450 Stone, Houston, TX',
  48.         'M', 55000, null, 1);
  49. INSERT INTO  employee
  50.     VALUES ('Franklin', 'T', 'Wong', '333445555',
  51.         DATE '1955-12-08', '638 Voss, Houston, TX',
  52.         'M', 40000, '888665555', 5);
  53. INSERT INTO  employee
  54.     VALUES ('John', 'B', 'Smith', '123456789',
  55.         DATE '1965-01-09', '731 Fondren, Houston, TX',
  56.         'M', 30000, '333445555', 5);
  57. INSERT INTO  employee
  58.     VALUES ('Jennifer', 'S', 'Wallace', '987654321',
  59.         DATE '1941-06-20', '291 Berry, Bellaire,TX',
  60.         'F', 43000, '888665555', 4);
  61. INSERT INTO  employee
  62.     VALUES ('Ramesh', 'K', 'Narayan', '666884444',
  63.         DATE '1962-09-15', '975 Fire Oak, Humble, TX',
  64.         'M', 38000, '333445555', 5);
  65. INSERT INTO  employee
  66.     VALUES ('Joyce', 'A', 'English', '453453453',
  67.         DATE '1972-07-31', '5631 Rice, Houston,TX',
  68.         'F', 25000, '333445555', 5);
  69. INSERT INTO  employee
  70.     VALUES ('Ahmad', 'V', 'Jabbar', '987987987',
  71.         DATE '1969-03-29', '980 Dallas, Houston, TX',
  72.         'M', 25000, '987654321', 4);
  73. INSERT INTO  employee
  74.     VALUES ('Alicia', 'J', 'Zelaya', '999887777',
  75.         DATE '1968-07-19', '3321 Castle, Spring, TX',
  76.         'F', 25000, '987654321', 4);
  77.  
  78. INSERT INTO  department
  79.     VALUES ('Research', 5, '333445555', DATE '1988-05-22');
  80. INSERT INTO  department
  81.     VALUES ('Administration', 4, '987654321', DATE '1995-01-01');
  82. INSERT INTO  department
  83.     VALUES ('Headquarters', 1, '888665555', DATE '1981-06-19');
  84.  
  85. -- TERCEIRA PARTE
  86.  
  87. ALTER TABLE employee
  88.     ADD CONSTRAINT emp_dno FOREIGN KEY (dno)
  89.     REFERENCES department(dnumber)  DEFERRABLE;
  90.  
  91. CREATE TABLE dept_locations (
  92.     dnumber int not null,
  93.         dlocation varchar(15),
  94.         foreign key (dnumber) REFERENCES department(dnumber)
  95. );
  96. CREATE TABLE project  (
  97.     pname varchar(20),
  98.         pnumber int not null,
  99.     plocation varchar(15),
  100.         dnum int,
  101.         primary key (pnumber),
  102.         foreign key (dnum)  REFERENCES department(dnumber)
  103. );
  104. CREATE TABLE works_on   (
  105.     essn char(9) not null,
  106.         pno int not null,
  107.     hours decimal(4,2),
  108.         foreign key  (essn) REFERENCES employee(ssn),
  109.         foreign key  (pno)  REFERENCES project(pnumber)
  110. );
  111.  
  112. -- QUARTA PARTE
  113.  
  114. INSERT INTO  dept_locations VALUES (1, 'Houston');
  115. INSERT INTO  dept_locations VALUES (4, 'Stafford');
  116. INSERT INTO  dept_locations VALUES (5, 'Bellaire');
  117. INSERT INTO  dept_locations VALUES (5, 'Sugarland');
  118. INSERT INTO  dept_locations VALUES (5, 'Houston');
  119.  
  120. INSERT INTO  project VALUES ('ProductX',  1, 'Bellaire', 5);
  121. INSERT INTO  project VALUES ('ProductY',  2, 'Sugarland', 5);
  122. INSERT INTO  project VALUES ('ProductZ',  3, 'Houston', 5);
  123. INSERT INTO  project VALUES ('Computerization', 10, 'Stafford', 4);
  124. INSERT INTO  project VALUES ('Reorganization',  20, 'Houston', 1);
  125. INSERT INTO  project VALUES ('Newbenefits',     30, 'Stafford', 4);
  126.  
  127. INSERT INTO  works_on VALUES ('123456789',  1, 32.5);
  128. INSERT INTO  works_on VALUES ('123456789',  2,  7.5);
  129. INSERT INTO  works_on VALUES ('666884444',  3, 40.0);
  130. INSERT INTO  works_on VALUES ('453453453',  1, 20.0);
  131. INSERT INTO  works_on VALUES ('453453453',  2, 20.0);
  132. INSERT INTO  works_on VALUES ('333445555',  2, 10.0);
  133. INSERT INTO  works_on VALUES ('333445555',  3, 10.0);
  134. INSERT INTO  works_on VALUES ('333445555', 10, 10.0);
  135. INSERT INTO  works_on VALUES ('333445555', 20, 10.0);
  136. INSERT INTO  works_on VALUES ('999887777', 30, 30.0);
  137. INSERT INTO  works_on VALUES ('999887777', 10, 10.0);
  138. INSERT INTO  works_on VALUES ('987987987', 10, 35.0);
  139. INSERT INTO  works_on VALUES ('987987987', 30,  5.0);
  140. INSERT INTO  works_on VALUES ('987654321', 30, 20.0);
  141. INSERT INTO  works_on VALUES ('987654321', 20, 15.0);
  142. INSERT INTO  works_on VALUES ('888665555', 20, null);
  143.  
  144. INSERT INTO  dependent VALUES ('333445555',  'Alice', 'F', DATE '1986-04-05', 'DAUGHTER');
  145. INSERT INTO  dependent VALUES ('333445555',  'Theodore', 'M', DATE '1983-10-25', 'SON');
  146. INSERT INTO  dependent VALUES ('333445555',  'Joy', 'F', DATE '1958-05-03', 'SPOUSE');
  147. INSERT INTO  dependent VALUES ('987654321',  'Abner', 'M', DATE '1942-02-28', 'SPOUSE');
  148. INSERT INTO  dependent VALUES ('123456789',  'Michael', 'M', DATE '1988-01-04', 'SON');
  149. INSERT INTO  dependent VALUES ('123456789',  'Alice', 'F', DATE '1988-12-30', 'DAUGHTER');
  150. INSERT INTO  dependent VALUES ('123456789',  'Elizabeth', 'F', DATE '1967-05-05', 'SPOUSE');
  151.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement