Database Processing - Chapter 7

Ace your homework & exams now with Quizwiz!

What are SQL stored procedures and how are they used?

An SQL stored procedure is a stored program that is attached to a database instead of just a table or view. Stored procedures can receive input parameters and return results. They can be executed by any process that has permission with the database to use stored procedures. They can issue INSERT, UPDATE and DELETE commands. They are typically used by (1) database administrators to do common administrative tasks, and (2) database applications.

Given the SQL statement CREATE TABLE SALESREP ( SalesRepNo int NOT NULL, RepName char(35) NOT NULL, HireDate date NOT NULL, CONSTRAINT SalesRepPK PRIMARY KEY (SalesRepNo), CONSTRAINT SalesRepAK1 UNIQUE (RepName) ); we know that ________. A) RepName is the primary key B) RepName is a foreign key C) RepName is a candidate key D) RepName is a surrogate key

C

If the table PRODUCT has a column PRICE that has the data type Numeric (8,2), the value 12345 will be displayed by the DBMS as ________. A) 123.45 B) 12345 C) 12345.00 D) 123450.00

C

If you have a foreign key in a CUSTOMER table that references the primary key in a SALESREP table, the ON DELETE CASCADE syntax means that ________. A) when a CUSTOMER is deleted, that CUSTOMER's SALESREP is also deleted B) when a CUSTOMER is deleted, all SALESREPS are also deleted C) when a SALESREP is deleted, all CUSTOMERs of that SALESREP are also deleted D) when the SALESREP table is dropped, all CUSTOMERs must be deleted

C

According to the SQL-92 standard, statements used to construct views cannot contain ________. A) the SELECT clause B) the FROM clause C) the WHERE clause D) the ORDER BY clause

D

What is embedded SQL, and what considerations are necessary when using it in an application?

Embedded SQL are SQL statements used, or embedded, in program code, triggers or stored procedures. Applications are typically written in program code, using a programming language. There are two problems that arise. First, the results of SQL statements must be assigned to programming language variables. DBMS products typically provide the means of doing this. Second, SQL is table or set-oriented and SQL results use tables or sets of rows, whereas application programming languages are variable or row-oriented. This is resolved by treating SQL results as pseudofiles. A cursor is then used to move through the pseudofile one.

A stored program that is attached to a table or view is called a stored procedure.

False

A stored program that is stored within the database and compiled when used is called a trigger.

False

The values in an SQL view are always changeable through the view itself.

False

To set a column value that is selected according to some complicated business logic, you would use the SQL DEFAULT constraint with the CREATE TABLE command

False

When the correct SQL command is used to delete a table's structure, the command can only be used with a table that has already had its data removed.

False

Discuss what is meant by a data type of "Numeric (10,3)." Include at least one example.

Numeric indicates a non-integer, decimal number in SQL Server. Oracle Database uses Number, and MySQL uses Decimal or Fixed. The (10,3) is in (n,d) format, where n is the total number of digits allowed, and d is the number of digits to the right of the decimal place. Thus, "10, 3" allows a maximum of ten digits, and the last three are considered to be to the right of the decimal place. For example, "1234567" would be read as "1234.567."

Explain the essential format of the CREATE TABLE statement. Include an example.

The essential format for the CREATE TABLE statement is: CREATE TABLE tablename ( column-description, column-description, column-description, . . . optional table constraints ); "Tablename" is the name that will be given to the newly created table. "Column-description" is a three-part description of each column to appear in the table. This description includes the name of the column, the column's data type, and an optional column constraint (either Primary Key, Null, or Not Null), in that order. The CONSTRAINT phrase can be used to set optional primary key, foreign key and referential integrity constraints for the table. All SQL statements must end with a semi-colon (;). Here is an example: CREATE TABLE VEHICLE ( VIN CHAR(32), Year INTEGER, Make CHAR(25) NOT NULL, CONSTRAINT VEHICLE_PK PRIMARY KEY (VIN) );

If the values in an SQL view are changeable through the view itself, the SQL command UPDATE is used to change the values.

True

SQL triggers can be used when the DBMS receives an update request.

True

SQL triggers can be used when the DBMS receives and INSERT request.

True

SQL views can be used to provide a level of insulation between data processed by applications and the data actually stored in the database tables.

True

Which SQL keyword is used to impose restrictions on a table, data or relationship? A) SET B) CREATE C) SELECT D) CONSTRAINT

D

Which SQL statement is used to retrieve view instances? A) CREATE B) DELETE C) INSERT D) SELECT

D

Which of the following is an SQL trigger Microsoft SQL Server supports? A) BEFORE B) INSTEAD OF C) AFTER D) Both B and C are correct

D

Which of the following is not an ANSI SQL trigger? A) BEFORE UPDATE B) INSTEAD OF UPDATE C) AFTER INSERT D) INSTEAD OF CONSTRAINT

D

Which of the following is not an SQL trigger Oracle supports? A) BEFORE B) INSTEAD OF C) AFTER D) DURING

D

Because SQL stored procedures allow and encourage code sharing among developers, stored procedures give database application developers the advantages of less work, standardized processing, and specialization among developers.

True

Data values to be added to a table are specified by using the SQL VALUES clause.

True

If the table ITEM has a column WEIGHT, and WEIGHT has the data type Numeric (4,2), the value 4321 will be displayed by the DBMS as 43.21

True

If the values in an SQL view are not changeable through the view itself, you may still be able to update the view by using unique application logic. In this case, the specific logic is placed in an INSTEAD OF trigger.

True

One advantage of using the CONSTRAINT command to define a primary key is that the database designer controls the name of the constraint.

True

One or more rows can be added to a table by using the SQL INSERT statement.

True

Rows can be removed from a table by using the SQL DELETE statement.

True

Rows in a table can be changed by using the SQL UPDATE statement.

True

SQL triggers are used for providing default values, validity checking, updating views, and performing referential integrity actions.

True

SQL triggers can be used with SQL operations INSERT, UPDATE, and DELETE.

True

SQL triggers use the ANSI SQL keywords BEFORE, INSTEAD OF, and AFTER.

True

SQL view can be used to hide columns.

True

SQL views are constructed from SELECT statements.

True

SQL views are updatable when the view is based on a single table with no computed columns, and all non-null columns are present in the view.

True

Stored procedures have the advantage of greater security, decreased network traffic, SQL optimized by the DBMS compiler, and code sharing.

True

The Oracle DBMS supports the SQL BEFORE trigger.

True

The SQL CREATE TABLE statement is used to name a new table and describe the table's columns.

True

The SQL SET keyword is used to specify a new value when changing a column value.

True

The SQL command SELECT is used to retrieve view instances.

True

The SQL keyword CHECK is used to limit the column values to specific values.

True

The SQL keyword CONSTRAINT can be used in conjunction with the SQL keywords PRIMARY KEY and FOREIGN KEY.

True

The SQL keyword CONSTRAINT is used to define one of several types on constraints.

True

The SQL keyword CONSTRAINT is used to limit the column values to specific values.

True

The SQL keyword PRIMARY KEY is used to designate the column(s) that are the primary key for the table.

True

The SQL keyword UNIQUE is used to define alternate keys.

True

The values in an SQL view are not always changeable through the view itself.

True

Unless it is being used to copy data from one table to another, the SQL INSERT statement can be used to insert only a single row into a table.

True

Unlike application code, stored procedures are never distributed to the client computers

True

When a trigger is fired, the DBMS makes the appropriate data available to the trigger code.

True

SQL triggers are created using ________. A) the SQL CREATE TRIGGER statement B) the SQL ADD TRIGGER statement C) the SQL TRIGGER statement D) the SQL ADD CONSTRAINT TRIGGER statement

A

SQL triggers can be used when the DBMS receives a(n) ________ request. A) INSERT B) SELECT C) ALTER D) CREATE

A

Which keyword is used to remove one or more rows from a table? A) DELETE B) INSERT C) ERASE D) SET

A

Which of the following does not describe a user-defined function? A) It computes a numeric value B) It can be called by name from within an SQL statement C) It may have input parameters passed to it D) It returns an output value to the calling statement

A

