Top Banner
1 Computer Science: An Overview Chapter 9: Database Systems Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright © 2012 Pearson Education, Inc. Chapter 9: Database Systems 9.1 Database Fundamentals 9.2 The Relational Model 9.3 Object-Oriented Databases 9.4 Maintaining Database Integrity 9.5 Traditional File Structures Copyright © 2012 Pearson Education, Inc. 0-2 9.6 Data Mining 9.7 Social Impact of Database Technology
22

Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

Jun 23, 2018

Download

Documents

ngokhue
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

1

Computer Science: An Overview

Chapter 9:Database Systems

Computer Science: An OverviewEleventh Edition

by J. Glenn Brookshear

Copyright © 2012 Pearson Education, Inc.

Chapter 9: Database Systems

• 9.1 Database Fundamentals

• 9.2 The Relational Model

• 9.3 Object-Oriented Databases

• 9.4 Maintaining Database Integrity

• 9.5 Traditional File Structures

Copyright © 2012 Pearson Education, Inc. 0-2

• 9.6 Data Mining

• 9.7 Social Impact of Database Technology

Page 2: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

2

Database

A collection of data that is multidimensional i th th t i t l li k b t itin the sense that internal links between its entries make the information accessible from a variety of perspectives

Copyright © 2012 Pearson Education, Inc. 0-3

Figure 9.1 A file versus a database organization

Copyright © 2012 Pearson Education, Inc. 0-4

Page 3: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

3

Figure 9.2 The conceptual layers of a database implementation

Copyright © 2012 Pearson Education, Inc. 0-5

Schemas

• Schema: A description of the structure of ti d t b d b d t ban entire database, used by database

software to maintain the database

• Subschema: A description of only that portion of the database pertinent to a particular user’s needs, used to prevent

Copyright © 2012 Pearson Education, Inc. 0-6

particular user s needs, used to prevent sensitive data from being accessed by unauthorized personnel

Page 4: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

4

Database Management Systems

• Database Management System (DBMS): A software layer that manipulates a database insoftware layer that manipulates a database in response to requests from applications

• Distributed Database: A database stored on multiple machines– DBMS will mask this organizational detail from its

users

D t i d d Th bilit t h th

Copyright © 2012 Pearson Education, Inc. 0-7

• Data independence: The ability to change the organization of a database without changing the application software that uses it

Database Models

• Database model: A conceptual view of a d t bdatabase– Relational database model

– Object-oriented database model

Copyright © 2012 Pearson Education, Inc. 0-8

Page 5: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

5

Relational Database Model

• Relation: A rectangular table– Attribute: A column in the table

– Tuple: A row in the table

Copyright © 2012 Pearson Education, Inc. 0-9

Figure 9.3 A relation containing employee information

Copyright © 2012 Pearson Education, Inc. 0-10

Page 6: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

6

Relational Design

• Avoid multiple concepts within one relation– Can lead to redundant data

– Deleting a tuple could also delete necessary but unrelated information

Copyright © 2012 Pearson Education, Inc. 0-11

Improving a Relational Design

• Decomposition: Dividing the columns of a l ti i t t l tirelation into two or more relations,

duplicating those columns necessary to maintain relationships– Lossless or nonloss decomposition: A

“correct” decomposition that does not lose any

Copyright © 2012 Pearson Education, Inc. 0-12

information

Page 7: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

7

Figure 9.4 A relation containing redundancy

Copyright © 2012 Pearson Education, Inc. 0-13

Figure 9.5 An employee database consisting of three relations

Copyright © 2012 Pearson Education, Inc. 0-14

Page 8: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

8

Figure 9.6 Finding the departments in which employee 23Y34 has worked

Copyright © 2012 Pearson Education, Inc. 0-15

Figure 9.7 A relation and a proposed decomposition

Copyright © 2012 Pearson Education, Inc. 0-16

Page 9: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

9

Relational Operations

• Select: Choose rows

• Project: Choose columns

• Join: Assemble information from two or more relations

Copyright © 2012 Pearson Education, Inc. 0-17

Figure 9.8 The SELECT operation

Copyright © 2012 Pearson Education, Inc. 0-18

Page 10: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

10

Figure 9.9 The PROJECT operation

Copyright © 2012 Pearson Education, Inc. 0-19

Figure 9.10 The JOIN operation

Copyright © 2012 Pearson Education, Inc. 0-20

Page 11: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

11

Figure 9.11 Another example of the JOIN operation

Copyright © 2012 Pearson Education, Inc. 0-21

Figure 9.12 An application of the JOIN operation

Copyright © 2012 Pearson Education, Inc. 0-22

Page 12: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

12

Structured Query Language (SQL)

• Operations to manipulate tuples– insert

– update

– delete

– select

Copyright © 2012 Pearson Education, Inc. 0-23

SQL Examples

• select EmplId, Deptfrom ASSIGNMENT JOBfrom ASSIGNMENT, JOBwhere ASSIGNMENT.JobId = JOB.JobId

and ASSIGNMENT.TermData = “*”

