assignment database (1)
TRANSCRIPT
-
8/2/2019 Assignment Database (1)
1/19
DATABASE SYSTEM TDB2111
LIBRARY STUDENT ACCOUNT SYSTEM
NAME: i) KUHENTHIRAN A/L MAHALINGAN 1092700321ii) JEEVANTHIRAN A/L RAGENDRAN 1091103424
iii) PRASHAANTH A/L MATHIALAGAN 1091102093
iv) TEE KANG NAN 1091101927
GROUP: TMB04C
TUTOR NAME: ROY CHANG KWANG YANG
-
8/2/2019 Assignment Database (1)
2/19
As a Database System student,we should done a database tofullfill the project objective. The topic that given to our group is
Student Library Account system. This topic will helps the staff in
library to enter the data into system more efficiently.
Furthermore this system also can be used at all types of
library.Users will be more happy and feels comfortable to borrow
books from library because they only need to create an account for
once. Then, every time when they borrow books, they just need togo to the counter and meet the staff to scan the id ,were the user
information will display in system.
Moreover, our system also able to save automatically about
user information. It also can delete and update the users
information. It will keep the library account system up to date.
-
8/2/2019 Assignment Database (1)
3/19
This system will basically overcome problems regarding student
account system in library such as the users old information. This
system can update the users information frequently as usersborrows books from library.
Furthermore, this system also can arrange the data about the
users systematically and efficiently. All data in this system is well
organized which makes the staff easy to do their job.
Moreover,this system is also can make it easier for staff to
delete old data. It makes the system run fast and responsive,sothat the users data can be allocate in this system effectively
-
8/2/2019 Assignment Database (1)
4/19
BUSSINESS RULE
1)EACH LIBRARY HAS MANY STAFF.2)EACH STAFF HAS AN ACCOUNT.3)EACH ACCOUNT BELONGS TO ONE STAFF.4)EACH STUDENT HAS AN ACCOUNT.5)EACH ACCOUNT BELONGS TO ONE STUDENT.6)EACH STUDENT CAN BORROW BOOKS.7)EACH STUDENT CANNOT BORROW MORE THAN 5 BOOKS.8)EACH BOOK CAN ONLY BE BORROWED BY ONE STUDENT.9)STUDENT MAY OR MAY NOT BORROW ANY BOOKS.
-
8/2/2019 Assignment Database (1)
5/19
CONCEPTUAL ER DIAGRAM (CONCEPTUAL MODEL)
1) EACH LIBRARY HAS MANY STAFF.2) EACH STAFF HAS AN ACCOUNT.3) EACH ACCOUNT BELONGS TO ONE STAFF.
1 1
(1,1) (1,1)
4) EACH STUDENT HAS AN ACCOUNT.5) EACH ACCOUNT BELONGS TO ONE STUDENT.
1 1
(1,1) (1,1)
STAFF ACCOUNT
STUDENTown
own
ACCOUNT
-
8/2/2019 Assignment Database (1)
6/19
1) EACH STUDENT CAN BORROW BOOKS.2) EACH STUDENT CANNOT BORROW MORE THAN 5 BOOKS.3) EACH BOOK CAN ONLY BE BORROWED BY ONE STUDENT.4) STUDENT MAY OR MAY NOT BORROW ANY BOOKS.
N M
(0,5) (1,N)
FULL MODEL
1 1
1
(1,1) (1,1) (1,1)
M N (1,1)
1
STAFF ACCOUNT
STUDENTBOOK
own
borro
own
BOOKborro
STUDENT
-
8/2/2019 Assignment Database (1)
7/19
(1,N) (0,M)
LOGICAL ER DIAGRAM(INTERNAL MODEL)
1) EACH LIBRARY HAS MANY STAFF.2) EACH STAFF HAS AN ACCOUNT.3) EACH ACCOUNT BELONGS TO ONE STAFF.
1 1
(1,1) (1,1)
4) EACH STUDENT HAS AN ACCOUNT.5) EACH ACCOUNT BELONGS TO ONE STUDENT.
1 1
(1,1) (1,1)
STAFF ACCOUNT
own
own
ACCOUNT STUDENT
-
8/2/2019 Assignment Database (1)
8/19
1) EACH STUDENT CAN BORROW BOOKS.2) EACH STUDENT CANNOT BORROW MORE THAN 5 BOOKS.3) EACH BOOK CAN ONLY BE BORROWED BY ONE STUDENT.4) STUDENT MAY OR MAY NOT BORROW ANY BOOKS.
1 M N 1
(1,M) (1,1) (1,1) (0,N)
FULL MODEL
1 1
1
(1,1) (1,1) (1,1)
1 M N 1 (1,1)
1
STAFF ACCOUNT
STUDENTBOOK READ
own
own
STUDENT BOOKREAD
-
8/2/2019 Assignment Database (1)
9/19
(1,M) (1,1) (1,1) (0,N)
-
8/2/2019 Assignment Database (1)
10/19
NORMALIZATION
HANDWORK DIAGRAM (DRAWN IN PAPER)
-
8/2/2019 Assignment Database (1)
11/19
DATA DICTIONARY
BLE
ME
ATTRIBUTE NAME CONTENTS Type FORMAT REQUIRED PK OR
FK
FK
REFEREN
TABLE
AFF StaffAccount_ID
StaffAccount_Name
StaffWorking_date
Staff account number
Staff name
Staff duty date
Int
Varchar(20)
date
99999
Xxxxxx
99999999
Y
Y
Y
PK
UDENT StudentAccount_IDStudentAccount_Na
me
Student_Phone
Student_status
Student accountnumber
Student name
Student contact
Student status
IntVarchar(20)
Int
Varchar(20)
99999Xxxxxx
9999999999
Xxxxxx
YY
Y
Y
PK
OK Book_ID
Book_Name
Book_Type
Book_Qty
Book Id
Book name
Type of books
Amount of book
Int
Varchar(20)
Varchar(20)
Int
99999
Xxxxxx
Xxxxxx
99999
Y
Y
Y
Y
PK
COUNT Account ref_ID
Student account_ID
Book_IDStaff account_ID
Account reference id
Student account id
Book idStaff account id
Int
Int
Intint
99999
99999
9999999999
Y
Y
YY
PK
FK
FKFK
STUDENT
BOOKSTAFF
-
8/2/2019 Assignment Database (1)
12/19
DDL Scripts
create table Staff(
StaffAccount_ID int not null,
StaffAccount_Name varchar(20),
StaffWorking_date date,
primary key (StaffAccount_ID)
);
create table Student(
StudentAccount_ID int not null,
StudentAccount_Name varchar(20),
Student_Phone int,
Student_status varchar(20),
Primary Key (StudentAccount_ID)
);
create table Book(
Book_ID int not null,
Book_Name varchar(20),
Book_Type varchar(20),
Book_Qty int,
BookRental_date date,
BookReturn_date date,
Book_reorder int,primary key (Book_ID)
);
create table Account(
AccountRef_ID int not null,
StudentAccount_ID int,
Book_ID int,
StaffAccount_ID int,
primary key (AccountRef_ID),
foreign key (StudentAccount_ID) references Student,
foreign key (Book_ID) references Book,
foreign key (StaffAccount_ID) references Staff
);
-
8/2/2019 Assignment Database (1)
13/19
DML Scripts
insert into Staff values(10001,'Jamal','2008-04-21');
insert into Staff values(10002,'Christine','2008-04-22');
insert into Staff values(10003,'Dharshini','2008-04-23');
insert into Staff values(10004,'Anna','2008-04-24');
insert into Staff values(10005,'Ravin','2008-04-25');
insert into Student values(10020,'Ram Rubern','0177991026','Active');
insert into Student values(10030,'Razif','0149312170','Active');
insert into Student values(10040,'Ong Jit Jun','0133377261','Not Active');
insert into Student values(10050,'Shandya','0176136261','Not Active');
insert into Student values(10060,'Hamid','0127263021','Active');
insert into Book values(2010,'Harry Potter','Fiction',4,'2008-04-21','2008-04-28',0);
insert into Book values(2011,'Vector Mechanic','NonFiction',10,'2008-04-22','2008-04-29',0);
insert into Book values(2012,'Healty Lifestyle','Journal',13,'2008-04-23','2008-04-30',0);
insert into Book values(2013,'Grolier','Encyclopedia',8,'2008-04-24','2008-05-01',0);
insert into Book values(2014,'The Lords Of Ring','Fiction',20,'2008-04-25','2008-05-02',0);
insert into Account values(9001,10020,2010,10001);
insert into Account values(9002,10030,2011,10002);
insert into Account values(9003,10040,2012,10003);
insert into Account values(9004,10050,2013,10004);
insert into Account values(9005,10060,2014,10005);
reorg table book;
create trigger bookreorder
no cascade before update book_qty of on book
referencing new as n
for each row mode db2sql
set n.book_reorder =
case
when book_qty=10
then 1end;
-
8/2/2019 Assignment Database (1)
14/19
FULL QUARIES
Create db SLAS;
Connect to SLAS;
create table Staff(
StaffAccount_ID int not null,
StaffAccount_Name varchar(20),
StaffWorking_date date,
primary key (StaffAccount_ID)
);
create table Student(
StudentAccount_ID int not null,
StudentAccount_Name varchar(20),
Student_Phone int,
Student_status varchar(20),
Primary Key (StudentAccount_ID)
);
create table Book(
Book_ID int not null,
Book_Name varchar(20),
Book_Type varchar(20),
Book_Qty int,
BookRental_date date,
BookReturn_date date,
Book_reorder int,primary key (Book_ID)
);
create table Account(
AccountRef_ID int not null,
StudentAccount_ID int,
Book_ID int,
StaffAccount_ID int,
primary key (AccountRef_ID),
foreign key (StudentAccount_ID) references Student,
foreign key (Book_ID) references Book,foreign key (StaffAccount_ID) references Staff
);
insert into Staff values(10001,'Jamal','2008-04-21');
insert into Staff values(10002,'Christine','2008-04-22');
insert into Staff values(10003,'Dharshini','2008-04-23');
insert into Staff values(10004,'Anna','2008-04-24');
-
8/2/2019 Assignment Database (1)
15/19
insert into Staff values(10005,'Ravin','2008-04-25');
insert into Student values(10020,'Ram Rubern','0177991026','Active');
insert into Student values(10030,'Razif','0149312170','Active');
insert into Student values(10040,'Ong Jit Jun','0133377261','Not Active');
insert into Student values(10050,'Shandya','0176136261','Not Active');
insert into Student values(10060,'Hamid','0127263021','Active');
insert into Book values(2010,'Harry Potter','Fiction',4,'2008-04-21','2008-04-28',0);
insert into Book values(2011,'Vector Mechanic','NonFiction',10,'2008-04-22','2008-04-29',0);
insert into Book values(2012,'Healty Lifestyle','Journal',13,'2008-04-23','2008-04-30',0);
insert into Book values(2013,'Grolier','Encyclopedia',8,'2008-04-24','2008-05-01',0);
insert into Book values(2014,'The Lords Of Ring','Fiction',20,'2008-04-25','2008-05-02',0);
insert into Account values(9001,10020,2010,10001);
insert into Account values(9002,10030,2011,10002);
insert into Account values(9003,10040,2012,10003);
insert into Account values(9004,10050,2013,10004);insert into Account values(9005,10060,2014,10005);
reorg table book;
create trigger bookreorder
no cascade before update of book_qty on book
referencing new as n
for each row mode db2sql
set n.book_reorder =
case
when book_qty=10
then 1
end;
-
8/2/2019 Assignment Database (1)
16/19
ENTITIES
Staff
StaffAccount_ID
StaffAccount_ID int not null,
StaffAccount_Name varchar(20),
StaffWorking_date date,
Student
Primary Key (StudentAccount_ID)
StudentAccount_ID int not null,
StudentAccount_Name varchar(20),
Student_Phone int,
Student_status varchar(20),
-
8/2/2019 Assignment Database (1)
17/19
BOOK
primary key (Book_ID)
Book_ID int not null,
Book_Name varchar(20),
Book_Type varchar(20),
Book_Qty int,
BookRental_date date,BookReturn_date date,
Book_reorder int,
ACCOUNT
primary key (AccountRef_ID)
AccountRef_ID int not null,
StudentAccount_ID int,
Book_ID int,
StaffAccount_ID int,
-
8/2/2019 Assignment Database (1)
18/19
BIBLIOGRAPHY
1) ONLINE NOTES2)http://www.w3schools.com/sql/default.asp
3) miscstuff.forumotion.com
http://www.w3schools.com/sql/default.asphttp://www.w3schools.com/sql/default.asphttp://www.w3schools.com/sql/default.asp -
8/2/2019 Assignment Database (1)
19/19
APPENDIX
HANDWORK DIAGRAM (DRAWN IN PAPER)