Oracle Database SQL Certified Associate
1 Introduction to SQL
1-1 Overview of SQL
1-2 History of SQL
1-3 SQL Standards
2 SQL Data Types
2-1 Numeric Data Types
2-2 Character Data Types
2-3 Date and Time Data Types
2-4 Large Object (LOB) Data Types
2-5 Miscellaneous Data Types
3 Creating and Managing Tables
3-1 Creating Tables
3-2 Modifying Tables
3-3 Dropping Tables
3-4 Table Constraints
3-5 Temporary Tables
4 Data Manipulation Language (DML)
4-1 Inserting Data
4-2 Updating Data
4-3 Deleting Data
4-4 Selecting Data
4-5 Using Subqueries
5 Data Control Language (DCL)
5-1 Granting Privileges
5-2 Revoking Privileges
6 Data Definition Language (DDL)
6-1 Creating Tables
6-2 Altering Tables
6-3 Dropping Tables
6-4 Creating Indexes
6-5 Dropping Indexes
6-6 Creating Views
6-7 Dropping Views
7 SQL Functions
7-1 Single-Row Functions
7-2 Aggregate Functions
7-3 Group Functions
7-4 Analytical Functions
8 Joins and Subqueries
8-1 Inner Joins
8-2 Outer Joins
8-3 Self-Joins
8-4 Cross Joins
8-5 Subqueries
9 Set Operators
9-1 UNION
9-2 UNION ALL
9-3 INTERSECT
9-4 MINUS
10 Grouping and Aggregation
10-1 GROUP BY Clause
10-2 HAVING Clause
10-3 ROLLUP and CUBE
10-4 GROUPING SETS
11 Transactions and Concurrency
11-1 Transaction Control Statements
11-2 Locking and Concurrency
11-3 Isolation Levels
12 Oracle SQL Developer
12-1 Overview of Oracle SQL Developer
12-2 Using SQL Worksheet
12-3 Managing Connections
12-4 Running Scripts
13 Advanced SQL Topics
13-1 Recursive Queries
13-2 Model Clause
13-3 PIVOT and UNPIVOT
13-4 Flashback Query
14 Performance Tuning
14-1 Query Optimization
14-2 Indexing Strategies
14-3 Analyzing Query Performance
15 Security and Auditing
15-1 User Management
15-2 Role Management
15-3 Auditing SQL Statements
16 Backup and Recovery
16-1 Backup Strategies
16-2 Recovery Strategies
16-3 Using RMAN
17 Oracle Database Architecture
17-1 Overview of Oracle Database Architecture
17-2 Memory Structures
17-3 Process Structures
17-4 Storage Structures
18 PLSQL Basics
18-1 Introduction to PLSQL
18-2 PLSQL Block Structure
18-3 Variables and Data Types
18-4 Control Structures
18-5 Exception Handling
19 Oracle SQL Certification Exam Preparation
19-1 Exam Objectives
19-2 Sample Questions
19-3 Practice Tests
19-4 Exam Tips
Table Constraints in Oracle SQL

Table Constraints in Oracle SQL

Table constraints in Oracle SQL are rules that enforce data integrity and consistency within a database. They ensure that the data inserted into a table meets specific criteria, preventing invalid or inconsistent data from being stored. Understanding and applying these constraints is crucial for maintaining the accuracy and reliability of your database.

1. PRIMARY KEY Constraint

The PRIMARY KEY constraint uniquely identifies each record in a table. It ensures that the column or set of columns specified as the primary key contains only unique values and cannot contain NULL values. A table can have only one primary key, which can consist of single or multiple columns.

Example:

Creating a table with a PRIMARY KEY constraint on the 'EmployeeID' column:

CREATE TABLE Employees (
    EmployeeID NUMBER PRIMARY KEY,
    FirstName VARCHAR2(50),
    LastName VARCHAR2(50)
);
        

2. FOREIGN KEY Constraint

The FOREIGN KEY constraint establishes a link between two tables by referencing the primary key of another table. It ensures that the values in the foreign key column(s) match the values in the primary key column(s) of the referenced table. This constraint helps maintain referential integrity, ensuring that relationships between tables are valid and consistent.

Example:

Creating a table with a FOREIGN KEY constraint that references the 'DepartmentID' column in the 'Departments' table:

CREATE TABLE Employees (
    EmployeeID NUMBER PRIMARY KEY,
    FirstName VARCHAR2(50),
    LastName VARCHAR2(50),
    DepartmentID NUMBER,
    FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);
        

3. UNIQUE Constraint

The UNIQUE constraint ensures that all values in a column or a set of columns are unique. Unlike the PRIMARY KEY constraint, a UNIQUE constraint can accept NULL values. A table can have multiple UNIQUE constraints, each applied to different columns or combinations of columns.

Example:

Creating a table with a UNIQUE constraint on the 'Email' column:

CREATE TABLE Employees (
    EmployeeID NUMBER PRIMARY KEY,
    FirstName VARCHAR2(50),
    LastName VARCHAR2(50),
    Email VARCHAR2(100) UNIQUE
);
        

4. CHECK Constraint

The CHECK constraint enforces a condition on the values that can be inserted into a column. It ensures that the data meets a specific requirement defined by a Boolean expression. This constraint can be applied to a single column or multiple columns, providing flexibility in defining custom validation rules.

Example:

Creating a table with a CHECK constraint to ensure that the 'Age' column only accepts values greater than 18:

CREATE TABLE Employees (
    EmployeeID NUMBER PRIMARY KEY,
    FirstName VARCHAR2(50),
    LastName VARCHAR2(50),
    Age NUMBER CHECK (Age > 18)
);