Upload
doanthu
View
212
Download
0
Embed Size (px)
Citation preview
2001-10-23
2001-10-30 Database Hall of Fame 1
CODASYL,IDM--Charles Bachmann
(Turing Award 1973)
� Betreuer: Prof. Bayer� Bearbeiter: Chen Fangyu
2001-10-30 Database Hall of Fame 2
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)
2001-10-23
2001-10-30 Database Hall of Fame 3
3) Architektur der CODASYL
2001-10-30 Database Hall of Fame 4
4) Graphik der historischen Entwicklung
2001-10-23
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 definedaggregiert (Feld mit Unterstruktur):
vektor: (1:n), allgem. Wiederholungsgruppe(0: *)
2001-10-30 Database Hall of Fame 6
--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
2001-10-23
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
Membername
2001-10-30 Database Hall of Fame 8
2) Konkretisierung von Set-Typ
-- Hierarchische Beispiele: (1:n) Set-Typ �DEPTEMP�a. Hierarchie mit einer Stufe:
2001-10-23
2001-10-30 Database Hall of Fame 9
b. Hierarchie mit mehr als einer Stufe:
2001-10-30 Database Hall of Fame 10
c. Hiearchie mit drei Record Typen und zwei Set-Typen:
2001-10-23
2001-10-30 Database Hall of Fame 11
d. Hierarchie mit dem selben Record Typ in mehr als einen Stufe :
2001-10-30 Database Hall of Fame 12
-- Netzwerke Beispiele: (n:m)a. Netzwerk mit nur ein Record Typ und zwei Sets:
BM: bill of matrialsWU: where used
2001-10-23
2001-10-30 Database Hall of Fame 13
b. Netzwerk mit mehr als zwei Record- und Set-Typen:
2001-10-30 Database Hall of Fame 14
3) Unterschied zum Relationenmodell
Join Attribut&JoinSet-Typ(Link)Beziehung
AttributFeldAttribut
TupelLogischer RecordEntity
RelationennameLogischer Record-TypEntity �Typ
RelationenschemaStruktur-Diagramm(er-weitertes B.Diagramm)
E/R-Schema
Re.-ModellNW-ModellER-Modell
2001-10-23
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;
2001-10-30 Database Hall of Fame 16
� Transformation von mehrstelligem Diagramm;� Transformation von rekursivem Diagramm;� Transformation vom Typ �is-A�;
2001-10-23
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.
2001-10-30 Database Hall of Fame 18
� Relationship-Typen der Stelligkeit>2 werden ebenfalls unter Einführung eines Kett-Record-Types transformiert.
� Rekursive Beziehungen verlangen die Duplizierung eines gegebenenRecord-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
2001-10-23
2001-10-30 Database Hall of Fame 19
5) Schema-Deklaration für Netzwerk-Datenbanken
2001-10-30 Database Hall of Fame 20
CODASYL � SQL
� Schema name is Bibiliothek
� Record name is Buch duplicates are not allowed for InvNr InvNr type is character 6Titel type is character 30VerlagName type is character 20VerlagOrt type is character 20Jahr type is numeric integer
� Record name is Autorenautor 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) );
2001-10-23
2001-10-30 Database Hall of Fame 21
� Record name is Leserduplicates are not allowed for LNrLNr type is character 6Nachname type is character 25Vorname type is character 20Strasse type is character 30Ort type is character 15
� Set name is BuchAutorenowner is Buchmember is Autorenorder is firstinsertion is automaticretention 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)
);
2001-10-30 Database Hall of Fame 22
� Set name is Ausleiheowner is Lesermember is Buchorder is system defaultinsertion is manualretention is optionalset 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
);
2001-10-23
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
2001-10-30 Database Hall of Fame 24
3) Find Statement
� (1) FIND ... BY DATABASE KEY� (2) FIND ... BY CALC-KEY� (3) FIND ... NEXT[USING] ... / FIND DUPLICATE ... WITHIN..BY� (4) FIND FIRST/NEXT ... WITHIN CURRENT ...� (5) FIND FIRST/NEXT ... WITHIN CURRENT ... USING ... /
FIND DUPLICATE ... WITHIN CURRENT ... USING ...� (6) FIND OWNER ...� (7) FIND CURRENT ...
2001-10-23
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 dobegin
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 dobegin
FIND NEXT S_V WITHIN CUURENT HÖRT;FIND OWNER OF CUURENT WIRD_BESUCHT;GET VORLESUNG; V_NAME
end;
2001-10-30 Database Hall of Fame 26
4)GET, MODIFY - Statement
� GETMove S4 to SNo IN S Select * from SFind S Record where SNo=�S4�Get S
� MODIFYFind S occurrence for S4 Update S Set Status=Status+�10�Get S; Status where Sno=�S4�Add 10 to Status IN S.Modify S; Status
2001-10-23
2001-10-30 Database Hall of Fame 27
� INSERTFind S Occurrence for S4 Insert into NInsert S Into N Select * from S where SNo=�S4�
� REMOVEFind S occurrent for S4 Delete from N where N.* in (Select *Remove S from N from S where SNo=�S4�)
� DELETE Find S occurrent for S4 Delete from S where SNo=�S4�Delete S
2001-10-30 Database Hall of Fame 28
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
2001-10-23
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.
2001-10-30 Database Hall of Fame 30
Award Recipients� 1966 A.J. Perlis
1967 Maurice V. Wilkes1968 Richard Hamming1969 Marvin Minsky 1970 J.H. Wilkinson1971 John McCarthy1972 E.W. Dijkstra1973 Charles W. Bachman1974 Donald E. Knuth1975 Allen Newell1975 Herbert A. Simon1976 Michael O. Rabin1976 Dana S. Scott1977 John Backus1978 Robert W. Floyd1979 Kenneth E. Iverson1980 C. Antony R. Hoare1981 Edgar F. Codd1982 Stephen A. Cook1983 Ken Thompson
� 1984 Niklaus Wirth 1985 Richard M. Karp 1986 John Hopcroft 1986 Robert Tarjan 1987 John Cocke 1988 Ivan Sutherland 1989 William (Velvel) Kahan1990 Fernando J. Corbato'1991 Robin Milner1992 Butler W. Lampson1993 Juris Hartmanis1993 Richard E. Stearns1994 Edward Feigenbaum1994 Raj Reddy1995 Manuel Blum1996 Amir Pnueli1997 Douglas Engelbart1998 James Gray1999 Frederick P. Brooks, Jr.2000 Andrew Chi-Chih Yao
2001-10-23
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
2001-10-30 Database Hall of Fame 32
Ende
Vielen Dank für die Aufmerksamkeit!
Fragen & Diskussion