System Design System Analysis and Design - Mr. Ahmad Al-Ghoul

advertisement
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
Download