58
Problem Definition Database Management Systems References Database Systems Introduction H. Turgut Uyar ¸ Sule ¨ ud¨ uc¨ u 2002-2014 H. Turgut Uyar, ¸ Sule ¨ O˘g¨ ud¨ uc¨ u Database Systems

Database Systems - Introduction

Embed Size (px)

DESCRIPTION

Definitions in database systems, problems with record files, database management system architecture.

Citation preview

Page 1: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

Database SystemsIntroduction

H. Turgut Uyar Sule Oguducu

2002-2014

H. Turgut Uyar, Sule Oguducu Database Systems

Page 2: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

License

c© 2002-2014 T. Uyar, S. OguducuYou are free to:

Share – copy and redistribute the material in any medium or format

Adapt – remix, transform, and build upon the material

Under the following terms:

Attribution – You must give appropriate credit, provide a link to the license,and indicate if changes were made.

NonCommercial – You may not use the material for commercial purposes.

ShareAlike – If you remix, transform, or build upon the material, you mustdistribute your contributions under the same license as the original.

For more information:https://creativecommons.org/licenses/by-nc-sa/4.0/

Read the full license:

https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode

H. Turgut Uyar, Sule Oguducu Database Systems

Page 3: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

Topics

1 Problem DefinitionIntroductionProblems

2 Database Management SystemsIntroductionClient / ServerSQL

H. Turgut Uyar, Sule Oguducu Database Systems

Page 4: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Topics

1 Problem DefinitionIntroductionProblems

2 Database Management SystemsIntroductionClient / ServerSQL

H. Turgut Uyar, Sule Oguducu Database Systems

Page 5: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Problem Definition

aim: store and process large amounts of data effectively

basic operations:

add new datachange existing datadelete dataquery data: planned - ad hoc

CRUD: create - read - update - delete

H. Turgut Uyar, Sule Oguducu Database Systems

Page 6: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Problem Definition

aim: store and process large amounts of data effectively

basic operations:

add new datachange existing datadelete dataquery data: planned - ad hoc

CRUD: create - read - update - delete

H. Turgut Uyar, Sule Oguducu Database Systems

Page 7: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Data

persistent data:data that must be stored due to the nature of the information

temporary data

output data: data that can be derived from persistent data(query results, reports, etc.)

input data: unprocessed data that just entered the system

can be added to persistent datacan cause changes in persistent datacan be ignored completely

H. Turgut Uyar, Sule Oguducu Database Systems

Page 8: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Data

persistent data:data that must be stored due to the nature of the information

temporary data

output data: data that can be derived from persistent data(query results, reports, etc.)

input data: unprocessed data that just entered the system

can be added to persistent datacan cause changes in persistent datacan be ignored completely

H. Turgut Uyar, Sule Oguducu Database Systems

Page 9: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Roles

end users:people who work on the data

assumed not to have any technical knowledge

application programmers:people who develop the programs that the end users use

H. Turgut Uyar, Sule Oguducu Database Systems

Page 10: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Roles

end users:people who work on the data

assumed not to have any technical knowledge

application programmers:people who develop the programs that the end users use

H. Turgut Uyar, Sule Oguducu Database Systems

Page 11: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Application Example

Example (university student data)

Student Affairs:student name, number,department, courses taken,internships, etc.

common data:student name, number,department, etc.

Library:student name, number,department, books lent, etc.

application specific data:courses, internships, books,etc.

H. Turgut Uyar, Sule Oguducu Database Systems

Page 12: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Application Example

Example (university student data)

Student Affairs:student name, number,department, courses taken,internships, etc.

common data:student name, number,department, etc.

Library:student name, number,department, books lent, etc.

application specific data:courses, internships, books,etc.

H. Turgut Uyar, Sule Oguducu Database Systems

Page 13: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Record Files

every application has its own data

every application keeps its datain the files that it manages itself

H. Turgut Uyar, Sule Oguducu Database Systems

Page 14: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Topics

1 Problem DefinitionIntroductionProblems

2 Database Management SystemsIntroductionClient / ServerSQL

H. Turgut Uyar, Sule Oguducu Database Systems

Page 15: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Redundancy

the same data is kept in multiple places

waste of disk space

Example

the names, numbers and departments of students are keptboth in Student Affairs and in the Library

H. Turgut Uyar, Sule Oguducu Database Systems

Page 16: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Redundancy

the same data is kept in multiple places

waste of disk space

Example

the names, numbers and departments of students are keptboth in Student Affairs and in the Library

H. Turgut Uyar, Sule Oguducu Database Systems

Page 17: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Inconsistency

multiple copies of the same data can become different

Example

the name of the same student can be recordedas ”Victoria Adams” in Student Affairs andas ”Victoria Beckham” in the Library

