0% found this document useful (0 votes)
38 views47 pages

A Guide To SQL, Ninth Edition: Chapter Seven Database Administration

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views47 pages

A Guide To SQL, Ninth Edition: Chapter Seven Database Administration

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 47

A Guide to SQL, Ninth Edition

Chapter Seven
Database Administration
Objectives
• Understand, create, and drop views

• Recognize the benefits of using views

• Use a view to update data

• Grant and revoke users’ database privileges

• Understand the purpose, advantages, and


disadvantages of using an index
©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 2
Objectives (continued)
• Create, use, and drop an index

• Understand and obtain information from the


system catalog

• Use integrity constraints to control data entry

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 3
Introduction
• Database administration
– Process of managing a database
• Database administrator
– Person or entire group in a business
organization charged with managing the
database

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 4
Creating and Using Views
• View
– A program’s or individual user’s picture of the
database
• Base tables
– Existing, permanent tables in a relational database

• View is a derived table because data in it


is retrieved from the base table

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 5
Creating and Using Views
(continued)
• Usually includes less information than full
database
– Simplifies data processing for the user
– Provides a measure of security by omitting sensitive
information
• Unavailable to user

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 6
Creating and Using Views
(continued)
• Created by a defining query

– Indicates rows and columns to include

• Use CREATE VIEW command

– CREATE VIEW, followed by name of view, AS, and


then defining query

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 7
Creating and Using Views
(continued)

Figure 7-1: Creating the TOYS view


©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 8
Creating and Using Views
(continued)

Figure 7-2: TOYS view

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 9
Creating and Using Views
(continued)
• Data shown in Figure 7-2 does not exist in this
form

• Not a temporary table

• To query a view, merge query that created view


with query to select specific data

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 10
Creating and Using Views
(continued)

Figure 7-3: Maria’s view of the ITEM table

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 11
Creating and Using Views
(continued)

Figure 7-4: Using the TOYS view

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 12
Creating and Using Views
(continued)
• Actual query executed by SQL

SELECT ITEM_NUM, DESCRIPTION, ON_HAND, PRICE


FROM ITEM
WHERE CATEGORY =‘TOY’
AND PRICE > 100;

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 13
Creating and Using Views
(continued)
• Can assign column names in view that are
different than base table

• Include new column names in parentheses,


following the name of the view

• Output will display new column names

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 14
Creating and Using Views
(continued)

Figure 7-5: Renaming columns when creating a view


©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 15
Creating and Using Views
(continued)
• Defining query of view can be any valid SQL query
• View can join two or more tables

Figure 7-7: Creating the REP_CUST view


©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 16
Creating and Using Views
(continued)
• A view can involve statistics

Figure 7-9: Creating the CRED_CUST view


©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 17
Creating and Using Views
(continued)
• Benefits of views
– Provide data independence
• Can often be used even after database structure changes

– Different users can view same data differently


• Customize display to meet each user’s needs

– A view can contain only those columns required by


a given user
• Simplifies user’s perception of database
• Provides a measure of security

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 18
Using a View to Update Data
• Benefits of views are for retrieval purposes only

• Updating data through a view is dependent on


type of view

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 19
Updating Row-and-Column Subset
Views
• Can update (usually) if view contains primary key
• Cannot update when primary key is not included

No primary key

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 20
Updating Views Involving Joins
• Can update when a view is derived by joining
two tables on primary key of each table

• Cannot update when view involves joining by


matching the primary key of one table with a
column that is not the primary key

• Encounter more severe problems if neither of


the join columns is a primary key

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 21
Updating Views Involving Statistics
• Most difficult to update

• Cannot add rows to a view that includes


calculations

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 22
Dropping a View
• Remove a view that is no longer needed with
DROP VIEW command

• The DROP VIEW command removes only the


view definition

– Base table and data remain unchanged

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 23
Security
• Prevention of unauthorized access to a
database
– Some users may be able to retrieve and update
anything in database

– Other users may be able to retrieve data but not


change data

– Other users may be able to access only a portion of


