Lecture2: Database Environment Prepared by L. Nouf Almujally 1 Ref. Chapter2 Lecture2.

45
Lecture2: Database Environment Prepared by L. Nouf Almujally 1 Ref. Chapter2 Lecture2

Transcript of Lecture2: Database Environment Prepared by L. Nouf Almujally 1 Ref. Chapter2 Lecture2.

Lecture2: Database Environment

Prepared by L. Nouf Almujally

1

Ref. Chapter2

Lect

ure

2

Topics Covered

• 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.

2

Lect

ure

2

Three-level Architecture Le

cture

2

3

Schemas and Instances

• important to distinguish between description of database and the database itself • schema (intention) • when we define a new database, we specify its schema –

“the structure that describes the database”.• 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 state4

Lect

ure

2

Three-level Architecture

• 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.

5

Lect

ure

2

Three-level Architecture

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.

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.

6

Lect

ure

2

7

Lect

ure

2

Illustrating Example

8

Lect

ure

2

Reasons for Separations?

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.

9

Lect

ure

2

Data Independence

• 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

10

Lect

ure

2

Data Independence

• 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.

11

Lect

ure

2

Data Independence

• 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.

12

Lect

ure

2

Data Independence and the Three-Level Architecture

13

Lect

ure

2

Lect

ure

2

14

Data Models Lect

ure

2

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 keyA 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 databaseSuch as adding attributes to a relation from another relation with which it will be joined 17

Data Model

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: • Logical models: • Low-level (physical) models 18

Lect

ure

2

Data Model

• High-level (Conceptual ) models: • Provide concepts that are close to the way end users

perceive data.

• Logical models: • Provide concepts about logical structure of data, closer

to physical models.

• 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.

Lect

ure

2

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

20

.

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.

Lect

ure

2

 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. Includes all entities and relationships among them.2. All attributes for each entity are specified.3. The primary key for each entity is specified.4. Foreign keys (keys identifying the relationship between different

entities) are specified.5. Normalization occurs at this level.

• The steps for designing the logical data model are as follows:1. Specify primary keys for all entities.2. Find the relationships between different entities.3. Find all attributes for each entity.4. Resolve many-to-many relationships.5. Normalization.

21

Lect

ure

2

• 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.

22

The figure is an example of a logical data model.

Lect

ure

2

Physical Data Model • 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. Convert entities into tables.2. Convert relationships into foreign keys.3. Convert attributes into columns.4. Modify the physical data model based on physical constraints / requirements.

Lect

ure

2

23

• 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

The figure below is an example of a physical data model.

Lect

ure

2

Conceptual, Logical, And Physical Data Models 

• 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:

Lect

ure

2

25

Feature Conceptual Logical Physical

Entity Names ✓ ✓  

Entity Relationships ✓ ✓  

Attributes   ✓  

Primary Keys   ✓ ✓

Foreign Keys   ✓ ✓

Table Names     ✓

Column Names     ✓

Column Data Types     ✓

Conceptual Model Design 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).

Lect

ure

2

26

Lect

ure

2

27

Database Languages Lect

ure

2

28

Database Languages

• It is made up of three components:1. Data Definition Language (DDL)2. Data Manipulation Language (DML)3. Data Control Language (DCL)

• 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

Lect

ure

2

Database Languages

• Data Manipulation Language (DML)• provides basic data manipulation operations on data held

in the database – include• 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. • 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

Lect

ure

2

Database Languages

• The Data Control Language (DCL) • This component of the database language is

used to create privileges to allow users access to the database.

31

Lect

ure

2

SQL in Oracle• 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

32

Lect

ure

2

SQL in Oracle1. The Data Definition Language (DDL)

This component of the SQL language is used to create and modify tables and other objects in the database.

For tables there are three main commands:1. CREATE TABLE tablename : to create a table in the

database2. DROP TABLE tablename : to remove a table from the

database3. ALTER TABLE tablename : to add or remove columns

from a table in the database

33

Lect

ure

2

SQL in Oracle2. The Data Manipulation Language (DML)

component of the SQL language is used to manipulate data within a table.

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.

34

Lect

ure

2

SQL in Oracle3. The Data Control Language (DCL)

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 user2.REVOKE : to revoke (remove) a privilege from a user

4. Transaction control statements• COMMIT, ROLLBACK

35

Lect

ure

2

Lect

ure

2

36

Classification of DBMSs Le

cture

2

37

Classification or models of DBMSs

1. first generation• Network, Hierarchical

2. second generation• Relational

3. third generation• Object-oriented, Object-relational

38

Network Data Model

Hierarchical Data Model

Disadvantages: • Required complex programs for even simple queries.• Minimal data independence.• No widely accepted theoretical foundation

First Generation

39

Second Generation

40

• Relational Data Model

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

Lect

ure

2

44

References

• “Database Systems: A Practical Approach to Design, Implementation and Management.”Thomas Connolly, Carolyn Begg.5th Edition, Addison-Wesley, 2009.

Lect

ure

2

45