CSC9Q5 / ITNP31 (31Q5 / IT31) : Database Principles and Applications
CSC9Q5 / ITNP31 (31Q5 / IT31) : Database Principles and Applications
(31Q5 / IT31)
Database Principles and Applications
Dr Amir Hussain
Lecture 2: Database Approach, ANSI-SPARC Architecture
My name: Dr. Amir Hussain, Room 4B64, Email: ahu@cs.stir.ac.uk
Website link for my part of the Course (also accessible from main course website):
http://www.cs.stir.ac.uk/~ahu/31q5/
Note: No Tutorial Classes next week: Tutorial 1 classes commence week beginning 26 Sep
Practical 1 Classes (on Microsoft Access) start next week (beginning 19 Sep)
Course Review: So far.. (covered in Lecture 1 yesterday by Dr. Shankland)
• Manual File-based Systems
• Electronic File-based (De-centralized) Information Systems
• Problems with both of above
• Alternative approach: Introduction to Databases - Database & DBMS
Lecture 2 Today:
• Database approach: Database & DBMS continued…
• Introduction to the ANSI-SPARC Architecture
– Three Level Architecture
– Database Schemas Slide 2
Recap: The Database Approach
• The limitations of the file-based approach can be attributed to two
factors:
– The definition of the data (its nature and structure) is embedded in the
programs which are used, rather than being stored separately and
independently.
– There is no control over the access and manipulation of data beyond that
imposed by the programs.
• Rather than having disconnected files with redundant data, all data is
integrated, with minimum duplication.
• First, the DBMS allows users to define the database, usually through a
Data Definition Language (DDL).
– The DDL allows users to specify the data types and structures of, and the
constraints on, the data to be stored in the database.
• Second, the DBMS allows users to insert, update, delete, and retrieve
data from the database, usually through a Data Manipulation
Language (DML).
Slide 6
The Database Management System contd..
• The fact that the database provides a central storage repository for data
allows the DML to provide a general enquiry facility for this data,
called a query language.
– Query languages help prevent the problems of either a fixed set of
operations or a proliferation of programs that occur with file-based
systems.
Slide 7
The Database Environment
• A database system aims to provide users with an abstract view of data
by hiding certain details of how data is stored and manipulated.
• Therefore, the starting point for the design of a database must be an
abstract description of the information requirements of the
organisation. This will be in terms of entities, attributes and
relationships, as we saw before.
• And it will not be concerned at all with the mechanisms which might
be used to store or retrieve the data. (It is abstract.)
Slide 8
An Abstract View
• For example, in the estate agent example we may build an abstract
view which contains the following:
– Entities: Staff, Property, Owner, and Renter (maybe others, too).
– Attributes describing properties or qualities of each entity (e.g. Staff have
names, addresses, and salaries).
– Relationships between these entities (e.g. Owners own Properties).
• Since a database is a shared resource, we may also be concerned to
provide different users with different views of the data held in the
database.
Slide 9
The ANSI-SPARC Architecture
• Textbook (Ritchie): Chapter 2
Physical
Internal Internal
representation of
level Schema
the database
Physical
data Database
organisation
Slide 11
The Three-Level Architecture - II
• The objective of the three-level architecture is to separate the users’
view(s) of the database from the way that it is physically represented.
This is desirable for the following reasons:
• 1. It allows independent customised user views.
– Each user should be able to access the same data, but have a different
customised view of the data. These should be independent: changes to one
view should not affect others.
• 2. It hides the physical storage details from users.
– Users should not have to deal with physical database storage details. They
should be allowed to work with the data itself, without concern for how it
is physically stored.
• More ...
Slide 12
The Three-Level Architecture -III
• 3. The database administrator should be able to change the database
storage structures without affecting the users’ views.
– From time to time rationalisations or otherchanges to the structure of an
organisation’s data will be required.
• 4. The internal structure of the database should be unaffected by
changes to the physical aspects of the storage.
– For example, a changeover to a new disk.
• 5. The database administrator should be able to change the conceptual
or global structure of the database without affecting the users.
– This should be possible while still maintaining the desired individual
users’ views.
Slide 13
The External Level
• The external level represents the user’s view of the database.
– It consists of a number of different views of the database, potentially one
for each user.
• It describes the part of the database that is relevant to a particular user.
– For example, large organisations may have finance and stock control
departments.
– Workers in finance will not usually view stock details as they are more
concerned with the accounting side of things, for example.
– Thus, workers in each department will require a different user interface to
the information stored in the database.
• Views may provide different representations of the same data.
– For example, some users might view dates in the form (day/month/year)
while others prefer (year/month/day).
• Some views might include derived or calculated data.
– For example, a person’s age might be calculated from their date of birth
since storing their age would require it to be updated each year.
Slide 14
The Conceptual Level
• The conceptual level describes what data is stored in the database and
the relationships among the data.
• It is a complete view of the data requirements of the organisation that is
independent of any storage considerations.
• The conceptual level represents:
– All entities, their attributes, and their relationships.
– The constraints on the data.
– Security and integrity information.
• The conceptual level supports each external view, in that any data
available to a user must be contained in, or derivable from, the
conceptual level.
• The description of the conceptual level must not contain any storage-
dependent details.
Slide 15
The Internal Level
• The internal level covers the physical representation of the database on
the computer (and may be specified in some programming language).
• It describes how the data is stored in the database in terms of particular
data structures and file organisations.
• The internal level is concerned with:
– Allocating storage space for data and indexes.
– Describing the forms that records will take when stored.
– Record placement. Assembling records into files.
– Data compression and encryption techniques.
• The internal level interfaces with the OS to place data on the storage
devices, build the indexes, retrieve the data, etc.
• Below the internal level is the physical level which is managed by the
OS under the direction of the DBMS. It deals with the mechanics of
physically storing data on a device such as a disk.
Slide 16
Differences between the Levels
External View 1 External View 2
Sno Fname Lname Age Salary StaffNo Lname Bno
view 1
Conceptual Level StaffNo Fname Lname DOB Salary BranchNo
Struct STAFF {
int StaffNo;
int BranchNo;
char Fname[15];
Internal Level char Lname[15];
struct date DateOfBirth;
float Salary;
struct STAFF *next; // pointer to next record
};
Slide 17
Database Schemas
• The overall description of a database is called the database schema.
• The conceptual schema describes all the data items and relationships
between them, together with integrity constraints (later).
– There is only one conceptual schema per database.
Slide 18
Mapping Between Schemas
• The DBMS is responsible for mapping between the three types of
schema (i.e. how they actually correspond with each other).
• It must also check the schemas for consistency.
– Each external schema must be derivable from the conceptual schema.
• Each external schema is related to the conceptual schema by the
external/conceptual mapping.
• This enables the DBMS to map data in the user’s view onto the
relevant part of the conceptual schema.
• A conceptual/internal mapping relates the conceptual schema to the
internal schema.
• This enables the DBMS to find the actual record or combination of
records in physical storage that constitute a logical record in the
conceptual schema.
Slide 19
Example of the Different Levels
External View External View
Sno Fname Lname Age Salary StaffNo Lname Bno
External/Conceptual
mapping
view 1
Conceptual Level StaffNo Fname Lname DOB Salary BranchNo
Conceptual/Internal
mapping
Struct STAFF {
int StaffNo;
int BranchNo;
Internal Level char Fname[15];
char Lname[15];
struct date DateOfBirth;
float Salary;
struct STAFF *next; // pointer to next record
};
Slide 20
Notes on the Example
• The two external views are based on the conceptual view.
– The Age field is derived from the DOB (Date of Birth) field.
– The Sno field is mapped onto the StaffNo field of the conceptual record.
• Note that the order of the fields in the physical structure is different
from that of the conceptual record.
Slide 21
Data Independence -I
• A major objective of the ANSI-SPARC architecture is to provide data
independence meaning that upper levels are isolated from changes to
lower levels.
• There are two kinds of data independence:
• Logical data independence refers to the immunity of external schemas
to changes in the conceptual schema.
– Changes to the conceptual schema (adding/removing entities, attributes, or
relationships) should be possible without having to change existing
external schemas or rewrite application programs.
Conceptual
Schema
Internal
Schema
Slide 23
Looking Ahead (Next week beginning 19 Sep)
• Tutorial 1 Sheet will be handed out - for Tutorial classes starting in following
week (beginning Monday, 26 September)
– Database Languages
• DDL, DML
– Data Models
• Relational Data Models
• The Entity Relationship (ER/EAR) Model
Slide 24