Unit 3
Unit 3
Unit 3
Analysis
LH- 13 HRS
Process 1.0: Process 1.1, Process 1.2, and so on. Also note that, just as with the other DFDs we have
looked at, each of the processes and data flows is named. You will also notice that no sources or sinks
are represented. Although you may include sources and sinks, the context and level-0 diagrams show
the sources and sinks. The DFD in Figure 7-7 is called a level-1 diagram. If we should decide to
decompose Processes 2.0, 3.0, or 4.0 in a similar manner, the DFDs we would create would also be
level-1 diagrams. In general, a level-n diagram is a DFD that is generated from n nested decompositions
from a level-0 diagram.
• Processes 2.0 and 3.0 perform similar functions in that they both use data input to update data
stores. Because updating a data store is a singular logical function, neither of these processes needs
to be decomposed further. We can, however, decompose Process 4.0, Produce Management
Reports, into at least three sub processes: Access Goods Sold and Inventory Data, Aggregate
Goods Sold and Inventory Data, and Prepare Management Reports. The decomposition of Process
4.0 is shown in the level-1 diagram of Figure 7-8.
• Each level-1, -2, or -n DFD represents one process on a level-n-1 DFD; each DFD should be on a
separate page.
No DFD should have more than about seven processes because too many processes will make
the diagram too crowded and difficult to understand. Typically, process names begin with an
action verb, such as Receive, Calculate, Transform, Generate, or Produce. Process names
often are the same as the verbs used in many computer programming languages. Example
process names include Merge, Sort, Read, Write, and Print.
Balancing DFDs
• Conservation Principle: conserve inputs and outputs to a process at the
next level of decomposition.
• Balancing: conservation of inputs and outputs to a data flow diagram process when that
process is decomposed to a lower level.
• Balanced means:
- Number of inputs to lower level DFD equals number of inputs to associated process
of higher level DFD
- Number of outputs to lower level DFD equals number of outputs to associated process
of higher level DFD
• When you decompose a DFD from one level to the next, there is a conservation principle at
work. You must conserve inputs and outputs to a process at the next level of decomposition.
In other words, Process 1.0, which appears in a level-0 diagram, must have the same inputs
and outputs when decomposed into a level-1 diagram. This conservation of inputs and outputs
is called balancing.
This is unbalanced
because the process
of the
context diagram has
only one
input but the Level0
diagram has two inp
uts.
• Data flow splitting is when a
composite data flow at a
higher level is split and
different parts go to different
processes in the lower level
DFD.
• The DFD remains balanced
because the same data is
involved, but split into two
parts.
Let’s look at an example of
balancing a set of DFDs. Look back
at Figure 7-4. This is the context
diagram for Hoosier Burger’s food-
ordering system. Notice that there is
one input to the system, the
customer order, which originates
with the customer. Notice also that
there are three outputs: the
customer receipt, the food order
intended for the kitchen, and
management reports. Now look at
Figure 7-5. This is the level-0 diagram for the food-ordering system. Remember that all data stores and flows to or
from them are internal to the system. Notice that the same single input to the system and the same
three outputs represented in the context diagram also appear at level 0. Further, no new inputs to or
outputs from the system have been introduced. Therefore, we can say that the context diagram and
level-0 DFDs are balanced
Four Different Types of DFDs
• Current Physical
- Process labels identify technology (people or systems) used to process the data.
- Data flows and data stores identify actual name of the physical media.
• Current Logical
- Physical aspects of system are removed as much as possible.
- Current system is reduced to data and processes that transform them.
• New Logical
- Includes additional functions.
- Obsolete functions are removed.
- Inefficient data flows are reorganized.
• New Physical
- Represents the physical implementation of the new system.
Physical & Logical DFD
• Consider the figure 1 It is clear from the figure that orders are placed, orders are received, the
location of ordered parts is determined and delivery notes are dispatched along with the order.
It does not however tell us how these things are done or who does them. Are they done by
computers or manually and if manually who does them ? A logical DFD of any information
system is one that models what occurs without showing how it occurs
• A physical DFD shows, how the various functions are performed? Who does them? Consider the
following figure:
The figure 2 is opposite, it shows the actual devices that perform the functions. Thus there is an
"order processing clerk", an "entry into computer file" process and a "run locate program" process to
locate the parts ordered. DFD(s) that shows how things happen, or the physical components are
called physical DFD(s). Typical processes that appear in physical DFDs are methods of data entry,
specific data transfer or processing methods
• Data flow diagrams (DFDs) are categorized as either logical or physical. A logical
DFD focuses on the business and how the business operates. It describes the
business events that take place and the data required and produced by each event.
On the other hand, a physical DFD shows how the system will be implemented.
Here are the main differences between logical and physical DFD:
Logical vs Physical DFD
Logical DFD
• Logical DFD depicts how the business operates.
• The processes represent the business activities.
• The data stores represent the collection of data regardless of how the data are
stored.
• It s how business controls.
Physical DFD
• Physical DFD depicts how the system will be implemented (or how the current
system operates).
• The processes represent the programs, program modules, and manual procedures.
• The data stores represent the physical files and databases, manual files.
• It show controls for validating input data, for obtaining a record, for ensuring
successful completion of a process, and for system security.
Physical and Logical DFD: Example 1
• Physical DFD specifies actual flow of physical documentation, while
logical DFD only focus on the information flow in business term.
Physical and Logical DFD: Example 2
• Logical DFD eliminates physical processes that refer to physical
activities only and do not transform data.
Physical and Logical DFD: Example 3
• The logical DFD describes what the system does by including the essential
sequence of business activities. It model the business data and activities instead of
actual forms, location and roles.
A Larger Example - Grocery Store System
• The example below shows a logical DFD and a physical DFD for a
grocery store cashier:
• The CUSTOMER brings the ITEMS to the register;
• PRICES for all ITEMS are LOOKED UP, and then totaled;
• Next, PAYMENT is given to the cashier finally, the CUSTOMER is
given a receipt.
Logical DFD Example - Grocery Store
• The logical DFD illustrates the processes involved without going into detail about
the physical implementation of activities.
Physical DFD Example - Grocery Store
• The physical DFD shows that a bar code-the UPC PRICE code found
on most grocery store items is used
• In addition, the physical DFD mentions manual processes such as
scanning, explains that a temporary file is used to keep a subtotal of
items
• The PAYMENT could be made by CASH, CHECK, or DEBIT CARD
• Finally, it refers to the receipt by its name, CASH REGISTER
RECEIPT
3.2.4 Using Data flow Diagramming in the Analysis Process
• Learning the mechanics of drawing DFDs is important because DFDs have proven to be
essential tools for the structured analysis process. Beyond the issue of drawing mechanically
correct DFDs, there are other issues related to process modeling with which an analyst must
be concerned. Such issues, including whether the DFDs are complete and consistent across all
levels, which covers guidelines for drawing DFDs.
• Another issue to consider is how you can use DFDs as a useful tool for analysis. • Guidelines
for drawing DFDs
1. Completeness : The concept of DFD completeness refers to whether you have included in
your DFDs all of the components necessary for the system you are modeling. If your DFD
contains data flows that do not lead anywhere or data stores, processes, or external entities
that are not connected to anything else, your DFD is not complete.
2. Consistency : The concept of DFD consistency refers to whether or not the depiction of
the system shown at one level of a nested set of DFDs is compatible with the depictions of
the system shown at other levels. A gross violation of consistency would be a level-1
diagram with no level-0 diagram. Another example of inconsistency would be a data flow
that appears on a higher-level DFD but not on lower levels (also a violation of balancing).
3. Timing: You may have noticed in some of the DFD examples we have presented that DFDs do not
do a very good job of representing time. On a given DFD, there is no indication of whether a data
flow occurs constantly in real time, once per week, or once per year. There is also no indication of
when a system would run.
4. Iterative Development: The first DFD you draw will rarely capture perfectly the system you are
modeling. You should count on drawing the same diagram over and over again, in an iterative
fashion. With each attempt, you will come closer to a good approximation of the system or aspect of
the system you are modeling. One rule of thumb is that it should take you about three revisions for
each DFD you draw.
5. Primitive DFDs : One of the more difficult decisions you need to make when drawing DFDs is
when to stop decomposing processes. One rule is to stop drawing when you have reached the lowest
logical level; however, it is not always easy to know what the lowest logical level is.
Rules for stopping decomposition
• When each process has been reduced to a single decision, calculation or database
operation.
• When each data store represents data about a single entity.
• When the system user does not care to see any more detail.
• When every data flow does not need to be split further to show that data are hand
led in various ways.
• When you believe that you have shown each business form or transaction, online
display and report as a single data flow.
• When you believe that there is a separate process for each choice on all lowest
level menu options.
3.2.5 Modeling Logic With Decision Tables
• Logic Modeling:
➢Data flow diagrams do not show the logic inside the processes.
➢Logic modeling involves representing internal structure and functionality of processes
depicted on a DFD.
➢Logic modeling can also be used to show when processes on a DFD occur.
➢A logic model has four components:
1. Needs: are about the problem and why its important to address it. What issue are we
trying to address?
2. Inputs: are the things that contribute to addressing the need (usually a combination of
money, time, expertise and resources). What resources are we investing?
3. Activities: describe the things that the inputs allow to happen. What are we doing with
these resources.
4. Outcomes: are usually expressed in terms of measures of success. What differences are
we hoping to make?
Each process on the lowest level DFD will be represented by one or more of the
following:
• Structured English representation of process logic.
• Decision Tables representation.
• Sequence diagram.
• Activity diagram
• Decision Trees
• State-transition diagrams
• A decision table is a diagram of process logic
where the logic is reasonably complicated. All
of the possible choices and the conditions the
choices depend on are represented in tabular
form, as illustrated in the decision table in
Figure 7-18. The decision table in Figure 7-18
models the logic of a generic payroll system.
• The table has three parts: the condition stubs,
the action stubs, and the rules. The condition
stubs contain the various conditions that apply
to the situation the table is modeling.
• In Figure 7-18, there are two condition stubs
for employee type and hours worked.
Employee type has two values: “S,” which
stands for salaried, and “H,” which stands for
hourly. Hours worked has three values: less
than 40, exactly 40, and more than 40. The
action stubs contain all the possible courses
of action that result from combining values of
the condition stubs. There are four possible
courses of action in this table: Pay Base
Salary, Calculate Hourly Wage, Calculate
Overtime, and Produce Absence Report. You
can see that not all actions are triggered by all
combinations of conditions. Instead, specific
combinations trigger specific actions. The
part of the table that links conditions to
actions is the section that contains the rules.
• indifferent condition
• In a decision table, a condition whose value does not affect which actions are taken for
two or more rules.
Because of the indifferent condition for
rules 1, 3, and 5, we can reduce the
number of rules by condensing rules 1, 3,
and 5 into one rule, as shown in Figure 7-
19. The indifferent condition is
represented with a dash. Whereas we
started with a decision table with six rules,
we now have a simpler table that conveys
the same information with only four rules.
• Decision tables are a concise / short / brief visual representation for specifying which actions to
perform depending on given conditions.
• They are algorithms whose output is a set of actions.
• A decision table is an excellent tool to use in both testing and requirements management.
• Decision Table is a structured exercise to formulate requirements when dealing with
complex business rules.
• Decision Tables are used to model complicated logic.
• Lets take an example scenario for an ATM where a decision table would be of use.
• A customer requests a cash withdrawal. One of the business rules for the ATM is that the ATM
machine pays out the amount if the customer has sufficient funds in their account or if the
customer has the credit granted.
• This simple example of a business rule is quite complicated to describe in text. A
decision table makes the same requirements clearer to understand:
In a decision table, conditions are usually expressed as true (T) or false (F). Each column
in the table corresponds to a rule in the business logic that describes the unique
combination of circumstances that will result in the actions.
• Decision tables can be used in all situations where the outcome depends on the combinations of
different choices, and that is usually very often.
• In many systems there are tons of business rules where decision tables add a lot of value.
• Steps to create decision tables
• Step 1 – Analyze the requirement and create the first column
• Requirement: “Withdrawal is granted if requested amount is covered by the balance or if the
customer is granted credit to cover the withdrawal amount”.
• Express conditions and resulting actions in a list so that they are either TRUE or FALSE.
• In this case there are two conditions, “withdrawal amount <= balance” and “credit
granted”.
• There is one result, the withdrawal is granted.
Get value of n; }
Set value of a to 1; Else if b greater than a
Set value of b to 1; {
Initialize I to 0; increase a by b;
For(i=0; i<n; i++)
print a;
{
}
if a greater than b
{ }
Advantages of Pseudo-code
1. Improves the readability of any approach.
2. It is one of the best approach to start implementation of an algorithm.
3. Acts as a bridge between the program and the algorithm or flowchart.
4. The main goal of a pseudo code is to explain what exactly each line of a program
should do, hence making the code construction phase easier for the programmer.
3.3 System Data Requirements
3.3.1 Introduction,
3.3.2 Conceptual Data Modeling,
3.3.3 Gathering Information For Conceptual Data Modeling,
3.3.4 Introduction To ER Modeling,
3.3.5 Conceptual Data Modeling And The ER Model,
3.3.6 Representing Super Types And Sub-Types,
3.3.7 Business Rules,
3.3.8 Role Of Packaged Conceptual Data Models- Database Patterns
3.3 System Data Requirements
3.3.1 Introduction
• Structuring system and database requirements concentrates on the definition,
structure and relationships within data.
• The characteristics of data captured during data modeling are crucial in the
design of databases, programs, computer screens and printed reports. This
information is essential in ensuring data integrity in an information system.
• The most common format used for data modeling in entity-relationship
diagramming.
• Data modeling explains the characteristics and structure of data independent of
how the data may be stored in computer memories and is usually developed
iteratively.
• The most common format used for data modeling is entity-relationship (E-R)
diagramming.
• A similar format used with object-oriented analysis and design methods is class
diagramming, which is included in a special section at the end of this chapter on the
object-oriented development approach to data modeling.
• Data models that use E-R and class diagram notations explain the characteristics and
structure of data independent of how the data may be stored in computer memory.
• A data model is usually developed iteratively, either from scratch or from a purchased
data model for the industry or business area to be supported. Information system (IS)
planners use this preliminary data model to develop an enterprise-wide data model with
very broad categories of data and little detail
3.3.2 Conceptual Data Modeling
• A conceptual data model is a representation of organizational data. The purpose of a
conceptual data model is to show as many rules about the meaning and interrelationships
among data as are possible.
• Conceptual data modeling is typically done in parallel with other requirements analysis
and structuring steps during systems analysis .On larger systems development teams, a
subset of the project team concentrates on data modeling while other team members focus
attention on process or logic modeling.
• Analysts develop (or use from prior systems development) a conceptual data model for
the current system and then build or refine a purchased conceptual data model that
supports the scope and requirements for the proposed or enhanced system.
• The work of all team members is coordinated and shared through the project dictionary
or repository. This repository is often maintained by a common Computer- Aided
Software Engineering (CASE) or data modeling software tool.
• The Conceptual Data Modeling process: The process of conceptual data modeling
begins with developing a conceptual data model for the system being replaced, if a system
already exists. This is essential for planning the conversion of the current files or database
into the database of the new system. Further, this is a good, but not a perfect, starting
point for your understanding of the data requirements of the new system. Then, a new
conceptual data model is built (or a standard one is purchased) that includes all of the data
requirements for the new system.
• Deliverables and outcomes: Most organizations today do conceptual data modeling
using E-R modeling, which uses a special notation to represent as much meaning about
data as possible. Because of the rapidly increasing interest in object-oriented methods,
class diagrams using unified modeling language (UML) drawing tools such as IBM’s
Rational products or Microsoft Visio are also popular.
1. The primary deliverable from the conceptual data modeling step within the analysis
phase is an E-R diagram.
2. The other deliverable from conceptual data modeling is a full set of entries about data
objects that will be stored in the project dictionary, repository, or data modeling
software. The repository is the mechanism to link data, process and logic models of an
information system.
3.3.3 Gathering Information For Conceptual
Data Modeling
• Requirements determination methods must include questions and investigations
that take a data, not only a process and logic, focus. For example, during
interviews with potential system users—during Joint Application Design (JAD)
sessions or through requirements interviews—you must ask specific questions in
order to gain the perspective on data that you need to develop or tailor a
purchased data model.
• You typically do data modeling from a combination of perspectives. The first
perspective is generally called the top-down approach. This perspective derives
the business rules for a data model from an intimate understanding of the nature
of the business, rather than from any specific information requirements in
computer displays, reports, or business forms.
• You can also gather the information you need for data modeling by reviewing specific business
documents—computer displays, reports, and business forms— handled within the system. This
process of gaining an understanding of data is often called a bottom-up approach. These items
will appear as data flows on DFDs and will show the data processed by the system and, hence,
probably the data that must be maintained in the system’s database. Consider, for example, Figure
8-4, which shows a customer order form used at Pine Valley Furniture (PVF). From this form, we
determine that the following data must be kept in the database:
3.3.4 Introduction To ER Modeling
• An E-R data model is a detailed, logical representation of the data for an organization or for a business
area.
• An entity is a person, place, object, event, or concept in the user environment about which the
organization wishes to maintain data.
• An entity has its own identity, which distinguishes it from other entities.
• There is an important distinction between entity types and entity instances.
• An entity type is a single occurrence of an entity type.
• For example, there is usually one EMPLOYEE type but there may be hundreds of instances of this
entity type stored in a database.
• Each entity type has a set of attributes associated with it.
• For example, for an entity STUDENT we have such attributes like: STUDENT NO, NAME,
ADDRESS, PHONE NO.
• Every entity must have an attribute or set of attributes that distinguishes one instance from other
instances of the same type – and that is called a candidate key.
• A primary key is a candidate key that has been selected to be used as the identifier for the entity type.
• For each entity the name of the primary key is underlined on an E-R diagram.
• Entity Relationship Modeling (ER Modeling) is a graphical approach to database design.
• It uses Entity/Relationship to represent real world objects.
• An entity is a thing or object in real world that is distinguishable from surrounding
environment. For example each employee of an organization is a separate entity.
• It is a technique used in database design that helps describe the relationship between various
entities of an organization. Terms used in E-R model are:
• Entity – It specifies distinct real world items in an application. For example: vendor, item,
student course, teachers etc.
• Relationship – They are the meaningful dependencies between entities. For example, vendor
supplies items, teacher teaches courses, then supplies and teachers are relationships.
• Attributes – It specifies the properties of relationships. For example, vendor code, student
name.
• Entity-relationship diagram (ERD) are essential to modeling anything from simple to
complex databases, but the shapes and notations used can be very confusing.
• There are various types of symbols used for ER diagram, some of well-defined symbols are
listed below;
• Entity-relationship diagram (ERD) are essential to modeling anything from
simple to complex databases, but the shapes and notations used can be very
confusing.
• There are various types of symbols used for ER diagram, some of well-defined symbols
are listed below;
Elements of ER Diagram
• ENTITY:
• An entity is a real-world thing either living or non-living that is easily recognizable and non-
recognizable.
• An entity can be place, person, object, event or a concept, which stores data in the database.
• The characteristics of entities are must have an attribute, and a unique key.
• For example: Tuple1/ row1 / record1 contains information about Hari (id, name, age, address)
which has existence in real world. So, the tuple1 is an entity. So, we may say each tuple is an
entity. Let “Hari” is a particular member of entity type student.
• ENTITY TYPE:
• It is collection of entities having common attribute.
• As in student table, each row is an entity and has common attributes.
• So, Student is a entity type which contains entities having attributes id, name and age.
• Also each entity type in a database is described by a name and a list of attribute.
• For example: Collection of entities with similar properties.
• ENTITY SET:
• It is same as entity type, but defined at a particular point in time such as students
enrolled in a class on the first day.
• Other example: customer who purchased last month, cars currently registered in
Florida.A related term is instance, in which the specific person or car would be an
instance of the entity set.
• For example: let E1 is an entity having entity type student and set of all student is
called entity set.
• Attributes:
• Attributes are the properties which define the entity type. For example, student_id,
student_name, DOB, age, address, mobile_no etc. are the attributes which define entity
type student.
• In ER diagram, attribute is represented by an oval.
Types of Attributes:
• Attributes of an entity type can be further divided into following types.
• A. Atomic Vs. Composite attributes
• B. Single valued Vs. Multi valued attributes
• C. Stored Vs. Derived attributes
• D. NULL value attribute
• E. Key attribute
Types of Attributes
A. Atomic Vs. Composite attributes
• An attribute that cannot be divided into smaller independent attribute is known as atomic
attribute. For example: Assume, student is an entity and its attributes are name, age, DOB,
address and phone number.
• Here the student_id, DOB attribute of students (entity) cannot further divide. In this
example, Student_id and DOB are atomic attribute.
• An attribute that can be divided into smaller independent attribute is known as
composite attribute. For example: Assume, student is an entity and its attributes are
student_id, name, age, DOB, address and phone number.
• Here the address (attribute) of student (entity) can be further divided into house number,
city and so on. In this example, address is composite attribute.
B. Single Valued Vs. Multi Valued attributes
• An attribute that has only single value for an entity is known as single valued attribute. For
example: Assume, student is an entity and its attributes are Stu_id, Name, age, DOB, address
and phone number.
• Here the age and DOB(attribute) of student (entity) can have only one value. In this
example, age and DOB are single valued attribute.
• An attribute that can have multiple values for an entity is known as multi valued attribute. For
example: Assume, Student is an entity and its attributes are Stu_id, Name, age, DOB, address,
email and phone no.
• Here the phone no and Email (attribute) of Student (entity) can have multiple values
because a student may have many phone numbers. In this example, Email and Phone_no
are multi valued attributes.
C. Stored Vs. Derived attributes
• An attribute that cannot be derived from another attribute and we need to store their value in
database is known as stored attribute. For example, DOB cannot derive from age of student.
• An attribute that can be derived from another attribute and we do not need to store their
value in the database due to dynamic nature is known as derived attribute.
• It is denoted by dotted oval. For example, age can be derived from birth date of student.
D. NULL value attributes
• An attribute, which has not any value for an entity is known as null value attribute.
For example, assume Student is an entity and its attributes are Name, Age, Address
and Phone_no.
• There may be chance when a student has no phone no. In this case, phone number is
called NULL valued attributes.
E. Key attributes
• An attribute that has unique value of each entity is known as key attribute. For
example, every student has unique roll no. Here roll no is key attribute.
Relationship Type and Relationship Set
• A relationship type represents the association between entity types. For example, “Enrolled in” is a
relationship type that exists between entity type Student and Course. In ER diagram, relationship
type is represented by a diamond and connecting the entities with lines.
• Unary Relationship
• If only one entity set participates in a relation, the relationship is called as unary relationship.
Here same entity set participates in relationship twice with different roles. Role names are
specified above the link joining entity set and relationship set. This type of relationship set is
sometimes called a recursive relationship set. There are three types of unary relationships.
• 1:1 unary relationship
• 1:M unary relationship
• M:N unary relationship
One to One (1:1) Unary Relationship
• In the example below, one person is married to only one person.
Binary Relationship
• When there are two entities set participating in a relation, the relationship is called as
binary relationship. For example, Student is enrolled in Course. This is the most common
type of relationship in database systems.
Binary Relationship
• When there are two entities set participating in a relation, the relationship is called as binary
relationship. For example, Student is enrolled in Course. This is the most common type of
relationship in database systems.
Pid Pname
Constraints on ER Model/Structural Constraints in ER
• Relationship sets in ER model usually have certain constraints that limit the possible combinations
of entities that may involve in the corresponding relationship set. Database content must confirm
these constraints. The most important structural constraints in ER are listed below:
• Mapping cardinalities and
• Participation constraints
• Mapping Cardinality Constraints
• The number of times an entity of an entity set participated in a relationship set is known as
cardinality. Cardinality can be of different types:
• One-to-One
• One-to-Many
• Many-to-One
• Many-to-Many
• We express cardinality constraints by drawing either a directed line( ), signifying “one”, or an
undirected line (- ), signifying “many”, between the relationship set and the entity set.
One-to-One Mapping Cardinality Constraints
• In One-to-One mapping, an entity in E1 is associated with at most one entity in E2, and an
entity in E2 is associated with at most one entity in E1. Let us assume that a male can marry
to one female and a female can marry to one male. So the relationship will be one to one.
Mid Name Fid Fname
• Many to One
Many-to-Many Mapping Constraints
• In Many-to-Many mapping, an entity in E1 is associated with any number of entities in E2,
and an entity in E2 is associated with any number of entities in E1. Let us assume that a
student can take more than one course and one course can be taken by many students. So,
the relationship will be many to many.
• Using Sets, it can be represented as:
• A R B
S1 R1 C1
S2 R2
S3 R3
S4 R4 C2
M
Student Enrolled Course
N
• There are two principal types of packaged data models: universal data models applicable
to nearly any business or organization and industry-specific data models.
• Universal Data Models :
- Numerous core subject areas are common to many (or even most) organizations,
such as customers, products, accounts, documents, and projects. Although they differ in
detail, the underlying data structures are often quite similar for these subjects. Further, there
are core business functions such as purchasing, accounting, receiving, and project
management that follow common patterns.
- Universal data models are templates for one or more of these subject areas and/or
functions. All of the expected components of data models are generally included: entities,
relationships, attributes, primary and foreign keys, and even sample data.
• Industry-Specific Data Models
- Industry-specific data models are generic data models that are designed to be used
by organizations within specific industries. Data models are available for nearly every
major industry group, including health care, telecommunications, discrete manufacturing,
process manufacturing, banking, insurance, and higher education.
- These models are based on the premise that data model patterns for organizations
are very similar within a particular industry (“a bank is a bank”). However, the data models
for one industry (such as banking) are quite different from those for another (such as
hospitals).
Some Exercises
1. Construct an ER diagram for a car-insurance company whose
customers own one or more cars each. Each car has associated with
it zero to any number of recorded accidents.
2. Construct an ER diagram for a hospital with a set of patients and a
set of doctors. Associate with each patient a log of the various tests
and examinations conducted.
3. Construct an ER diagram of the library system in your college.
Video library management system
RESULT MANAGEMENT SYSTEM