4 Chapter 4 The Relational Model 3: Advanced Topics Concepts of Database Management, 4th Edition, Pratt & Adamski 1 4 Objectives Define, describe, and use views Use indexes to improve database performance Discuss entity, referential, and legal-values integrity Make changes to the structure of a relational database Define and use the system catalog Concepts of Database Management, 4th Edition, Pratt & Adamski 2 4 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 Concepts of Database Management, 4th Edition, Pratt & Adamski 3 SQL to Create View Figure 4.1 4 CREATE VIEW Housewares AS SELECT PartNum, Description, OnHand, Price FROM Part WHERE Class=‘HW’ ; Concepts of Database Management, 4th Edition, Pratt & Adamski 4 Housewares View of Database Figure 4.2 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 5 4 Query on a View Selects data only from Tables created in the view Query is merged with query used to create view SELECT * FROM Housewares Actually executes as WHERE OnHand< 25 ; SELECT PartNum, Description, OnHand, Price FROM Part WHERE Class=‘HW’ AND OnHand< 25 ; Concepts of Database Management, 4th Edition, Pratt & Adamski 6 Access Query Design of View Figures 4.3 - 4.4 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 7 Access Query Design of View with Changed Field Names Figures 4.5 - 4.6 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 8 SalesCust View SQL Statement 4 CREATE VIEW SalesCust (Snum, SLast, SFirst, Cnum, CName) AS SELECT Rep.RepNum, LastName, FirstName, CustomerNum, CustomerName FROM Rep, Customer WHERE Rep.RepNum=Customer.RepNum ; Concepts of Database Management, 4th Edition, Pratt & Adamski 9 SalesCust View Figure 4.7 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 10 Access Query Design of SalesCust View Figure 4.8 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 11 Access Query Design of SalesCust View (con’t.) Figure 4.9 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 12 4 Advantages of Views Provides data independence Same data viewed by different users in different ways Contains only information required by a given user Concepts of Database Management, 4th Edition, Pratt & Adamski 13 4 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 Concepts of Database Management, 4th Edition, Pratt & Adamski 14 Customer Table with Record Numbers Figure 4.10 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 15 Customer Table Index on CustomerNum Figure 4.11 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 16 Table Indexes on CreditLimit, RepNum Figure 4.12 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 17 4 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 Concepts of Database Management, 4th Edition, Pratt & Adamski 18 4 SQL to Create Index CREATE INDEX CustomerName ON Customer (CustomerName) ; Concepts of Database Management, 4th Edition, Pratt & Adamski 19 4 SQL to Delete Index DROP INDEX RepBal ; Concepts of Database Management, 4th Edition, Pratt & Adamski 20 Index on Single Field in Access Figure 4.13 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 21 Index on Multiple Fields in Access Figure 4.14 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 22 4 Security Prevention of unauthorized access to database Two SQL security mechanisms GRANT provides privileges to users REVOKE removes privileges from users GRANT SELECT ON Customer TO JONES ; REVOKE SELECT ON Customer FROM JONES ; Concepts of Database Management, 4th Edition, Pratt & Adamski 23 Integrity Rules 4 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 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 Concepts of Database Management, 4th Edition, Pratt & Adamski 24 Primary Key in Access Figure 4.15 4 PRIMARY KEY (CustomerNum) Concepts of Database Management, 4th Edition, Pratt & Adamski 25 Multi-Field Primary Key in Access Figure 4.16 4 PRIMARY KEY (OrderNum, PartNum) Concepts of Database Management, 4th Edition, Pratt & Adamski 26 Relationships Window to Relate Tables in Access Figure 4.17 4 FOREIGN KEY (RepNum) REFERENCES Rep Concepts of Database Management, 4th Edition, Pratt & Adamski 27 Specifying Referential Integrity Figure 4.18 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 28 Violating Referential Integrity on Adding Figure 4.19 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 29 Violating Referential Integrity on Deleting Figure 4.20 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 30 4 Legal-Values Integrity States no record can exist with field values other than legal ones Use SQL CHECK clause CHECK (CreditLimit IN (5000, 7500, 10000, 15000)) ; Concepts of Database Management, 4th Edition, Pratt & Adamski 31 4 Other SQL Adding new field ALTER TABLE Customer ADD CustType CHAR(1) ; Changing field properties ALTER TABLE Customer CHANGE COLUMN CustomerName TO CHAR(50) ; Concepts of Database Management, 4th Edition, Pratt & Adamski 32 Add Field in Access Figure 4.22 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 33 Change Field Characteristic in Access Figure 4.23 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 34 4 Other SQL Deleting field ALTER TABLE Part DELETE Warehouse ; Delete SQL Table DROP TABLE SmallCust ; Concepts of Database Management, 4th Edition, Pratt & Adamski 35 Delete Field in Access Figure 4.24 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 36 Delete Table in Access Figure 4.25 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 37 4 System Catalog Information about database kept in system catalog Maintained by DBMS Example catalog has two tables Systables Syscolumns Concepts of Database Management, 4th Edition, Pratt & Adamski 38 Systables Table Figure 4.26 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 39 Partial Syscolumns Table Figure 4.27 Concepts of Database Management, 4th Edition, Pratt & Adamski 4 40