Lecture2

advertisement
Ref. Chapter2
Lecture2
Lecture2: Database Environment
1
Prepared by L. Nouf Almujally
• Overviews
• Three-level Architecture.
• Schemas and Instances
• External, conceptual, and external level
• Data Models and conceptual modeling
• Some terms definitions.
• Data Models
• Some Example about data models
• Database Languages
• Classification or models of DBMSs.
Lecture2
Topics Covered
2
Lecture2
Three-level
Architecture
3
Schemas and Instances
• when we define a new database, we specify its schema –
“the structure that describes the database”.
Lecture2
• important to distinguish between description of
database and the database itself
• schema (intention)
• instance (database state / extension)
• The actual data in the database at any point of time
• when we initially load data into the database, it is said to
move into the initial state of the database.
• each write operation (insert, delete, modify) changes
the current state of the database to its new state
4
• The Database is provide users with an abstract
view of data
• Abstract database means to hide certain details
of how data is stored and manipulated.
Lecture2
Three-level Architecture
5
Three-level Architecture
2. Conceptual Level (logical structure of entire database)
• Community view of the database.
• Describes what data is stored in database and
relationships among the data.
3. Internal Level ( the way DBMS and OS perceive the data)
• Physical representation of the database on the computer.
• Describes how the data is stored in the database.
Lecture2
1. External Level ( the ways users perceive the data)
• Users' view of the database.
• Describes that part of database that is relevant to a
particular user.
6
7
Lecture2
Lecture2
Illustrating Example
8
1. Each user should able to access the data, but
have a different customized view of data.
2. The DBA should be able to change the DB
storage structure without affecting the user’s
view.
3. The internal structure of database should
unaffected by changes to the physical aspects
of storage, such as change to new storage
device.
Lecture2
Reasons for Separations?
9
• The three-level architecture provides Data Independence,
which means that upper level are unaffected by changes
to lower level
• There are two kinds of data independence:
• Logical Data Independence
• Physical Data Independence
Lecture2
Data Independence
10
• Logical Data Independence
• Refers to immunity of external schemas to changes in
conceptual schema.
• Conceptual schema changes (e.g. addition/removal of
entities) should not require changes to external
schema or rewrites of application programs.
Lecture2
Data Independence
11
• Physical Data Independence
• Refers to immunity of conceptual schema to changes
in the internal schema.
• Internal schema changes (e.g. using different file
organizations, storage structures/devices) should not
require change to conceptual or external schemas.
Lecture2
Data Independence
12
Lecture2
Data Independence and the Three-Level
Architecture
13
14
Lecture2
Lecture2
Data Models
15
Terms
Terms
Definition
Entity
Represents a real world object or concept e.g. employee
and student
Attribute
Represents some property of interest that further
describes an entity e.g. employee name and student
number
Relationship
Represents the relation among two or more entities e.g.
work on relationship between employees and
departments.
Primary key
A primary key value defined on a key specifies that each
row in the table can be uniquely identified by the values in
the key e.g. student_ID
Foreign Keys
A foreign key is a key that points to the primary key of
another table.
16
Terms
Term
Definition
Table Names
Converting of entities into tables
Column Names
Converting of attributes into columns
Normalization
The process of organizing data to minimize
redundancy such as dividing large tables into smaller
(and less redundant) tables and defining relationships
between them
Denormalization
The process of attempting to optimise the read
performance of a database
Such as adding attributes to a relation from another
relation with which it will be joined
17
Integrated collection of concepts for describing
data, relationships between data, and constraints
on the data in an organization.
• Purpose
• To represent data in an understandable way.
• Data Model contains:
• High-level (Conceptual) models:
Lecture2
Data Model
• Logical models:
• Low-level (physical) models
18
Data Model
• High-level (Conceptual ) models:
• Logical models:
• Provide concepts about logical structure of data, closer
to physical models.
Lecture2
• Provide concepts that are close to the way end users
perceive data.
• Low-level (physical) models
• Provide concepts that describe the details of how data
is stored in the computer .
• Concepts provide by low-level data models are
generally meant for computer specialists, not for
typical ends users.
19
Conceptual Data Model
• A conceptual data model identifies the highest-level
relationships between the different entities. Features of
conceptual data model includes the important entities
and the relationships among them.
• No attribute is specified.
• No primary key is specified
From the figure, we can see that the only
information shown via the conceptual data
model is the entities that describe the data
and the relationships between those entities.
No other information is shown through the
conceptual data model.
Lecture2
.
20
Logical Data Model
•
A logical data model describes the data in as much detail as possible,
without regard to how they will be physical implemented in the
database.
Features of a logical data model include:
1.
2.
3.
4.
5.
•
Includes all entities and relationships among them.
All attributes for each entity are specified.
The primary key for each entity is specified.
Foreign keys (keys identifying the relationship between different
entities) are specified.
Normalization occurs at this level.
Lecture2
•
The steps for designing the logical data model are as follows:
1.
2.
3.
4.
5.
Specify primary keys for all entities.
Find the relationships between different entities.
Find all attributes for each entity.
Resolve many-to-many relationships.
Normalization.
21
•
Comparing the logical data model shown above with the conceptual data
model diagram, we see the main differences between the two:
1. in a logical data model, primary keys are present, whereas in a
conceptual data model, no primary key is present.
2. In a logical data model, all attributes are specified within an entity. No
attributes are specified in a conceptual data model.
3. Relationships between entities are specified using primary keys and
foreign keys in a logical data model. In a conceptual data model, the
relationships are simply stated, not specified, so we simply know that
two entities are related, but we do not specify what attributes are
used for this relationship.
Lecture2
The figure is an example of a
logical data model.
22
•
•
•
Physical data model represents how the model will be built in the database. A
physical database model shows all table structures, including column name,
column data type, column constraints, primary key, foreign key, and relationships
between tables.
Features of a physical data model include:
1. Specification all tables and columns.
2. Foreign keys are used to identify relationships between tables.
3. Denormalization may occur based on user requirements.
4. Physical considerations may cause the physical data model to be quite
different from the logical data model.
5. Physical data model will be different for different RDBMS. For example, data
type for a column may be different between MySQL and SQL Server.
The steps for physical data model design are as follows:
1.
2.
3.
4.
Convert entities into tables.
Convert relationships into foreign keys.
Convert attributes into columns.
Modify the physical data model based on physical constraints / requirements.
Lecture2
Physical Data Model
23
Lecture2
The figure below is an
example of a physical
data model.
•
Comparing the logical data model shown above with the logical
data model diagram, we see the main differences between the
two:
1. Entity names are now table names.
2. Attributes are now column names.
3. Data type for each column is specified. Data types can be
different depending on the actual database being used.
24
Conceptual, Logical, And Physical Data
Models
Feature
Conceptual
Logical
Entity Names
✓
✓
Entity
Relationships
✓
✓
Physical
Attributes
✓
Primary Keys
✓
✓
Foreign Keys
✓
✓
Table Names
✓
Column Names
✓
Column Data
Types
✓
Lecture2
• The three level of data modeling, conceptual data model, logical data
model, and physical data model, were discussed in prior sections.
• Here we compare these three types of data models. The table below
compares the different features:
25
Logical Model Design
Physical Model Design
• Summary: We can see that the complexity increases from conceptual
to logical to physical. This is why we always:
1. first start with the conceptual data model (so we understand at high
level what are the different entities in our data and how they relate
to one another),
2. then move on to the logical data model (so we understand the
details of our data without worrying about how they will actually
implemented),
3. and finally the physical data model (so we know exactly how to
implement our data model in the database of choice).
Lecture2
Conceptual Model Design
26
27
Lecture2
Lecture2
Database Languages
28
Database Languages
1.
2.
3.
Data Definition Language (DDL)
Data Manipulation Language (DML)
Data Control Language (DCL)
Lecture2
• It is made up of three components:
• Data Definition Language (DDL)
• Allows the DBAs or users to describe and name entities,
attributes, and relationships required for the application
( define a schema or modify an existing one)
• plus any associated integrity and security constraints.
29
Database Languages
• Data Manipulation Language (DML)
• Insertion of new data into the database
• Modification of data stored in the database
• Retrieval of data contained in the database
• Deletion of data from database
• Two type of DML:
• Procedural DML
• allows user to tell system exactly how to manipulate data.
Lecture2
• provides basic data manipulation operations on data held
in the database – include
• Ex. Oracle’s PL/SQL
• Non-Procedural DML
• allows user to state what data is needed rather than how it
is to be retrieved.
• Example : SQL (Structured Query Languages)
30
• The Data Control Language (DCL)
• This component of the database language is
used to create privileges to allow users access to
the database.
Lecture2
Database Languages
31
• SQL is made up of 4 components:
1.Data Definition Language (DDL)
2.Data Manipulation Language (DML)
3.Data Control Language (DCL)
4.Transaction control statements
Lecture2
SQL in Oracle
32
SQL in Oracle
1. The Data Definition Language (DDL)
This component of the SQL language is used to create and
modify tables and other objects in the database.
1. CREATE TABLE tablename : to create a table in the
database
2. DROP TABLE tablename : to remove a table from the
database
3. ALTER TABLE tablename : to add or remove columns
from a table in the database
Lecture2
 For tables there are three main commands:
33
SQL in Oracle
2. The Data Manipulation Language (DML)
 There are four main commands:
1. SELECT : to select rows of data from a table.
2. INSERT : to insert rows of data into a table.
3. UPDATE : to change rows of data in a table.
4. DELETE : to remove rows of data from a table.
Lecture2
component of the SQL language is used to manipulate data
within a table.
34
SQL in Oracle
This component of the SQL language is used to create
privileges to allow users access to, and manipulation of,
the database.
 There are two main commands:
1.GRANT : to grant a privilege to a user
2.REVOKE : to revoke (remove) a privilege from a user
Lecture2
3. The Data Control Language (DCL)
4. Transaction control statements
• COMMIT, ROLLBACK
35
36
Lecture2
Lecture2
Classification of
DBMSs
37
Classification or models of DBMSs
1. first generation
• Network, Hierarchical
2. second generation
• Relational
3. third generation
• Object-oriented, Object-relational
38
First Generation
 Network Data Model
 Hierarchical Data Model
Disadvantages:
• Required complex programs for even simple queries.
• Minimal data independence.
• No widely accepted theoretical foundation
39
Second Generation
• Relational Data Model
40
Third Generation
• Object-oriented Data Model
• Response to increasing complexity of DB applications
41
Relational Data Model (second generation)
• Computer database in which all data is stored in
Relations which are tables with rows and columns.
• Each table is composed of records (called Tuples) and
each record is identified by a field (attribute containing a
unique value).
42
Advantages of Relational model
The benefits of a database that has been designed
according to the relational model are numerous. Some of
them are:
• Data entry, updates and deletions will be efficient.
• Data retrieval, summarization and reporting will also be
efficient.
• Since the database follows a well-formulated model, it
behaves predictably.
• Since much of the information is stored in the database
rather than in the application, the database is somewhat
self-documenting.
• Changes to the database schema are easy to make.
43
44
Lecture2
• “Database Systems: A Practical Approach to
Design, Implementation and Management.”
Thomas
Connolly,
Carolyn
Begg.
5th Edition, Addison-Wesley, 2009.
Lecture2
References
45
Download