H. Turgut Uyar, Sule Oguducu Database Systems

Page 18: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Inconsistency

multiple copies of the same data can become different

Example

the name of the same student can be recordedas ”Victoria Adams” in Student Affairs andas ”Victoria Beckham” in the Library

H. Turgut Uyar, Sule Oguducu Database Systems

Page 19: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Loss of Integrity

it is difficult to keep the data correct

Example

the ”Control and Computer Engineering” department is closedbut the department data of its students remains the same

H. Turgut Uyar, Sule Oguducu Database Systems

Page 20: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Loss of Integrity

it is difficult to keep the data correct

Example

the ”Control and Computer Engineering” department is closedbut the department data of its students remains the same

H. Turgut Uyar, Sule Oguducu Database Systems

Page 21: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Difficulties in New Applications

a lot of work must be duplicated for every new application

Example

a new application will be developed for the Scholarship Office

H. Turgut Uyar, Sule Oguducu Database Systems

Page 22: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Difficulties in New Applications

a lot of work must be duplicated for every new application

Example

a new application will be developed for the Scholarship Office

H. Turgut Uyar, Sule Oguducu Database Systems

Page 23: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Policy Gaps

no standards in the applications of the institution

different paradigms, methods, programming languagesdata transfer between applications

each department considers only its own requirements

H. Turgut Uyar, Sule Oguducu Database Systems

Page 24: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Policy Gaps

no standards in the applications of the institution

different paradigms, methods, programming languagesdata transfer between applications

each department considers only its own requirements

H. Turgut Uyar, Sule Oguducu Database Systems

Page 25: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Security

hard to define detailed security permissions

security depends only on the operating system

H. Turgut Uyar, Sule Oguducu Database Systems

Page 26: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Data Dependence

Definition

data dependence:application code depends on the organization of the dataand the access method

hard to make changes in the code

H. Turgut Uyar, Sule Oguducu Database Systems

Page 27: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Data Dependence

Example

the student number is a string in Student Affairsbut a number in the Library

the Student Affairs application keeps a B-tree indexon the student number

B-tree search algorithms are used in queries

H. Turgut Uyar, Sule Oguducu Database Systems

Page 28: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionProblems

Data Dependence

Example

the student number is a string in Student Affairsbut a number in the Library

the Student Affairs application keeps a B-tree indexon the student number

B-tree search algorithms are used in queries

H. Turgut Uyar, Sule Oguducu Database Systems

Page 29: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Topics

1 Problem DefinitionIntroductionProblems

2 Database Management SystemsIntroductionClient / ServerSQL

H. Turgut Uyar, Sule Oguducu Database Systems

Page 30: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Database Management Systems

data is kept in a shared system

applications access dataover a common interface

H. Turgut Uyar, Sule Oguducu Database Systems

Page 31: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

ANSI/SPARC Architecture

H. Turgut Uyar, Sule Oguducu Database Systems

Page 32: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

External Level

external level from the end user’s perspective:

the data needed by that end userthe interface of the application that she is using

external level from the application programmer’s perspective:

the programming language she usesthe extensions to this language for database operations:data sublanguage

H. Turgut Uyar, Sule Oguducu Database Systems

Page 33: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

External Level

external level from the end user’s perspective:

the data needed by that end userthe interface of the application that she is using

external level from the application programmer’s perspective:

the programming language she usesthe extensions to this language for database operations:data sublanguage

H. Turgut Uyar, Sule Oguducu Database Systems

Page 34: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Conceptual Level

conceptual level: the entire data

where data independence is achieved

catalogue:definitions that describe the content of the data

databasesdata types, integrity constraintsusers, privileges, security constraints

H. Turgut Uyar, Sule Oguducu Database Systems

Page 35: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Conceptual Level

conceptual level: the entire data

where data independence is achieved

catalogue:definitions that describe the content of the data

databasesdata types, integrity constraintsusers, privileges, security constraints

H. Turgut Uyar, Sule Oguducu Database Systems

Page 36: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Internal Level

internal level: implementation details

how the data is represented

files, records

how the data is accessed

pointers, indexes, B-trees

H. Turgut Uyar, Sule Oguducu Database Systems

Page 37: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Internal Level

internal level: implementation details

how the data is represented

files, records

how the data is accessed

pointers, indexes, B-trees

H. Turgut Uyar, Sule Oguducu Database Systems

Page 38: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Conversions

conversions between levels for data independence

Example (conceptual - external)

present the student numberas a string to the Student Affairs application, andas a number to the Library application

Example (conceptual - internal)

generate an index on the student number

H. Turgut Uyar, Sule Oguducu Database Systems

