Detailed Course Outline
Module 1: Introduction to SQL Relational Databases
- Definition of a relational database
 - Components of a relational database table
 - Forming relationships in a relational database
 - Types of relationships
 - Description of Structured Query Language: Data Definition Language, Data Manipulation Language, Data Control Language, and Transaction Control Language
 - Characteristics of a Relational Database Management System (RDBMS)
 - Lab exercise
 
Module: 2 Overview of SQL/MX Architecture
- SQL/MX Architecture
 - SQL/MX System Metadata
 - User Metadata (UMD) Tables
 - User Catalog and Schemas
 - SQL/MX User Tables, Objects, Tables, Indexes, Views, Constraints, Triggers, Object Namespaces-Object Type, Security Model, Process Architecture, Components, Catalog Manager, DDL Operations, Utilities
 - NSM/web Architecture
 - Lab exercise
 
Module: 3 Introduction to mxci
- SQL/MX Help Facilities
 - Starting an mxci session
 - mxci Prompts and Termination Character
 - SQL/MX Identifiers
 - Logical (ANSI) Names
 - Specifying ANSI
 - Using Logical Names in an mxci Session
 - mxci: –SET NAMETYPE Command (ANSI) –SET CATALOG Command –SET SCHEMA Command
 - mxci cd Command, Is Commands
 - mxci—LOG Command
 - Lab exercise
 
Module: 4 Query Writing Process
- Overview of query execution
 - Overview of query development process
 - Analyzing the query objective, Generating the query, Executing the query
 - Verifying the results, Assessing performance
 - Lab exercise
 
Module: 5 Retrieving Data from a Single Table
- Data Types, Character Data Types, Numeric Data Types-Exact and Approximate, Datetime Data Types, Interval Data Types
 - INVOKE Command
 - SELECT Statement-Clauses, Syntax, Select List
 - SELECT-Select List, ALL or DISTINCT Rows, [ANY N] or [FIRST N]
 - FROM and WHERE Clause
 - Predicates
 - Row-Value-Constructor
 - Comparison Predicates-Syntax, Examples
 - LIKE, BETWEEN, and IN Predicates
 - Boolean Operators and Compound Predicates
 - NULL Values
 - IS [NOT] Predicate
 - ORDER BY, GROUP By, HAVING Clause
 - Lab exercise
 
Module: 6 Functions and Expressions
- Aggregate functions
 - Character functions
 - Datetime functions
 - Mathematical functions
 - Types of expressions
 - Literal expressions
 - Numeric expressions
 - Lab exercise
 
Module: 7 Retrieving Data from Multiple Tables
- Generating the following types of joins: CROSS, NATURAL, INNER, EQUI, LEFT, RIGHT, Self
 - Correlation Names
 - Join with Additional Search Conditions
 - UNION Operation
 - Lab exercise
 
Module: 8 Query Expressions
- Query expression: Definition, Types, Joined Table, Syntax
 - Non-Joined Query Expression Table: VALUES Statement, TABLE Statement, SELECT Query Specification
 - Simple Table—SELECT expression
 - Subquery: Definition, Non-Correlated, Correlated, Evaluation of a Correlated Subquery, Classification, SELECT Form of a subquery
 - Predicates: Subquery, Comparison, BETWEEN, IN, and EXISTS, and EXISTS Examples
 - Subqueries using the Comparison, BETWEEN, and IN Predicates
 - Subquery key points
 - Lab exercise
 