The following database will be used in this question: GENERAL SALES DATABASE: SALESREP SalesRepNo RepName HireDate 654 Jones 01/02/2005 734 Smith 02/03/2007 345 Chen 01/25/2004 434 Johnson 11/23/2004 CUSTOMER CustNo CustName Balance SalesRepNo 9870 Winston 500 345 8590 Gonzales 350 434 7840 Harris 800 654 4870 Miles 100 345 What is an SQL view, and what is it used for? Include an example based on the CUSTOMER table of the General Sales Database. An SQL view is a virtual table constructed from database tables or other views. It is based on the SQL CREATE VIEW command and uses the SQL SELECT statement to construct the view. However, the ORDER BY clause cannot be used when creating a view. For example: CREATE VIEW CustomerNameOnly AS SELECT CustName FROM CUSTOMER;

A view may be used to (1) hide columns or rows, (2) show the results of computed columns, (3) hide complicated SQL statements such as joins, (4) layer built-in functions, (5) provide a level of indirection between the data processed by applications and the actual table data,(6) assign different processing permissions to different views of the same table, and (7) assign different triggers to different views of the same table.

What are SQL triggers and how are they used?

An SQL trigger is a stored program that is attached to a table or view. The trigger is invoked by the DBMS whenever an insert, update or delete request is made on the table or view with the trigger. There are three commonly used triggers: BEFORE, INSTEAD OF, and AFTER (MS SQL server does not support BEFORE). This creates a set of nine possible trigger types: BEFORE + [INSERT or UPDATE or DELETE], INSTEAD OF + [INSERT or UPDATE or DELETE], and AFTER + [INSERT or UPDATE or DELETE]. Triggers are used (among other things) for (1) providing default values, (2) validity checking, (3) updating views, and (4) enforcing referential integrity actions.

Which SQL keyword is used to add one or more rows of data to a table? A) DELETE B) INSERT C) SELECT D) UPDATE

B

Which SQL keyword is used to delete a table's structure? A) DELETE B) DROP C) DISPOSE D) ALTER

B

Which SQL keyword is used to name a new table and describe the table's columns? A) SET B) CREATE C) SELECT D) ALTER

B

An SQL virtual table is called ________. A) a CHECK constraint B) a view C) embedded SQL D) a trigger

B

Based on the table below, a function to compute a 10% late penalty on a customer's balance would have how many input parameters? CUSTOMER CustNo CustName Balance SalesRepNo 9870 Winston 500 345 8590 Gonzales 350 434 7840 Harris 800 654 4870 Miles 100 345 A) 0 B) 1 C) 2 D) it doesn't matter

B

If the values in an SQL view are not changeable through the view itself, you may still be able to update the view by using unique application logic. In this case, the specific logic is placed in ________. A) a BEFORE trigger B) an INSTEAD OF trigger C) an AFTER trigger D) Depending on the specific logic, either A or B can be used.

B

Referential integrity constraints are implemented in SQL using the ________ syntax. A) PRIMARY KEY B) FOREIGN KEY C) DEFAULT D) UNIQUE

B

Stored procedures have all these advantages except ________. A) greater security B) faster development C) SQL optimized by the DBMS compiler D) code sharing

B

The SQL command used to create a virtual table is ________. A) CREATE VTABLE B) CREATE VIEW C) VTABLE D) VIEW

B

The SQL keyword used to limit column values to specific values is ________. A) CONSTRAINT B) CHECK C) NOT NULL D) UNIQUE

B

Which of the following illustrates the authors' preferred style of defining a primary key? A) CREATE TABLE CUSTOMER ( CustomerID Integer Primary Key LastName Char(35) Not Null First Name Char(25) Null ); B) CREATE TABLE CUSTOMER ( CustomerID Integer Not Null LastName Char(35) Not Null First Name Char(25) Null CONSTRAINT CustomerPK PRIMARY KEY (CustomerID) ); C) CREATE TABLE CUSTOMER ( CustomerID Integer Not Null LastName Char(35) Not Null First Name Char(25) Null ); ALTER TABLE CUSTOMER ADD CONSTRAINT CustomerPK PRIMARY KEY (CustomerID); D) Both B and C are correct

B

A set of SQL statements stored in an application written in a standard programming language is called ________. A) a stored procedure B) a view C) embedded SQL D) a trigger

C

Because SQL statements are table-oriented, whereas programs are element-oriented, the results of SQL statements used in programs are accessed using ________. A) standard programming tools B) custom written programming tools C) an SQL cursor D) an SQL trigger

C

One advantage of using the CONSTRAINT phrase to define a primary key is that the database designer controls the ________. A) name of the table B) name of the foreign key field C) name of the constraint D) name of the primary key field

