Skip to content

Overview

What is this?

This site is the course companion for Architecture and Administration of Databases (AADB).

It targets 3rd‑year Computer Engineering (AI track) students and anyone who wants a structured introduction to:

  • Core database and DBMS concepts,
  • Oracle Database architecture and storage,
  • Metadata, privileges, roles and views,
  • Transactions, concurrency control and recovery,
  • Practical administration tasks through guided workshops.

Course chapters

  • Chapter 1 – Fundamentals of DBMS and storage: data vs information, three‑schema architecture, Oracle structure, constraints and tablespaces.
  • Chapter 2 – Metadata, privileges, roles and views: data dictionary navigation, system/object privileges, role design and view‑based security.
  • Chapter 3 – Reliability and recovery: failure classes, transaction states, logging, Oracle REDO/UNDO and flashback options.
  • Chapter 4 – Transactions and concurrency control: ACID properties, anomalies, serializability, timestamp ordering and lock‑based protocols.
  • Chapter 5 – Query optimization and cost estimation: query types, optimization phases, algebraic transformations, statistics and join costs.

Workshops

  • Workshop 1 – Exploring Oracle Database as a DBA: connect as SYSDBA, explore core data dictionary views, and practice SQL*Plus formatting.
  • Workshop 2 – User and role management in Oracle: build an HR schema, create users/roles, grant privileges, and verify access through dictionary views.
  • Workshop 3 – Container databases (CDB) and pluggable databases (PDBs): understand multitenant architecture, manage PDBs, and practice common vs local users and privileges.

You can read the chapters sequentially for a full course, or jump into the workshops once you are comfortable with basic SQL and Oracle concepts.

All SQL examples are written in standard Oracle SQL and PL/SQL.

This material also assumes a working environment similar to the lab setup:

Database

  • Oracle Database (e.g. 19c or later) running on a Linux OS.

Used tools

The following tools were used to build and publish this website:

  • Moodle (E-Learning)
  • Google Drive
  • Claude
  • GitHub Actions (CI/CD)
  • n8n

Documentation build

  • MkDocs with the Material theme for publishing these notes.

credits: Sidali DJEGHBAL

Note: this is AI-generated content; please review important information.