chapter 12.3+ information systems database management

Post on 31-Mar-2015

221 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Chapter 12.3+

Information SystemsDatabase Management

2

Database Management SystemsDatabase: A structured set of data.Database Management System: (DBMS) A

combination of software and data, including:

Physical database: a collection of files that contain the data.

Database engine: software that supports access to and modification of the database contents.

Database schema: a specification of the logical structure of the data stored in the database.

3

Database Management SystemsSpecialized database languages allow the user

to: specify the structure of data; add, modify, and delete data; query the database to retrieve specific stored

data.

4

Database Management Systems

Figure 12.6 The elements of a database management system

5

Databases

Databases are a recent development in the management of large amounts of data.

As paper file systems were “computerized” each application was implemented separately with its own data set.

These systems were riddled with both corrupt data and redundant data, none of which could be shared.

6

Databases

The integration of separate systems into one database resolved these issues, but introduced new ones.

With all data shared, control of access to the data becomes a major concern.

Payroll doesn’t need to see your grades.

7

Database Management SystemsA schema is a description of the entire

database structure used by the database software to maintain the database.

A subschema is a description of only that part of the database that is particular to a user’s needs.

8

Database Management Systems A layered approach hides the complexities of

database implementation. User sees data in terms of the application. The application “sees” data in terms of the

database model. The DBMS “sees” data as it is organized.

9

Database Management Systems Advantages of the layered approach include:

Simplification of the design process. Better control of access. Data Independence. Applications can be written in terms of simple,

conceptual views of the data – the database model.

10

Database Models

A database model is a conceptual view of how to organize and manipulate data.

The most popular one is the Relational Model.

11

The Relational Model

In a relational DBMS, the data items - and the relationships among them - are organized into rectangular tables.

As with spreadsheets, these tables consist of rows and columns. Each table is called a relation. The rows are called tuples. The columns are called attributes.

12

The Relational Model

Of course, different authors adopt different terms. There is a commonly used, alternate set of names: Relations are also called tables.

A tuple can be referred to as a record,

and in this terminology a record is a collection of related fields.

13

A Database Table

Figure 12.7 Part of a database table, made up of records and fields

14

A Database Table

We can express the schema for this database table as follows:

Movie (MovieId:key, Title, Genre, Rating)

15

Another Database Table

A partial CUSTOMER table.

16

Another Database Table

We can express the schema for this table as:

Customer (CustomerId:key, Name, Address, CreditCardNumber)

17

Relationships

A table can represent a collection of relationships between objects. The RENTS table relates Customers to the Movies they’ve rented by their respective Ids.

18

Relationships

We can also express the schema for a relationship:

Rents (CustomerId, MovieId, DateRented, DateDue)

Note the absence of a key field.

19

Relational Operations

There are 3 fundamental operations that can be used to manipulate the tables in a database: SELECT

Extracts rows (tuples) from a table (relation)

PROJECT Extracts columns (attributes) from a table (relation)

JOIN Combines 2 tables (relations) into 1

20

Relational Operations

The result of any relational operation is a new relation. We can express these operations with a simple syntax.

NEW ← SELECT from MOVIE where RATING = “PG”

This operation creates a new relation (named NEW) by extracting all rows from the MOVIE table that have a RATING of PG.

21

SELECT

The NEW relation.

MovieId Title Genre Rating

102 Back to the Future Comedy adventure PG

104 Field of Dreams Fantasy drama PG

22

Relational Operations

The same syntax can be used for the other operations.

PGmovies ← PROJECT MovieId, Title from NEW

This operation creates a new relation (named PGmovies) that extracts 2 attributes from the NEW relation.

23

PROJECT

The PGmovies relation.

MovieId Title

102 Back to the Future

104 Field of Dreams

24

Relational Operations

A JOIN creates a new relation by combining 2 relations according to some criterion.

TEMP1 ← JOIN CUSTOMER and RENTS where CUSTOMER.CustomerId = RENTS.CustomerId

25

JOIN

CustomerId Name Address CreditCardNumber CustomerId MovieId DateRented DateDue

26

Relational Operations

The PROJECT operation can be used to remove the attributes we don’t want…

RENTALS ← PROJECT Name, Address, MovieId from TEMP1

27

Relational Operations

The RENTALS relation.

Name Address MovieId

28

Relational OperationsNow, JOINing RENTALS to PGmovies…

PGrenters ← JOIN RENTALS and PGmovies where RENTALS.MovieId = PGmovies.MovieId

…creates a table of customers who have rented PG movies.

Name Address MovieId MovieId Title

29

Structured Query Language

Structured Query Language (SQL)

A comprehensive database language for managing relational databases.

30

Queries in SQL

select attribute-list from table-list where condition

select Title from MOVIE where Rating = 'PG'

select Name, Address from CUSTOMER

select * from MOVIE where Genre like '%action%'

select * from MOVIE where Rating = 'R' order by Title

31

Modifying Database Content

insert into CUSTOMER values (9876, 'John Smith', '602 Greenbriar Court', '2938 3212 3402 0299')

update MOVIE set Genre = 'thriller drama' where title = 'Unbreakable‘

delete from MOVIE where Rating = 'R'

32

Database Design

Entity-relationship (ER) modeling A popular technique for designing relational

databases.

ER Diagram Chief tool used for ER modeling. Captures the important record types, attributes,

and relationships in a graphical form.

33

Database Design These designations show the cardinality

constraint of the relationship

Figure 12.10 An ER diagram for the movie rental database

top related