Module: 9 Creating SQL/MX Objects
- Creating SQL/MX Objects
 - SQL/MX Object Naming
 - CREATE CATALOG Command—Syntax, REGISTER CATALOG Command—Syntax, UNREGISTER CATALOG Command—Syntax, Catalog Considerations
 - CREATE SCHEMA Command—Syntax
 - Rules for Naming SQL/MX Schema Subvolumes, Schema Considerations, Creating a User Schema
 - Creating a SQL/MX Table—Topics
 - Column Definitions, Column Name Rules, Character Sets, Default Value, ISO88591 Character Set Examples
 - SYSTEM_DEFAULTS Table— NOT_NULL_CONSTRAINT_DROPPABLE_OPTION
 - Constraints, Constraints Names, Table Constraints
 - Specifying Physical Location and Name for the Underlying Guardian File
 - Specifying a Clustering Key, Specifying a Clustering Key—STORE BY Clause, Terminology
 - Clustering Key—No STORE BY Clause and No Primary Key Specified, Clustering Key—STORE BY PRIMARY KEY: Primary Key Specified As DROPPABLE
 - Specifying Guardian File Attributes
 - CREATE INDEX—Syntax, CREATE VIEW—Syntax, CREATE VIEW—Example, Considerations for Creating a View
 - Lab exercise
 
Module: 10 Inserting Data and Updating Statistics
- Methods for Loading Multiple Rows of Data
 - Inserting Data into the Database, INSERT Statement—Syntax, Inserting a Single Row, Inserting Multiple Rows, INSERT Considerations
 - SQL/MX Histogram Statistics, Statistics Tables, mxci UPDATE STATISTICS Utility, Examples of mxci UPDATE STATISTICS
 - Lab exercise
 
Module: 11 Modifying Data
- Maintaining Database Consistency
 - Transaction Management Statements
 - Explicit Transaction: User-Defined Transaction, INSERT, UPDATE, DELETE
 - Implicit Transaction: System-Defined Transactions, SELECT, INSERT, UPDATE, DELETE
 - Modifying Existing Data
 - UPDATE Statement—Syntax, Updating a Single Row, Updating Multiple Rows, UPDATE Statement—Scalar Subquery, UPDATE Considerations
 - Removing Data from the Database
 - DELETE Statement—Syntax, Deleting Data, DELETE Considerations
 - Lab exercise
 
Module: 12 Access Options and Isolation Levels
- Concurrency Control and Contention
 - Locking Considerations, Dirty Reads, Non-Repeatable Reads, Phantoms
 - Access Options and Isolation Levels, READ UNCOMMITTED Access Option, READ COMMITTED Access Option, READ COMMITTED Considerations, SERIALIZABLE or REPEATABLE READ Access Option
 - Lock Modes, Access Options and Lock Modes
 - SET TRANSACTION Statement, SET TRANSACTION Statement—Example, Transaction Isolation-Level Rules
 - DEADLOCK, Viewing Locks on a Table
 - Lab exercise
 
Module: 13 Management Functions
- SQL/MX Object Dependencies
 - SQL Authorization ID
 - Object Ownership and Security Rules
 - Granting Privileges to Users—Example
 - Altering SQL/MX Objects in a SQL/MX Database
 - Authorization Requirements for Altering Database Object
 - Altering TABLE or INDEX FILE Attributes, Adding Columns to a Table, Altering Considerations
 - Removing SQL/MX Database Objects, Dropping SQL/MX Objects From a SQL/MX Database, Removing Your Database Objects
 - Managing Data
 - mxtool VERIFY Utility, mxtool VERIFY Utility—Security Considerations, mxtool VERIFY Utility—Syntax
 - Performance, Monitoring Performance
 - Using the EXPLAIN Function with a Prepared Query
 - EXPLAIN statement with OPTIONS ‘f’
 - NSM/web Connectivity Services, Visual Query Planner DISPLAY STATISTICS
 - Lab exercise
 
Module: 14 Advanced Topics
- Referential Integrity (RI)
 - Trigger Definition
 - Partitioning—Range Partitioning, Hash Partitioning
 - Publish and Subscribe Services
 - Rowsets
 - Compound Statements
 - SELECT statement—TRANSPOSE Clause, SAMPLE Clause
 - Sequence Function
 
Module: 15 MXDM
- Features and requirements of MXDM
 - Installing and Uninstalling MXDM
 - Example screens