C

When the correct SQL command is used to delete a table's structure, what happens to the data in the table? A) If the deleted table was a parent table, the data is added to the appropriate rows of the child table. B) If the deleted table was a child table, the data is added to the appropriate rows of the parent table. C) The data in the table is also deleted. D) Nothing because there was no data in the table since only an empty table can be deleted.

C

Distinguish between Char and VarChar data types. Include examples and tradeoffs.

Char data type is fixed-length, so that no matter the actual length of the data entered it will always take exactly the same storage space. For example, Char(10) indicates that 10 characters will always be stored for each value of that column. If the actual data entered is less than the specified fixed- length, the data will be padded with blanks. VarChar data type is variable length so that only the amount of space actually needed to store the data is used. Although VarChar may be more efficient in its use of space, it is not always preferred. VarChar requires the storage of some extra data to indicate the length of the data values, plus it requires some extra processing by the DBMS to arrange the variable length data. As another example, VarChar(10) indicates that the maximum length of a string to be stored in that field will be 10 characters. If the actual data are shorter, then fewer than 10 characters will be stored.

Discuss SQL data types

Common examples of standard SQL data types are Char, VarChar, Integer, and Numeric. The Char data type is for fixed-length character data. VarChar is for variable-length character data. Integer is for numeric data that are whole numbers only. Numeric is for numeric data that may include decimals. Char, VarChar, and Numeric must be qualified by a length specification to indicate the amount of storage space to be allocated for each data item. For example, Char(10) indicates fixed-length character data that is always stored as 10 characters.

) If the values in an SQL view are changeable through the view itself, which SQL statement is used to change the values? A) CREATE B) DELETE C) INSERT D) UPDATE

D

A stored program that is attached to a table or view is called ________. A) a CHECK constraint B) a view C) embedded SQL D) a trigger

D

A stored program that is attached to the database is called ________. A) a view B) embedded SQL C) a trigger D) a stored procedure

D

Which SQL keyword is used to change the values of an entire column? A) CHANGE B) INSERT C) SELECT D) SET

D

Based on the tables below, which of the following SQL statements would increase the balance of the Gonzales account by $100 to a total of $450? GENERAL SALES DATABASE: SALESREP SalesRepNo RepName HireDate 654 Jones 01/02/2005 734 Smith 02/03/2007 345 Chen 01/25/2004 434 Johnson 11/23/2004 CUSTOMER CustNo CustName Balance SalesRepNo 9870 Winston 500 345 8590 Gonzales 350 434 7840 Harris 800 654 4870 Miles 100 345 A) SELECT Gonzales FROM CUSTOMER INSERT VALUES PLUS (100) INTO Balance; B) SELECT Gonzales FROM CUSTOMER INSERT VALUES (450) INTO Balance; C) INSERT INTO CUSTOMER VALUES (450) SELECT Balance WHERE CustName = 'Gonzales'; D) UPDATE CUSTOMER SET Balance = 450 WHERE CustName = 'Gonzales';

D

Because SQL statements are set-oriented, whereas programs are element-oriented, the results of SQL statements used in programs are treated as ________. A) tables B) rows C) files D) pseudofiles

D

Because SQL stored procedures allow and encourage code sharing among developers, stored procedures give database application developers all these advantages except ________. A) less work B) standardized processing C) specialization among developers D) faster query response times

D

SQL triggers are not used for ________. A) validity checking B) providing default values C) updating views D) creating tables

D

SQL views are always updatable when ________. A) the view is based on a single table with no computed columns, and all non-null columns are present in the view B) the view is based on any number of tables, with or without computed columns, and the INSTEAD OF trigger is defined for the view C) the view is based on multiple tables, the update is being done on the most subordinate table, and the rows of that table can be uniquely identified D) Both A and B are correct

D

SQL views are constructed from ________. A) CREATE statements B) INSERT statements C) UPDATE statements D) SELECT statements

D

SQL views are not used ________. A) to hide columns B) to show results of computed columns C) to hide complicated SQL statements D) to enforce primary key constraints

D

To set a column value to an initial value that is selected according to some business logic, you would use ________. A) the SQL DEFAULT constraint with the CREATE TABLE command B) an SQL view C) embedded SQL D) an SQL trigger

