0% found this document useful (0 votes)
186 views

DDL Lab Exercise

The document provides instructions for students to complete an exercise to learn SQL skills like creating, altering and dropping tables, managing constraints, modifying columns, and using flashback operations. It includes background information on the CREATE TABLE statement, defining constraints, creating tables with subqueries, making tables read-only, dropping tables, inserting data, using ALTER TABLE, adding and dropping constraints, and the FLASHBACK TABLE statement. The experimental procedure has 15 steps where students write SQL statements to create and populate tables, add constraints, modify columns, set a table to read-only, insert and query data, drop and restore a table, and drop a column.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views

DDL Lab Exercise

The document provides instructions for students to complete an exercise to learn SQL skills like creating, altering and dropping tables, managing constraints, modifying columns, and using flashback operations. It includes background information on the CREATE TABLE statement, defining constraints, creating tables with subqueries, making tables read-only, dropping tables, inserting data, using ALTER TABLE, adding and dropping constraints, and the FLASHBACK TABLE statement. The experimental procedure has 15 steps where students write SQL statements to create and populate tables, add constraints, modify columns, set a table to read-only, insert and query data, drop and restore a table, and drop a column.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 9

I.

OBJECTIVES:

At the end of this exercise, students must be able to:


a) Create, alter and drop tables
b) Verify that tables exist
c) Set a table to read-only and read/write status
d) Manage constraints
e) Add, modify and drop columns
f) Perform flashback operations

II. BACKGROUND INFORMATION

CREATE TABLE Statement


 This statement is one of the DDL statements that are a subset of the SQL statements
used to create, modify, or remove Oracle database structures.

Syntax:
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr] [, …]);

Constraints
The Oracle server uses constraints to prevent invalid data entry into tables.

You can use constraints to do the following:


 Enforce rules on the data in a table whenever a row is inserted, updated, or
deleted from that table. The constraint must be satisfied for the operation to succeed.
 Prevent the deletion of a table if there are dependencies from other tables.
 Provide rules for Oracle tools, such as Oracle Developer.

Data Integrity Constraints

Constraint Description
NOT NULL Specifies that the column cannot contain a null value

UNIQUE Specifies a column or combination of columns whose values


must be unique for all rows in the table
PRIMARY KEY Uniquely identifies each row of the table
FOREIGN KEY Establishes and enforces a referential integrity between the
column and a column of the referenced table such that values
in one table match values in another table.
CHECK Specifies a condition that must be true
Defining Constraints

Syntax:
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],

[table_constraint] [, …]);

 Column-level constraint syntax:

Syntax:
column [CONSTRAINT constraint_name] constraint_type,

 Table-level constraint syntax:

Syntax:
column, …
[CONSTRAINT constraint_name] constraint_type
(column, …),

Creating a Table Using a Subquery


 Match the number of specified columns to the number of subquery columns.
 Define columns with column names and default values.

Syntax:
CREATE TABLE table
[(column, column…)]
AS subquery;

Read-Only Tables
You can use the ALTER TABLE syntax to:
 Put a table into read-only mode, which prevents DDL or DML changes during table
maintenance
 Put the table back into read/write mode

Syntax:
ALTER TABLE table READ ONLY;
ALTER TABLE table READ WRITE;

Dropping a Table
 Moves a table to the recycle bin
 Removes the table and all its data entirely if the PURGE clause is specified

Syntax:
DROP TABLE table [PURGE];
Inserting Data into the Table

 With this syntax, only one row is inserted at a time

Syntax:
INSERT INTO table [(column [, column…])]
VALUES (value [, value…]);

 Copying rows from another table

Syntax:
INSERT INTO table [(column [, column…])]
subquery;

ALTER TABLE Statement

Syntax:
ALTER TABLE table
ADD (column datatype [DEFAULT expr]
[, column datatype]…);

ALTER TABLE table


MODIFY (column datatype [DEFAULT expr]
[, column datatype]…);

ALTER TABLE table


DROP (column);

Adding a Constraint

Syntax:
ALTER TABLE table
ADD (CONSTRAINT constraint_name] type column_name;

Dropping a Constraint

Syntax:
ALTER TABLE table
DROP PRIMARY KEY | UNIQUE (column) |
CONSTRAINT constraint [CASCADE];

FLASHBACK TABLE Statement

Syntax:
FLASHBACK TABLE [schema.]table [, [schema.]table]…
TO {TIMESTAMP | SCN} expr;
III. EXPERIMENTAL PROCEDURE:

Overview

In this exercise, you are to create new tables by using the CREATE TABLE statement,
ALTER TABLE command to modify columns and add constraints, and confirm that the new
table was added to the database. You will also set the status of a table as READ ONLY and
then revert to READ/WRITE.

Note: You will use the DEPARTMENTS and EMPLOYEES table in the HR schema.
Use a qualifier to query data from the table in the HR schema.

Syntax: <schema>.table Example: HR.DEPARTMENTS

Task

Write the equivalent SQL statements for the steps that follow.

Step 1: Create the DEPT table based on the following table instance chart. Enter the
syntax in the SQL Worksheet. Then, execute the statement to create the table.

Column name ID NAME


Data type NUMBER VARCHAR2
Length 7 25

________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
_______________________________________________________________________

Step 2: Confirm that the table is created. Sample output is as follows:

________________________________________________________________________
________________________________________________________________________
Step 3: Populate the DEPT table with data from the DEPARTMENTS table. Include only
columns that you need.

________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
_______________________________________________________________________

Step 4: Create the EMP2 table based on the following table instance chart. Enter the
syntax in the SQL Worksheet. Then, execute the statement to create the table.

Column name ID LAST_NAME FIRST_NAME DEPT_ID


Data type NUMBER VARCHAR2 VARCHAR2 NUMBER
Length 7 25 25 7

________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________

Step 5: Confirm that the table is created. Sample output is as follows.

________________________________________________________________________
________________________________________________________________________

Step 6: Modify the EMP2 table to allow for longer employee last names.

________________________________________________________________________
________________________________________________________________________
Step 7: Confirm your modification. Sample output is as follows.

________________________________________________________________________
________________________________________________________________________

Step 8: Create the EMPLOYEES2 table based on the structure of the EMPLOYEES
table. Include only the EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY, and
DEPARTMENT_ID columns. Name the columns in your new table ID, FIRST_NAME,
LAST_NAME, SALARY, and DEPT_ID, respectively.

________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________

Step 9: Alter the EMPLOYEES2 table status to read-only.

________________________________________________________________________
________________________________________________________________________

Step 10: Try to insert the following row in the EMPLOYEES2 table:

You get the following error message:


________________________________________________________________________
________________________________________________________________________

Step 11: Revert the EMPLOYEES2 table to the read/write status. Now, try to insert the
same row again. You should get the following messages:

________________________________________________________________________
________________________________________________________________________

Step 12: Drop the EMP2 table.

________________________________________________________________________
________________________________________________________________________

Step 13: Query the recycle bin to see whether the table is present. Sample output is as
follows.

________________________________________________________________________
________________________________________________________________________

Step 14: Restore the EMP2 table to a state before the DROP statement.

________________________________________________________________________
________________________________________________________________________

Step 15: Drop the first name column from the EMPLOYEES2 table.

________________________________________________________________________
________________________________________________________________________

Step 14: Confirm your modification by checking the description of the table. Sample
output is as follows.
________________________________________________________________________
________________________________________________________________________

Step 15: Add a table-level PRIMARY KEY constraint to the EMP table on the ID
column. The constraint should be named at creation. Name the constraint my_emp_id_pk

________________________________________________________________________
________________________________________________________________________

Step 16: Create a PRIMARY KEY constraint to the DEPT table using the ID column.
The constraint should be named at creation. Name the constraint my_dept_id_pk.

________________________________________________________________________
________________________________________________________________________

Step 17: Add a foreign key reference on the EMP2 table that ensures that the employee is
not assigned to a nonexistent department. Name the constraint my_emp_dept_id_fk.

________________________________________________________________________
________________________________________________________________________

Step 18: Modify the EMP2 table. Add a COMMISSION column of the NUMBER data
type, precision 2, scale 2. Add a constraint to the COMMISSION column that ensures
that a commission value is greater than zero.

________________________________________________________________________
________________________________________________________________________

Step 19: Drop the EMP2 and DEPT tables so that they cannot be restored.

________________________________________________________________________
________________________________________________________________________

Step 20: Verify the recycle bin.

________________________________________________________________________
________________________________________________________________________

What do you observe?______________________________________________________


________________________________________________________________________

IV. QUESTION AND ANSWER:

1. Explain why you encountered an error message in Step 10 after you inserted a row into
the EMPLOYEES2 table.
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

2. What is the purpose of modifying the status of your table to READ ONLY or
READ/WRITE mode?
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________

You might also like