Skip to content

depicted-candela/TransitionalSQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Experience Tip: Pull this repository and enjoy it with VS Code ✨

Server Programming with Oracle (DB 23ai) PL/SQL

A Transition Guide for PostgreSQL Users 🚀

Dive deep into database development with this guide, designed to help individuals proficient in PostgreSQL and analytical SQL step smoothly into server-side programming using Oracle Database and its potent procedural partner, PL/SQL.

🤔Who is this for?

  • Developers and analysts fluent in PostgreSQL seeking to master Oracle PL/SQL.
  • Individuals transitioning roles where Oracle database development is key.
  • Anyone wanting to grasp Oracle's specific SQL extensions and server-side coding prowess.

📚Prerequisites

  • A firm footing in SQL, especially PostgreSQL's shape and thought.
  • Familiarity with relational database rules (tables, joins, keys, etc.).
  • Basic programming flow (variables, loops, conditionals) is a friend.

✅ Learning Objectives

  • Grasp and employ Oracle's unique SQL style and data kinds.
  • Craft capable PL/SQL code, building blocks, procedures, functions, packages, and triggers.
  • Guide data effectively with Oracle's DML, transaction handling, and advanced queries.
  • Work with complex data types, notably XML, residing in Oracle.
  • Understand and use Oracle's own concepts like the DUAL table and ROWNUM.
  • Manage exceptions gracefully and use collections in PL/SQL.
  • Implement techniques boosting performance, like bulk operations.
  • Walk through and utilize the Oracle Data Dictionary.
  • Gain a solid sense of Oracle performance tuning and reading EXPLAIN PLANs.
  • Understand the conceptual weave of Oracle with tech like Java (JDBC) and XML.

🏗️ Course Structure

01Crossing the Divide +
ORACLE SQL & BRIDGING FROM POSTGRESQL

Here, we step across, finding Oracle's SQL voice for those who know PostgreSQL best.

Categories to be Studied:

  • Key Differences & Core Syntax
  • Data Types (Oracle Specific): VARCHAR2, NUMBER, DATE, TIMESTAMPs
  • DUAL Table (Oracle Specific)
  • NULL Handling: NVL, NVL2, COALESCE
  • Conditional Expressions: DECODE, CASE
  • ROWNUM Pseudo-column (Oracle Specific)
02Essential Functions & DML +
ORACLE SQL & BRIDGING FROM POSTGRESQL

Unlock key Oracle functions and master the foundational dance of Data Manipulation Language (DML).

Categories to be Studied:

  • Date Functions: SYSDATE, TO_DATE, ADD_MONTHS, etc.
  • String Functions
  • Set Operators: MINUS
  • DML & Transaction Control: INSERT, UPDATE, DELETE, COMMIT, ROLLBACK
03Advanced Querying +
ORACLE SQL & BRIDGING FROM POSTGRESQL

Ascend to advanced querying heights, tackling complex data patterns with Oracle's unique tools. 🏔️

Categories to be Studied:

  • Hierarchical Queries (Oracle Specific - Very Important): CONNECT BY, LEVEL, PRIOR
  • Analytic (Window) Functions: RANK, DENSE_RANK, LAG, LEAD
  • MERGE statement (Oracle Specific)
04Conquering Complexity +
ORACLE SQL & BRIDGING FROM POSTGRESQL

Face the challenge of intricate data forms like XML and JSON, vital for systems like Flexcube, exploring Oracle's modern touch.

Categories to be Studied:

  • Large Objects: CLOB, BLOB
  • XMLTYPE Data Type: Storage and Querying
  • JSON Data Type: Native Storage and Querying
  • Oracle 23ai Features: JSON Relational Duality Views ✨, JSON Binary Type 💾
05PL/SQL Awakening +
PL/SQL: ORACLE'S PROCEDURAL POWERHOUSE

Awaken your inner Oracle programmer. This chunk lays the ground for PL/SQL, from block shape to basic flow, introducing a new 23ai speed boost.

Categories to be Studied:

  • PL/SQL Block Structure: DECLARE, BEGIN, EXCEPTION, END
  • Variables & Constants: %TYPE, %ROWTYPE
  • Control Flow: IF, CASE, LOOPs
  • SQL within PL/SQL
  • Oracle 23ai Feature: SQL Transpiler for optimization ⏩

Essential Reading:

06PL/SQL Precision +
PL/SQL: ORACLE'S PROCEDURAL POWERHOUSE

Gain precision with PL/SQL cursors for fetching data and shaping reusable code blocks with procedures and functions.

Categories to be Studied:

  • Cursors: Implicit, Explicit, Cursor FOR loops
  • Stored Procedures & Functions: Syntax, Parameter Modes (IN, OUT, IN OUT)

Essential Reading:

07PL/SQL Resilience +
PL/SQL: ORACLE'S PROCEDURAL POWERHOUSE

Build resilience in your code! Organize with packages, handle errors surely, and automate actions with triggers.🛡️

Categories to be Studied:

  • Packages: Specification & Body, Overloading
  • Exception Handling: Predefined, User-defined, SQLCODE, SQLERRM
  • Triggers: DML Triggers, :NEW & :OLD qualifiers

Essential Reading:

08PL/SQL Mastery +
PL/SQL: ORACLE'S PROCEDURAL POWERHOUSE