Page 39: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Conversions

conversions between levels for data independence

Example (conceptual - external)

present the student numberas a string to the Student Affairs application, andas a number to the Library application

Example (conceptual - internal)

generate an index on the student number

H. Turgut Uyar, Sule Oguducu Database Systems

Page 40: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Conversions

conversions between levels for data independence

Example (conceptual - external)

present the student numberas a string to the Student Affairs application, andas a number to the Library application

Example (conceptual - internal)

generate an index on the student number

H. Turgut Uyar, Sule Oguducu Database Systems

Page 41: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Administrator Roles

data administator: makes the decisions

which data will be stored?who can access which data?

database administrator: applies the decisions

defines the conceptual - external/internal conversionsadjusts system performanceguarantees system availability

H. Turgut Uyar, Sule Oguducu Database Systems

Page 42: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Administrator Roles

data administator: makes the decisions

which data will be stored?who can access which data?

database administrator: applies the decisions

defines the conceptual - external/internal conversionsadjusts system performanceguarantees system availability

H. Turgut Uyar, Sule Oguducu Database Systems

Page 43: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

DBMS Functions

data definition language

data manipulation language

checking whether data manipulation requestsconform to integrity and security constraints

processing simultaneous requests properly

performance

H. Turgut Uyar, Sule Oguducu Database Systems

Page 44: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

DBMS Functions

data definition language

data manipulation language

checking whether data manipulation requestsconform to integrity and security constraints

processing simultaneous requests properly

performance

H. Turgut Uyar, Sule Oguducu Database Systems

Page 45: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

DBMS Functions

data definition language

data manipulation language

checking whether data manipulation requestsconform to integrity and security constraints

processing simultaneous requests properly

performance

H. Turgut Uyar, Sule Oguducu Database Systems

Page 46: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

DBMS Functions

data definition language

data manipulation language

checking whether data manipulation requestsconform to integrity and security constraints

processing simultaneous requests properly

performance

H. Turgut Uyar, Sule Oguducu Database Systems

Page 47: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

DBMS Functions

data definition language

data manipulation language

checking whether data manipulation requestsconform to integrity and security constraints

processing simultaneous requests properly

performance

H. Turgut Uyar, Sule Oguducu Database Systems

Page 48: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Topics

1 Problem DefinitionIntroductionProblems

2 Database Management SystemsIntroductionClient / ServerSQL

H. Turgut Uyar, Sule Oguducu Database Systems

Page 49: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Client / Server Architecture

server:provides the DBMS functions

client:provides the interaction between the user and the server

vendor supplied tools (query processors, report generators, etc.)applications developed by application programmers

H. Turgut Uyar, Sule Oguducu Database Systems

Page 50: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Client / Server Architecture

server:provides the DBMS functions

client:provides the interaction between the user and the server

vendor supplied tools (query processors, report generators, etc.)applications developed by application programmers

H. Turgut Uyar, Sule Oguducu Database Systems

Page 51: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Architecture

the client and the server can beon the same computer oron different computers

H. Turgut Uyar, Sule Oguducu Database Systems

Page 52: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Multiple Clients / Single Server

many clients can connectto a single server

server is a bottleneck

replication

H. Turgut Uyar, Sule Oguducu Database Systems

Page 53: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Multiple Clients / Single Server

many clients can connectto a single server

server is a bottleneck

replication

H. Turgut Uyar, Sule Oguducu Database Systems

Page 54: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

Topics

1 Problem DefinitionIntroductionProblems

2 Database Management SystemsIntroductionClient / ServerSQL

H. Turgut Uyar, Sule Oguducu Database Systems

Page 55: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

SQL

Structured Query Language

data definition languagedata manipulation languageinteraction with general purpose programming languages

history

started by IBM in the 1970sstandards: 1992, 1999, 2003

H. Turgut Uyar, Sule Oguducu Database Systems

Page 56: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

SQL

Structured Query Language

data definition languagedata manipulation languageinteraction with general purpose programming languages

history

started by IBM in the 1970sstandards: 1992, 1999, 2003

H. Turgut Uyar, Sule Oguducu Database Systems

Page 57: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

IntroductionClient / ServerSQL

SQL Products

Oracle

IBM DB2, Progress, MS-SQL, Sybase

open source: PostgreSQL, MySQL, Firebird

embedded: SQLite, MS Access

H. Turgut Uyar, Sule Oguducu Database Systems

Page 58: Database Systems - Introduction

Problem DefinitionDatabase Management Systems

References

References

Required Reading: Date

Chapter 1: An Overview of Database Management

1.4. Why Database?1.5. Data Independence

Chapter 2: Database System Architecture

H. Turgut Uyar, Sule Oguducu Database Systems