Mstone5_1

advertisement
MILESTONE 5
APPLICATION ARCHITECTURE AND DATABASE DESIGN
PURPOSE
The purposes of this milestone are
1) To design the database for the proposed GAPIC system. This requires doing the following: ensuring that all
tables are in 3rd normal form, defining referential integrity rules for the tables, identifying and defining domain
integrity rules
2) To identify the locations where the data in the various tables can be created, updated, deleted and stored
3) To identify the locations where various processes can be executed and map the processes to the locations
After completing this milestone, you will have accomplished the following:
1.
2.
3.
4.
5.
6.
Performed normalization and ensured that all the tables are in 3 rd normal form.
Made sure that the logical (entity-relationship diagram) and the physical data models are consistent
Defined the referential integrity for all the tables in the database.
Defined the domain integrity rules wherever appropriate (don't attempt this for all attributes, just do a few to
demonstrate yr understanding of the concept).
Map the data to the locations by constructing a data-to-locations matrix
Map the processes to the locations by constructing a process-to-location matrix.
DELIVERABLES
The following are the deliverables for this milestone
1)
2)
3)
4)
5)
6)
A copy of the entity relationship diagram (modified one, if changes occur after normalization).
A summary of domain and referential integrity rules implemented
A print our of the SQL schema
Data-to-location matrix (VAW does not support these matrices, use Excel to create these matrices)
Process-to-location matrix (VAW does not support these matrices, use Excel to create these matrices)
Floppy containing the project files
SUGGESTIONS
1.
2.
3.
4.
5.
6.
7.
Do all your analysis on paper before implementing in the tool.
Examine the structure of each table to ensure that they are in 3rd normal form. Systematically check for 1)
repeating groups, 2) partial dependencies, 3) transitive dependencies and 4) derived values.
During normalization, it is likely that you will create new tables. Make sure to define the primary keys for the
new tables. Make sure to establish relationships between the new table and other appropriate tables through key
sharing. Also, check if the new table is in 3rd normal form.
Once you have the normalized table structures, modify the ER model to include entities for the new tables (if
any) that have to be created. It is necessary that your logical data model (ERD) and the physical data model are
consistent.
In trying to reassign variables already defined in the repository to different tables, search and select the new
variable and define it as part of the new table. Then, delete the variable from the composition of the original
table.
Define referential integrity rules for all relationships in the ERD. Click on each relationship in the ERD and
define the referential integrity rules. Consider the business rules that you want to enforce in deciding where to
implement cascade update and cascade delete.
For each table, define column check constraints on appropriate columns. Use the SQL key word CHECK in
defining the constraints.
8.
After you have completed the normalization and defined the referential and domain integrity rules generate the
database scheme using the Generate SQL option from the repository.
9. For each table and its attributes carefully decide where creation, update and deletion can take place. These
decisions are made taking in mind the need to have control over the data as well as the specific business
requirements if any. In real projects a DBA will be involved in these decisions.
10. For each process, carefully decide where these processes can be executed. Keep in mind a process can be
executed in multiple locations.
Download