Академический Документы
Профессиональный Документы
Культура Документы
System
Rajarsi Chattopadhyay
CSE 3rd year Sec A
Roll 67
Date_of_Admission
ER DIAGRAM
Year Sub_name SubjectId
ENNO Name
Year
Section
Student Studies Subject
Stream
Stream
Taught_By Has
Phone
Teaches Sub3ID
T2ID
TID
T3ID Sub2ID
Name
Routine
Follows
Sub1ID
Teacher
Stream
Section
DAY
Phone Updates
Stream
Year
Sal
Hiredate T1ID
Attendance_sheet
ENNO
SubStatus
Date SubId
Table Schema
Studentinfo
Name Null? Type
NAME VARCHAR2(30)
STREAM VARCHAR2(10)
YEAR NUMBER(2)
PHONE VARCHAR2(12)
SECTION VARCHAR2(3)
DATE_OF_ADMISSION DATE
Teacherinfo
Name Null? Type
NAME VARCHAR2(30)
HIREDATE DATE
SAL NUMBER(9,2)
PHONE VARCHAR2(12)
STREAM VARCHAR2(10)
Routine
Name Null? Type
----------------------------------------- -------- ------------------
SUB1ID VARCHAR2(10)
T1ID VARCHAR2(10)
SUB2ID VARCHAR2(10)
T2ID VARCHAR2(10)
SUB3ID VARCHAR2(10)
T3ID VARCHAR2(10)
Subject
Name Null? Type
SUB_NAME VARCHAR2(20)
STREAM VARCHAR2(10)
YEAR NUMBER(2)
Attendance_sheet
Name Null? Type
(Enno varchar2(10),
name varchar2(30),
stream varchar2(10),
year number(2),
phone varchar2(12),
section varchar2(3),
date_of_admission date
);
Subject
create table subject
(subjectid varchar2(10),
sub_name varchar2(20),
stream varchar2(10),
year number(2)
);
Teacherinfo
create table teacherinfo
(
tid varchar2(10),
name varchar2(30),
hiredate date,
sal number(9,2),
phone varchar2(12),
stream varchar2(10)
);
Routine
create table routine
(year number(2),
stream varchar2(10),
section varchar2(3),
day varchar2(10),
sub1id varchar2(10),
t1id varchar2(10),
sub2id varchar2(10),
t2id varchar2(10),
sub3id varchar2(10),
t3id varchar2(10)
);
alter table routine add constraint rountines_fk1 foreign key (sub1id) references subject(subjectid);
alter table routine add constraint rountines_fk2 foreign key (sub2id) references subject(subjectid);
alter table routine add constraint rountines_fk3 foreign key (sub3id) references subject(subjectid);
alter table routine add constraint rountinet_fk4 foreign key (t1id) references teacherinfo(tid);
alter table routine add constraint rountinet_fk5 foreign key (t2id) references teacherinfo(tid);
alter table routine add constraint rountinet_fk6 foreign key (t3id) references teacherinfo(tid);
Attendance_sheet
create table attendance_sheet
(enno varchar2(10),
date1 Date,
subid varchar2(10),
substatus number(1)
);
alter table attendance_sheet add constraint attendancesheet_fk1 Foreign Key (subid) references
subject(subjectid);
alter table attendance_sheet add constraint attendancesheet_fk4 Foreign Key (enno) references
studentinfo(enno);
Stored Procedures
Retrieve routine given year and section
create or replace procedure retrieve_routine(sec Routine.section%type,y number,st routine.stream
%type, routine OUT SYS_REFCURSOR ) as
begin
open routine for select day,sub1id,t1id,sub2id,t2id,sub3id,t3id from routine where stream=st and
section=sec and year=y;
end;
s teacherinfo.stream%type;
d routine.day%type;
y number(2);
sec varchar(3);
s1 subject.subjectid%type;
s2 subject.subjectid%type;
s3 subject.subjectid%type;
t1 teacherinfo.tid%type;
t2 teacherinfo.tid%type;
t3 teacherinfo.tid%type;
cursor c_routine is
begin
delete from teach_routine;
open c_routine;
loop
if(t1=t) then
end if;
if(t2=t) then
end if;
if(t3=t) then
end if;
end loop;
close C_routine;
end;
tc number(3);
ac number(3);
a number(5,2);
cursor c_sid is
select substatus from attendance_sheet where subid=sid and enno=e;
begin
tc:= 0;
ac:= 0;
open c_sid;
loop
tc:= tc +1;
ac:=ac+a;
end loop;
close c_sid;
if(tc=0)
then
a:=0;
else
a:= ac/tc*100;
end if;
end;