• Keine Ergebnisse gefunden

-- Charles Bachmann

N/A
N/A
Protected

Academic year: 2022

Aktie "-- Charles Bachmann"

Copied!
16
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

2001-10-30 Database Hall of Fame 1

CODASYL,IDM

-- Charles Bachmann

(Turing Award 1973)

• Betreuer: Prof. Bayer

• Bearbeiter: Chen Fangyu

Teil 1: CODASYL

(Conference On Data Systems Languages) 1. Hintergrund und historische Entwicklung:

1) veröffentlicht im April 1971 von Codasyl Programming Language Committee.

2) der Abschlussreport besteht aus drei Sprachen:

-- schema data definition language (DDL)

-- sub-Schema data definition language (DDL)

-- data manipulation language (DML)

(2)

2001-10-30 Database Hall of Fame 3

3) Architektur der CODASYL

4) Graphik der historischen Entwicklung

(3)

2001-10-30 Database Hall of Fame 5

2. Das DBTG Data Modell

1) Netzwerkmodell-Grundkonzepte:

-- Wertbereich: (Value => Domain)

Zusammenfassung aller möglichen bzw. zugelassenen Werte

-- Feld (Data Item):

atomar: arithmetisch, string, data base key(DBK), implementor defined

aggregiert (Feld mit Unterstruktur):

vektor: (1:n),

allgem. Wiederholungsgruppe(0: *)

--Recordtyp

- Feld1|Feld2|...|FeldN

- N = 0 ... Leerer Record erlaubt

- Statusausprägung besitzt DBK als Identifikator à Objektindentität unabhängig von Werten - kein Primärschlüsselkonzept

--Set-Typ

- binäre Beziehung zwischen zwei Records

(4)

2001-10-30 Database Hall of Fame 7

-- (storage)Area:

-- in neuerer CODASYL auch realm genannt -- benannte Speichereinheit

-- Database (Schema)

Bachmann diagramm (1:n) (

Bezeichnung des Set-Typs fehlt noch!)

OWNER name

Member name

2) Konkretisierung von Set-Typ

-- Hierarchische Beispiele: (1:n) Set-Typ „DEPTEMP“

a. Hierarchie mit einer Stufe:

(5)

2001-10-30 Database Hall of Fame 9

b. Hierarchie mit mehr als einer Stufe:

c. Hiearchie mit drei Record Typen und zwei Set-Typen:

(6)

2001-10-30 Database Hall of Fame 11

d. Hierarchie mit dem selben Record Typ in mehr als einen Stufe :

-- Netzwerke Beispiele: (n:m)

a. Netzwerk mit nur ein Record Typ und zwei Sets:

BM: bill of matrials WU: where used

(7)

2001-10-30 Database Hall of Fame 13

b. Netzwerk mit mehr als zwei Record- und Set-Typen:

3) Unterschied zum Relationenmodell

Join Attribut&Join Set-Typ(Link)

Beziehung

Attribut Feld

Attribut

Tupel Logischer Record

Entity

Relationenname Logischer Record-Typ

Entity –Typ

Relationenschema Struktur-Diagramm(er-

weitertes B.Diagramm) E/R-Schema

Re.-Modell NW-Modell

ER-Modell

(8)

2001-10-30 Database Hall of Fame 15

4) Transformation eines ER-Entwurfs in ein Netzwek

• Transformation vom Typ 1:1;

• Transformation vom Typ m:n;

• Transformation von mehrstelligem Diagramm;

• Transformation von rekursivem Diagramm;

• Transformation vom Typ „is-A“;

(9)

2001-10-30 Database Hall of Fame 17

--Regeln der Transformation

• Jeder Entity-Typ wird in einen Record-Typ transformiert. Dabei führen einwertige Attribute wieder auf einwertige, einstellige

mehrwertige auf Vektoren, zusammengesetzte ein- sowie mehrwertige auf Einfach- bzw. Mehrfachwiederholungsgruppen.

• Binäre Relationship-Typen der Kardinalität 1:1 können entweder durch einen Record-Typ, welcher eine Zusammenfassung der

beteiligten Entity-Typen ist, oder durch einen Set-Typ darstellt werden.

• Binäre Relationship-Typen der Kardinalität 1:n führen auf Set –Typen.

