---------------------------------------- * DATABASE SYSTEMS PROJECT * * Phase I: * * Fact-Finding, Infomration Gethering * * and Conceptual Database Design * ---------------------------------------- In the database system class, each student in the class will work on a project which design and implment a database application for a business or a enterprise he/she choose. Each student will document the project and hand out code, and present the project to the class during the process of implementation of the project. The project is divided into serveral steps including 1. Fact-finding and data gethering. The data views and operations on data are collected and documented, and are organized by user groups. 2. Conceptual database design (E-R Modeling of Information gethered in step 1. 3. Logical Database Design (conversin from E-R DB to relational database). 4. Creation of Database with Oracle DBMS System ( creation of tables, indexes, views, triggers, stored procedures and etc.), data loading. 5. Data views, and operations for users groups. DBMS supports for views, stored function/procedures and triggers. 6. Front-end program design and implementation (Java, VB.NET, C#/C++ .NET, Java Servlets, ASP.NET, JSP, PHP, Perl and other can be used). For this phase, you will complete step 1, and 2. For step 1, try to document the following: 1. Fact-Finding Techniques and Information Gethering 1.1 Description Fact-Fining Techniques 1.2 Techniques used 1.3 Introduction to Enterprise/Organization 1.4 Structure of the Enterprise 1.5 Data views and operations for user groups. For step 2, document the conceptual database design 2. Conceptual Database Design 2.1 Entity Set Desciption Entity UVW: * name (use intuitive name * description: what is the purpose of the entity type, what information are held in the entities of the relationship type, and other information about the entities in the set (such the frequencies of insertion, deletions, and updates). * Attribute description - name - descriptin - domain/type - value-range - default value - null value allowed or not? - unique? - single or multiple-value - Simple of Composite * candidate keys: * primary key: * Strong/Weak Entity * Fields to be indexed Entity XYZ: ... 2.2 Relationship Set Description Relationship ...: * Name (use intuitive name) * description: What is the relationship type for, the purpose of relations, what are the entities involved, meaning of each descriptive data field. Multiplicities and mapping cardinality. * Entity set involved * Mapping cardinality * Desciptive field * Participation Constraint: Partial/optional or total/mandatory 2.3 Related Entity Set Describe the following and point out entity types and relationships that are derived with the specialization/generalization process. * Specialization/Generalization Relationships(is-A) Participation constraint Disjoint constraint * Aggregation/has-relationship Composite 2.4 E-R Diagram Label the entity types with attributes, relationship types, multiplicities. 3. Client Program 3.1 User Groups: Different the groups of users in the busiess who will use the database system. For each group, describe the jobs of the users, how the group will use the database. 3.2 View or Subschema For each group, list the entity types and relationship types that can be views, pint out the fields to be hidden from the group, the combined parts(views) of entity types and relationship type that need to be seen at the same time by the group. 3.3 User Interfaces and Function Specification Design one or two simple GUI that a group of users may use that interface to insert, update, delete and/or list data in a view. Design one or two more comprehansive GUI interface that will performs a complete transaction of busiess such as - Search a customer with all cars the customer bought and allow a new car to be listed and sold to this customer. - Search a customer, list all items purchased at a given date or a month, allow GUI user group to return one or more items.