203 lines
8.0 KiB
SQL
203 lines
8.0 KiB
SQL
drop table students cascade constraints;
|
|
create table students (
|
|
sid number(4) primary key,
|
|
password number(5),
|
|
fname varchar2(20),
|
|
lname varchar2(20),
|
|
sType varchar2(5) check (sType in ('GRAD','UGRAD')),
|
|
major char(4) check (major in ('CSC','MATH','POLS','HIST')),
|
|
gradAssistant char(1) check (gradAssistant in ('Y','N')),
|
|
inState char(1) check (inState in ('Y','N'))
|
|
);
|
|
insert into students values
|
|
(1111,1111,'John','Davison','UGRAD','CSC','N','Y');
|
|
insert into students values
|
|
(2222,2222,'Jacob','Oram','UGRAD','CSC','N','N');
|
|
insert into students values
|
|
(3333,3333,'Ashish','Bagai','GRAD','CSC','Y','N');
|
|
insert into students values
|
|
(4444,4444,'Joe','Harris','GRAD','CSC','N','Y');
|
|
insert into students values
|
|
(5555,5555,'Andy','Blignaut','GRAD','CSC','N','Y');
|
|
insert into students values
|
|
(6666,6666,'Pommie','Mbangwa','GRAD','CSC','N','Y');
|
|
insert into students values
|
|
(7777,7777,'Ian','Healy','GRAD','CSC','N','Y');
|
|
insert into students values
|
|
(8888,8888,'Dougie','Marillier','GRAD','CSC','N','Y');
|
|
--
|
|
drop table staff cascade constraints;
|
|
create table staff (
|
|
tid number(4) primary key,
|
|
password number(5),
|
|
fname varchar2(20),
|
|
lname varchar2(20),
|
|
staffType varchar2(10) check (staffType in ('REGISTRAR','DEPARTMENT'))
|
|
);
|
|
insert into staff values
|
|
(1000,1000,'Venette','Rice','DEPARTMENT');
|
|
insert into staff values
|
|
(2000,2000,'Alison','Payne','REGISTRAR');
|
|
--
|
|
create or replace view lunarUsers as
|
|
(select sid, password, 'STUDENT' uType
|
|
from students) union
|
|
(select tid, password, staffType uType
|
|
from staff);
|
|
--
|
|
drop table courses cascade constraints;
|
|
create table courses (
|
|
cprefix char(4),
|
|
cno number(4),
|
|
ctitle varchar2(50),
|
|
chours number(2),
|
|
primary key (cprefix,cno)
|
|
);
|
|
insert into courses values ('CSC',1010,'Computers and Applications',3);
|
|
insert into courses values ('CSC',2010,'Introduction to Computer Science',3);
|
|
insert into courses values ('CSC',2310,'Introduction to Programming in Java',3);
|
|
insert into courses values ('CSC',2311,'Introduction to Programming in C++',3);
|
|
insert into courses values ('CSC',3410,'Data Structures',3);
|
|
insert into courses values ('CSC',3210,'Computer Organization',3);
|
|
insert into courses values ('CSC',3320,'System Level Programming in Unix and C',3);
|
|
insert into courses values ('MATH',2211,'Calculus I',5);
|
|
insert into courses values ('MATH',2212,'Calculus II',5);
|
|
insert into courses values ('MATH',2420,'Discrete Mathematics',3);
|
|
insert into courses values ('CSC',6220,'Networks',4);
|
|
insert into courses values ('CSC',8220,'Advanced Networks',4);
|
|
insert into courses values ('CSC',6710,'Database',4);
|
|
insert into courses values ('CSC',8710,'Advanced Database',4);
|
|
insert into courses values ('CSC',6820,'Graphics',4);
|
|
insert into courses values ('CSC',8820,'Advanced Graphics',4);
|
|
insert into courses values ('POLS',1200,'Intro Political Sci',3);
|
|
--
|
|
drop table sections cascade constraints;
|
|
create table sections (
|
|
term char(2) check (term in ('FA','SP','SU')),
|
|
year number(4),
|
|
crn number(5),
|
|
cprefix char(4),
|
|
cno number(4),
|
|
section number(2),
|
|
days char(6),
|
|
startTime char(5), -- example 08.15, 13.30 etc.
|
|
endTime char(5),
|
|
room varchar2(10),
|
|
cap number(3),
|
|
instructor varchar2(30),
|
|
auth char(1) check (auth in ('Y','N')),
|
|
primary key (term,year,crn),
|
|
foreign key (cprefix,cno) references courses
|
|
);
|
|
--
|
|
insert into sections values
|
|
('SU',2002,10101,'CSC',1010,1,'MWF','09.00','09.50','105G',35,'Bhola','N');
|
|
insert into sections values
|
|
('SU',2002,10701,'POLS',1200,1,'TR','09.00','09.50','205Sp',25,'Jones','N');
|
|
--
|
|
insert into sections values
|
|
('FA',2002,10101,'CSC',2010,1,'MWF','09.00','09.50','105G',35,'Bhola','N');
|
|
insert into sections values
|
|
('FA',2002,10102,'CSC',2010,2,'MWF','10.00','10.50','105CS',40,'Henry','N');
|
|
insert into sections values
|
|
('FA',2002,10103,'CSC',2310,1,'MWF','12.00','12.50','106G',30,'Henry','N');
|
|
insert into sections values
|
|
('FA',2002,10104,'CSC',2311,1,'MWF','15.00','15.50','205G',35,'Liu','N');
|
|
insert into sections values
|
|
('FA',2002,10201,'CSC',6220,1,'TR','19.00','20.40','405G',25,'Hundewale','N');
|
|
insert into sections values
|
|
('FA',2002,10202,'CSC',6710,1,'TR','16.00','17.15','115CS',25,'Madiraju','N');
|
|
insert into sections values
|
|
('FA',2002,10203,'CSC',8820,1,'MWF','09.00','09.50','605G',25,'Owen','N');
|
|
insert into sections values
|
|
('FA',2002,10301,'MATH',2211,1,'TR','11.00','12.50','305G',35,'Li','N');
|
|
insert into sections values
|
|
('FA',2002,10302,'MATH',2211,2,'MWF','09.00','10.50','106GB',35,'Davis','N');
|
|
--
|
|
-- This data will be loaded into the database in your application program
|
|
--insert into sections values
|
|
--('SP',2003,10101,'CSC',2010,1,'MWF','09.00','09.50','105G',35,'Bhola','N');
|
|
--insert into sections values
|
|
--('SP',2003,10102,'CSC',2010,2,'MWF','10.00','10.50','105CS',40,'Henry','N');
|
|
--insert into sections values
|
|
--('SP',2003,10103,'CSC',2310,1,'MWF','12.00','12.50','106G',30,'Henry','N');
|
|
--insert into sections values
|
|
--('SP',2003,10104,'CSC',2311,1,'MWF','15.00','15.50','205G',35,'Liu','N');
|
|
--insert into sections values
|
|
--('SP',2003,10201,'CSC',6220,1,'TR','19.00','20.40','405G',25,'Hundewale','N');
|
|
--insert into sections values
|
|
--('SP',2003,10202,'CSC',6710,1,'TR','16.00','17.15','115CS',25,'Madiraju','N');
|
|
--insert into sections values
|
|
--('SP',2003,10203,'CSC',8220,1,'MWF','09.00','09.50','605G',25,'Bourgeois','Y');
|
|
--insert into sections values
|
|
--('SP',2003,10301,'MATH',2211,1,'TR','11.00','12.50','305G',35,'Li','N');
|
|
--insert into sections values
|
|
--('SP',2003,10302,'MATH',2211,2,'MWF','09.00','10.50','606GB',35,'Miller','N');
|
|
--insert into sections values
|
|
--('SP',2003,10303,'MATH',2212,1,'MWF','09.00','10.50','706GB',35,'Davis','N');
|
|
--insert into sections values
|
|
--('SP',2003,10304,'MATH',2420,1,'TR','14.00','14.50','106GB',35,'Domke','N');
|
|
--insert into sections values
|
|
--('SP',2003,10405,'CSC',8710,1,'MW','17.30','18.45','206GB',35,'Dogdu','N');
|
|
--insert into sections values
|
|
--('SP',2003,10406,'CSC',8820,1,'TR','19.15','20.55','306GB',3,'Owen','N');
|
|
--
|
|
drop table enrolls cascade constraints;
|
|
create table enrolls (
|
|
sid number(4),
|
|
term char(2) check (term in ('FA','SP','SU')),
|
|
year number(4),
|
|
crn number(5),
|
|
grade char(2) check (grade in ('A','B','C','D','F','I','IP','S','U')),
|
|
primary key (sid,term,year,crn),
|
|
foreign key (sid) references students,
|
|
foreign key (term,year,crn) references sections
|
|
);
|
|
--
|
|
insert into enrolls values (1111,'SU',2002,10101,'A');
|
|
insert into enrolls values (1111,'SU',2002,10701,'C');
|
|
--
|
|
insert into enrolls values (1111,'FA',2002,10101,null);
|
|
insert into enrolls values (1111,'FA',2002,10103,null);
|
|
insert into enrolls values (1111,'FA',2002,10301,null);
|
|
insert into enrolls values (3333,'FA',2002,10201,null);
|
|
insert into enrolls values (3333,'FA',2002,10202,null);
|
|
insert into enrolls values (3333,'FA',2002,10203,null);
|
|
--
|
|
drop table authorizations cascade constraints;
|
|
create table authorizations (
|
|
term char(2) check (term in ('FA','SP','SU')),
|
|
year number(4),
|
|
crn number(5),
|
|
sid number(4),
|
|
authType char(4) check (authType in ('OVFL','AUTH')),
|
|
primary key (term,year,crn,sid,authType),
|
|
foreign key (sid) references students,
|
|
foreign key (term,year,crn) references sections
|
|
);
|
|
--
|
|
drop table fixedFee cascade constraints;
|
|
create table fixedFee (
|
|
feeName varchar2(30) primary key,
|
|
fee number(5,2)
|
|
);
|
|
--
|
|
insert into fixedFee values ('Technology Fee',75.00);
|
|
insert into fixedFee values ('Health Fee',30.00);
|
|
insert into fixedFee values ('Activity Fee',65.00);
|
|
insert into fixedFee values ('Transportation Fee',25.00);
|
|
--
|
|
drop table variableFeeRate cascade constraints;
|
|
create table variableFeeRate (
|
|
sType varchar2(6) check (sType in ('GRAD','UGRAD')),
|
|
inOrOutOfState varchar2(10) check (inOrOutOfState in ('INSTATE','OUTOFSTATE')),
|
|
fee number(6,2),
|
|
primary key (sType,inOrOutOfState)
|
|
);
|
|
--
|
|
insert into variableFeeRate values ('GRAD','INSTATE',125.00);
|
|
insert into variableFeeRate values ('GRAD','OUTOFSTATE',500.00);
|
|
insert into variableFeeRate values ('UGRAD','INSTATE',100.00);
|
|
insert into variableFeeRate values ('UGRAD','OUTOFSTATE',400.00);
|
|
|