SlideShare ist ein Scribd-Unternehmen logo
1 von 135
 
DATABASE CONCEPTS Leo Mark College of Computing Georgia Tech (January 1999)
Course Contents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
INTRODUCTION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What a Database Is and Is Not ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The word  database  is commonly used to refer to any of the following:
Models of Reality ,[object Object],[object Object],[object Object],DATABASE SYSTEM DATABASE DML DDL ,[object Object],[object Object],[object Object],[object Object],[object Object]
Why Use Models? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Map Is a Model of Reality
A Message to Map Makers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Use a DBMS when this is important ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Do not use a DBMS when ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data Modeling ,[object Object],[object Object],[object Object],DATABASE SYSTEM MODEL data modeling ,[object Object],[object Object],[object Object]
Process Modeling ,[object Object],[object Object],[object Object],DATABASE SYSTEM MODEL process modeling ,[object Object],[object Object],[object Object],DML DML PROG
Database Design ,[object Object],[object Object],[object Object],The purpose of database design is to create a database which
Abstraction ,[object Object],[object Object],[object Object],It is very important that the language used for data representation supports abstraction We will discuss three kinds of abstraction:
Classification In a classification we form a concept in a way which allows us to decide whether or not a given phenomena is a member of the extension of the concept. CUSTOMER Tom  Ed  Nick  ...  Liz  Joe  Louise
Aggregation In an aggregation we form a concept from existing concepts. The phenomena that are members of the new concept’s extension are composed of phenomena from the extensions of the existing concepts AIRPLANE COCKPIT ENGINE WING
Generalization In a generalization we form a new concept by emphasizing common aspects of existing concepts, leaving out special aspects CUSTOMER ECONOMY CLASS BUSINESS CLASS 1 ST CLASS
Generalization (cont.) CUSTOMER BUSINESS CLASS 1 ST CLASS Subclasses may overlap Subclasses may have multiple superclasses MOTORIZED VEHICLES AIRBORNE VEHICLES TRUCKS HELICOPTERS GLIDERS
Relationships Between Abstractions T T T O O O aggregation generalization classification Abstraction Concretization classification exemplification aggregation decomposition generalization specialization intension extension
DATABASE TERMINOLOGY ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data Model ,[object Object],[object Object],[object Object],A  data model  consists of notations for expressing:
Data Model - Data Structures ,[object Object],[object Object],[object Object],All data models have notation for defining: FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 156 545 american we 110 912 scandinavian fr 450 242 usair mo 231 DEPT-AIRPORT FLIGHT# AIRPORT-CODE 101 atl 912 cph 545 lax
Data Model - Constraints ,[object Object],[object Object],[object Object],Constraints express rules that cannot be expressed by the data structures alone: FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 156 545 american we 110 912 scandinavian fr 450 242 usair mo 231 DEPT-AIRPORT FLIGHT# AIRPORT-CODE 101 atl 912 cph 545 lax 242 bos
Data Model - Operations ,[object Object],[object Object],[object Object],[object Object],Operations support change and retrieval of data: FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 156 545 american we 110 912 scandinavian fr 450 242 usair mo 231 97 delta tu 258 DEPT-AIRPORT FLIGHT# AIRPORT-CODE 101 atl 912 cph 545 lax 242 bos 97 atl
Data Model - Operations from Programs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 156 545 american we 110 912 scandinavian fr 450 242 usair mo 231 97 delta tu 258
Keys and Identifiers ,[object Object],[object Object],Keys (or identifiers) are uniqueness constraints FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE DEPT-AIRPORT FLIGHT# AIRPORT-CODE 101 atl 912 cph 545 lax 242 bos FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 156 545 american we 110 912 scandinavian fr 450 242 usair mo 231
Integrity and Consistency ,[object Object],[object Object],[object Object],[object Object],DEPT-AIRPORT FLIGHT# AIRPORT-CODE 101 atl 912 cph 545 lax 242 bos FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 156 545 american we 110 912 scandinavian fr 450 242 usair mo 231
Triggers and Stored Procedures ,[object Object],[object Object],[object Object],[object Object],DEPT-AIRPORT FLIGHT# AIRPORT-CODE 101 atl 912 cph 545 lax 242 bos FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 156 545 american we 110 912 scandinavian fr 450 242 usair mo 231
Null Values ,[object Object],[object Object],[object Object],CUSTOMER Lisa Smith George Foreman unknown Lisa Jones inapplicable Mary Blake inapplicable drafted inapplicable CUSTOMER# NAME MAIDEN NAME DRAFT STATUS ,[object Object],[object Object],[object Object],[object Object]
Normalization unnormalized redundant just right! FLIGHT# AIRLINE PRICE FLIGHT-SCHEDULE 101 delta 156 545 american 110 912 scandinavian 450 FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 545 american mo 110 912 scandinavian fr 450 156 101 delta fr 156 545 american we 110 545 american fr 110 FLIGHT# AIRLINE WEEKDAYS PRICE FLIGHT-SCHEDULE 101 delta mo,fr 156 545 american mo,we,fr 110 912 scandinavian fr 450 FLIGHT# WEEKDAY FLIGHT-WEEKDAY 101 mo 545 mo 912 fr 101 fr 545 we 545 fr
Surrogates - Things and Names ,[object Object],[object Object],[object Object],name custom# addr customer name custom# addr customer reality reality customer customer custom#   name  addr custom#   name  addr customer name-based representation surrogate-based representation
DATA MODEL OVERVIEW ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ER-Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ER-Model - Data Structures composite attribute subset relationship type entity type relationship type attribute multivalued attribute derived attribute
ER-Model - Integrity Constraints A E E1 E3 E2 1 n cardinality: 1:n for E1:E2 in R (min,max) participation of E2 in R total participation of E2 in R weak entity type E2; identifying relationship type R key attribute d x p disjoint exclusion partition R E1 E2 R E1 E2 R E1 E2 (min,max) R E1 E2 R
ER Model - Example dept airport date international flight domestic flight p flight instance flight schedule instance of arriv airport airport 1 n n 1 street dept time airport code arriv time city zip airport addr airport name reserva- tion n n 1 n customer flight# customer name customer# seat# visa required weekdays
ER-Model - Operations ,[object Object],[object Object],[object Object]
Hierarchical Model ,[object Object],[object Object],[object Object],[object Object]
Hierarchical Model - Data Structures ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],flight-sched customer customer# customer name flight-inst date dept-airp airport-code arriv-airp airport-code flight#
Hierarchical Model - Data Structures - virtual records ,[object Object],[object Object],customer customer name customer# flight-inst flight-sched date dept-airp airport-code arriv-airp airport-code flight# customer-pointer P
Hierarchical Model  - Operations GET UNIQUE flight-sched (flight#=‘912’) [search flight-sched; get first such flight-sched] GET UNIQUE flight-sched [for each flight-sched    flight-inst (date=‘102298’)  for each flight-inst with date=102298   customer (name=‘Jensen’)  for each customer with name=Jensen, get the first one] GET UNIQUE flight-sched [for each flight-sched flight-inst (date=‘102298’)   for each flight-inst with date=102298, get the first  GET NEXT flight-inst   get the next flight-inst, whatever the date] GET UNIQUE flight-sched  [for each flight-sched flight-inst (date=102298’)    for each flight-inst get the first with date=102298   customer (name=‘Jensen’)   for each customer with name=Jensen, get the first one GET NEXT WITHIN PARENT customer   get the next customer, whatever his name, but only   on that flight-inst] flight-sched customer customer# customer name flight-inst date dept-airp airport-code arriv-airp airport-code flight#
Network Model ,[object Object],[object Object],[object Object],[object Object],[object Object]
Network Model - Data Structures Type diagram Bachman Diagram Occurrence diagram The Spaghetti Model ,[object Object],[object Object],[object Object],[object Object],[object Object],reservation flight# date customer# flight-schedule flight# customer customer# customer name FR CR R1 R2 R3 R4 R5 R6 F1 F2 C1 C4
Network Model - Integrity Constraints ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],FR and CR are  fixed  and  automatic reservation flight# date customer# flight-schedule flight# customer customer# customer name FR CR flight-schedule flight# reservation flight# date customer# price check is price>100
Network Model - Operations ,[object Object],(1)  find flight-schedule where flight#=F2 (2)  find first reservation of FR (3)  find next reservation of FR (4)  find owner of CR (F2) (R4)  (R5) (C4) query: currency indicators: R1 R2 R3 R4 R5 R6 F1 F2 C1 C4 FR CR
Network Model - Operations ,[object Object],[object Object],[object Object],[object Object]
Inverted Model -  ADABAS ,[object Object],[object Object],[object Object]
Relational Model ,[object Object],[object Object],[object Object],[object Object],[object Object]
Relational Model - Data Structures ,[object Object],[object Object],[object Object],flight-schedule flight#: integer airline: char(20) weekday: char(2) price: dec(6,2) relation name attribute names domain names
Relational Model - Integrity Constraints ,[object Object],[object Object],[object Object],[object Object],reservation flight# date customer# flight-schedule flight# p customer customer# customer name p
Relational Model - Operations ,[object Object],[object Object],[object Object],[object Object]
Relational Model - Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],customer customer# customer-name _c LEO date reservation flight# customer# _c .P .P
Object-Oriented Model(s) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Object-Oriented Paradigm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
class  flight-schedule { type tuple  (flight#: integer, weekdays:  set  ( weekday:  enumeration  {mo,tu,we,th,fr,sa,su}) dept-airport: airport, arriv-airport: airport) method  reschedule(new-dept: airport, new-arriv: airport)} class  international-flight  inherit  flight-schedule { type tuple  (visa-required:string) method  change-visa-requirement(v: string): boolean} /*  the reschedule method is inherited by international-flight; */ /*  when reschedule is invoked in international-flight it may  */ /*  also invoke change-visa-requirement  */ Object-Oriented Model - Structures O 2 -like syntax
class  flight-instance { type tuple  (flight-date:  tuple  ( year: integer, month: integer, day: integer); instance-of: flight-schedule, passengers:  set  (customer)  inv  customer::reservations) method  add-passenger(new-passenger:customer):boolean, /*adds to passengers; invokes customer.make-reservation */ remove-passenger(passenger: customer):boolean} /*removes from passengers; invokes customer.cancel-reservation*/ class  customer { type tuple  (customer#: integer, customer-name:  tuple  ( fname: string, lname: string) reservations:  set  (flight-instance)  inv  flight-instance::passengers) method  make-reservation(new-reservation: flight-instance): boolean, cancel-reservation(reservation: flight-instance): boolean}
Object-Oriented Model - Updates class  customer { type tuple  (customer#: integer, customer-name:  tuple  ( fname: string, lname: string) reservations:  set  (flight-instance)  inv  flight-instance::passengers) main  () { transaction::begin(); all-customers:  set ( customer);  /*makes persistent  root  to hold all customers  */ customer c=  new  customer;  /*creates new customer object  */ c=  tuple  (customer#: “111223333”, customer-name:  tuple ( fname: “Leo”, lname: “Mark”)); all-customers +=  set ( c);  /*c becomes persistent by attaching to root  */ transaction::commit();} O 2 -like syntax
Object-Oriented Model - Queries “ Find the customer#’s of all customers with first name Leo” select tuple (c#: c.customer#) from c in customer where c.customer-name.fname = “Leo”; “ Find passenger lists, each with a flight# and a list of customer names,  for flights out of Atlanta on October 22, 1998” select tuple (flight#: f.instance-of.flight#,  passengers:  select (  tuple ( c.customer#, c.customer-name.lname))) from  f  in  flight-instance, c  in  f.passengers  where  f.flight-date=(1998, 10, 22)  and  f.instance-of.dept-airport.airport-code=“Atlanta”; O 2 -like syntax
DATABASE ARCHITECTURE ,[object Object],[object Object],[object Object]
ANSI/SPARC 3-Level DB Architecture - separating concerns ,[object Object],[object Object],[object Object],[object Object],database system schema data database database system DDL DML
ANSI/SPARC 3-Level DB Architecture - separating concerns schema data schema conceptual schema internal schema data internal schema data external schema
ANSI/SPARC 3-Level DB Architecture external   schema 1 external   schema 2 external   schema 3 conceptual   schema internal   schema database ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conceptual Schema ,[object Object],[object Object],NAME  ADDR  SEX  AGE CUSTOMER ,[object Object]
External Schema ,[object Object],[object Object],NAME  ADDR  SEX  AGE CUSTOMER NAME  ADDR MALE-TEEN-CUSTOMER TEEN-CUSTOMER(X, Y) = CUSTOMER(X, Y, S, A)  WHERE SEX=M AND 12<A<20;
Internal Schema ,[object Object],NAME  ADDR  SEX  AGE CUSTOMER NAME  ADDR  SEX  AGE CUSTOMER B + -tree on AGE NAME  PTR index on NAME
Physical Data Independence external   schema 1 external   schema 2 external   schema 3 conceptual   schema internal   schema database Physical data independence is a measure of how much the internal schema can change without affecting the application programs
Logical Data Independence external   schema 1 external   schema 2 external   schema 3 conceptual   schema internal   schema database Logical data independence is a measure of how much the conceptual schema can change without affecting the application programs
Schema Compiler compiler metadata schemata The schema compiler  compiles schemata and stores them in the metadatabase ,[object Object],[object Object],[object Object]
Query Transformer metadata query transformer DML query transformer data Uses metadata to transform a query at the external schema level to a query at the storage level
ANSI/SPARC DBMS Framework enterprise administrator database administrator application system administrator conceptual schema processor internal schema processor external schema processor storage internal transformer internal conceptual transformer conceptual external transformer metadata user data 1 3 3 13 2 4 14 5 34 36 38 21 30 31 12 schema compiler query transformer
Metadata - What is it? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Metadata - Why is it important? ,[object Object],[object Object]
ISO-IRDS - Why? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ISO-IRDS Architecture DL metaschema data dictionary schema data dictionary data raw formatted application data data dictionary data; schema for application data; data about application data data dictionary schema; contains copy of metaschema; schema for format definitions; schema for data about application data metaschema; describes all schemata that can be defined in the data model data
ISO-IRDS - example relations access-rights relations supplier rel-name rel-name att-name att-name dom-name dom-name (u1, supplier, insert) (u2, supplier, delete) user relation operation s# sname location (s1, smith, london) (s2, jones, boston) metaschema data dictionary schema data dictionary data
DATABASE MANAGEMENT SYSTEM ARCHITECTURE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Teleprocessing Database OS TP AP 1 AP 2 AP 3 DBMS OS DB DB dumb terminal dumb terminal dumb terminal communication lines mainframe database
Teleprocessing Database - characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
File-Sharing Database OS NET AP 1 AP 2 AP 3 DBMS OS DB DB LAN database OS NET OS NET DBMS file server micro micros
File-Sharing Database - characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client-Server Database - Basic AP 1 AP 2 AP 3 DBMS OS DB DB micro(s)   or mainframe database OS NET OS NET OS NET LAN micros
Client-Server Database - Basic - characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client-Server Database - w/Caching AP 1 AP 2 AP 3 DBMS OS DB DB micro(s)   or mainframe database OS NET OS NET OS NET LAN micros DBMS DBMS DB DB
Client-Server Database - w/Caching - characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Distributed Database AP 1 AP 2 AP 3 OS NET&DB OS NET&DB micros(s) or mainframes DDBMS DDBMS DB DB DB network conceptual internal external external external
Distributed Database - characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Distributed Database - Alternatives D C B A B A D C B A D C B A C D C partitioned non-replicated non-partitioned replicated partitioned replicated + - increasing parallelism, independence, flexibility, availability increasing cost, complexity, difficulty of control, security risk
Federated Database AP 1 AP 2 AP 3 OS NET&DB OS NET&DB micros(s) or mainframes DDBMS DDBMS DB DB DB network internal 1 conceptual 1 conceptual 2 internal 2 conceptual 3 internal 3 export schema 1 export schema 3 export schema 2 federation schema
Federated Database  - characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object]
Multi-Database AP 1 AP 2 AP 3 OS NET&DB OS NET&DB micros(s) or mainframes MULTI-DBMS MULTI-DBMS DB DB DB network, e.g WWW internal 1 conceptual 1 conceptual 2 internal 2 conceptual 3 internal 3
Multi-Database - characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel Databases ,[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel Databases - Shared Memory ,[object Object],[object Object],[object Object],[object Object],P processor M memory disk P M P P P
Parallel Databases - Shared Disk ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],P P P P M M M M
Parallel Databases - Shared Nothing ,[object Object],[object Object],[object Object],[object Object],[object Object],P M P M P M P M
RAID -  redundant array of inexpensive disks ,[object Object],[object Object],[object Object],[object Object],c c c c p
DATABASE CAPABILITIES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data Storage ,[object Object],[object Object],[object Object],[object Object],[object Object]
Queries ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],SQL queries are composed from the following:
Query Optimization select  flight#, date from  reserv R, cust C where  R.cust#=C.cust# and  cust-name=‘LEO ’; flight#, date cost: 10,000x3,000 cost: 3,000 cost: 10,000x30 date reserv flight# cust# customer cust# cust-name reserv cust cust-name=Leo reserv cust cust-name=Leo flight#, date cust# 10,000 reserv blocks 3,000 cust blocks 30 “Leo” blocks
Query Optimization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Indexing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Indexing (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Concurrency Control T1: read(flight-inst(flight#,date) seats:=#avail-seats if seats>0 then { seats:=seats-1 write(reserv(flight#,date,customer1)) write(flight-inst(flight#,date,seats))} T2: read(flight-inst(flight#,date) seats:=#avail-seats if seats>0 then { seats:=seats-1 write(reserv(flight#,date,customer2)) write(flight-inst(flight#,date,seats))} overbooking! date reserv flight# customer# flight-inst flight# date #avail-seats
Concurrency Control (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Concurrency Control (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Concurrency Control (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recovery change-reservation (DL212,102298,DL212,102398,C) read(flight-inst(DL212,102298) #avail-seats:=#avail-seats+1 update(flight-inst(DL212,102298,#avail-seats) read(flight-inst(DL212,102398) #avail-seats:=#avail-seats-1 update(flight-inst(DL212,102398,#avail-seats) update(reserv(DL212,102298,C,DL212,102398,C) 100 50 100 50 100 50 101 50 101 50 101 50 101 49 101 49 102298 102398 date reserv flight# customer# flight-inst flight# date #avail-seats
Recovery (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recovery (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Security ,[object Object],[object Object],[object Object],[object Object]
PEOPLE THAT WORK WITH DATABASES ,[object Object],[object Object],[object Object],[object Object],[object Object]
System Analysts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Database Designers ,[object Object],[object Object],[object Object],[object Object]
Application Developers ,[object Object],[object Object],[object Object],[object Object]
Database Administrators ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Database Administrators (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Database Administrators (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
End Users ,[object Object],[object Object],[object Object]
THE DATABASE MARKET ,[object Object],[object Object],[object Object],[object Object],[object Object]
Prerelational vs. Relational ,[object Object],[object Object],[object Object],billion $
Database Vendors Other ($2,272M) Oracle ($1,755M) IBM  (IMS+DB2)  ($1,460M) Sybase ($664M) Informix  (+Illustra) ($492M) CA-IDMS  (+Ingress)  ($447M) NEC ($211M) Fujitsu ($186M) Hitachi ($117M) Software AG (ADABAS)  ($136M) Microsoft  (SQL Server)  ($107M) Source: IDC, 1995 Other Oracle IBM Sybase Informix CA Total: $7,847M
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Relational Database Products
Relational Database Products
Relational Database Products
Relational Database Products
Relational Database Products
Relational Database Products
Relational Database Products
Relational Database Products
Relational Database Products
Relational Databases for PCs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Object-Oriented Database Capabilities
Object-Oriented Database Capabilities
EMERGING DB TECHNOLOGIES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WHAT YOU WILL BE ABLE TO LEARN MORE ABOUT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Andere mochten auch (8)

Data Base Management System
Data Base Management SystemData Base Management System
Data Base Management System
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to database
 
Lecture 01 introduction to database
Lecture 01 introduction to databaseLecture 01 introduction to database
Lecture 01 introduction to database
 
Relational Database Design - Lecture 4 - Introduction to Databases (1007156ANR)
Relational Database Design - Lecture 4 - Introduction to Databases (1007156ANR)Relational Database Design - Lecture 4 - Introduction to Databases (1007156ANR)
Relational Database Design - Lecture 4 - Introduction to Databases (1007156ANR)
 
Basic DBMS ppt
Basic DBMS pptBasic DBMS ppt
Basic DBMS ppt
 
Dbms slides
Dbms slidesDbms slides
Dbms slides
 
Database management system presentation
Database management system presentationDatabase management system presentation
Database management system presentation
 
Fundamentals of Database ppt ch01
Fundamentals of Database ppt ch01Fundamentals of Database ppt ch01
Fundamentals of Database ppt ch01
 

Ähnlich wie Databaseconcepts

Data mining & predictive analytics for US Airlines' performance
Data mining & predictive analytics for US Airlines' performanceData mining & predictive analytics for US Airlines' performance
Data mining & predictive analytics for US Airlines' performance
Akiso Yadav
 
CA ERwin Data Modeler End User Presentation
CA ERwin Data Modeler End User PresentationCA ERwin Data Modeler End User Presentation
CA ERwin Data Modeler End User Presentation
CA RMDM Latam
 
Dynamics ax 2012 development overview
Dynamics ax 2012 development overviewDynamics ax 2012 development overview
Dynamics ax 2012 development overview
Ali Raza Zaidi
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
Hammad Rajjoub
 

Ähnlich wie Databaseconcepts (20)

Data mining & predictive analytics for US Airlines' performance
Data mining & predictive analytics for US Airlines' performanceData mining & predictive analytics for US Airlines' performance
Data mining & predictive analytics for US Airlines' performance
 
CQRS: A More Effective Way of Writing the Same Applications
CQRS: A More Effective Way of Writing the Same ApplicationsCQRS: A More Effective Way of Writing the Same Applications
CQRS: A More Effective Way of Writing the Same Applications
 
Scalable, Fast Analytics with Graph - Why and How
Scalable, Fast Analytics with Graph - Why and HowScalable, Fast Analytics with Graph - Why and How
Scalable, Fast Analytics with Graph - Why and How
 
Working with CloudStack Usage Data - CCCEU13
Working with CloudStack Usage Data - CCCEU13Working with CloudStack Usage Data - CCCEU13
Working with CloudStack Usage Data - CCCEU13
 
Working with CloudStack Usage Data
Working with CloudStack Usage DataWorking with CloudStack Usage Data
Working with CloudStack Usage Data
 
As You Seek – How Search Enables Big Data Analytics
As You Seek – How Search Enables Big Data AnalyticsAs You Seek – How Search Enables Big Data Analytics
As You Seek – How Search Enables Big Data Analytics
 
CA ERwin Data Modeler End User Presentation
CA ERwin Data Modeler End User PresentationCA ERwin Data Modeler End User Presentation
CA ERwin Data Modeler End User Presentation
 
DN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project A
DN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project ADN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project A
DN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project A
 
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
“Lights Out”Configuration using Tivoli Netcool AutoDiscovery Tools
 
MongoDB on Azure
MongoDB on AzureMongoDB on Azure
MongoDB on Azure
 
GraphTour - How to Build Next-Generation Solutions using Graph Databases
GraphTour - How to Build Next-Generation Solutions using Graph DatabasesGraphTour - How to Build Next-Generation Solutions using Graph Databases
GraphTour - How to Build Next-Generation Solutions using Graph Databases
 
RDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful MigrationsRDBMS to NoSQL: Practical Advice from Successful Migrations
RDBMS to NoSQL: Practical Advice from Successful Migrations
 
PRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdfPRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdf
 
Dynamics ax 2012 development overview
Dynamics ax 2012 development overviewDynamics ax 2012 development overview
Dynamics ax 2012 development overview
 
Neo4j and graph databases introduction
Neo4j and graph databases introduction Neo4j and graph databases introduction
Neo4j and graph databases introduction
 
Data Warehousing with Python
Data Warehousing with PythonData Warehousing with Python
Data Warehousing with Python
 
Using SQL-MapReduce for Advanced Analytics
Using SQL-MapReduce for Advanced AnalyticsUsing SQL-MapReduce for Advanced Analytics
Using SQL-MapReduce for Advanced Analytics
 
OLAP on the Cloud with Azure Databricks and Azure Synapse
OLAP on the Cloud with Azure Databricks and Azure SynapseOLAP on the Cloud with Azure Databricks and Azure Synapse
OLAP on the Cloud with Azure Databricks and Azure Synapse
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
 

Kürzlich hochgeladen

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Kürzlich hochgeladen (20)

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 

Databaseconcepts

  • 1.  
  • 2. DATABASE CONCEPTS Leo Mark College of Computing Georgia Tech (January 1999)
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. A Map Is a Model of Reality
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Classification In a classification we form a concept in a way which allows us to decide whether or not a given phenomena is a member of the extension of the concept. CUSTOMER Tom Ed Nick ... Liz Joe Louise
  • 16. Aggregation In an aggregation we form a concept from existing concepts. The phenomena that are members of the new concept’s extension are composed of phenomena from the extensions of the existing concepts AIRPLANE COCKPIT ENGINE WING
  • 17. Generalization In a generalization we form a new concept by emphasizing common aspects of existing concepts, leaving out special aspects CUSTOMER ECONOMY CLASS BUSINESS CLASS 1 ST CLASS
  • 18. Generalization (cont.) CUSTOMER BUSINESS CLASS 1 ST CLASS Subclasses may overlap Subclasses may have multiple superclasses MOTORIZED VEHICLES AIRBORNE VEHICLES TRUCKS HELICOPTERS GLIDERS
  • 19. Relationships Between Abstractions T T T O O O aggregation generalization classification Abstraction Concretization classification exemplification aggregation decomposition generalization specialization intension extension
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Normalization unnormalized redundant just right! FLIGHT# AIRLINE PRICE FLIGHT-SCHEDULE 101 delta 156 545 american 110 912 scandinavian 450 FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT-SCHEDULE 101 delta mo 545 american mo 110 912 scandinavian fr 450 156 101 delta fr 156 545 american we 110 545 american fr 110 FLIGHT# AIRLINE WEEKDAYS PRICE FLIGHT-SCHEDULE 101 delta mo,fr 156 545 american mo,we,fr 110 912 scandinavian fr 450 FLIGHT# WEEKDAY FLIGHT-WEEKDAY 101 mo 545 mo 912 fr 101 fr 545 we 545 fr
  • 31.
  • 32.
  • 33.
  • 34. ER-Model - Data Structures composite attribute subset relationship type entity type relationship type attribute multivalued attribute derived attribute
  • 35. ER-Model - Integrity Constraints A E E1 E3 E2 1 n cardinality: 1:n for E1:E2 in R (min,max) participation of E2 in R total participation of E2 in R weak entity type E2; identifying relationship type R key attribute d x p disjoint exclusion partition R E1 E2 R E1 E2 R E1 E2 (min,max) R E1 E2 R
  • 36. ER Model - Example dept airport date international flight domestic flight p flight instance flight schedule instance of arriv airport airport 1 n n 1 street dept time airport code arriv time city zip airport addr airport name reserva- tion n n 1 n customer flight# customer name customer# seat# visa required weekdays
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. Hierarchical Model - Operations GET UNIQUE flight-sched (flight#=‘912’) [search flight-sched; get first such flight-sched] GET UNIQUE flight-sched [for each flight-sched flight-inst (date=‘102298’) for each flight-inst with date=102298 customer (name=‘Jensen’) for each customer with name=Jensen, get the first one] GET UNIQUE flight-sched [for each flight-sched flight-inst (date=‘102298’) for each flight-inst with date=102298, get the first GET NEXT flight-inst get the next flight-inst, whatever the date] GET UNIQUE flight-sched [for each flight-sched flight-inst (date=102298’) for each flight-inst get the first with date=102298 customer (name=‘Jensen’) for each customer with name=Jensen, get the first one GET NEXT WITHIN PARENT customer get the next customer, whatever his name, but only on that flight-inst] flight-sched customer customer# customer name flight-inst date dept-airp airport-code arriv-airp airport-code flight#
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55. class flight-schedule { type tuple (flight#: integer, weekdays: set ( weekday: enumeration {mo,tu,we,th,fr,sa,su}) dept-airport: airport, arriv-airport: airport) method reschedule(new-dept: airport, new-arriv: airport)} class international-flight inherit flight-schedule { type tuple (visa-required:string) method change-visa-requirement(v: string): boolean} /* the reschedule method is inherited by international-flight; */ /* when reschedule is invoked in international-flight it may */ /* also invoke change-visa-requirement */ Object-Oriented Model - Structures O 2 -like syntax
  • 56. class flight-instance { type tuple (flight-date: tuple ( year: integer, month: integer, day: integer); instance-of: flight-schedule, passengers: set (customer) inv customer::reservations) method add-passenger(new-passenger:customer):boolean, /*adds to passengers; invokes customer.make-reservation */ remove-passenger(passenger: customer):boolean} /*removes from passengers; invokes customer.cancel-reservation*/ class customer { type tuple (customer#: integer, customer-name: tuple ( fname: string, lname: string) reservations: set (flight-instance) inv flight-instance::passengers) method make-reservation(new-reservation: flight-instance): boolean, cancel-reservation(reservation: flight-instance): boolean}
  • 57. Object-Oriented Model - Updates class customer { type tuple (customer#: integer, customer-name: tuple ( fname: string, lname: string) reservations: set (flight-instance) inv flight-instance::passengers) main () { transaction::begin(); all-customers: set ( customer); /*makes persistent root to hold all customers */ customer c= new customer; /*creates new customer object */ c= tuple (customer#: “111223333”, customer-name: tuple ( fname: “Leo”, lname: “Mark”)); all-customers += set ( c); /*c becomes persistent by attaching to root */ transaction::commit();} O 2 -like syntax
  • 58. Object-Oriented Model - Queries “ Find the customer#’s of all customers with first name Leo” select tuple (c#: c.customer#) from c in customer where c.customer-name.fname = “Leo”; “ Find passenger lists, each with a flight# and a list of customer names, for flights out of Atlanta on October 22, 1998” select tuple (flight#: f.instance-of.flight#, passengers: select ( tuple ( c.customer#, c.customer-name.lname))) from f in flight-instance, c in f.passengers where f.flight-date=(1998, 10, 22) and f.instance-of.dept-airport.airport-code=“Atlanta”; O 2 -like syntax
  • 59.
  • 60.
  • 61. ANSI/SPARC 3-Level DB Architecture - separating concerns schema data schema conceptual schema internal schema data internal schema data external schema
  • 62.
  • 63.
  • 64.
  • 65.
  • 66. Physical Data Independence external schema 1 external schema 2 external schema 3 conceptual schema internal schema database Physical data independence is a measure of how much the internal schema can change without affecting the application programs
  • 67. Logical Data Independence external schema 1 external schema 2 external schema 3 conceptual schema internal schema database Logical data independence is a measure of how much the conceptual schema can change without affecting the application programs
  • 68.
  • 69. Query Transformer metadata query transformer DML query transformer data Uses metadata to transform a query at the external schema level to a query at the storage level
  • 70. ANSI/SPARC DBMS Framework enterprise administrator database administrator application system administrator conceptual schema processor internal schema processor external schema processor storage internal transformer internal conceptual transformer conceptual external transformer metadata user data 1 3 3 13 2 4 14 5 34 36 38 21 30 31 12 schema compiler query transformer
  • 71.
  • 72.
  • 73. ISO-IRDS Architecture DL metaschema data dictionary schema data dictionary data raw formatted application data data dictionary data; schema for application data; data about application data data dictionary schema; contains copy of metaschema; schema for format definitions; schema for data about application data metaschema; describes all schemata that can be defined in the data model data
  • 74. ISO-IRDS - example relations access-rights relations supplier rel-name rel-name att-name att-name dom-name dom-name (u1, supplier, insert) (u2, supplier, delete) user relation operation s# sname location (s1, smith, london) (s2, jones, boston) metaschema data dictionary schema data dictionary data
  • 75.
  • 76. Teleprocessing Database OS TP AP 1 AP 2 AP 3 DBMS OS DB DB dumb terminal dumb terminal dumb terminal communication lines mainframe database
  • 77.
  • 78. File-Sharing Database OS NET AP 1 AP 2 AP 3 DBMS OS DB DB LAN database OS NET OS NET DBMS file server micro micros
  • 79.
  • 80. Client-Server Database - Basic AP 1 AP 2 AP 3 DBMS OS DB DB micro(s) or mainframe database OS NET OS NET OS NET LAN micros
  • 81.
  • 82. Client-Server Database - w/Caching AP 1 AP 2 AP 3 DBMS OS DB DB micro(s) or mainframe database OS NET OS NET OS NET LAN micros DBMS DBMS DB DB
  • 83.
  • 84. Distributed Database AP 1 AP 2 AP 3 OS NET&DB OS NET&DB micros(s) or mainframes DDBMS DDBMS DB DB DB network conceptual internal external external external
  • 85.
  • 86. Distributed Database - Alternatives D C B A B A D C B A D C B A C D C partitioned non-replicated non-partitioned replicated partitioned replicated + - increasing parallelism, independence, flexibility, availability increasing cost, complexity, difficulty of control, security risk
  • 87. Federated Database AP 1 AP 2 AP 3 OS NET&DB OS NET&DB micros(s) or mainframes DDBMS DDBMS DB DB DB network internal 1 conceptual 1 conceptual 2 internal 2 conceptual 3 internal 3 export schema 1 export schema 3 export schema 2 federation schema
  • 88.
  • 89. Multi-Database AP 1 AP 2 AP 3 OS NET&DB OS NET&DB micros(s) or mainframes MULTI-DBMS MULTI-DBMS DB DB DB network, e.g WWW internal 1 conceptual 1 conceptual 2 internal 2 conceptual 3 internal 3
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99. Query Optimization select flight#, date from reserv R, cust C where R.cust#=C.cust# and cust-name=‘LEO ’; flight#, date cost: 10,000x3,000 cost: 3,000 cost: 10,000x30 date reserv flight# cust# customer cust# cust-name reserv cust cust-name=Leo reserv cust cust-name=Leo flight#, date cust# 10,000 reserv blocks 3,000 cust blocks 30 “Leo” blocks
  • 100.
  • 101.
  • 102.
  • 103. Concurrency Control T1: read(flight-inst(flight#,date) seats:=#avail-seats if seats>0 then { seats:=seats-1 write(reserv(flight#,date,customer1)) write(flight-inst(flight#,date,seats))} T2: read(flight-inst(flight#,date) seats:=#avail-seats if seats>0 then { seats:=seats-1 write(reserv(flight#,date,customer2)) write(flight-inst(flight#,date,seats))} overbooking! date reserv flight# customer# flight-inst flight# date #avail-seats
  • 104.
  • 105.
  • 106.
  • 107. Recovery change-reservation (DL212,102298,DL212,102398,C) read(flight-inst(DL212,102298) #avail-seats:=#avail-seats+1 update(flight-inst(DL212,102298,#avail-seats) read(flight-inst(DL212,102398) #avail-seats:=#avail-seats-1 update(flight-inst(DL212,102398,#avail-seats) update(reserv(DL212,102298,C,DL212,102398,C) 100 50 100 50 100 50 101 50 101 50 101 50 101 49 101 49 102298 102398 date reserv flight# customer# flight-inst flight# date #avail-seats
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121. Database Vendors Other ($2,272M) Oracle ($1,755M) IBM (IMS+DB2) ($1,460M) Sybase ($664M) Informix (+Illustra) ($492M) CA-IDMS (+Ingress) ($447M) NEC ($211M) Fujitsu ($186M) Hitachi ($117M) Software AG (ADABAS) ($136M) Microsoft (SQL Server) ($107M) Source: IDC, 1995 Other Oracle IBM Sybase Informix CA Total: $7,847M
  • 122.
  • 131.
  • 134.
  • 135.