Anda di halaman 1dari 5

CS 6360 Fall 2011 Database Design Term Project

Project Description
Design, develop, and test Library Management System. The project is in four parts: conceptual design and requirements analysis (Phase I), database design requirements (Phase II), normalization (Phase III), and final report &demo (Phase IV). There is a library which provides loan service and holds events at MM University. 1) The library serves staff, faculty, all currently enrolled students (undergraduates, masters, and doctoral) and visitors who are referred by faculty. The system only records visitors names, and the names can be duplicated. But one faculty sponsors no more one visitor. Each person has the following attributes: Net_ID, Password, Email, Name (Last Name, First Name), Age, Gender, Address (address line 1, address line 2, city, state, zipcode), and Phone number (one individual may have more than one phone number). 2) Some staff in the library can be the currently enrolled students in the university. Each staff member has the following extra attributes: Work Place, Phone number, Type (part-time or full-time) and Salary. 3) The library provides four types of media: books, journals, DVDs and eBooks. Each media items information contains ID, title, author, year, price, location, and subject. Different types of media may have different attributes and relationships with other types. For instance, each book has ISBN. DVDs and eBooks may have rating records and may relate to one or more books. The library provides service that people can borrow books and journals from inter-libraries not owned by MM University. The following attributes --- Name, Location, Phone, Email for each interlibrary, are recorded. The eBook downloads are restricted to faculty and currently enrolled students of the university. Meanwhile, the system

Database Design

records the publishers information for each media item. For each publisher, the following attributes will be recorded: Name, Email, Address, and Phone number. 4) For each loan, the system records Start-Time, Due-Time, Return-Time, Loan-fee, and Late-fee about books which have been borrowed. There is usually no charge for borrowing/downloading media. But a few media cannot be borrowed for free. Fine will be charged for late returns of loaned material. A hold will be added to the members for non-payment within the time limit, and the members with holds cannot borrow books. 5) Meanwhile, printing service for members is provided by the library. Each printer includes Pid, type, Location recorded. Each persons quota is $10.00. 6) There are many events held by the library. All people including the visitors can participate in any event they are interested in. Staffs of the library hold events. Each event must have one fulltime staff member as manager. 7) In addition, other extra situations may be considered. The system accepts single payment per day from the same credit card. The ages of staff cannot be more than 65. Students only work part-time in the library. All items owned by the library, either in use or on reserve, cannot be requested.

Project Questions
a) Can you think 5 more rules (other than the one explicitly described above) that are likely to be used in a library. b) Is the ability to model super-class/subclass relationships likely to be important in such environment? Why or why not? c) Justify using a Relational DBMS like Oracle for this project.

Project Phases

Database Design

I.

II.

III.

Draw an EER to accurately represent this set of requirement. This will be your Conceptual Design. Clearly specify any assumption that you are making. You can use any tools (software) to draw the EER. You dont need describe the value constraints of the attributions in the EER diagram. (20%) (Due:9/26/2011) Use a relational DBMS to implement the database. Perform the following steps. (20%) (Due:10/24/2011) a) Convert your Conceptual model to a Logical model that can be implemented in a relational DBMS like Oracle. During this process you replace M-N relationships and multi-valued attributes with constructs that can be implemented in the relational DBMS. Draw EER for the logical model after your modifications. Feel free to change your conceptual model (first delivery) if needed. b) Convert the EER to a database design. Document your design in Database Schema format like the one we discussed in the class. Use appropriate naming conventions for all of your tables and attributes. (45%) (Due:11/21/2011) a) Normalize all of your tables to third normal form. Make any necessary changes to the EER. Explain why these changes needed to be made. b) Draw a dependency diagram for each table. c) Write SQL statements to create database, tables and all other structures. Primary keys and foreign keys must be defined appropriately. The quantity constraints of the relation between the entities, which should be described in EER diagram, are not required. d) Use the Create View statement to create the following views: 1. View1: This view returns the total number of eBooks which belong to the subject Computer Science. 2. View2: This view returns all students who have used the printers from the library. 3. View3: This view returns the orders which have been borrowed from inter-libraries. 4. View4: This view returns all visitors who participate in events. e) Answer the following Queries. Feel free to use any of the views that you created in part (d). 1. Return Net_IDs and Names of people who are using the books named Thinking in Java.
1

Database Design

2. Return Phones and Names of all publishers who published more than 100 books owned by the library. 3. Return names of all visitors who have holds currently. 4. Return Net_IDs, Names, and Phone numbers of the existing students who have worked for job ID 12345 in the library. 5. Return Location of the book named Thinking in Java which will be available after two weeks. 6. Return Names of DVDs which have ratings above 4-star and related to the book named Computer Networks. 7. Return the total amount of the media which are borrowed from interlibrary, either in use or reserved by visitors. 8. Return Names and Phone numbers of staffs who work at the library circulation desk and whose ages are above 25. 9. Return Net_ IDs and Names of the students whose last name is Smith and Zipcode is 75*** for which the Late-return fine is the highest among all students. 10.Count the number of distinct names of books which have been stored after December 31, 2005. 11.Return the percentage of students who used the printing services provided by the library. 12.Return Names of the students who have borrowed all media types for those individual prices are above $200. 13.Return the sum of salaries of all managers that have held the events, as well as the maximum salary, the minimum salary, and the average salary. 14.Return locations of events which have been held between April 10, 2011 and August 10, 2011. 15.Retrieve Names, Phone numbers, Emails of all people involved in all the events. 16.For each event, retrieve the event ID, the event Name, and the number of participants who are visitors. 17.Return Net_IDs of distinct people who printed on all printers owned by the library. I. Document the final term project report and demo. (15%) (Due:12/6/2011-12/7/2011) a) Problem description (Copy it from Web Site). b) Project questions (Answer questions listed in this project). c) EER diagram with all assumptions.
1

Database Design

d) Relation schema after normalization. All relations must be in 3NF. The relation schema should include primary keys as well as foreign keys (if any) for all relations. e) All requested SQL statements. f) Dependency diagram. g) Demo.

Database Design

Anda mungkin juga menyukai