A characteristic of the database approach is that it provides a level of data abstraction, by hiding details of data storage that are not needed by most users.
A data model is a collection of concepts that can be used to describe the structure of a database. The model provides the necessary means to achieve the abstraction.
The structure of a database is characterized by data types, relationships, and constraints that hold for the data. Models also include a set of operations for specifying retrievals and updates.
Data models are changing to include concepts to specify the behaviour of the database application. This allows designers to specify a set of user defined operations that are allowed.
Categories of Data Models
Data models can be categorized in multiple ways.
High level/conceptual data models –provide concepts close to the way users perceive the data.
Physical data models –provide concepts that describe the details of how data is stored in the computer. These concepts are generally meant for the specialist, and not the end user.
Representational data models –provide concepts that may be understood by the end user but not far removed from the way data is organized.
Conceptual data models use concepts such as entities, attributes and relationships.
Entity –represents a real world object or concept
Attribute - represents property of interest that describes an entity, such as name or salary.
Relationships –among two or more entities, represents an association among two or more entities.
Representational data models are used most frequently in commercial DBMSs. They include relational data models, and legacy models such as network and hierarchical models.
Physical data models describe how data is stored in files by representing record formats, record orderings and access paths.
Object data models –a group of higher level implementation data models closer to conceptual data models
Three Schema Architecture
The goal of the three schema architecture is to separate the user applications and the physical database. The schemas can be defined at the following levels:
1. The internal level –has an internal schema which describes the physical storage structure of the database. Uses a physical data model and describes the complete details of data storage and access paths for the database.
2. The conceptual level –has a conceptual schema which describes the structure of the database for users. It hides the details of the physical storage structures, and concentrates on describing entities, data types, relationships, user operations and constraints. Usually a representational data model is used to describe the conceptual schema.
3. The External or View level –includes external schemas or user vies. Each external schema describes the part of the database that a particular user group is interested in and
hides the rest of the database from that user group. Represented using the representational data model.
The three schema architecture is used to visualize the schema levels in a database. The three schemas are only descriptions of data, the data only actually exists is at the physical level.
• Deals with physical storage of data
Structure of records on disk - files, pages, blocks
• Indexes and ordering of records
• Used by database system programmers Internal Schema
• Deals with the organisation of the data as a whole
• Abstractions are used to remove unnecessary details of the internal level
• Used by DBAs and application programmers
• Conceptual Schema
CREATE TABLE Employee ( Name VARCHAR(25), Salary
DOUBLE, Dept_Name VARCHAR(10));
• Provides a view of the database tailored to a user
• Parts of the data may be hidden
• Data is presented in a useful form
• Used by end users and application programmers
External Schemas Payroll:
• Mappings translate information from one level to the next
• These mappings provide data independence
• Physical data independence
• Changes to internal level shouldn‟t aff
• Logical data independence
• Conceptual level changesxternallevels shouldn‟t affe
Data Model Architecture: