You are on page 1of 12

Beginning Skills

Questions Answers

Can you describe Oracle? Oracle is an object-relational database management system that stores data in a
database. An Oracle database consists of logical and physical structures. For example, a
tablespace is used to logically define the physical storage of data in datafiles. Oracle data
is stored in related tables and SQL is utilized to retrieve information from the tables.

In the command, "Connect @ORCL, a host string, determines what database instance the user wishes to access.
Scott/Tiger@ORCL," the @ORCL is The statement will connect the user, Scott, to the database associated with the ORCL
needed for what purpose? instance.

Will the database start if the control The database will not start without the control file. The control file contains ncecessary
file is missing? datafile information and transaction control numbers.

How is SQL*Plus started? Sqlplus <username><password.

What is a sequence? A sequence is used to provide a sequential unique number. A sequence will provide a
numeric value increased by a specified increment. An example of a sequence follows:



The preceding statement will do the following:

A sequence is referenced with the NEXTVAL and CURRVAL pseudocolumns. The

NEXTVAL generates a new sequence number. The next example illustrates how to
reference a sequence.



START WITH 1: Sets the starting point of the sequence

INCREMENT BY 1: Specifies the value by which the next sequence value

should be increased

NOMAXVALUE: Sets no maximum value for the sequence

NOCYCLE: Indicates that the sequence cannot generate additional

values after reaching a maximum value that has been set

CACHE 20: Pre-allocates 20 sequence numbers to memory for faster


What is SQL*Plus? SQL*Plus, an Oracle tool, is an extension of SQL. SQL* Plus is used to connect to an
Oracle database. The user can also use the tool to process SQL queries.

What is Net8? Net 8 is used to establish network connections and to transfer data based on networking
protocols such as TCP/IP. Net 8 allows clients to connect to remote Oracle databases
residing on multiple servers.

If I need to add data to a table, The SQL command used to add data to a table is "insert." Here's an example:
which SQL command should I use?
Insert into employees(first_name,last_name)
VALUES "Donna", "Matthews";

What is the difference between an The difference is that ASC will create an index with ascending values, such as A, B, C.
index created by ASC and an index The DESC index will create an index with descending values, such as C, B, A.
created by DESC?

What is a join? A join is used to link Oracle tables together through a key field, usually handled by a
where condition in the SQL statement. Here's an example:

Select * From Employee, Department where Employee.Deptno= Department Deptno.

Additional joins also exist:

Inner Join: An inner join will only return the rows where matches were found

Outer Join: An outer join will return all rows, including rows where a match does not exist.

Union: A union is the opposite of an inner join and returns those rows where no match
was found between the tables.

What is a trigger? A trigger is a procedure that is executed when a specific event occurs, such as when a
table is inserted, updated, or deleted.

What is a view? A view is an overlay for tables. Views and tables are queried and accessed in the same
way as a table. Views make it possible to hide the actual name of a table as well as fields
that a user should not access.

What is a procedure? A procedure is a block of PL/SQL statements that is called by applications. A procedure
allows the user to store frequently used commands for easy access later.

What does the distinct clause in The distinct clause in an SQL statement will remove any duplicate values. For example, if
SQL statements do? two last_name values of Matthews exist in a table, only one will be displayed.

Which one must return a value, a A function must return a value and a procedure may never return a value.
procedure, or a function?

What is the purpose of the HAVING The HAVING clause restricts the group of rows returned. It is similar to the WHERE
clause in SQL? clause, except that it is employed when a GROUP_BY clause has been used in the SQL
query. Here's an example:

SELECT snum, state, AVG(amount), MAX(amount)

From salesrep
HAVING state = 'IL';

In a relational database, which one The correct answer is A. A record is a combination of fields or attributes. A database is a
of the following describes an combination of records.
A. Field
B. Record
C. Database
D. None of the above

Which one of the programming The correct answer is C. SQL is used to manipulate the data in relational databases.
languages below is used in Answer A is incorrect because Visual Basic is usually a front-end to the database, but
relational databases to manipulate SQL is used to manipulate the data. Answer B is also incorrect because C++ must use
the data? SQL to manipulate the data.
A. Visual Basic
B. C++
D. None of the above

What is SQL? SQL stands for structured query language, which is used to access Oracle databases.

Oracle8i does not support Java The correct answer is B. Oracle8i supports Java programming wherever PL/SQL is used.
programming. Java programming can be used for stored procedures and functions, as well as for
A. True triggers.
B. False

_____ are queries based on tables. The correct answer is A. B is incorrect because sequences generate unique numbers for
A. Views numeric columns in a table. C is incorrect because indexes are used to speed up the
B. Sequences access of data from a database.
C. Indexes
D. None of the above

Given the tables The correct answer is A. Each employee should have only one resume.
"Employee_Information" and
"Employee_Resume," what type of
relationship do you think exists?
A. One-to-one
B. Many-to-many
C. One-to-many

What does the SQL statement This statement will display all the fields in the employee table where an employee is
"Select * From Employees where located in the state of Illinois.
state = 'IL';" do?

What is the purpose of an index? An index is used to store data in a specific way in a table which will permit easy retrieval
of data. An index to a database is similar to an index in a book; it allows the user to
immediately access the information he or she is seeking without having to read every
page. Indexes sort one or more fields in a database in ascending or descending order.

How can a user create a table? The SQL statement "Create table" is used to create a table in Oracle. An example of the
statement follows:

CREATE TABLE students (

Student_id NUMBER(5) NOT NULL;
Department CHAR(3) NOT NULL);

How does a user create an index? The SQL statement "Create index" is used to create an index in Oracle. The syntax is
"Create Index "ORCL.employees (empid);" is an example of a create statement.
<indexname> on <table_name (column_name(s)>.

What is data normalization? The goal of data normalization is to eliminate redundant data in tables. For example, in a
payroll table where the hourly rate of $60 per hour is stored in a new field for each and
every supervisor, a table can be created that is used to retrieve the hourly rate by the use
of a join. This configuration will allow changes to be made once rather than in multiple
locations for all supervisors in the table.

Can you give an example of a one- The relationship between an employee table and an employee resume table, where each
to-one relationship? employee has only one resume, illustrates a one-to-one relationship.

Can you give an example of a one- An example of a one-to-many relationship can be illustrated by the relationship between
to-many relationship? sales_reps and sales offices. Sales_reps can report to only one office, but an office can
have more than one sales rep.

What does the command "Drop The drop table command is used to delete the employee table and to remove information
Table Employees" do? about it from the data dictionary.

What is the purpose of an Entity An ERD is used to graphically depict the relationship between tables in an Oracle
Relationship Diagram (ERD)? database.

What is PL/SQL? PL/SQL is a programming language used to access Oracle databases. PL/SQL
enhances the SQL programming language with additional programming capabilities, such
as if-then statements, functions, procedures, and so on.

In a SQL statement, what is the The where clause is used to restrict the data returned from a SQL query.
purpose of the where clause?

If the department name for Human The SQL command update would be used to change the department name. The syntax
Resources were changed to HR in a would be:
Departments table, which SQL
command would be used to update UPDATE Departments
this information? Set Dept_Name = "HR"
Where Dept_Name = "Human Resources";

Based on the previous question, The problem would be that not all of the occurrences of Human Resources would be
what problem would occur during updated. This problem could be avoided by creating another table which consists of
the update if the Dept_Name department_code and department_name. The department_code could be used in a
Human Resources were not used where condition to retrieve the department name. With this configuration, an update
consistently in the Departments would need to be done in only one place.
table? How could this problem be

The SQL statement, This statement would retrieve data in the fields First_name and Last_name where the
value in the field Last_name is "Matthews."
Select First_name,
Last_Name from Employee
Where Last_Name =

would accomplish what task?

The SQL statement, This SQL statement will retrieve first name and last name data from the employee table.

Select First_name,
Last_Name from Employee;

would retrieve what from the

employee table?

Can you describe a primary key? A primary key is used to identify rows in a table. An example of a primary key is a social
security number in an employee table.

Describe a foreign key in a Foreign keys refer to a primary key in another table. For example, the social security
database. number in the payroll table can be used to refer to the social security number in the
employee tables.

What is the purpose of the order The order clause is used to sort data by a specific field in a table.

What are some of the advantages Some advantages are: improved data integrity, reduced data redundancy, easier data
relational databases offer? retrieval, and easier data updates.

What does the command "commit" Commit makes changes permanent.


What does the command "rollback" The rollback command will return a table to the state it was in before an insert, update, or
do, and can it be issued after a delete was issued. A rollback can be issued after a commit; however, the changes will
commit? not be removed as they will already have been saved in the database.

What does the command "group by" The group by statement will group the output over identical values. It is used with
do in an SQL statement? aggregate functions such as average. A group by statement can be used to retrieve an
average for all 50 states from a table.

What will the command "Select The command will return the number five for length of 'Donna.'
LENGTH('Donna') from dual;"

What will the command "SELECT This SQL query will return 'DON.' The command retrieves the data starting at the first
substr('DONNA',1,3) from dual;" position and retrieves three characters.
What will the command "SELECT The command will return 'DONNA.' The function UPPER converts the text from lower
UPPER('donna') from dual;" return? case to uppercase.

"Select count(*) from students;" will The select count statement will return the total number of records in the student table.
retrieve what data from Oracle?

What will the command This command will create a variable named "v_numberseats" with a datatype of Number
"v_numberseats Number:=45;" do? and set the value of the variable to 45.

Is there a difference between the Both statements are the same. The only difference between the two is visual.
two commands that follow?:

DECLARE v_firstname,
v_lastname varchar2(20);



V_firstname varchar2(20);
V_lastname varchar2(20);

Intermediate Skills
Questions Answers

The init.ora file is only used The correct answer is B. The init.ora file is used at instance startup to configure the parameters
when an instance is stopped. and settings for the instance.
A. True
B. False

Which of the following is The correct answer is D. The init.ora file is used at instance startup to configure the parameters
used to configure an and settings for the instance. Redo log files are used to store changes to data. A setting in the
instance when it starts? init.ora file configures the control file. Tables are accessed only after an instance is started and
A. redo log files the database is accessed.
B. control files
C. tables
D. init.ora files

The DBWn background False. The DBWR (Database Writer) is used to write data from the database buffer to the
process is used to write data database files. LGWR (Log Writer) is used to write data from the Log Buffer to the redo log files.
from the database buffer to
the redo log files; true or
A. True
B. False

Which is not a background D is the correct answer. A, B, and C are all components of the background process.

Increasing the size of the Increasing the size of the data block parameter will speed up the execution of queries.
data block parameter in the
init.ora file will have what
impact on queries?

If a match is found in the If this occurs, the SQL statement will not need to be executed. Oracle will use the execution path
shared pool for a SQL information from the SQL statement in the shared pool.
statement, what will happen?

A new service name is The user will not be able to make a connection because the listener.ora file is used to establish
created, but the Oracle DBA the services on the server.
did not add the entry to the
listener.ora file. Will the user
be able to make a
connection? If not, why?

Will typing "connect The answer is no. The correct syntax for establishing a connection is connect
scott/tiger&orcl" in server "username/password@service" name.
manager enable the user to
connect to the server from a
client machine?

If the listener service is not The listener must be running in order for a user to connect to the service name. The listener is
running on the server, what used to process a user's request and route the request to the proper database.
will happen when a user tries
to connect to the service

What is the effect if the The log files will be written to the c:\temp directory instead of the c:\oracle directory.
parameter in the init.ora file
is changed from c:\oracle to

Is the syntax "CREATE The syntax is incorrect. The word IDENTIFIED should be used in place of the word IDENTIFY.
test;" correct for creating a

What impact will it have if the It will have no impact at all. The installation of the starter database is used as a guide to setting
user does not install the up an Oracle database.
sample (starter) database?

What is the purpose of the The SQL*Loader is an Oracle tool that allows the user to load non-Oracle data into a database.
SQL*Loader? It is commonly used when loading an ASCII flat file, which is delimited or non-delimited into

In an Oracle database, The system tablespace should be reserved for Oracle's use only. The data dictionary is
should all of the database maintained in the system tablespace. Additional tablespaces should be created for a new
objects be maintained in the database.
SYSTEM tablespace? Why
or why not?

Which of the following is The correct answer is C. The primary key is used to set the key that the table information should
used to ensure that the data use as a unique key (for example, a social security number in an employee table). A not null
meets a specific condition constraint is used to disallow null data in a field.
before it is inserted, deleted,
or edited?
A. Primary Key
B. Not Null
C. Check

What is a package? A package is used to store procedures and functions in one place.

What are the two A package consists of a package specification and a package body.
components of the package?

The command "sysdate" This command returns the computer's system date.
returns what?
What is the purpose of the Redo logs record all of the changes made to a database. This information is used to perform
redo logs? rollbacks, which are used if it is necessary to recover data, and to help maintain read-
consistency of data.

What is the purpose of the The control files contain information about the database, such as datafiles, and other physical
control file? architecture information about the database.

How does import/export work Export reads the database and writes the output to a binary file, which is called an export dump
in Oracle? file. The import utility is used to import the exported file back into Oracle. Exports are available
for full, incremental, and cumulative database export. The export can be done while the
database is up and running.

What is a tablespace? A tablespace is a logical division of a database. Each database must at least have a system

What is a datafile? Datafiles physically divide a database. They give, for example, the actual name and location of
files used in an Oracle database.

Describe the relationship The system tablespace, made of the datafiles c:\system.dtf, illustrates the relationship. The
between the tablespace and tablespace is the physical name and the datafiles are the actual physical files. The tablespace
datafiles. can consist of one or more datafiles. As long as the system tablespace name stays the same, an
Oracle DBA can make changes to the datafiles associated with the tablespace.

What is the difference Both truncate and delete remove data from a database table. However, truncate also resets the
between the truncate table storage to the initial setting.
and delete statements?

What is a cluster? A cluster is used to store tables that are frequently accessed together. Clusters enable better
query performance.

What is the purpose of the The init*.ora file contains the parameters for the Oracle database which that database should
init*.ora file? use. Some of the parameters in the init*.ora file are DB blocks.

What is the purpose of the The Oracle Application Server is a Web server that is available from Oracle. The Oracle
Oracle Application Server? Application Server also allows you to easily access Oracle packages.

What is the purpose of the The LGWR is a background process that handles the writing of the redo log buffer to the online
LGWR? redo log files.

How many tablespaces are Only one tablespace is required in an Oracle database, the system tablespace.
required in Oracle and what
is the name of any
mandatory tablespace?

Is it a good idea to store No, the system tablespace should be reserved for Oracle's use to avoid corruption of the Oracle
everything in the system database.

What occurs during a CKPT Data is written to the datafiles and redo log files during a CKPT.
in Oracle?

What is contained in the alert The alert log records the commands and command results of major events in the database,
log and how often should it such as tablespace creation. The alert log should be checked daily to see if any problems are
be checked? occurring with the database.

What is the purpose of the The DBWn is the background process that handles writing data from the database buffers to the
DBWn? datafiles.

What does the not null The not null constraint ensures that the field is not left empty. Data must be entered in any field
constraint do on a field? that has been assigned a not null constraint.

What is an instance? An Oracle instance is used to access the data in the database. The parameters are set in the
init*.ora file. An instance that could be used to connect to the database is "Connect
Scott/Tiger@ORCL." ORCL is the name of the instance.

What does the describe The describe command will provide information about an Oracle object. For example, "Describe
command do? employees" will provide information on the employee fields and their datatypes in the table.

What command is used to The command is as follows:

create a user?
Create user Rochelle
Identified by "Tasha"

This command will create a user "Rochelle" with the assigned password "Tasha."

What is the purpose of the The default constraint sets a default value if no data is inserted in a column.
default constraint?

What occurs during The shutdown abort command immediately stops the Oracle database and disconnects all
shutdown abort? connected users without completing any current transactions being performed.

What occurs during startup A database is created.


What is the purpose of the The check constraint's purpose is to ensure that values in a specified column meet a certain
check constraint? criteria. It might be used, for example, in a situation where the salary value must be less than

What is a database link? A database link allows the user to access remote data without providing the fully qualified name
of the remote object. This is done by creating public database link cur_link and connecting to an
employee identified by matthews using 'TEMP.'

Then, once the user needs to connect to the table the command "Select * from
employee@cur_link would retrieve the data.

If you own the table The command "Grant Select on employees to Rob;" gives him access.
Employees, what command
grants user Rob the ability to
select data?

What is contained under a The user's schema will contain a set of objects owned by that user, such as tables, procedures,
user's schema in Oracle? and so on.

What is the purpose of Oracle Designer allows a user to develop applications quickly. Oracle Designer provides a Rapid
Oracle Designer? Application Development (RAD) environment to model and generate Data Definition Language
(DDL), client-server, and Web-based applications.

What is Oracle WebDB? Oracle WebDB is a software package that enables users to easily develop Web-based
applications from Oracle databases.

What is a synonym? A synonym is used to completely identify a database object, such as a table, in a distributed
database. The command is "Create public synonym employee for HR. employee;"

What will the command "drop A user normally cannot be dropped if it owns objects; however, if cascade were added, it would
user ORCL cascade" do? drop the user and all the objects associated with the user.

The following statement, This command will create the user matthews with a password of MATTHEWS.
"Create user matthews
identified by MATTHEWS,"
accomplishes what task?

The command "Alter user The command will set the default tablespace for the user matthews to "test." Therefore,
matthews default tablespace whenever the user matthews executes a SQL command that requires storage but does not
test" will do what? specify a tablespace, the tablespace "test" will be used.
The "Grant insert on This command will give all users who have access to the database the ability to insert data into
employees to PUBLIC" the employee table.
command will achieve what

What is the default order The default order of an index is ascending order, as in A, B, C.
when an index is created?

What is the purpose of the The dual table comes with Oracle and is owned by the user SYS. The dual table can be used to
dual table? run SQL queries, such as "Select SYSDATE from Dual;."

Advanced Skills
Questions Answers

Which Oracle feature The correct answer is D. The datafiles contain the data contained in the database. Tablespaces
contains information about are the logical name given to datafiles.
the database, including a
time stamp of data creation?
A. None of the
B. Datafiles
C. Tablespace
D. Control Files

Execution plans for SQL The correct answer is C, the shared pool. The database buffer contains only recently accessed
statements are maintained data. The redo logs contain changes to the database.
in the:
A. Database
B. Redo logs
C. Shared pool
D. None of the

The datafile users.dtf, which The database will not start without the users.dtf. At instance startup, the controlfile is used to
is part of the users check for the database structure information. Because the users.dtf is missing, the users
tablespace, is accidentally tablespace will be invalid.
deleted. Will the database
still start? Explain.

The Oracle database This change will have no effect on either existing objects under the tablespace or on any other
contains a tablespace called development tasks. Oracle utilizes a database independence environment. This means that the
users, which consists of the changes to the physical structure (datafiles) have no impact on the logical structure
datafile (tablespaces). The changes are transparent to both the user and developer.
The DBA decides to add a
new datafile called
users2.dtf to the tablespace.
Will this change cause the
developer to recreate all of
the objects that are currently
configured to the user's

A media failure has occurred The correct answer is A. The Redo log file contains information on data changes. B is incorrect
while data entry is being because the control file is used to provide information only on the database structure. C is
done. Which of the following incorrect because tablespaces give the logical names assigned to datafiles in Oracle.
can be used to recover the
data that has not been
written yet?
A. Redo log
B. Control file
C. Tablespace

If the background process No, the instance will not start without the DBWn process. DBWn is used to write modified data
DBWn does not start, will the from the database buffer cache in the shared global area to the datafiles.
instance start?

Explain the purpose of the The purpose of the LGWR is to manage the contents of the redo log buffer, contained in the
LGWR background process. shared global area, and of the online redo log files. LGWR writes log entries to the redo log files.

What is the purpose of the The DBWn background process manages the contents of the data buffer cache. The DBWn
DBWn background process? performs writes of changed data to the datafiles.

The network administrator No. The connection will not work unless the names files are also updated. For example, if the
has decided to change the user gains a connection by use of a tnsnames.ora file, the entry will reference the old server
name of the server to name or IP address, which no longer exists and the connection will fail. This example shows the
ORATEST and has also need for the Oracle DBA and network administrators to communicate with each other about any
changed the IP address system changes.
without the user's
knowledge. When the user
tries to make a connection to
the server, will it work?

In the tnsnames.ora file, if The connection will not work because the tnsnames.ora file will not have an entry for the orcl
the SERVICE_NAME=orcl is instance. If the user wants to add the department service name, the entire section for the orcl
changed to must be duplicated and the occurences of orcl replaced with dept.
a user then tries to connect
to the orcl service name,
what will happen?

In the listener.ora file, which The correct answer is B, the connect data section. The description section contains information
section contains information about the server. The host is a component of the description section, which provides information
about the service names? on the server where Oracle resides.
A. Description
B. Connect
C. Host

Sending multiple sessions to The correct answer is A. B is incorrect because the tnsnames.ora file exists on client machines
the server at one time is to provide information on the services and server residing on the Oracle server. Answer C is
handled by which of the incorrect because Oracle names is a method used to allow for client connections.
A. Connection
B. Tnsnames.o
C. Oracle

Which option would be used The correct answer is C, abort. A normal shutdown waits for all currently connected users to
to shut down a database terminate their sessions. An immediate shutdown terminates currently executing SQL queries
without waiting for users to and rolls back uncommitted transactions.
disconnect and which does
not roll back uncommitted
A. Normal
B. Immediate
C. Abort
Which backup can only be The correct answer is B, online backup. A and C are incorrect because these backups can be
performed if the database is performed even if the database is not in archivelog mode.
in archivelog mode?
A. Offline
B. Online
C. Export

Which one of the following is The correct answer is A. The init.ora file is read at instance startup to set parameters. The
used to create the data LGWR is a background process that handles writing information to the redo log files. D is
dictionary? incorrect because the DBWn is a background process that writes changes to physical datafiles.
A. Catalog.sql
B. Init.ora

Describe a cold backup in A cold backup requires that the database be taken down. All files associated with the database
Oracle. are then copied.

What does maxinstances do Maxinstances, in the create database statement, sets the maximum number of instances that
in the create database can be connected to an Oracle database at one time.

What exactly are extents? Extents are continuous sets of Oracle blocks of space. If possible, all of one object should be
maintained in one extent.

Describe a hot backup. A hot backup occurs while the Oracle database is running. In order for a hot backup to be done,
the Oracle database must have the ARCHIVELOG option set. The ARCHIVELOG option is set
with the command "alter database archcivelog;." This process will make a copy of the redo log
files before they are overwritten. Tablespaces are then taken into backup state, datafiles are
backed, and then the tablespaces are returned to an online status.

What is the purpose of the The purpose of the plan table is to provide the execution path for SQL statements.
plan table?

What does the archive The ARCHIVELOG option is set with the command "alter database archivelog;." This process
feature do and how is it set? will make a copy of the redo log files before they are overwritten.

What is the purpose of the The tnsnames.ora files contain information on such Oracle instances as names, Network
tnsnames.ora files? protocols, and IP addresses. This file is used to provide information to connect to Oracle

What is a role and how is it A role is used to distribute Oracle database privileges. Dba and connect are examples of some
associated with a user? of the roles.

What is a profile? A profile is used to place limits on the system and database resources available to a user.

Can the database block size No, the only way the database blocks can be resized is if the database is recreated.
be changed after a database
is created?

What does the statement The command creates information in the form of indexes, such as on the employee computer
"Analyze table employee statistics table in Oracle. This information can be used by Oracle to determine the best execution
computer statistics" do? path for SQL queries.

What are rollback Rollback segments are used within a database to construct a before image for uncommitted
segments? transactions and are used to roll back data when a rollback command is issued.

Name a few of the Two parameters that can be set are OPTIMIZATION_MODE and DB_BLOCK_SIZE.
parameters that can be set
in the init.ora file.
What is the difference Privileges are the Oracle commands given to a user, such as "Create Table." Roles consist of
between privileges and a privileges and give the DBA a way to easily assign the same privileges to all users with a specific
role? job role.

What command is used to The command "alter user" can be used to change a user's password.
change a user's password?

When the DBA sets The with grant option clause of the grant command is used to give the grantee the ability to grant
privileges for a user and privileges to other users.
adds the command "with
grant option," how are the
user's privileges altered?

Can tablespaces be taken Yes, tablespaces can be taken offline; this is done when a hot backup is needed.

What does the command This command will develop free spaces in tablespaces into larger extents. This will allow larger
"Alter tablespace coalesce" objects to fit in one extent.
do and why is this needed?

What does the initial The initial command sets the number of extents that are initially created for a tablespace.
command do in create
tablespace commands?

What is the purpose of the The Shared SQL Pool stores information on SQL commands that have been submitted and their
Shared SQL Pool? execution paths. When a new SQL command is issued, the Shared SQL Pool is checked for a
match and the execution path from the Shared SQL Pool is used.

What will the command This command will delete the table from the Oracle database and all associated indexes from the
"DROP Table" do? table.