D

When a trigger is fired, the DBMS makes the appropriate data available to ________. A) the SQL interpreter B) the application code C) the embedded SQL code D) the trigger code

D

Which SQL keyword is used to change one or more rows in a table? A) MODIFY B) INSERT C) SELECT D) UPDATE

D

Which SQL keyword is used to change the structure, properties or constraints of a table? A) SET B) CREATE C) SELECT D) ALTER

D

According to the SQL-92 standard, statements used to construct views cannot contain the WHERE clause.

False

If a trigger is being written to enforce referential integrity actions, you cannot use an INSTEAD OF trigger.

False

If the table PRODUCT has a column PRICE, and PRICE has the data type Numeric (8,2), the value 98765 stored in that field will be displayed by the DBMS as 98765.00

False

SQL triggers are created using the SQL ADD TRIGGER statement.

False

The SQL Server DBMS supports the SQL BEFORE trigger.

False

The SQL command CREATE USER VIEW is used to create a virtual table.

False

The SQL keyword DELETE is used to delete a table's structure.

False

The SQL keyword MODIFY is used to change a column value.

False

The SQL keyword MODIFY is used to change the structure, properties, and constraints of a table.

False

Explain how relationships are created using SQL. Include an example.

In SQL, relationships are created using a FOREIGN KEY constraint. This has the format: CONSTRAINT ConstraintNameFK FOREIGN KEY({ForeignKeyColumnInCurrentTable} REFERENCES {ReferencedTableName}(PrimaryKeyColumnInReferencedTable}) The constraint thus names the foreign key column in the current table and its corresponding primary key in a referenced table. As an example, consider an advising relationship from STUDENT to FACULTY. The following constraint might appear in the SQL statement creating the STUDENT table: CONSTRAINT AdvisorFK FOREIGN KEY (AdvisorID) REFERENCES FACULTY (FacultyID)

Because SQL statements are table-oriented, whereas programs are variable-oriented, the results of SQL statements used in programs are treated as pseudofiles.

True

The following database will be used in this question: GENERAL SALES DATABASE: SALESREP SalesRepNo RepName HireDate 654 Jones 01/02/2005 734 Smith 02/03/2007 345 Chen 01/25/2004 434 Johnson 11/23/2004 CUSTOMER CustNo CustName Balance SalesRepNo 9870 Winston 500 345 8590 Gonzales 350 434 7840 Harris 800 654 4870 Miles 100 345 Explain the use of the SQL statement CREATE TABLE. Do NOT discuss the ALTER statement in your answer, but DO include an example based on the SALESREP table in the General Sales database.

The SQL statement CREATE TABLE forms the basis for all SQL table construction. CREATE TABLE is used to name tables and specify their structure, including column names and their associated data types. In addition, CREATE TABLE can be used to define primary keys, foreign keys, and to specify constraints on tables, columns and column values. There are five SQL keywords that specify these constraints: PRIMARY KEY, FOREIGN KEY, NULL/NOT NULL, UNIQUE, and CHECK. PRIMARY KEY and FOREIGN KEY are used to specify keys. NULL and NOT NULL specify whether nulls are allowed as values in a column. UNIQUE specifies whether the column values have to be unique. The SQL keyword CONSTRAINT may be used to specify some of the table constraints. For example, to create the SALESREP table for the General Sales database, the following SQL statement may be used: CREATE TABLE SALESREP ( SalesRepNo Integer Not Null, RepName Char(25) Not Null, HireDate Date Not Null, CONSTRAINT SalesRepPK PRIMARY KEY (SalesRepNo) ); Note to the instructor: The data type of HireDate is shown as Date, which is the ORACLE data type shown in the text. Students may also use Datetime, which is the SQL Server data type, which is also shown in the text.

A set of SQL statements stored in an application written in a standard programming language is called embedded SQL

True

An SQL virtual table is called a view.

True

Because SQL statements are table-oriented, whereas programs are variable-oriented, the results of SQL statements used in programs are accessed using an SQL cursor.

True


Related study sets

English: Background for the Medieval Period

View Set

AQA GCSE 9-1 French - Module 1 - Key Questions

View Set

AP Human Geography Chap.6 Religion

View Set

Taylor PrepU Chapter 8: Communication

View Set