Presentation on theme: "Chapter 12.3+ Information Systems Database Management."— Presentation transcript:
Chapter 12.3+ Information Systems Database Management
2 Database Management Systems Database: 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 Systems Specialized 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 Systems A 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)
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. CustomerIdMovieIdDateRentedDateDue 10110208/11/201015/11/2010 10310407/11/201010/11/2010 105103304/11/201013/11/2010 10210109/11/201011/11/2010 10110404/11/201014/11/2010 10410705/11/201010/11/2010 10310205/11/201011/11/2010 107744206/11/201013/11/2010
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 MovieIdTitleGenreRating 102Back to the Futurecomedy adventurePG 104Field of Dreamsfantasy dramaPG The NEW relation.
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. MovieIdTitle 102Back to the Future 104Field 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
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. NameAddressMovieId Dennis Cook789 Main102 Dennis Cook789 Main104 Doug Nickle456 Second101 Randy Wolf12 Elm104 Randy Wolf12 Elm102 Amy StevensYellow Brick Road107 Susan Klaton654 Lois Lane1033 Chris Stein1010 Abbey Road7442
28 Relational Operations Now, JOINing RENTALS to PGmovies… PGrenters ← JOIN RENTALS and PGmovies where RENTALS.MovieId = PGmovies.MovieId …creates a table of customers who have rented PG movies. NameAddressMovieIdTitle Dennis Cook789 Main102Back to the Future Dennis Cook789 Main104Field of Dreams Randy Wolf12 Elm104Field of Dreams Randy Wolf12 Elm102Back to the Future
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