Abstraction, Users & Architecture

Lecture 1 · the three abstraction levels, data independence, who works with a database, and how DBMS systems are structured.

Three levels of data abstraction

PLVBottom → top: Physical → Logical → View.
LevelAlso calledDescribesWho works here
PhysicalInternalHow data is stored — structures, disk allocation, indexing (B+-tree, hashing)DBA
LogicalConceptualWhat data exists + relationships & constraintsDesigners / programmers
ViewExternalPer-user slices — forms, charts, reports (security & simplicity)End users
Data independence: change one level without disturbing the one above. Physical independence = storage changes don't affect the logical schema; logical independence = logical changes don't affect user views.

Database users & roles

UserOne-line jobDoes
DBARuns the machineInstall, configure, security, backup, tuning; technical management
Database DesignerPlans the blueprintIdentify data requirements; design conceptual/logical schema; define constraints & relationships
Application ProgrammerWrites the codeDevelop apps, write embedded SQL / API calls (“most CS grads start here”)
End UsersJust uses itCasual (forms) · sophisticated (SQL/reports) · standalone (personal DBs) · naïve/parametric (repetitive forms)

DBMS architectures

ArchitectureKey ideaTrade-offExample use
CentralizedOne server; all storage + processingSimple but single point of failureSmall, single-branch orgs
Client-ServerClients = UI, server = data (2/3-tier)Scales clients; server can overloadBanking, university, enterprise
DistributedData across sites (fragmentation + replication)Fault-tolerant but complexMultinationals, cloud
ParallelParallel query execution (shared-memory / -disk / -nothing)Very fast but costly hardwareData warehousing, big-data analytics
Ready for the exam view of these ideas? Part 1 — Concepts (solved) →