data

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 24
Security (continued)
• GRANT command
– Main mechanism for providing access to
database
• Database administrator can grant different
types of privileges to users and revoke
them later
• Privileges include rights to select, insert,
update, index, and delete table data
©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 25
Security (continued)
• Database administrator uses REVOKE
command to remove privileges from users

• Format is similar to GRANT command

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 26
Indexes
• Speeds up the searching of tables
• Similar to an index in a book

Figure 7-19: Index for the CUSTOMER table on the CUSTOMER_NUM column
©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 27
Indexes (continued)

Figure 7-20: Indexes for the CUSTOMER table on the CREDIT_LIMIT and REP_NUM columns

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 28
Indexes (continued)
• SQL manages indexes
• User determines columns on which to
build indexes
• Disadvantages
– Index occupies disk space
– DBMS must update index as data is entered

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 29
Creating an Index
• Use CREATE INDEX command
– Name the index
– Identify the table
– Identify the column or columns

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 30
Creating an Index (continued)

Index on a single column

Figure 7-21: Creating the BALIND index on the BALANCE column

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 31
Creating an Index (continued)

Index on two columns

Figure 7-22: Creating the REP_NAME index on the LAST_NAME and FIRST_NAME columns

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 32
Dropping an Index
• Use DROP INDEX to delete an index

– DROP INDEX followed by name of index to drop

• Permanently deletes index

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 33
Creating Unique Indexes
• To ensure uniqueness of non-primary key data,
you can create a unique index

– Use CREATE UNIQUE INDEX command

• A unique index will reject any update that would


cause a duplicate value in the specified column

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 34
System Catalog
• Contains information about tables in database;
also called data dictionary
• Use SYSTABLES to list all tables in database
• Use SYSCOLUMNS to list all columns in a table
• Use SYSVIEWS to list information about views

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 35
System Catalog (continued)
• In Oracle, use:
– DBA_TABLES to list information about tables
– DBA_TAB_COLUMNS to list information
about columns
– DBA_VIEWS to list information about views

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 36
Update of the System Catalog
• DBMS updates automatically when
– Create, alter, drop tables
– Create or drop indexes
• Users should not update catalog directly

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 37
Integrity Constraints in SQL
• Rule for the data in the database

– Examples in TAL Distributors

• A sales rep’s number must be unique

• The sales rep number for a customer must match


an exiting sales rep number

• Categories for items must be GME, TOY, or PZL

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 38
Integrity Constraints in SQL
(continued)
• Integrity support is process of specifying integrity
constraints for the database
• Clauses to support integrity constraints can be
specified within a CREATE TABLE or
ALTER TABLE command
– ADD PRIMARY KEY
– ADD FOREIGN KEY

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 39
Integrity Constraints in SQL
(continued)
• Primary keys
– Use ADD PRIMARY KEY clause on ALTER TABLE
command to add after creating a table
• Foreign keys
– A column in one table whose value matches the
primary key in another
• Legal values
– The CHECK clause ensures only legal values are
allowed in a given column

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 40
Integrity Constraints in SQL
(continued)

Figure 7-24: Adding a foreign key to an existing table

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 41
Integrity Constraints in SQL
(continued)
• After creating a foreign key, DBMS rejects any
update that violates the foreign key constraint

– Error messages refer to parent and child

– When specifying a foreign key, table containing


foreign key is the child

– Table referenced by foreign key is parent

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 42
Integrity Constraints in SQL
(continued)

Figure 7-27: Adding an integrity constraint to an existing table

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 43
Integrity Constraints in SQL
(continued)

Figure 7-28: Update that violates the integrity constraint

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 44
Summary
• Views
– CREATE VIEW command
– Benefits
– Update issues
– DROP VIEW command
• Security features
– GRANT
– REVOKE
©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 45
Summary (continued)
• Indexes
– Make data retrieval more efficient
– CREATE INDEX
– DROP INDEX
• System catalog information
– SYSTABLES, SYSCOLUMNS, SYSVIEWS
– DBA_TABLES, DBA_TAB_COLUMNS,
DBA_VIEWS
©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 46
Summary (continued)
• Integrity constraints
– ADD PRIMARY KEY
– ADD FOREIGN KEY
– CHECK

©2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as
permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. 47

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy