MCT490 - Oracle Database 11g: Introduction to SQL

Outline info
Semester
School
Last revision date 2017-10-10 16:14:09.329
Last review date 2017-11-13 00:15:01.02


Subject Title
Oracle Database 11g: Introduction to SQL

Subject Description
Learn the concepts of relational databases and the essential SQL skills to write queries against single and multiple tables, manipulate data in tables, create database objects and control privileges at the object and system level. This course will help prepare you for the Oracle exam IZO-050.

Credit Status
 This subject is part of the Recognition of Achievement Programs for Oracle Database Administration and Oracle Application Developer.

Learning Outcomes
Upon successful completion of this subject the student will be able to:

1. Employ SQL functions to generate and retrieve customized data.
2. Display data from multiple tables using the ANSI SQL 99 JOIN syntax.
3. Identify the major structural components of the Oracle Database 11g.
4. Create reports of aggregated data.
5. Write SELECT statements that include queries.
6. Retrieve row and column data from tables with the SELECT statement.
7. Run data manipulation statements (DML) to update data in the Oracle Database 11g.
8. Create tables to store data.
9. Utilize views to display and retrieve data.
10. Control database access to specific objects.
11. Manage schema objects.
12. Manage objects with data dictionary views.
13. Write multiple-column sub-queries.
14. Use scalar and correlated sub-queries.
15. Use the regular expression support in SQL.
16. Create reports of sorted and restricted data.

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.

Discrimination/Harassment
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

Prerequisite(s)
MCT100 or equivalent experience    

Topic Outline

Introducing Oracle Database 11g

  • List the features of Oracle Database 11g
  • Discuss the basic design, theoretical and physical aspects of a relational database
  • Categorize the different types of SQL statements
  • Describe the data set used by the course
  • Log onto the database using the SQL Developer environment
  • Save queries to files and use script files in SQL Developer

Retrieving Data Using the SQL SELECT Statement
  • List the capabilities of SQL SELECT statements
  • Generate a report of data from the output of a basic SELECT statement
  • Select All Columns
  • Select Specific Columns
  • Use Column Heading Defaults
  • Use Arithmetic Operators
  • Understand Operator Precedence
  • Learn the DESCRIBE command to display the table structure

Restricting and Sorting Data
  • Write queries that contain a WHERE clause to limit the output retrieved
  • List the comparison operators and logical operators that are used in a WHERE clause
  • Describe the rules of precedence for comparison and logical operators
  • Use character string literals in the WHERE clause
  • Write queries that contain an ORDER BY clause sort the output of a SELECT statement
  • Sort output in descending and ascending order

Using Single-Row Functions to Customize Output
  • Describe the differences between single row and multiple row functions
  • Manipulate strings with character function in the SELECT and WHERE clauses
  • Manipulate numbers with the ROUND, TRUNC and MOD functions
  • Perform arithmetic with date data
  • Manipulate dates with the date functions

Using Conversion Functions and Conditional Expressions
  • Describe implicit and explicit data type conversion
  • Use the TO_CHAR, TO_NUMBER, and TO_DATE conversion functions
  • Nest multiple functions
  • Apply the NVL, NULLIF, and COALESCE functions to data
  • Use conditional IF THEN ELSE logic in a SELECT statement

Reporting Aggregated Data Using the Group Functions
  • Use the aggregation functions in SELECT statements to produce meaningful reports
  • Create queries that divide the data in groups by using the GROUP BY clause
  • Create queries that exclude groups of date by using the HAVING clause

Displaying Data From Multiple Tables Using Joins
  • Write SELECT statements to access data from more than one table
  • View data that generally does not meet a join condition by using outer joins
  • Join a table by using a self join

Using Sub-queries to Solve Queries
  • Describe the types of problem that sub-queries can solve
  • Define sub-queries
  • List the types of sub-queries
  • Write single-row and multiple-row sub-queries

Using the SET Operators
  • Describe the SET operators
  • Use a SET operator to combine multiple queries into a single query
  • Control the order of rows returned when using the SET operators

Manipulating Data
  • Describe each DML statement
  • Insert rows into a table with the INSERT statement
  • Use the UPDATE statement to change rows in a table
  • Delete rows from a table with the DELETE statement
  • Save and discard changes with the COMMIT and ROLLBACK statements
  • Explain read consistency

Using DDL Statements to Create and Manage Tables
  • Categorize the main database objects
  • Review the table structure
  • List the data types available for columns
  • Create a simple table
  • Decipher how constraints can be created at table creation
  • Describe how schema objects work

Creating Other Schema Objects
  • Create a simple and complex view
  • Retrieve data from views
  • Create, maintain, and use sequences
  • Create and maintain indexes
  • Create private and public synonyms

Controlling User Access
  • Differentiate system privileges from object privileges
  • Creating Users
  • Granting System Privileges
  • Creating and Granting Privileges to a Role
  • Changing Your Password
  • Granting Object Privileges
  • Passing On Your Privileges
  • Revoking Object Privileges

Managing Schema Objects
  • Adding, Modifying and Dropping a Column
  • Adding, Dropping and Deferring a Constraint
  • Enabling and Disabling a Constraint
  • Creating and Removing Indexes
  • Creating a Function-Based Index
  • Performing Flashback Operations
  • Creating an External Table by Using ORACLE_LOADER and by Using ORACLE_DATAPUMP
  • Querying External Tables

Managing Objects with Data Dictionary Views
  • Explain the data dictionary
  • Using the Dictionary Views
  • USER_OBJECTS and ALL_OBJECTS Views
  • Table and Column Information
  • Querying the dictionary views for constraint information
  • Querying the dictionary views for view, sequence, index and synonym information
  • Adding a comment to a table
  • Querying the dictionary views for comment information

Manipulating Large Data Sets
  • Using Subqueries to Manipulate Data
  • Retrieving Data Using a Subquery as Source
  • Inserting Using a Subquery as a Target
  • Using the WITH CHECK OPTION Keyword on DML Statements
  • Types of Multitable INSERT Statements
  • Using Multitable INSERT Statements
  • Merging rows in a table
  • Tracking Changes in Data over a period of time

Managing Data in Different Time Zones
  • Time Zones
  • CURRENT_DATE, CURRENT_TIMESTAMP, and LOCALTIMESTAMP
  • Comparing Date and Time in a Session’s Time Zone
  • DBTIMEZONE and SESSIONTIMEZONE
  • Difference between DATE and TIMESTAMP
  • INTERVAL Data Types
  • Using EXTRACT, TZ_OFFSET and FROM_TZ
  • Using TO_TIMESTAMP,TO_YMINTERVAL and TO_DSINTERVAL

Retrieving Data Using Sub-queries
  • Multiple-Column Subqueries
  • Pairwise and Nonpairwise Comparison
  • Using Scalar Subquery Expressions
  • Solving problems with Correlated Subqueries
  • Updating and Deleting Rows Using Correlated Subqueries
  • Using the EXISTS and NOT EXISTS operators
  • Using the WITH clause
  • Using the Recursive WITH clause

Regular Expression Support
  • Using the Regular Expressions Functions and Conditions in SQL
  • Using Meta Characters with Regular Expressions
  • Performing a Basic Search using the REGEXP_LIKE function
  • Finding patterns using the REGEXP_INSTR function
  • Extracting Substrings using the REGEXP_SUBSTR function
  • Replacing Patterns Using the REGEXP_REPLACE function
  • Using Sub-Expressions with Regular Expression Support
  • Using the REGEXP_COUNT function

Mode of Instruction
The primary mode of learning will be a combination of lecture and hands-on classroom instruction. Additional modes of instruction will include class discussion, and question and answer period.

Prescribed Texts
The following materials will be provided:
Oracle's ebook 

Required Supplies
USB Flash Drive

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
OR
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.


Modes of Evaluation
This subject is part of the Oracle Recognition of Achievement programs. Those students choosing to pursue an Oracle Recognition of Achievement are required to write a final exam at the completion of this subject. A mark of 70% of higher is required in the exam in order to apply this subject to the Recognition of Achievement. 

Approved by: Denis Gravelle