assignment database (1)

Upload: gopinath-ulaganathan

Post on 06-Apr-2018

214 views

Category:

Documents


0 download

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)