Concepts of Database Management, Fifth Edition Chapter 4: The Relational Model 3: Advanced Topics.
-
Upload
irma-berry -
Category
Documents
-
view
222 -
download
2
Transcript of Concepts of Database Management, Fifth Edition Chapter 4: The Relational Model 3: Advanced Topics.
Concepts of Database Concepts of Database Management, Fifth Management, Fifth
EditionEdition
Chapter 4: Chapter 4:
The Relational Model 3:The Relational Model 3:
Advanced Topics Advanced Topics
2Concepts of Database Management, 5th Edition
Objectives
Define, describe, and use views
Use indexes to improve database performance
Examine the security features of a database management system (DBMS)
Discuss entity, referential, and legal-values integrity
Make changes to the structure of a relational database
Define and use the system catalog
3Concepts of Database Management, 5th Edition
Views
Application program’s or individual user’s picture of the database
Less involved than full database
Offers simplification
Provides measure of security
Sensitive tables or columns omitted where not appropriate
4Concepts of Database Management, 5th Edition
SELECT Command
Called the defining query
Indicates precisely what to include in the view
Query acts as a sort of window into the database
Does not produce a new table, only the view of the table
5Concepts of Database Management, 5th Edition
Figure 4.1: SQL to Create View
CREATE VIEW Housewares ASSELECT PartNum, Description, OnHand, PriceFROM PartWHERE Class=‘HW’;
6Concepts of Database Management, 5th Edition
Query on a View With a query that involves a view, the DBMS
changes the query to one that selects data from table(s) in the database that created the view
The DBMS merges the query with the query that defines the view to form the query that is actually executed
One advantage of this approach is that the view never exists in its own right so any update to the table is immediately available in the view
If the view were a table, this would not be the case
7Concepts of Database Management, 5th Edition
Query on a View Selects data only from Tables created in the
view
Query is merged with query used to create view
SELECT *FROM HousewaresWHERE OnHand< 25;
SELECT PartNum, Description, OnHand, PriceFROM PartWHERE Class=‘HW’AND OnHand< 25;
Actually executes as
8Concepts of Database Management, 5th Edition
Figures 4.3 - 4.4: Access Query Design of View
9Concepts of Database Management, 5th Edition
Access Query Design View with Changed Field Names
SQL can be used to change the field names in a view by including the new field names in the CREATE VIEW statement
The CREATE VIEW statement would be:CREATE VIEW SalesCust (Snum, SLast, SFirst, Cnum, CName) ASSELECT Rep.RepNum, LastName, FirstName, CustomerNum, CustomerNameFROM Rep, CustomerWHERE Rep.RepNum=Customer.RepNum;
10Concepts of Database Management, 5th Edition
Figures 4.5-4.6: Access Query Design of View with Changed Field Names
11Concepts of Database Management, 5th Edition
Row and Column Subset View
Consists of a subset of the rows and columns in some individual table
Because the query can be any SQL query, a view could also join two or more tables
12Concepts of Database Management, 5th Edition
Advantages of Views
Provides data independence
Same data viewed by different users in different ways
Contains only information required by a given user
13Concepts of Database Management, 5th Edition
Indexes
Conceptually similar to book index
Increases data retrieval efficiency
Automatically assigns record numbers
Used by DBMS, not by users
Fields on which index built called Index Key
14Concepts of Database Management, 5th Edition
Figure 4.10: Customer Table with Record Numbers
15Concepts of Database Management, 5th Edition
Figure 4.11: Customer Table Index on CustomerNum
16Concepts of Database Management, 5th Edition
Figure 4.12: Table Indexes on CreditLimit, RepNum
17Concepts of Database Management, 5th Edition
Pros/Cons of Indexes
Can be added or dropped without loss of function
Can make retrieval more efficient
Occupies space that might be required for other functions
DBMS must update index whenever corresponding data are updated
18Concepts of Database Management, 5th Edition
SQL to Create Index
CREATE INDEX CustomerNameON Customer (CustomerName);
19Concepts of Database Management, 5th Edition
Creating Indexes
Single-field index – an index whose key is a single field
Multiple-field index
An index with more than one key field
List the most important key first
If data for either key appears in descending order, follow the field name with the letters DESC
20Concepts of Database Management, 5th Edition
SQL to Delete Index
DROP INDEX RepBal;
21Concepts of Database Management, 5th Edition
Figure 4.13: Index on Single Field in Access
22Concepts of Database Management, 5th Edition
Figure 4.14: Index on Multiple Fields in Access
23Concepts of Database Management, 5th Edition
Security
Prevention of unauthorized access to database
Two SQL security mechanisms
GRANT provides privileges to users
REVOKE removes privileges from usersGRANT SELECT ON Customer TO JONES;
REVOKE SELECT ON Customer FROM JONES;
24Concepts of Database Management, 5th Edition
Integrity Rules
Related to foreign keys and primary keys
Defined by Dr. E.F. Codd
Entity integrity
No field that is part of the primary key may accept null values
25Concepts of Database Management, 5th Edition
Integrity Rules (con’t)
To specify primary key, enter a PRIMARY KEY clause in either an ALTER TABLE or a CREATE TABLE command
Foreign key – a field (or collection of fields) in a table whose value is required to match the value of the primary key for a second table
26Concepts of Database Management, 5th Edition
Figure 4.15: Primary Key in Access
PRIMARY KEY (CustomerNum)
27Concepts of Database Management, 5th Edition
Figure 4.16: Multi-Field Primary Key in Access
PRIMARY KEY (OrderNum, PartNum)
28Concepts of Database Management, 5th Edition
Referential integrity
If Table A contains a foreign key matching the primary key of Table B, then values must match for some row in Table B or be null
Usually a foreign key is in a different table from the primary key it is required to match
The only restriction is that the foreign key must have a name that is different from the primary key because the fields are in the same table
29Concepts of Database Management, 5th Edition
Figure 4.17: Relationships Window to Relate Tables in Access
FOREIGN KEY (RepNum) REFERENCES Rep
30Concepts of Database Management, 5th Edition
Cascade Delete and Update
Cascade delete - ensures that the deletion of a master record deletes all records in sub tables related to it
Cascade update – ensures that changes made to the primary key of the master table are also made in the related records
31Concepts of Database Management, 5th Edition
Figure 4.18: Specifying Referential Integrity
32Concepts of Database Management, 5th Edition
Enforcing Referential Integrity
With referential integrity enforced, users are not allowed to enter a record that does not match any sales rep currently in the Rep table
An error message, such as the one shown in Figure 4.19, appears when an attempt is made to enter an invalid record
33Concepts of Database Management, 5th Edition
Figure 4.19: Violating Referential Integrity on Adding
34Concepts of Database Management, 5th Edition
Legal-Values Integrity
States no record can exist with field values other than legal ones
Use SQL CHECK clause
Validation rule – in Access, a rule that data entered into a field must follow
Validation – in Access, text to inform the user of the reason for the rejection when the user attempts to enter data that violates the rule
CHECK (CreditLimit IN (5000, 7500, 10000, 15000)) ;
35Concepts of Database Management, 5th Edition
Validation Rule in Access
36Concepts of Database Management, 5th Edition
Structure Changes Can change the database structure
By adding and removing tables and fields
By changing the characteristics of existing fields
By creating and dropping indexes
The exact manner in which these changes are accomplished varies from one system to another
Most systems allow all of these changes to be made quickly and easily
Made using the SQL ALTER TABLE command
37Concepts of Database Management, 5th Edition
Structure Changes – Add and Change
ALTER TABLE CustomerADD CustType CHAR(1);
Adding new field
Changing field properties
ALTER TABLE CustomerCHANGE COLUMN CustomerName TO CHAR(50);
38Concepts of Database Management, 5th Edition
Figure 4.22: Add Field in Access
39Concepts of Database Management, 5th Edition
Figure 4.23: Change Field Characteristic in Access
40Concepts of Database Management, 5th Edition
Structure Changes - Delete
ALTER TABLE PartDELETE Warehouse;
Deleting field
Delete SQL Table
DROP TABLE SmallCust;
41Concepts of Database Management, 5th Edition
Figure 4.24: Delete Field in Access
42Concepts of Database Management, 5th Edition
Figure 4.25: Delete Table in Access
43Concepts of Database Management, 5th Edition
System Catalog
Information about database kept in system catalog
Maintained by DBMS
Example catalog has two tables
Systables – information about the tables known to SQL
Syscolumns – information about the columns or fields within these tables
44Concepts of Database Management, 5th Edition
System Catalog (con’t.)
Other possible tables
Sysindexes – information about the indexes that are defined on these tables
Sysviews – information about the views that have been created
45Concepts of Database Management, 5th Edition
Figure 4.26: Systables Table
46Concepts of Database Management, 5th Edition
Summary Views - used to give each user his or her own view
of the data in a database
View is defined in structured query language (SQL) by using a defining query
Indexes are often used to facilitate data retrieval from the database
Security is provided in SQL systems using the GRANT and REVOKE commands
Entity integrity is the property that states that no field that is part of the primary key can accept null values
47Concepts of Database Management, 5th Edition
Summary
Referential integrity - property stating that the value in any foreign key field must either be null or match an actual value in the primary key field of another table
Legal-values integrity is the property that states that the value entered in a field must be one of the legal values
The ALTER TABLE command allows you to add fields to a table, delete fields, or change the characteristics of fields
48Concepts of Database Management, 5th Edition
Summary
The DROP TABLE command lets you delete a table from a database
The system catalog is a feature of many relational DBMSs that stores information about the structure of a database