Master powerful PL/SQL moves! Handle complex data bunches and make things fly with bulk actions and dynamic SQL, key for big systems like Flexcube. 💪

Categories to be Studied:

  • Collections & Records: Associative Arrays, Nested Tables, Varrays
  • Bulk Operations for Performance: BULK COLLECT, FORALL
  • Dynamic SQL: EXECUTE IMMEDIATE

Essential Reading:

09PL/SQL Fusion +
PL/SQL: ORACLE'S PROCEDURAL POWERHOUSE

Experience PL/SQL fusion! Explore standard packages for common tasks and see JavaScript step in as a code buddy in Oracle 23ai. 🤝

Categories to be Studied:

  • Built-in Packages: DBMS_LOB, DBMS_XMLGEN, UTL_FILE, DBMS_AQ
  • Oracle 23ai Feature: JavaScript Stored Procedures 🌐

Essential Reading:

10The Oracle Blueprint +
ESSENTIAL ORACLE DATABASE CONCEPTS

Get the Oracle blueprint in your mind! This chunk brings vital database ideas for a consulting path – structure, data map, and fresh 23ai touches for schema and data. 🏛️

Categories to be Studied:

  • Data Dictionary & Metadata Views: USER_, ALL_, DBA_
  • Schema Objects Overview: Tables, Views, Indexes, Sequences
  • Concurrency Control (MVCC) & Transaction Management
  • Oracle 23ai Features: Usage Domains 🎯, Annotations ✍️, Wide Tables ↔️

Essential Reading:

11Guardians of Oracle +
ESSENTIAL ORACLE DATABASE CONCEPTS

Stand guardian over your data! This chunk highlights database safety rules and new Oracle 23ai security shields, crucial for keeping sensitive info and systems safe. 🔒🛡️

Categories to be Studied:

  • Oracle 23ai Feature: SQL Firewall 🔥
  • Oracle 23ai Feature: Column-Level Auditing 🕵️ & Data Redaction 🎭
  • Oracle 23ai Feature: Multicloud Authentication ☁️🔑
  • Oracle 23ai Feature: Schema Privileges ✅

Essential Reading:

12Speed Unleashed +
ORACLE PERFORMANCE & OPTIMIZATION BASICS

Unleash speed! This chunk digs into Oracle indexing tactics and how to peek into query speed using `EXPLAIN PLAN`, vital for making database work flow fast. 🏎️💨

Categories to be Studied:

  • Indexing in Oracle: B-Tree, Bitmap, Function-Based, Composite
  • Understanding Oracle’s EXPLAIN PLAN: Generating & Interpreting

Essential Reading:

13Performance Symphony +
ORACLE PERFORMANCE & OPTIMIZATION BASICS

Conduct a performance symphony! This chunk explores deeper query tuning, touching on optimizer hints and managing table stats, plus new 23ai speed gains. 🎼📈

Categories to be Studied:

  • Basic Query Tuning: SARGable predicates, join efficiency
  • Optimizer Hints: Awareness and cautious use
  • Table Statistics & DBMS_STATS
  • Oracle 23ai Features: Real-Time SQL Plan Management 🚦, SQL Analysis Report 🩺

Essential Reading:

14Oracle Horizons +
(CONCEPTUAL) ORACLE & INTERFACING TECHNOLOGIES

Look to Oracle's horizons! This chunk explores how Oracle links with tech like Java and XML, message systems, and new 23ai bits making connections shine brighter. ✨🔗

Categories to be Studied:

  • Oracle & Java Connectivity (JDBC)
  • Oracle & XML Processing
  • Oracle Advanced Queuing (AQ) & JMS
  • Oracle 23ai Features: Enhanced Connection Pooling 🏊‍♂️, Async Pipelining 📊, OpenTelemetry 🔭

Essential Reading:

15Future of Oracle +
ORACLE SQL & BRIDGING FROM POSTGRESQL

Peek into Oracle's future! This chunk shines solely on the vibrant new SQL features arriving in Oracle 23ai, showing Oracle's path towards modern, sharper SQL power. ⭐🔮

New SQL Features in 23ai to be Studied:

  • Boolean Data Type ✅❌
  • Direct Joins for UPDATE/DELETE ➡️
  • GROUP BY Column Alias 🔡
  • IF [NOT] EXISTS for DDL 🚦
  • SELECT without FROM Clause ✨
  • Table Value Constructor 🛠️

Essential Reading:

👇 How to Use This Repository

1
Clone the Repository 📥

Get a local copy of all the course materials and the essential PDF library.

2
Follow the Chunks 🪜

Progress sequentially through the 15 numbered directories, as concepts build on each other.

3
Run Setup Scripts 🗂️

In each chunk's directory, run `dataset.sql` or `NewSchema.sql` to prepare your database environment.

4
Do the Exercises 💪

Tackle the problems in `exercises.md` to solidify your understanding. Then check your work in the `solutions/` folder.

5
Consult the Library 🏛️

Use the included `books/` directory. It's your offline, comprehensive source for deep dives into any Oracle topic.

6
Practice Actively 🏃‍♂️

The key to mastery is doing. Experiment, modify, and break the code. This is how you'll truly learn.

This course material is open for all under the MIT License. Share the knowledge!

Happy Learning! 😊

About

World-class course for server programming with PL/SQL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published