Industrial Training
Project Report
Sambit Halder
CSE 4th year Sec B
Roll - 148
College Information
System
ER DIAGRAM
year subname subcode
sid sname
year
sec
student Studies subject
dept
dept
Taught_By Has
Follows
Teaches
P1
tid
P2
tname
t_routine
Follows
P6
teacher
dept
tid
P5
P4
P5 P3 Updates
day
P4
routine P2
P6
P3
P1 attendance
dept
dedep
sec
sid
attend
day
a_date subcode
year
yeayeartidy
Table Schema
student
Name Null? Type
----------------------------------------- -------- -------------------------
SID NOT NULL VARCHAR2(20)
SNAME VARCHAR2(20)
DEPT VARCHAR2(20)
YEAR VARCHAR2(20)
SEC VARCHAR2(20)
teacher
Name Null? Type
----------------------------------------- -------- -----------------
TID NOT NULL VARCHAR2(20)
TNAME VARCHAR2(20)
DEPT VARCHAR2(20)
routine
Name Null? Type
----------------------------------------- -------- ----------------
DEPT NOT NULL VARCHAR2(20)
DAY NOT NULL VARCHAR2(20)
YEAR NOT NULL VARCHAR2(20)
SEC NOT NULL VARCHAR2(20)
P1 VARCHAR2(50)
P2 VARCHAR2(50)
P3 VARCHAR2(50)
P4 VARCHAR2(50)
P5 VARCHAR2(50)
P6 VARCHAR2(50)
subject
Name Null? Type
----------------------------------------- -------- ----------------
SUBCODE NOT NULL VARCHAR2(20)
DEPT VARCHAR2(20)
YEAR VARCHAR2(20)
SUBNAME VARCHAR2(20)
attendance
Name Null? Type
----------------------------------------- -------- ---------------
A_DATE NOT NULL VARCHAR2(20)
SUBCODE NOT NULL VARCHAR2(20)
S_ID NOT NULL VARCHAR2(20)
ATTEND VARCHAR2(20)
t_routine
Name Null? Type
----------------------------------------- -------- ---------------
TID NOT NULL VARCHAR2(20)
DAY NOT NULL VARCHAR2(20)
P1 VARCHAR2(20)
P2 VARCHAR2(20)
P3 VARCHAR2(20)
P4 VARCHAR2(20)
P5 VARCHAR2(20)
P6 VARCHAR2(20)
Table Scripts With Constraints
student
create table student(
sid varchar2(20) primary key,
sname varchar2(20),
dept varchar2(20),
year varchar2(20),
sec varchar2(20));
subject
create table subject(
subcode varchar2(20) primary key,
dept varchar2(20),
year varchar2(20),
subname varchar2(20));
teacher
create table teacher(
tid varchar2(20) primary key,
tname varchar2(20),
dept varchar2(20));
routine
create table routine(
dept varchar2(20) NOT NULL,
day varchar2(20) NOT NULL,
year varchar2(20) NOT NULL,
sec varchar2(20) NOT NULL,
p1 varchar2(50),
p2 varchar2(50),
p3 varchar2(50),
p4 varchar2(50),
p5 varchar2(50),
p6 varchar2(50),
primary key(dept,day,year,sec));
attendance
create table attendance(
a_date varchar2(20) NOT NULL,
subcode varchar2(20),
s_id varchar2(20),
attend varchar2(20),
foreign key(s_id) references student(sid),
foreign key(subcode) references subject(subcode),
primary key(a_date,subcode,s_id));
t_routine
create table t_routine(
tid varchar2(20) NOT NULL,
day varchar2(20) NOT NULL,
p1 varchar2(20),
p2 varchar2(20),
p3 varchar2(20),
p4 varchar2(20),
p5 varchar2(20),
p6 varchar2(20),
foreign key(tid) references teacher(tid),
primary key(tid,day));
Stored Procedures
Retrieve routine given dept , year and section
create or replace procedure routine_s(x in routine.dept%type,y in routine.year%type,z in routine.sec
%type,res out sys_refcursor)
as
begin
open res for
select day,p1 "9.20am-10.20am",p2 "10.20am-11.20am",p3 "11.20am-12.20am",p4"1.00pm-
2.00pm",p5 " 2.00pm-3.00pm",p6 "3.00pm-4.00pm" from routine where dept=x and year=y and sec=z;
end;
Retrieve teacher routine given teacher name
create or replace procedure routine_t(x in teacher.tname%type,res out sys_refcursor)
as
begin
open res for
select day,p1,p2,p3,p4,p5,p6 from t_routine where tid in(select tid from teacher where tname=x);
end;
Retrieve attendance of all students given dept, year, sec and subjectcode
create or replace procedure attend_s(w in student.dept%type,x in student.year%type,y in student.sec
%type,z in attendance.subcode%type,res out sys_refcursor)
as
begin
open res for
select s_id,count(attend) "attendance" from attendance a inner join student s on a.s_id=s.sid where
s_id in(select sid from student where dept=w and year=x and sec=y) and subcode=z and attend='p'
group by a.s_id;
end;