• Binäre Relationship-Typen der Kardinalität m:n werden transformiert unter Einführung eines Kett-Record-Typs und Ersetzung der m:n- Beziehung durch eine m:1- und eine 1:n- Beziehung.

• Relationship-Typen der Stelligkeit>2 werden ebenfalls unter Einführung eines Kett-Record-Types transformiert.

• Rekursive Beziehungen verlangen die Duplizierung eines gegebenen Record-Typs, wobei das Duplikat umzubenennen ist.

• IS-A-Beziehungen werden durch einen Set-Typ „in umgekehrter Richtung“ modelliert, und zwar je einen im Fall einer mehrfachen Spezialisierung (alternative könnte in einem solchen Fall –wie bereits erwähnt– auch ein Multimember-Set-Typ verwendet weden).

A-C Person V-S

(10)

2001-10-30 Database Hall of Fame 19

5) Schema-Deklaration für Netzwerk-Datenbanken

CODASYL ó SQL

Schema name is Bibiliothek

Record name is Buch

duplicates are not allowed for InvNr InvNr type is character 6

Titel type is character 30 VerlagName type is character 20 VerlagOrt type is character 20 Jahr type is numeric integer

Record name is Autoren autor type is character 30

Create Table Buch (

InvNr char(6) not null, Titel char(30) not null, VerlagName char(20) , VerlagOrt char(20), Jahr int(4), PRIMARY KEY (InvNr) );

(11)

2001-10-30 Database Hall of Fame 21

Record name is Leser

duplicates are not allowed for LNr LNr type is character 6

Nachname type is character 25 Vorname type is character 20 Strasse type is character 30 Ort type is character 15

Set name is BuchAutoren owner is Buch

member is Autoren order is first insertion is automatic retention is mandatory

Create Table Leser (

LNr char(6) not null, Nachname char(25) not null, Vorname char(25) not null, Strasse char(30) not null, Ort char(15) not null, Primary Key (LNr ) );

Create Table BuchAutoren ( InvNr char(6) not null, Autoren char(30) not null, Primary key (InvNr,Autoren) );

• Set name is Ausleihe owner is Leser member is Buch order is system default insertion is manual retention is optional

set selection is thru current of set

• Create Table Ausleihe ( LNr char(6) not null, BuchInvNr char(6) not null, Primary key (LNr, BuchInvNr) ID auto_increment );

(12)

2001-10-30 Database Hall of Fame 23

4. Die DBTG Query-Sprache

• 1) Operation der DML

--Aufsuchen: FETCH, FIND, GET, ACCEPT,SET --Änderung: STORE, ERASE, MODIFY, CONNECT,

DISCONNECT, INSERT, REMOVE --Transactionssteuerung: READY, FINISH

--SATZSCHUTZ: KEEP,FREE

• 2)Zugreiffensunterstürtzung:

--CALC- Keys --Datebase-Keys

3) Find Statement

• (1) FIND... BY DATABASE KEY

• (2) FIND... BY CALC-KEY

• (3) FIND... NEXT[USING] ... / FIND DUPLICATE ... WITHIN..BY

• (4) FINDFIRST/NEXT ... WITHIN CURRENT ...

• (5) FINDFIRST/NEXT ... WITHIN CURRENT ... USING ... / FINDDUPLICATE ... WITHIN CURRENT ... USING ...

• (6) FINDOWNER ...

• (7)FINDCURRENT ...

(13)

2001-10-30 Database Hall of Fame 25

(1) S.MatrNr :=S3;

FIND STUDENT BY CALC-KEY;

(2) S_V.MatrNr :=S1;

FIND S_V WITHIN HÖRT USING S_V.MatrNr;

while not eof do begin

GET S_V; V_NR;

FIND DUPLICATES S_V WITHIN HÖRT USING S_V.MartNR;

end;

(3) S_V.MatrNr :=S1;

FIND STUDENT BY CALC-KEY;

while not fail do begin

FIND NEXT S_V WITHIN CUURENT HÖRT;

FIND OWNER OF CUURENT WIRD_BESUCHT;

GET VORLESUNG; V_NAME end;

4)GET, MODIFY - Statement

• GET

Move S4 to SNo IN S Select * from S

Find S Record where SNo=‚S4‘

Get S

