forked from tolgahanakgun/Elmasri-Database
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathEmployee_Database_Script.sql
More file actions
121 lines (108 loc) · 3.58 KB
/
Employee_Database_Script.sql
File metadata and controls
121 lines (108 loc) · 3.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
create table department (
dname char(20) not null,
dnumber numeric(1) not null,
mgrssn numeric(9) not null,
mgrstartdate date not null,
primary key (dnumber),
unique (dname)
);
create table employee (
fname char(10) not null,
lname char(20) not null,
ssn numeric(9) not null,
bdate date not null,
address char(30) not null,
sex char(1) not null,
salary numeric(5) not null,
superssn numeric(9),
dno numeric(1) not null,
primary key (ssn),
foreign key (dno) references department(dnumber)
);
create table project (
pname char(20) not null,
pnumber numeric(2) not null,
plocation char(20) not null,
dnum numeric(1) not null,
primary key (pnumber),
unique (pname),
foreign key (dnum) references department(dnumber)
);
create table works_on (
essn numeric(9) not null,
pno numeric(2) not null,
hours numeric(5,1),
primary key (essn, pno),
foreign key (essn) references employee(ssn),
foreign key (pno) references project(pnumber)
);
create table dependent (
essn numeric(9) not null,
dependent_name char(10) not null,
sex char(1) not null,
bdate date not null,
relationship char(30) not null,
primary key (essn, dependent_name),
foreign key (essn) references employee(ssn)
);
create table dept_locations (
dnumber numeric(1) not null,
dlocation char (15) not null,
primary key (dnumber, dlocation),
foreign key (dnumber) references department(dnumber)
);
insert into department values
('Research',5,333445555,'1988-05-22'),
('Administration',4,987654321,'1995-01-01'),
('Headquarters',1,888665555,'1981-06-19');
insert into employee values
('John','Smith',123456789,'1965-01-09','731 Fondren, Houston TX','M',30000,333445555,5),
('Franklin','Wong',333445555,'1965-12-08','638 Voss, Houston TX','M',40000,888665555,5),
('Alicia','Zelaya',999887777,'1968-01-19','3321 Castle, Spring TX','F',25000,987654321,4),
('Jennifer','Wallace',987654321,'1941-06-20','291 Berry, Bellaire TX','F',43000,888665555,4),
('Ramesh','Narayan',666884444,'1962-09-15','975 Fire Oak, Humble TX','M',38000,333445555,5),
('Joyce','English',453453453,'1972-07-31','5631 Rice, Houston TX','F',25000,333445555,5),
('Ahmad','Jabbar',987987987,'1969-03-29','980 Dallas, Houston TX','M',25000,987654321,4),
('James','Borg',888665555,'1937-11-10','450 Stone, Houston TX','M',55000,null,1);
insert into project values
('ProductX',1,'Bellaire',5),
('ProductY',2,'Sugarland',5),
('ProductZ',3,'Houston',5),
('Computerization',10,'Stafford',4),
('Reorganization',20,'Houston',1),
('Newbenefits',30,'Stafford',4);
insert into works_on values
(123456789,1,32.5),
(123456789,2,7.5),
(666884444,3,40.0),
(453453453,1,20.0),
(453453453,2,20.0),
(333445555,2,10.0),
(333445555,3,10.0),
(333445555,10,10.0),
(333445555,20,10.0),
(999887777,30,30.0),
(999887777,10,10.0),
(987987987,10,35.0),
(987987987,30,5.0),
(987654321,30,20.0),
(987654321,20,15.0),
(888665555,20,null);
insert into dependent values
(333445555,'Alice','F','1986-04-04','Daughter'),
(333445555,'Theodore','M','1983-10-25','Son'),
(333445555,'Joy','F','1958-05-03','Spouse'),
(987654321,'Abner','M','1942-02-28','Spouse'),
(123456789,'Michael','M','1988-01-04','Son'),
(123456789,'Alice','F','1988-12-30','Daughter'),
(123456789,'Elizabeth','F','1967-05-05','Spouse');
insert into dept_locations values
(1,'Houston'),
(4,'Stafford'),
(5,'Bellaire'),
(5,'Sugarland'),
(5,'Houston');
alter table department
add constraint depemp foreign key (mgrssn) references employee(ssn);
alter table employee
add constraint empemp foreign key (superssn) references employee(ssn);