3. Understand a DBMS and define its components.
Understand the architecture of a DBMS and its levels.
Distinguish between different database models.
Understand the concept of relational database operations
on a relation.
OBJECTIVES
Use Structured Query Language (SQL) to define simple
relations.
5. DBMS
• Database – a collection of data that is logically coherent.
• DBMS – Database Management System
– defines, creates, and maintains a database.
– Allows users controlled access to data in the database.
– A combination of 5 components:
• Hardware
• Software
• Data
• Users
• Procedures
6. DBMS components
Hardware –
the physical computer system that allows physical access to data.
Software –
the actual program that allows users to access, maintain, and update
physical data.
Data – stored physically on the storage devices
Users –
End users - Normal user and DBA (Database Administrator)
Application programs
Procedures –
a set of rules that should be clearly defined and followed by the users.
9. Architecture
• Internal level –
– Determines where data are actually stored on the storage
device.
– Low-level access method
• Conceptual level –
– Defines the logical view of the data
– The main functions of DBMS are in this level.
• External level –
– Interacts directly with the user.
– Change the data coming from the conceptual level to a
format and view that are familiar to the users.
11. Database models
• A database model
– defines the logical design of data.
– Describes the relationships between different
parts of data.
• 3 models
– Hierarchical model
– Network model
– Relational model
12. Hierarchical model
Data are organized as an upside down tree.
Each entity has only one parent but can have
several children.
13. Network model
The entities are organized in a graph.
Some entities can be accessed through several paths.
14. Relational model
Data are organized in two-dimensional tables
called relations.
The tables are related to each other.
The most popular model.
16. Relational model
• RDBMS (Relational Database Management System)
• external view
– The data are represented as a set of relations.
– A relation is a two-dimensional table.
• This doesn’t mean that data are stored as tables;
the physical storage of the data is independent of
the way the data are logically organized.
17. Relation
Name – each relation in a relational database should have a name that is
unique among other relations.
Attribute – each column in a relation.
The degree of the relation – the total number of attributes for a relation.
Tuple – each row in a relation.
The cardinality of the relation – the total number of rows in a relation.
19. Operations on relations
• In a relational database, we can define several operations to
create new relations out of the existing ones.
• Basic operations:
– Insert
– Delete
– Update
– Select
– Project
– Join
– Union
– Intersection
– Difference
21. Delete operation
An unary operation.
Delete a tuple defined by a criterion from the relation.
22. Update operation
An unary operation.
Changes the value of some attributes of a tuple.
23. Select operation
An unary operation.
It is applied to one single relation and creates another
relation.
The tuples in the resulting relation are a subset of the tuples
in the original relation.
Use some criteria to select
24. Project operation
An unary operation.
It is applied to one single relation and creates another
relation.
The attributes in the resulting relation are a subset of the
attributes in the original relation.
25. Join operation
A binary operation.
Combines two relations based on common attributes.
26. Union operation
A binary operation.
Creates a new relation in which each tuple is either in the
first relation, in the second, or in both.
The two relations must have the same attributes.
27. Intersection operation
A binary operation.
Creates a new relation in which each tuple is a member in
both relations.
The two relations must have the same attributes.
28. Difference operation
A binary operation.
Creates a new relation in which each tuple is in the first
relation but not the second.
The two relations must have the same attributes.
30. SQL (Structured Query Language)
• Standardized by ANSI and ISO for use on relational
databases.
• It is a declarative (not procedural) language, which
means that the users declare what they want
without having to write a step-by-step procedure.
• First implemented by Oracle in 1979.
• SQL allows you to combine the following statements
to extract more complex information from database.
36. Join
• select attribute-list
from RELATION1,RELATION2
where criteria
select No,Course-Name,Unit,Professor
from COURSES,TAUGHT-BY
where COURSES.No=TAUGHT-BY.No
37. Union
• select *
from RELATION1
union
select *
from RELATION2
select *
from CIS15-Roster
union
select *
from CIS52-Roster
38. Intersection
• select *
from RELATION1
intersection
select *
from RELATION2
select *
from CIS15-Roster
intersection
select *
from CIS52-Roster
39. Difference
• select *
from RELATION1
minus
select *
from RELATION2
select *
from CIS15-Roster
minus
select *
from CIS52-Roster
41. Distributed databases
• It is not a new model. It is based on relational model.
• The data are stored on several computers that
communicate through the Internet or some private WAN.
• Data are either fragmented, with each fragment stored at
one site, or data are replicated at each site.
– Fragmented distributed databases
– Replicated distributed databases
42. Object-Oriented databases
• Some application like to see data as a structure
such as a record made of fields.
• Tries to keep the adv. of the relational model and
allows applications to access structured data.
• In an OODB, objects and their relations are
defined. In addition, each object can have
attributes that can be expressed as fields.