Database Technology - An Overview

by Cliff Kettemborough, Section 312 Systems Software Architect

presented to Jim Larson's Programmer's Lunch Series, December 13, 1996

· Database Systems: A Brief Time Line

·· Pre-1960s: File System dominance

·· The '60s: First databases, but still the (Flat) File System dominance

·· The '70s: Database Technology experienced rapid growth;

But, still the File System dominance, mostly due to superior processing performance;

Hierarchical and then Network models (CODASYL) are "en vogue" with the Relational model (Dr. E. F. Codd) introduced;

E-R modeling ( Dr. Chen) introduced

·· The '80s: Database Technology starts becoming a serious alternative and therefore competing with the File System;

Database Technology infiltrates in the PC and (more) Midrange arenas;

Relational model becomes the dominant choice for database technology

·· The '90s: Database Technology become the dominant, clear choice for the (data-intensive) application development;

However, over 40 years of File System legacy application development can not be overhauled overnight;

Development of a series of database tools;

Object-Oriented Database Technology;

GUI, Client-Server, Distributed Databases, Internet-based Databases

· Database Environment - A Schematic/Architectural View

·· Schema, Logical and Physical Views, Components, Design tools, Run Time tools, DBMS engine

·· A simplified view

· Database Modeling

·· Data Modeling vs. Process Modeling vs. Object Modeling

·· Semantic/Conceptual Model

·· E-R modeling; Metadata;

Conceptual Schema, Entities, Weak entity, Attributes, Keys (Primary, Secondary, Foreign), Relationships;

Cardinality (Mandatory vs. Optional, or Minimum vs. Maximum)

1:1, 1:M, M:M, 0:1, 0:M

·· Logical vs. Physical Views

·· EER (Enhanced E-R) modeling;

Super-type, Sub-type, Generalization, Specialization

·· Data Dictionaries

·· Semantic Object modeling;

Objects, Instances, Cardinality

·· Object-Oriented modeling

· Normalization

·· Functional Dependency

·· 1NF, 2NF, 3NF, (Boyce-Codd's) BCNF, 4NF, 5NF, (Fagin's) DKNF

·· How far should you go with Normalization?

·· A "funny" but better example

· SQL

·· Historic Overview;

Structured vs. Standard;

DL/I for Hierarchical and Network Models

·· Segments vs. Sets vs. Records vs. Relations vs. Objects

·· SQL = DDL + DML + VDL + PDL + ...

·· DBE and QBF

·· Summary of SQL Syntax

· The Foundation of SQL

·· Relational Algebra and Relational Calculus Overview

·· Mapping Relational Algebra and Calculus to Relational Model

Select, Project, (various) Join, Union, Intersection, Difference, Cartesian Product, Division

· Tools

·· Modeling Tools (ERWin, S-Designor, Oracle 2000)

·· PowerBuilder, SQLWindows, Visual Basic, Delphi, Cafe

·· CASE technology (Excelerator, Systems Architect, EasyCASE,

Cadre's Teamwork, ObjectMaker)

·· Back-end tools: MS SQL Server, Oracle, Sybase, Informix, OpenIngress, Progress

·· Performance, Tuning, Integrity, Security tools

· Physical Layer

·· Linked Lists and ADT

·· B, B*, B+, AVL trees and ADT

·· Other implementations (Sequential, Index-Sequential, Direct, Inverted files)

·· Indexes and Performance issues

· Database Implementation

·· Mapping the E-R Schema to Flat File, Hierarchical, Network and Relational models; OO extensions

·· "Front-End" independence from "Back-End"

·· DBMSs (Hierarchical, Network, Relational, Object-Relational, Object-Oriented)

· Relational Model

·· 1985's E. F. Codd's 12 Rules (plus Rule 0)

·· Transforming E-R model to Relations

·· Producing associated DDL

·· Implementing Queries via DML

·· Basic Operations: Insert, Delete, Update/Modify

·· Update Anomalies

·· Referential Integrity revisited

·· Embedded SQL (how, why, when) - COBOL. PL/I, Pascal,

FORTRAN (?), C, C++

·· Domain analysis and specification

·· Null values and their implementation

·· Implementing Transactions

·· System Catalog and Table Space

· Model Conversion

·· Historical relevant models: Hierarchical and Network

·· Conversion Flat File to Hierarchical to Network to Relational to Object-Oriented, either way

·· Comparative Terminology of Data Models

·· What is Best?

·· Examples: DB2, IMS, IDMS, dBase, Paradox, FoxPro, MS Access, Approach, 4th Dimension, FileMaker Pro

· Advanced Topics I

·· Distributed vs. Centralized Databases

·· Client-Server Architectures

·· Data Administration (DA) vs. Database Administration (DBA)

·· Roles and Responsibilities of DA/DBA

·· Infrastructure Impact

·· Database Environment Performance:

··· Monitoring

··· Tuning

··· Evaluation

··· Security, Integrity and Reliability Issues

··· Recovery and Concurrency

··· Query Optimization

··· Front-End Systems

· Advanced Topics II

·· Object-Oriented (OO) Database Technology

·· Object-Relational DBMSs

·· OO implementation issues: Smalltalk vs. C++ vs. Java?

·· Multi-dimensional Databases

·· Time-dependent Database

·· Knowledge Databases

·· Logic-based Databases, LDL and (Object)Prolog

·· Data Mining, Data Warehouse, Analytical engines

· What's Next for Section 312, Division 31, MGSO, TMOD, JPL?

·· Where do we stand?

·· Data needs to be recognized as an important component of our business

·· What needs to be done?

·· How and when?

·· Limited expertise with section and Lab

·· Database Technology: past of the Re-engineering and Software System Architecture effort.


Regarding the pages posted to this WWW area or for further information about the Software Architecture, contact Cliff Kettemborough