• MODIFY

Find S occurrence for S4 Update S Set Status=Status+‚10‘

Get S; Status where Sno=‚S4‘

Add 10 to Status IN S.

ModifyS; Status

(14)

2001-10-30 Database Hall of Fame 27

• INSERT

Find S Occurrence for S4 Insert into N

InsertS Into N Select * from S where SNo=‚S4‘

• REMOVE

Find S occurrent for S4 Delete from N where N.* in (Select * RemoveS from N from S where SNo=‚S4‘)

• DELETE

Find S occurrent for S4 Delete from S where SNo=‚S4‘

DeleteS

Teil 2:Turing Award

• 1. Was ist ACM?

-- Association for Computing Machinery -- gegründet in 1947

-- erste wissenschaftliche computing Gesellschaft.

• 2. Was ist A.M. Turing Award?

-- Seit 1966

-- Eine prestigevolle technische Prämie von ACM

(15)

2001-10-30 Database Hall of Fame 29

3.Der Turing Award Preisträger von 1973 ---- Charles W. Bachmann

• (1) Was hat er dazu beigetragen?

-- Er war ein Erschaffer und Hauptarchitekt der ersten handelsüblichen Data Base Management Systems -IDS-.

-- Er war ein der Gründers der CODASYL Data Base Task Group und arbeitete von 1966 bis 1968 für die Group

-- Er war der Erschaffer der wertvollen Methode für Darstellung der Data- Relationship – ein Tool für Datenbank Designers bzw.

Applikationssystem Designers.

Award Recipients

1966A.J. Perlis 1967Maurice V. Wilkes 1968Richard Hamming 1969Marvin Minsky 1970J.H. Wilkinson 1971John McCarthy 1972E.W. Dijkstra 1973Charles W. Bachman 1974Donald E. Knuth 1975Allen Newell 1975Herbert A. Simon 1976Michael O. Rabin 1976Dana S. Scott 1977John Backus 1978Robert W. Floyd 1979Kenneth E. Iverson 1980C. Antony R. Hoare 1981Edgar F. Codd 1982Stephen A. Cook

1984Niklaus Wirth 1985Richard M. Karp 1986John Hopcroft 1986Robert Tarjan 1987John Cocke 1988Ivan Sutherland 1989William (Velvel) Kahan 1990Fernando J. Corbato' 1991Robin Milner 1992Butler W. Lampson 1993Juris Hartmanis 1993Richard E. Stearns 1994Edward Feigenbaum 1994Raj Reddy 1995Manuel Blum 1996Amir Pnueli 1997Douglas Engelbart 1998James Gray

1999Frederick P. Brooks, Jr.

2000Andrew Chi-Chih Yao

(16)

2001-10-30 Database Hall of Fame 31

Zusammenfassung

• Historische Entwicklung;

• DBTG Daten Modell

• Transformation eines ER-Entwurfs in ein Netzwerk

--Set Typ

• Schema-Deklaration für Netzwerk-Datenbanken

• Die DBTG-Query Sprache

• Charles Bachmann

Ende

Vielen Dank für die Aufmerksamkeit!

Fragen & Diskussion

Referenzen

ÄHNLICHE DOKUMENTE

Texts can better be processed automatically, if the text representation is suitable for automatic pro- cessing, which leads from contextual to representational quality aspects we

In this paper we pursue schema design for data warehouses in the spirit of classical database design, organized as a sequence of requirement analysis and specification to collect

besteht aus DDL (Data Definition Language), DML (Data Manipulation Language) sowie Funktionen und Operatoren Data Mining-Modelle erstellen und verwenden. Data

A program can contain any combination of type, constant, variable, section, function, and procedure declarations, and any statements.. If two or more modules are compiled and

3.5 Hypothesis Generation and Feedback Once the patterns in the data have been explored, hypotheses tested and perhaps new ones formed, the researcher can feed the knowledge gained

The main activities of ELRC include the collection of language re- sources, the provision of corresponding language data sharing facilities, in principle through the

“popular explanation approaches for neural net- works (...) do not provide the correct explana- tion, even for a simple linear model.” They show that in a linear model, the

Pour tester si les éléments d'un objet sont NA ou non, on utilise la fonction is.na()... Pour tester si une valeur est infinie, on utilise la