400 likes | 635 Views
Chapter 6 Database Administration. Introduction. Database administration The process of managing a database Database administrator A person or an entire group charged with managing the database. Views. Base tables Existing, permanent tables in a relational database View
E N D
Introduction • Database administration • The process of managing a database • Database administrator • A person or an entire group charged with managing the database
Views • Base tables • Existing, permanent tables in a relational database • View • A derived table where data is derived from a base table • User interacts with the view • View provides security
Views • A view is defined by creating a defining query (SQL command that indicates the rows and columns that will appear in the view)
Views • Data does not exist in the form of the view • Query acts as a “window” into the database (see Figure 6.3) • As far as the user is concerned the entire database consists of the dark shaded portion of the PART table
Using the HOUSEWARES View • In Figure 6.4, the query first is merged with the query that defines the view, producing the following statement: SELECT PART_NUMBER, PART_DESCRIPTION, UNITS_ON_HAND, UNIT_PRICE FROM PART WHERE ITEM_CLASS = ‘HW’ AND UNITS_ON_HAND > 100;
CREATE VIEW Format • The formulation of the view definition is: • CREATE <view name> AS <query> • The defining query can be any valid SQL query
View Benefits • Views provide data independence • Different users can view the same data in different ways because each user has their own view • It can contain only those columns required by a given user • Greatly simplifies user perception of database • Furnishes a measure of security since user as access to data contained only in their view
Row-and-Column Subsets and Updates through a View • A row-and-column subset view that contains the primary key of the underlying base table is updateable • Figure 6.9 illustrates a view that contains serious update problems due to the exclusion of the primary key
Joins • In general, views that involve joins of base tables can cause problems at update • If two base tables have the same primary key and the primary key is used as the join column, updating the database is not a problem
Statistics • Views involving statistics calculated from one or more base tables won’t allow updates • Rows cannot be added to a view that includes calculations
DROP View Command • Deletes a view definition only • Table and data on which view is based still exists
Security • Security is the prevention of unauthorized access to the database • Two security mechanisms • Views • GRANT command
GRANT and REVOKE Commands • Grant different privileges to users and revoke them later, if necessary: • Ability to select rows from a table • Insert new rows • Update existing rows
Example 6 • User Jones must be able to retrieve data from the SALES_REP table • GRANT SELECT ON SALES_REP TO JONES;
Privileges • Privileges that can be granted are • SELECT • UPDATE • DELETE • INSERT • INDEX • For a user to pass the privilege on to others the database administrator must use GRANT statement and include WITH GRANT OPTION
GRANT and REVOKE Format • GRANT <privilege> TO <user> • REVOKE <privilege> FROM <user> • WITH GRANT OPTION is not meaningful part of REVOKE command • Revoke cascades so privileges granted with the WITH GRANT OPTION are revoked for all who were granted privileges
Example 14 • User Jones is no longer allowed to retrieve data from the SALES_REP table • REVOKE SELECT ON SALES_REP FROM JONES;
Indexes • Create and use an index to speed the searching process
Indexes • Advantages • Makes certain types of retrieval more efficient • Disadvantages • occupies disk space and is technically unnecessary • must be updated whenever corresponding data in the database is updated
Dropping an Index • Command to delete an index is DROP INDEX • DROP INDEX CREDNAME;
Unique Indexes • When a column that is not the primary key requires unique values, create a unique index using the CREATE UNIQUE INDEX command • CREATE UNIQUE INDEX SSN ON CUSTOMER (SOC_SEC_NUMBER);
The System Catalog • Information concerning tables known to the DBMS is kept in the system catalog, or the data dictionary • System catalog contains tables • SYSTABLES (in Oracle: DBA_TABLES) • SYSCOLUMNS (in Oracle: DBA_TAB_TABLES) • SYSVIEWS (in Oracle: DBA_VIEWS)
System Catalog • System catalog is a relational database • Users need special privileges to view the data in the system catalog
Integrity in SQL • An integrity constraint is a rule that the data in the database must follow • Examples: • No two sales reps can have the same sales rep number • The sales rep number for a customer must match the number of a sales rep currently in the database • Item classes for parts must be AP, HW, or SG
Integrity Support • To prevent violations, the DBMS provides integrity support • Types of constraints supported in SQL • Legal values • Primary keys • Foreign keys • CHECK clause ensures that only legal values that satisfy a particular condition are allowed in a given column
CHECK Clause • To ensure the only legal values for item class are AP, HW, or SG • CHECK (ITEM_CLASS IN (‘AP’, ‘HW’, ‘SG’)) OR • CHECK (ITEM_CLASS = ‘AP’ OR ITEM_CLASS = ‘HW’ OR ITEM_CLASS = ‘SG’)
ADD PRIMARY KEY Clause • To indicate that SLSREP_NUMBER is the primary key for the SALES_REP table • PRIMARY KEY (SLSREP_NUMBER)
Foreign Key • A foreign key is a column on one table whose values match the primary key of another table • To specify a foreign key, specify both the column that is a foreign key and the table it matches • ADD FOREIGN KEY (SLSREP_NUMBER) REFERENCES SALES_REP