Critically Compare Different Data Models Schemas
Data Models & Schemas
Objectives
Why data models are important
About the basic data-modeling building blocks
What business rules are and how they influence database design
How the major data models evolved
How data models can be classified by level of abstraction
The Importance of Data Models
Data models
- Relatively simple representations, usually graphical, of complex real-world data structures
- Facilitate interaction among the designer, the applications programmer, and the end user
The Importance of Data Models
(continued)
End-users have different views and needs for data
Data model organizes data for various users
Data Model Basic Building Blocks
Entity – anything about which data are to be collected and stored
Attribute – a characteristic of an entity
Relationship – describes an association among entities
- One-to-many (1:M) relationship
- Many-to-many (M:N or M:M) relationship
- One-to-one (1:1) relationship
Constraint – a restriction placed on the data
Business Rules
Brief, precise, and unambiguous descriptions of a policies, procedures, or principles within a specific organization
Apply to any organization that stores and uses data to generate information
Description of operations that help to create and enforce actions within that organization’s environment
Business Rules (continued)
Must be rendered in writing
Must be kept up to date
Sometimes are external to the organization
Must be easy to understand and widely disseminated
Describe characteristics of the data as viewed by the company
Discovering Business Rules
Sources of Business Rules:
Company managers
Policy makers
Department managers
Written documentation
- Procedures
- Standards
- Operations manuals
Direct interviews with end users
Translating Business Rules into Data Model Components
Standardize company’s view of data
Constitute a communications tool between users and designers
Allow designer to understand the nature, role, and scope of data
Allow designer to understand business processes
Allow designer to develop appropriate relationship participation rules and constraints
Promote creation of an accurate data model
Discovering Business Rules (continued)
Generally, nouns translate into entities
Verbs translate into relationships among entities
Relationships are bi-directional
The Evolution of Data Models
(continued)
Hierarchical
Network
Relational
Entity relationship
Object oriented (OO)
The Hierarchical Model
Developed in the 1960s to manage large amounts of data for complex manufacturing projects
Basic logical structure is represented by an upside-down “tree”The Hierarchical Model (continued)
The Hierarchical Model (continued)
The hierarchical structure contains levels, or segments
Depicts a set of one-to-many (1:M) relationships between a parent and its children segments
- Each parent can have many children
- each child has only one parent
The Hierarchical Model (continued)
Advantages
- Many of the hierarchical data model’s features formed the foundation for current data models
- Its database application advantages are replicated, albeit in a different form, in current database environments
- Generated a large installed (mainframe) base, created a pool of programmers who developed numerous tried-and-true business applications
The Hierarchical Model (continued)
Disadvantages
- Complex to implement
- Difficult to manage
- Lacks structural independence
- Implementation limitations
- Lack of standards
The Network Model
Created to
- Represent complex data relationships more effectively
- Improve database performance
- Impose a database standard
Conference on Data Systems Languages (CODASYL)
Database Task Group (DBTG)
Critically Compare Different Data Models Schemas
The Network Model (continued)
Schema
- Conceptual organization of entire database as viewed by the database administrator
Subschema
- Defines database portion “seen” by the application programs that actually produce the desired information from data contained within the database
Data Management Language (DML)
- Defines the environment in which data can be managed
The Network Model (continued)
Schema Data Definition Language (DDL)
- Enables database administrator to define schema components Subschema DDL
- Allows application programs to define database components that will be used
DML
- Works with the data in the database
The Network Model (continued)
Resembles hierarchical model
Collection of records in 1:M relationships
Set
- Relationship
- Composed of at least two record types
- Owner
- Equivalent to the hierarchical model’s parent
- Member
- Equivalent to the hierarchical model’s child
The Network Model (continued)
Disadvantages
- Too cumbersome
- The lack of ad hoc query capability put heavy pressure on programmers
- Any structural change in the database could produce havoc in all application programs that drew data from the database
- Many database old-timers can recall the interminable information delays
The Relational Model
Developed by Codd (IBM) in 1970
Considered ingenious but impractical in 1970
Conceptually simple
Computers lacked power to implement the relational model
Today, microcomputers can run sophisticated relational database software
The Relational Model (continued)
Relational Database Management System (RDBMS)
Performs same basic functions provided by hierarchical and network
DBMS systems, in addition to a host of other functions
Most important advantage of the RDBMS is its ability to hide the complexities of the relational model from the user
The Relational Model (continued)
Table (relations)
- Matrix consisting of a series of row/column intersections
- Related to each other through sharing a common entity characteristic Relational diagram
- Representation of relational database’s entities, attributes within those entities, and relationships between those entities
The Relational Model (continued)
Relational Table
- Stores a collection of related entities
- Resembles a file
Relational table is purely logical structure
- How data are physically stored in the database is of no concern to the user or the designer
- This property became the source of a real database revolution
The Relational Model (continued)
Rise to dominance due in part to its powerful and flexible query language
Structured Query Language (SQL) allows the user to specify what must be done without specifying how it must be done
SQL-based relational database application involves:
- User interface
- A set of tables stored in the database
- SQL engine
The Entity Relationship Model
Widely accepted and adapted graphical tool for data modeling Introduced by Chen in 1976
Graphical representation of entities and their relationships in a database structure
The Entity Relationship Model
(continued)
Entity relationship diagram (ERD)
- Uses graphic representations to model database components
- Entity is mapped to a relational table
Entity instance (or occurrence) is row in table
Entity set is collection of like entities
Connectivity labels types of relationships
- Diamond connected to related entities through a relationship line
The Entity Relationship Model (continued)
The Object Oriented Model
Modeled both data and their relationships in a single structure known as an object
Object-oriented data model (OODM) is the basis for the objectoriented database management system (OODBMS)
OODM is said to be a semantic data model
HND in
The Object Oriented Model (continued)
Object described by its factual content
- Like relational model’s entity
Includes information about relationships between facts within object, and relationships with other objects
- Unlike relational model’s entity
Subsequent OODM development allowed an object to also contain all operations
Object becomes basic building block for autonomous structures
The Object Oriented Model (continued)
Object is an abstraction of a real-world entity
Attributes describe the properties of an object Objects that share similar characteristics are grouped in classes
Classes are organized in a class hierarchy
Inheritance is the ability of an object within the class hierarchy to inherit the attributes and methods of
classes above it
The Object Oriented Model (continued)
Other Models
Extended Relational Data Model (ERDM)
- Semantic data model developed in response to increasing complexity of applications
- DBMS based on the ERDM often described as an object/relational database management system
(O/RDBMS)
- Primarily geared to business applications
Database Models and the Internet
Internet drastically changed role and scope of database market
OODM and ERDM-O/RDM have taken a backseat to development of databases that interface with Internet
Dominance of Web has resulted in growing need to manage unstructured information
Data Models: A Summary
Each new data model capitalized on the shortcomings of previous models Common characteristics:
- Conceptual simplicity without compromising the semantic completeness of the database
- Represent the real world as closely as possible
- Representation of real-world transformations (behavior) must comply with consistency and integrity characteristics of any data model
Data Models: A Summary (continued)
Degrees of Data Abstraction
(Database Schema)
Way of classifying data models
Many processes begin at high level of abstraction and proceed to an ever-increasing level of detail
Designing a usable database follows the same basic process
HND in
Degrees of Data Abstraction (continued)
American National Standards Institute (ANSI) Standards Planning and
Requirements Committee (SPARC)
- Defined a framework for data modeling based on degrees of data abstraction(1970s):
- External
- Conceptual
- Internal
Degrees of Data Abstraction (continued)
HND in
The External Model
End users’ view of the data environment
Requires that the modeler subdivide set of requirements and constraints into functional modules that can be examined within the
framework of their external models
45e External Model (continued)
Advantages:
- Easy to identify specific data required to support each business unit’s operations
- Facilitates designer’s job by providing feedback about the model’s adequacy
- Creation of external models helps to ensure security constraints in the database design
- Simplifies application program development
The External Model (continued)
The Conceptual Model
Represents global view of the entire database
Representation of data as viewed by the entire organization
Basis for identification and high-level description of main data objects, avoiding details
Most widely used conceptual model is the entity relationship (ER) model
The Conceptual Model (continued)
The Conceptual Model (continued)
Provides a relatively easily understood macro level view of data environment
Independent of both software and hardware
- Does not depend on the DBMS software used to implement the model
- Does not depend on the hardware used in the implementation of the model
- Changes in either hardware or DBMS software have no effect on the database design at the conceptual level
The Internal Model
Representation of the database as “seen” by the DBMS
Maps the conceptual model to the DBMS
The Internal Model (continued)
The Physical Model
Operates at lowest level of abstraction, describing the way data are saved on storage media such as disks or tapes Software and hardware dependent
Requires that database designers have a detailed knowledge of the hardware and software used to implement database Summary
A data model is a (relatively) simple abstraction of a complex realworld data environment
Basic data modeling components are:
- Entities
- Attributes
- Relationships
- Constraints
Summary (continued)
Hierarchical model
- Depicts a set of one-to-many (1:M) relationships between a parent and its children segments
Network data model
- Uses sets to represent 1:M relationships between record types
Relational model
- Current database implementation standard
- ER model is a popular graphical tool for data modeling that complements the relational model
Summary (continued)
Object is basic modeling structure of object oriented data model
The relational model has adopted many objectoriented extensions to become the extended relational data model (ERDM)
Data modeling requirements are a function of different data views (global vs. local) and level of
data abstraction