System Analysis and Design System Design - Mr. Ahmad Al-Ghoul learning Objectives Describe the Steps in Database Design Describe relational and objectoriented database models Avicenna System Analysis and Design System Design 2 Steps in Database Design After normalization your table designs and considering the use of codes, you are now ready to create database. The following steps will guide you to create database and file designs Avicenna System Analysis and Design System Design 3 Steps in Database Design Identify the entities Avicenna start by reviewing DFDs and class diagrams to identify system entities. In addition, consider any data stores shown in DFDs to determine whether they might represent entities Verify that there is more than one instance of the entity that occurs in the system System Analysis and Design System Design 4 Steps in Database Design Identify Relationships Avicenna Start with an entity and identify all entities with which it shares relationships carefully analyze each relationship to determine if it is 1:1, 1:M, or M:N Describe the relationship with the appropriate verb phrase Determine the cardinality by discussing the business rules with knowledgeable users System Analysis and Design System Design 5 Steps in Database Design Add attributes and assign identifiers Avicenna Identify attributes of the entity that are relevant to the system under development verify that every data element in the data dictionary is associated logically with an entity Select the entity’s identifier System Analysis and Design System Design 6 Steps in Database Design Create 3NF designs for all tables Avicenna Unnormalized tables are converted to First Normal Form by removing repeating groups into separate tables. Second and Third Normal Forms are achieved by reducing and splitting tables so that the only functional dependencies which exist are between the primary keys and the remaining non-key attributes. System Analysis and Design System Design 7 Steps in Database Design Identify all primary, secondary, and foreign keys Avicenna A primary key is a field or combination of fields that uniquely and minimally identifies a particular member of an entity Secondary key is a field or combination of fields that can be used to access or retrieve records A foreign key is a field in one table that must match a primary key value in another table in order to establish the relationship between the two tables. When the relationship is one-to-many, the primary key of the file at the one end of the relationship should be contained as a foreign key on the file at the many end of the relationship System Analysis and Design System Design 8 Steps in Database Design Generate the final ERD Avicenna include new entities identified during normalization Make sure that the data dictionary entities for all data stores, records, and data elements are documented completely and correctly Be sure that all the codes that were developed or identified during the data design process are documented in the data dictionary System Analysis and Design System Design 9 Database Models database models are ways of organizing data in order to make data processing more efficient Legacy database Hierarchical: depict parent-child relationships using inverted trees Network: depict nonhierarchical associations using pointers The two popular database models now-a day are relational and object-oriented. Avicenna System Analysis and Design System Design 10 Database Models Relational Databases The principles of relational model was introduced during the 1970s by Dr. E. Codd relational model became popular because their ease of use, flexibility in structure, and powerful Component of a relational model Avicenna Collection of objects or relations that store the data A set of operators that can act on the relations to produce other relations Data integrity for accuracy and consistency System Analysis and Design System Design 11 Database Models Relational Databases Definition of a relational database Avicenna A relational database uses relations or two dimensional tables to store information Relational database can run on many platforms, including personal computers, and are well suited to client/server computing Because all the tables are linked, a user can request data that meets specific conditions New entities and attributes can be added at any time without restructuring the entire database System Analysis and Design System Design 12 Relational Databases Notice that the relational design avoids redundancy and that all tables are in 3NF (all nonkey fields are functionally dependent on the primary key, the whole key, and nothing but the key). Avicenna System Analysis and Design System Design 13 Database Models Object-Oriented Databases Avicenna Many systems developers are using object-oriented database (OODB) design as a natural extension of the object-oriented analysis process Some IT professionals believe that OODBs will have a major impact and eventually replace the relational approach. (OODB) used primarily for applications with multimedia or complex data Each object in an OODB has a unique object identifier, which is similar to a primary key in a relational database. The identifier allows the object to interact with other objects and form relationships. Programmers use object-oriented languages, to describe and implement object-to-object relationships that resemble the relationships found in a traditional ERD. System Analysis and Design System Design 14 Object-Oriented Databases Objects have object identifiers that enable them to communicate and interact. Object identifier Contains the object identifier for the driver assigned Avicenna System Analysis and Design System Design 15 Sequence Summary Data design tasks include identify the entities; identify relationships; add attributes and assign identifiers; creating an initial ERD; create 3nf designs for all tables; identify all primary, secondary, and foreign keys; generate the final ERD; and completing the data dictionary entries for files, records, and data elements The most common database models are relational and objectoriented The relational model is powerful and flexible, and provides the best support for client/server architecture Object-oriented (OODB) design is becoming more popular as a natural extension of the object-oriented analysis process Each object in an OODB has a unique object identifier, which is similar to a primary key in a relational database and allows the object to interact with other objects and form relationships Avicenna System Analysis and Design System Design 16 Sequence Summary In this Sequence we have Avicenna Explained data design tasks include identify the entities; identify relationships; add attributes and assign identifiers; creating an initial ERD; create 3nf designs for all tables; identify all primary, secondary, and foreign keys; generate the final ERD; and completing the data dictionary entries for files, records, and data elements Defined and distinguished between relational and object-oriented database models System Analysis and Design System Design 17 Reference [1] System Analysis and Design, Sixth Edition Authors: Gary B. Shelly, Thomas J. Cashman and Harry J. Rosenblatt Publisher: SHELLY CASHMAN SEWIES. Avicenna System Analysis and Design System Design 18