CS 450 Project Prof. Khaled Elleithy This is a group project. Each group can be of three students at least and four students at most. In this project you will be designing a database application. Try to be creative in choosing an interesting application. Traditional applications such as Registrar database, airline reservation system, on-line shopping, etc .. are not allowed. This database will have different clients with different needs. User logins to the system by any user should be authenticated using a password. The project would typically go through the following phases: 1. Design the database using E-R diagrams 2. Create tables, including constraints such as primary keys, foreign keys, check constraints, and not null constraints. 3. Create triggers and active elements to maintain integrity of the database and to perform appropriate actions on database updates. 4. Populate the database using, SQL Insert statements, SQLloader, embedded-SQL program Pro*C/Pro*C++) 5. Write application programs in Java and/or Pro*C/C++ and/or PL/SQL 6. Document the project The application programs would have to implement some form of user interface. The simplest user interface is terminal based and involves menus and sub-menus. However, there are several tools and languages that support the development of fancier user interfaces such as the curses package in Unix, the Java AWT toolkit, and the X-Windows libraries. After deciding the application area, you need to perform the database design using the Entity-Relationship modeling technique. Your Oracle database will include the following: At least 3 Triggers At least 3 Stored Procedures At least 7 Tables with at least 6 foreign keys Phase 1 Due February 2, 2003 You will submit a report and do a PowerPoint presentation. The report should contain the following information: 1. A description of the application area. 2. A detailed E-R diagram representing the database design along with explanations on the various assumptions you have made. 3. Functional requirements, which should include the description of the functional capabilities of your system. This may be presented in the form of menus, screens, etc. A description of the different types of users of your system along with their capabilities may be presented. This must be in the form of a professional report (no hand writing/drawings). Also, do not throw away the report, as we will be adding to this report in subsequent phases of the project. Phase 2 Due March 9, 2003 You will submit a report and do a PowerPoint presentation. The report should contain the following information: 1. A brief description of the application area. 2. An E-R diagram representing the database design along with explanations on the various assumptions you have made. 3. Each table in your database is normalized in BCNCF. Examine each table to see if it is not in BCNF or not. If it is explain why, if it is not normalized for BCNF Phase 3 Due March 23, 2003 In phase I of the project you have selected your application area according to the given specs. In the second phase you have normalized your design. In this phase, you need to go through the following steps: 1. Create tables, including constraints such as primary keys, foreign keys, check constraints, and not null constraints. 2. Create triggers and active elements to maintain integrity of the database and to perform appropriate actions on database updates. 3. Populate the database using, SQL Insert statements, SQLloader, embedded-SQL program Pro*C/Pro*C++) 4. Write application programs in Java and/or Pro*C and/or PL/SQL 5. Documentation the project that must be in the form of a professional report. The documentation should include the following sections exactly {any discrepancies you will lose marks}: a. COVER PAGE: project title, students names and Ids , … b. ABSTRACT: A brief summary of the project c. TABLE OF CONTENTS with page numbers d. WHO DID WHAT: The report should specify clearly “who did what” in the project and report e. APPLICATION AREA: a description of the application area. f. FUNCTIONAL REQUIREMENTS: include the description of the functional capabilities of your system. This may be presented in the form of menus, screens, and description in plain English etc. A description of the different types of users of your system along with their capabilities may be presented. g. ER DIAGRAM: a detailed E-R diagram representing the database design along with explanations on the various assumptions you have made. h. NORMALIZED SCHEMA: Details of normalization for BCNF i. SQL CODE: EVERYTHING including tables, triggers, procedures, … j. FRONT-END DESIGN: Explanation of different modules in the front end and how they inteact {use diagrams if possible} k. FRONT END CODE: Complete code Submission of report, presentation, and demo All presentation materials need to be submitted in your presentation slot. You should submit the complete report as given above as hard copy + soft copy on CD The presentation should be about 10-15 minutes using PowerPoint. You should make about 10 slides that best illustrate your database. Slides can include graphics or text. Text slides should have a few bulleted highlights, and not have copies of paragraphs from your paper. You must run the database system demo within your 30 minutes time. Be sure that your demo will run before the last day of class. Absolutely no late submissions or demos All project members have to attend the presentation and should be prepared to answer any questions. Those not attending the demo will get ZERO in the project The final grade of the project will depend on the following aspects of the project: Design, Application programs, User interface, Written report, Presentation/demo Good luck