• insert into EMPLOYEEvalues (‘43212’, ‘Sue A. Burt’,

Copyright © 2012 Pearson Education, Inc. 0-24

values ( 43212 , Sue A. Burt ,

’33 Fair St.’, ‘444661111’)

Page 13: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

13

SQL Examples (continued)

• delete from EMPLOYEEwhere Name = ‘G Jerry Smith’where Name = G. Jerry Smith

• update EMPLOYEEset Address = ‘1812 Napoleon Ave.’where Name = ‘Joe E. Baker’

Copyright © 2012 Pearson Education, Inc. 0-25

Object-oriented Databases

• Object-oriented Database: A database t t d b l i th bj t i t dconstructed by applying the object-oriented

paradigm– Each entity stored as a persistent object

– Relationships indicated by links between objects

Copyright © 2012 Pearson Education, Inc. 0-26

– DBMS maintains inter-object links

Page 14: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

14

Figure 9.13 The associations between objects in an object-oriented database

Copyright © 2012 Pearson Education, Inc. 0-27

Advantages of Object-oriented Databases

• Matches design paradigm of object-i t d li tioriented applications

• Intelligence can be built into attribute handlers

• Can handle exotic data typesExample: multimedia

Copyright © 2012 Pearson Education, Inc. 0-28

– Example: multimedia

Page 15: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

15

Maintaining Database Integrity

• Transaction: A sequence of operations that must all happen togethermust all happen together– Example: transferring money between bank accounts

• Transaction log: A non-volatile record of each transaction’s activities, built before the transaction is allowed to execute

Commit point: The point at which a transaction has

Copyright © 2012 Pearson Education, Inc. 0-29

– Commit point: The point at which a transaction has been recorded in the log

– Roll-back: The process of undoing a transaction

Maintaining database integrity (continued)

• Simultaneous access problemsIncorrect s mmar problem– Incorrect summary problem

– Lost update problem

• Locking = preventing others from accessing data being used by a transaction

S

Copyright © 2012 Pearson Education, Inc. 0-30

– Shared lock: used when reading data– Exclusive lock: used when altering data

Page 16: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

16

Sequential Files

• Sequential file: A file whose contents can l b d i donly be read in order

– Reader must be able to detect end-of-file (EOF)

– Data can be stored in logical records, sorted by a key field

Copyright © 2012 Pearson Education, Inc. 0-31

• Greatly increases the speed of batch updates

Figure 9.14 The structure of a simple employee file implemented as a text file

Copyright © 2012 Pearson Education, Inc. 0-32

Page 17: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

17

Figure 9.15 A procedure for merging two sequential files

Copyright © 2012 Pearson Education, Inc. 0-33

Figure 9.16Applying the merge algorithm (Letters are used to represent entire records.The particular letter indicates the value of the record’s key field.)

Page 18: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

18

Indexed Files

• Index: A list of key values and the location f th i i t d dof their associated records

Copyright © 2012 Pearson Education, Inc. 0-35

Figure 9.17 Opening an indexed file

Copyright © 2012 Pearson Education, Inc. 0-36

Page 19: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

19

Hashing

• Each record has a key field

• The storage space is divided into buckets

• A hash function computes a bucket number for each key value

• Each record is stored in the bucket corresponding to the hash of its key

Copyright © 2012 Pearson Education, Inc. 0-37

corresponding to the hash of its key

Figure 9.18 Hashing the key field value 25X3Z to one of 41 buckets

Copyright © 2012 Pearson Education, Inc. 0-38

Page 20: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

20

Figure 9.19 The rudiments of a hashing system

Copyright © 2012 Pearson Education, Inc. 0-39

Collisions in Hashing

• Collision: The case of two keys hashing to th b k tthe same bucket– Major problem when table is over 75% full

– Solution: increase number of buckets and rehash all data

Copyright © 2012 Pearson Education, Inc. 0-40

Page 21: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

21

Data Mining

• Data Mining: The area of computer i th t d l ith di iscience that deals with discovering

patterns in collections of data

• Data warehouse: A static data collection to be mined– Data cube: Data presented from many

Copyright © 2012 Pearson Education, Inc. 0-41

Data cube: Data presented from many perspectives to enable mining

Data Mining Strategies

• Class description

• Class discrimination

• Cluster analysis

• Association analysis

• Outlier analysis

Copyright © 2012 Pearson Education, Inc. 0-42

• Sequential pattern analysis

Page 22: Chapter 9: Database Systems - Dipartimento di …lanubile/fisica/PPT Chap 1109.pdfChapter 9: Database Systems • 9.1 Database Fundamentals • 9.2 The Relational Model • 9.3 Object-Oriented

22

Social Impact of Database Technology

• Problems– Massive amounts of personal data are being collected– Massive amounts of personal data are being collected

• Often without knowledge or meaningful consent of affected people

– Data merging produces new, more invasive information

– Errors are widely disseminated and hard to correct

• Remedies

Copyright © 2012 Pearson Education, Inc. 0-43

– Existing legal remedies often difficult to apply– Negative publicity may be more effective