Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme
|
|
- Steffen Schuler
- vor 6 Jahren
- Abrufe
Transkript
1 Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme 1. Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 2. Middleware-Infrastruktur durch TP-Monitore ( TP-Heavy ) 3. Standards zur verteilten Objektverwaltung: CORBA, DCOM 4. Object Transaction-Monitore 5. Enterprise JavaBeans 6. Message-Oriented Middleware Kapitel 1.1: Vorlesung TP-Lite 1 Kap. 1: Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 1.1 Traditionelle, zweistufige Architektur ( Two-tier ) G Klassifikation von Datenbankservern G Architekturvarianten: Aufgabenteilung zwischen und Fat s Embedded SQL (statisch und dynamisch) SQL Call-Level-Interfaces Fat Stored Procedures, Trigger, UDTs DB DB- Kapitel 1.1: Vorlesung TP-Lite 2
2 Klassifikation von Datenbank-n DB- Monolithisch ein DBS-Prozess Multiple mehrere DBS-Prozesse Asymmetrisch Symmetrisch pro Anwendungsprozess ein DBS-Prozess dynamische Zuordnung von Anwendungsprozesse zu DBS-Prozessen Kapitel 1.1: Vorlesung TP-Lite 3 Monolithischer G Genau ein -Prozess für viele s verwendet mehrere Threads (Reentrant Code) Führt eigene Ressourcenverwaltung durch G Einfache Kommunikation im durch Shared Memory Synchronisierter Zugriff auf Systempuffer und zentrale Systemtabellen G Monolithische Architektur z.b. bei Sybase oder MS SQL zu finden 1 i n Betriebssystem 1 Betriebssystem m Netzwerk Kapitel 1.1: Vorlesung TP-Lite 4
3 Multiple : Symmetrische Konfiguration G ist ein Verbund von verschiedenen Prozessen G Jedem ist genau ein Prozess zugeordnet Statische Zuordnung, feste Anzahl n vorgeneriert Maximaler Parallelitätsgrad ist n G Zu finden bei Oracle im Dedicated -Mode, bei Informix und DB2 1 i n n i 1 Betriebssystem 1 Betriebssystem m Netzwerk Kapitel 1.1: Vorlesung TP-Lite 5 Multiple : Asymmetrische Konfiguration G Ein wird mit Hilfe des Dispatchers mit einem freien -Prozess verbunden Feste Anzahl ist vorgeneriert Der Parallelitätsgrad kann jedoch höher sein (da mehrere s sich einen -Prozess teilen können) G Zu finden bei Oracle im Multi-Threaded--Mode 1 i n Dispatcher 1 k Betriebssystem 1 Betriebssystem m Netzwerk Kapitel 1.1: Vorlesung TP-Lite 6
4 Two-Tier-Architektur G und sind völlig getrennt G Kommunikation zwischen und Via Netzwerk oder IPC mit gemeinsamen Protokoll (z.b. JDBC, Oracle Net8) G (Klare) Aufgabenteilung zwischen und Präsentation Datenverwaltung Anwendungsfunktionalität??? DB Library Betriebssystem Netzwerk, IPC DB DB Library Betriebssystem Kapitel 1.1: Vorlesung TP-Lite 7 Two-Tier-Architektur: Realisierung G Aufgabenteilung: Anwendungsfunktionalität im oder? Fat / Thin Thin / Fat G Was soll der machen? Präsentation Anwendungsfunktionalität (ESQL/I) G Was sind die Aufgaben des s? Datenverwaltung Anwendungsfunktionalität (Stored Procedures, Trigger, etc.) Data Presentation Access Functionality Data Management Kapitel 1.1: Vorlesung TP-Lite 8
5 Anwendungsentwicklung Fat / Thin Embedded SQL Anwendung Call-Level SQL Anwendung Präcompiler SQL I Calls Präcompiler- Runtime Library -Treiber I-I (Application Program Interface) Call Level Interface Runtime Library SQL-F (Format and Protocols), herstellerdefiniert, z.b. Net8 von Oracle DB Kapitel 1.1: Vorlesung TP-Lite 9 Embedded SQL (ESQL) G Nach ISO SQL-92 definierte Einbettung von SQL in Programmiersprachen z.b. Java (SQLJ), C, C++, Fortran, Pascal, Cobol, PL/1, Ada G Präcompiler ersetzt die SQL-Aufrufe in Calls der jeweiligen Runtime Library des verwendeten Datenbank-s Bei Wechsel der Datenbank müssen ESQL-Programme nur neu kompiliert und gelinkt werden G Statisches ESQL Alle SQL-Statements müssen bereits zur Compile-Zeit vollständig bekannt sein Daher müssen auch alle verwendeten Datenbankobjekte zur Compile-Zeit vorhanden sein G Dynamisches ESQL SQL-Statements werden erst zur Laufzeit erzeugt (dynamisches Generieren von Strings, die SQL-Anweisungen beinhalten) Die verwendeten Datenbankobjekte müssen daher zur Compile-Zeit noch nicht existieren Kapitel 1.1: Vorlesung TP-Lite 10
6 Embedded SQL statisch ESQL/C- Quell- Programm (SQL-Anweisungen bekannt) ESQL/C Präcompiler C-Quell- Programm mit SQL Anweisungen und ESQL/C Aufrufen C- Präprozessor Compiler und Linker Ausführbares Programm Beispiel: credit (int accountno) { EXEC SQL BEGIN DEARE SECTION; NUMBER acc_no; } NUMBER bal; EXEC SQL END DEARE SECTION; acc_no := accountno; EXEC SQL SELECT a.balance INTO :bal FROM account a WHERE a.account_number = :acc_no; G Zur Compilezeit führt der Präcompiler u.a. folgende Prüfungen durch (mit Hilfe von Informationen aus dem Datenbank-Katalog): Existenz von Tabellen und Attributen Syntaxprüfung, Typenprüfung G Zusätzliche Ersetzungen: Die datenbankspezifischen Datentypen (Host Variables) werden durch Datentypen der jeweiligen Programmierumgebung ersetzt Beispiel (ESQL/C): VARCHAR2(10) wird zu struct { unsigned short len; unsigned char arr[10]; } G Ansatz ist recht unflexibel (da alle SQL- Statements zur Compile-Zeit bekannt sein müssen), jedoch: wenige Laufzeitfehler! Kapitel 1.1: Vorlesung TP-Lite 11 Embedded SQL dynamisch ESQL/C- Quell- Programm (SQL-Anweisungen noch nicht bekannt) ESQL/C Präcompiler C-Quell- Programm mit SQL Anweisungen und ESQL/C Aufrufen C- Präprozessor Compiler und Linker Ausführbares Programm Beispiel: credit( int amount, int accountno, } char *table) { char dyn_stmt[120]; sprintf(dyn_stmt, "UPDATE %s SET balance = balance + :a WHERE account_number = :ano, table); EXEC SQL PREPARE sql_stmt FROM :dyn_stmt; EXEC SQL EXECUTE sql_stmt USING :amount, :accountno; G Das SQL Statement ist erst zur Laufzeit bekannt Der Precompiler kann weniger Überprüfungen durchführen Mehr Flexibilität Aber auch mehr Laufzeitfehler möglich! Kapitel 1.1: Vorlesung TP-Lite 12
7 SQL Call-Level Interface (I) G Standardisierte Schnittstelle zur Kommunikation mit Datenbanken ohne Präcompiler I-I erlaubt das Erstellen und Ausführen von SQL-Anweisungen zur Laufzeit G SQL/I: Standard seit 1996 Ursprung in Aktivitäten der SQL Access Group (SAG) mit dem Ziel, einen vereinheitlichten Zugriff auf Datenbanken bereitzustellen Ist auch Bestandteil von SQL3 G SQL/I beinhaltet DB-Verbindungsaufnahme und Beendigung Vorbereitung und Ausführen von SQL-Anweisungen ( prepare und execute ) Binden von Parametern an SQL-Anweisungen ( bind ) Entgegennahme von Resultaten Festlegung von Datentypen (über spezielle Codes für jeden Datentyp) G I-Call wird durch den proprietären -Treiber umgesetzt in herstellerspezifischen DB-Zugriff Mit geeignetem Treiber kann prinzipiell jede Datenquelle angesprochen werden Kapitel 1.1: Vorlesung TP-Lite 13 I-Dialekte G Neben standardisiertem SQL/I haben sich noch weitere Dialekte herausgebildet (war das ursprüngliche Ziel der SAG nicht die Definition einer einheitlichen Schnittstelle?) ODBC (Open Database Connectivity): Microsofts I-Variante Beinhaltet die meisten (nicht alle) I-Calls des I-Standards Zusätzlich: spezielle Calls zur Unterstützung von Microsoft- Programmen (Access, Excel, etc.) Proprietäre Is der DB-Hersteller ( Native I ) z.b. Oracle Call Interface (OCI) G In der Regel werden mehrere I-Dialekte parallel unterstützt ODBC-I SQL/I-I Native I Call Level InterfaceRuntime Library -Treiber Kapitel 1.1: Vorlesung TP-Lite 14
8 Call Level Interface: SQL99 I #include "sqlcli.h" extern SQLHDBC hdbc; /* Verbindung steht schon */ extern SQLHENV henv; /* Umgebung */ void credit ( SQLHSTMT hstmt, int amount, int accountno, char *table) { /* hstmt wird von aussen gegeben, damit Transaktionskontrolle ausserhalb dieser Prozedur. "credit" ist Baustein */ char update[120]; SQLINTEGER NameParamLength1; SQLINTEGER NameParamLength2; sprintf(update, "UPDATE %s SET balance = balance +? WHERE account_number =? ", table); SQLPrepare(hstmt, update, SQL_NTS); SQLBindParameter(hstmt, 1, SQL_PARAM_MODE_IN, SQLCHAR, SQL_CHAR, NAME_LENGTH, 0 &amount, NAME_LENGTH, &NameParamLength1); SQLBindParameter(hstmt, 2, SQL_PARAM_MODE_IN, SQLCHAR, SQL_CHAR, NAME_LENGTH, 0 &accountno, NAME_LENGTH, &NameParamLength2); SQLExecute(hstmt); } Kapitel 1.1: Vorlesung TP-Lite 15 Call Level Interface: Oracle-Dialekt (OCI) #include oci.h extern static OCIEnv *envhp; void credit (OCIStmt *stmthp, int amount, int accountno, char *table) { char update[120]; static OCIBind *bnd1p = (OCIBind *) 0; sprintf(update, UPDATE %s SET balance = balance + :a WHERE account_number = :ano, table); OCIStmtPrepare(stmthp, errhp, update, (ub4) strlen((char *update), (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT)); OCIBindByName(stmthp, &bnd1p, errhp, (char *) ":A", -1, (dvoid *) &amount, (sword) sizeof(accountid), SQLT_INT, (dvoid *)0, (ub2 *)0, (ub2 *)0, (ub4)0, (ub4 *)0,OCI_DEFAULT); OCIBindByName(stmthp, &bnd1p, errhp, (char *) ":ANO", -1, (dvoid *) &accountno, (sword) sizeof(accountid), SQLT_INT, (dvoid *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT); OCIStmtExecute(svchp, stmthp, errhp, (ub4) 1, (ub4) 0, (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT); } Kapitel 1.1: Vorlesung TP-Lite 16
9 Object I G Weiterentwicklung von I zu Objektschnittstellen (SQL/I kennt nur prozedurale Is) JDBC (Java Database Connection) ActiveX Data Objects (ADO) G Unterstützung von JDBC Entweder direkt durch Native-I Oder Umweg über JDBC-ODBC-Bridge Java-Anwendung JDBC-I JDBC-Treiber-Manager JDBC-ODBC- Bridge JDBC-Native Treiber SQL/I-I ODBC-I Native I Call Level InterfaceRuntime Library -Treiber Kapitel 1.1: Vorlesung TP-Lite 17 Zusammenfassung der Fat -Konzepte G Jeder Anwender programmiert seine Anwendungen selbst (alle entwickeln ähnliche Bausteine) G Alternative: Anwender benutzen vorgegebene Funktions-Bausteine G Bausteine ändern sich (Systemwechsel oder Firmenpolitik) Folge: alle Anwender müssen ihre Programmierung ändern bzw. Module aus gemeinsamer Bibliothek holen. G Alternative hierzu: Funktions-Bausteine in der Datenbank ablegen Alle s können dann darauf zugreifen Anwendungsentwicklung innerhalb der Datenbank, z.b. durch Stored Procedures ( TP-Lite ) Anwendungen in der DB ausführen und auch dort ablegen Kapitel 1.1: Vorlesung TP-Lite 18
10 Anwendungsentwicklung Thin / Fat Prozedur- Aufruf Rückgabewerte SQL- F Stored Procedure UDT Trigger Kapitel 1.1: Vorlesung TP-Lite 19 Fat Anwendungslogik innerhalb der Datenbank G Stored Procedures (TP-Lite) Verwendung einer 4GL (forth generation language) Turing-vollständiges SQL Speicherung und Ausführung in DB Standard unter SQL3 als SQL/PSM (= Persistent Stored Module) Kommerzielle verwenden jedoch proprietäre Dialekte, z.b. Ø PL/SQL in Oracle (siehe Workshop & praktische Übung) Ø TransactSQL in Sybase und MS SQL G Trigger (ereignisgesteuerte Funktionen/Prozeduren) G Benutzerdefinierte Datentypen (User Defined Types, UDTs) Bestandteil von SQL-99 Kapitel 1.1: Vorlesung TP-Lite 20
11 Stored Procedures Stored Procedure Internal External Procedure Function Procedure Function CREATE PROCEDURE credit (amount NUMBER, accountno INTEGER) IS BEGIN UPDATE account SET balance = balance + amount WHERE account_number = accountno; END debit; Oracle PL/SQL CREATE LIBRARY C_utils AS '/DLLs/utils.so'; Einbindung von C-Funktionen in Oracle CREATE FUNCTION debit (amount NUMBER, accountno INT) RETURN INT AS LANGUAGE C LIBRARY C_utils NAME debit_func"; Kapitel 1.1: Vorlesung TP-Lite 21 Trigger G Spezifizieren wann (Event) und unter welchen Bedingungen (Condition) eine Stored Procedure aufgerufen wird (Action) CREATE TRIGGER my_trigger AFTER UPDATE ON employees Event WHEN (new.salary > ) BEGIN UPDATE admin SET number_of_managers = number_of_managers + 1 WHERE dept = new.dept; END Condition Action (Stored Procedure) G Werden automatisch vom Datenbanksystem aktiviert ( gefeuert ) nach dem Einfügen, Ändern bzw. Löschen von Tupeln Ausführung der Stored Procedure kann wiederum neue Trigger starten ( Trigger-Feuerwerk ) die dann alle innerhalb einer Transaktion ausgeführt werden Kapitel 1.1: Vorlesung TP-Lite 22
12 Benutzerdefinierte Datentypen G Benutzerdefinierte Typen besitzen Verhalten, das durch Methoden implementiert werden kann Methodenimplementierung in DB-eigner 4GL Teil der Typdefinition CREATE METHOD interest() RETURNS INTEGER FOR AccountType BEGIN DEARE old_balance INTEGER; old_balance = SELF.balance; SET SELF.balance = old_balance * 1.03; RETURN SELF.balance; END; Kapitel 1.1: Vorlesung TP-Lite 23 Zusammenfassung: Fat vs. Fat G Fat -Architekturen Traditioneller Ansatz in der zweistufigen /-Welt + Ausnutzen der Datenunabhängigkeit, die vom DB- bereitgestellt wird + Standardisierte Schnittstellen + Gute Unterstützung eigener, individueller Anwendungen + Anwendungen lassen sich recht schnell entwickeln (z.b. mit Hilfe grafischer Entwicklungswerkzeuge) Problem der Wartung, Software-Verteilung, etc. (Upgrades von Anwendungen, die von vielen s verwendet werden, sind recht aufwändig) G Fat -Architekturen + Einfachere Wartbarkeit + Weniger Netzwerkbelastung (durch stärkeren Abstraktionsgrad der bereitgestellten Prozeduren) Schlechte Unterstützung für individuelle, personalisierte Anwendungen Kapitel 1.1: Vorlesung TP-Lite 24
Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme
Kapitel 1: Vorlesung TP-Lite 1 Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme 1. Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 2. Middleware-Infrastruktur
MehrTeil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme
Teil I: Existierende Infrastruktur heterogener und verteilter Informationssysteme 1. Infrastruktur durch erweiterte Datenbankfunktionalität ( TP-Lite ) 2. Middleware-Infrastruktur durch TP-Monitore ( TP-Heavy
MehrKap. 9 IS-Anwendungsentwicklung
Kap. 9 IS-Anwendungsentwicklung 9.1 Überblick Aufgabenteilung: Anwendungsfunktionalität im Client oder Server? Thin- / Thick Client? Wieviel soll der Client machen? Präsentation Anwendungsfunktionalität
MehrKap. 9 IS-Anwendungsentwicklung
Kap. 9 IS-Anwendungsentwicklung 9.1 Überblick Aufgabenteilung: Anwendungsfunktionalität im Client oder Server? Thin- / Thick Client? Wieviel soll der Client machen? Präsentation Anwendungsfunktionalität
MehrKapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
MehrKapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
MehrDatenbanksysteme I Übung: JDBC. Jana Bauckmann
Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung
MehrDatenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann
Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,
MehrMöglichkeiten der DB-Anwendungsprogrammierung
Herbstsemester 2013 CS261 Web Data Management Kapitel DB-6: DB-Anwendungsprogrammierung H. Schuldt Möglichkeiten der DB-Anwendungsprogrammierung SQL kann auf verschiedene Arten mit Programmiersprachen
MehrGrundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
MehrMöglichkeiten der DB-Anwendungsprogrammierung
Herbstsemester 2010 Datenbanken mit Übungen Kapitel 7: DB-Anwendungsprogrammierung H. Schuldt Möglichkeiten der DB-Anwendungsprogrammierung SQL kann auf verschiedene Arten mit Programmiersprachen gekoppelt
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrKlausur Datenbanken II
Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)
Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,
MehrKap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren
Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren Vergleich TP-Lite versus TP-Heavy Objektorientierung: Object Request Brokers (ORBs) OMs: Object Monitors Kap3-1 3.1 TP-Lite oder TP-Heavy? Aktive Diskussion
MehrKapitel DB:VI (Fortsetzung)
Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus
MehrKapitel 4 Dynamisches SQL
Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums
MehrSeminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler
Seminar Ausgewählte Komponenten von Betriebssystemen IDL4 Compiler IDL4 Compiler Hristo Pentchev Überblick CORBA IDL Allgemein IDL4 Compiler Beispiele CORBA Common Objekt Request Broker Architecture Gemeinsame
MehrKapitel 4 Dynamisches SQL
Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08
MehrDaten Bank. 4. Vorlesung. Dr. Karsten Tolle PRG2 SS 2012
Daten Bank 4. Vorlesung Dr. Karsten Tolle PRG2 SS 2012 SQL -Anfragen join groupby groupby having select A 1,A 2,...,A n from R 1, R 2,...,R m [where conditions] [group by clause] [having clause] [order
Mehr11. Datenbankschnittstellen
11. Datenbankschnittstellen Inhalt 11.1 Motivation 11.2 Eingebettetes SQL 11.3 Open Database Connectivity (ODBC) 11.4 Java Database Connectivity (JDBC) 11.5 Objekt-Relationale Abbildung (ORM) 2 11.1 Motivation
Mehr1a) SQL Stored Procedure via IDs
1a) SQL Stored Procedure via IDs Erstellen Sie analog zu Aufgabe 2d) des ersten Übungsblatts eine SQL Stored Procedure, welche den Freundschaftsgrad zweier Benutzer eines sozialen Netzwerks aktualisiert.dazu
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrDatenbankprogrammierung 1
Datenbankprogrammierung 1 Die Folien basieren auf: Datenbanken: Konzepte und Sprachen, Andreas Heuer und Gunter Saake, mitp-verlag, 2. Auflage, 2000, http://wwwiti.cs.uni-magdeburg.de/biber/ Datenbanken
Mehr2 Anlegen und Konfigurieren von Datenbanken 35
Inhalt 1 Einführung und Installation 9 1.1 Einführung 11 1.1.1 Aufbau 11 1.1.2 Schreibkonventionen 12 1.1.3 Zur Beispieldatenbank 13 1.1.4 Kurz-Installation 19 1.2 Die Oracle-Installation 20 1.3 Die Installation
MehrDatenbanksysteme 2011
Datenbanksysteme 2011 Anfang von Kapitel 10: Datenbankapplikationen Vorlesung vom 06.06.2011 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access
MehrVorlesung DBIS I (SoSe2011) Teil 1: Einführung. Web & Datenbanken
Web & Datenbanken Vorlesung Prof. Johann Christoph Freytag, Ph.D. Institut für Informatik, Humboldt-Universität zu Berlin SoSe2012 Bitte Handys ausschalten! 1.1 Ziel dieser Präsentation Grundkonzepte für
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrSQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter
SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java
MehrSoftwareentwicklung mit JAVA EE
Softwareentwicklung mit JAVA EE Grundlagen: Datenbankprogrammierung Literatur T. Kudraß (Hrsg.): Taschenbuch Datenbanken, Hanser, 2007 DB-Programmierung-2 Einbettungstechniken Einbettung in 3GL Embedded
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere?
MehrPHP- Umgang mit Datenbanken (1)
PHP- Umgang mit Datenbanken (1) Weitere Funktionen zum Umgang mit Datenbanken (Erzeugen, Löschen) und Tabellen (Erzeugen, Löschen) Zum Beispiel für das Erzeugen einer neuen Datenbank $dbname= blumendb
MehrJava Database Connectivity-API (JDBC)
Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrAufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur
Herbert Birkenbach 28.03.2000 CSS Open Database Architecture CSS Open Database Architecture Die Firma CSS GmbH erstellt und vertreibt kaufmännische Standard-Software. Die Entwicklung basierte datenbankseitig
MehrStrukturierte Objekttypen
Strukturierte Objekttypen Der Typ t approxmatch row des letzten Beispiels ist ein sogenannter Objekttyp. Definition: Ein Objekttyp ist ein Datentyp, bei dem (u.u. verschiedene) bekannte Datentypen zu einem
MehrKap. 3 Verteilte Objektverwaltung
Kap. 3 Verteilte Objektverwaltung G 3.1Einführung in die verteilte Objektverwaltung (Distributed Management, DOM) Anforderungen Kurzübersicht Java RMI Microsoft COM+ CORBA G 3.2Der CORBA-Standard G 3.3Iona
MehrInternetanbindung von Datenbanken
Internetanbindung von Datenbanken Oracle Application Server Oracle Application Server - 1 Gliederung Einführung Oracle Application Server (OAS) Praxis- und Diplomarbeitenverwaltung LiveHTML Kritik Becker,
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrDaten Bank. 4. Vorlesung. Dr. Karsten Tolle PRG2 SS 2012
Daten Bank 4. Vorlesung Dr. Karsten Tolle PRG2 SS 2012 Beispiel Datum Buch verliehen an (0,1) (0,n) Entleiher BuchNr Titel Autor Nummer Name BUCH (BuchNr, Titel, Autor) ENTLEIHER (Nummer, Name) VERLIEHEN_AN(BuchNr,
MehrSQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
MehrMultimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach)
Multimedia im Netz Wintersemester 2013/14 Übung 02 (Hauptfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 2-1 PHP und MySQL Es werden mehrere APIs von PHP angeboten um
MehrArchitekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131
Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet
Mehr10. Programmieren in SQL
10. Programmieren in SQL Inhalt 10.1 Motivation 10.2 Prozedurale Erweiterungen von SQL 10.3 Gespeicherte Prozeduren 10.4 Benutzerdefinierte Funktionen 10.5 Verwendung anderer Programmiersprachen 2 10.1
MehrKapitel DB:VI (Fortsetzung)
Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus
MehrTeil II: Architektur und Entwicklung (verteilter) Informationssysteme, Information Retrieval
Teil II: Architektur und Entwicklung (verteilter) Informationssysteme, Information Retrieval Architektur - 1 Übersicht und Zielsetzung von Teil II Verstehen der Zusammenhänge, wenn man von der traditionellen
Mehr8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP
8.4 Überblick und Vergleich weiterer ERP-Systeme G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP Kapitel 8: ERP-Einführung 32 Architektur von Oracle Applications 11 G Logische
MehrPraktikum Datenbanksysteme
Praktikum Datenbanksysteme Herbstsemester 2012 Dr. Andreas Geppert Platform Architecture Technology Infrastructure Services Credit Suisse geppert@acm.org Herbstsemester 2012 Slide 1 Themenübersicht konzeptueller
MehrGML und Bibliothek oracle.sdoapi
GML und Bibliothek oracle.sdoapi Nachfolgend werden die Java-Klassen aus dem GML-Kapitel unter Verwendung der alten Klassenbibliothek oracle.sdoapi dargestellt. Erzeugung von GML 3.1 aus SDO_GEOMETRY-Objekten
MehrÜbung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3
Übung3 Test der Möglichkeiten des JDBC-Interfaces Prof. Dr. Andreas Schmietendorf 1 Überblick & Zielstellungen Prof. Dr. Andreas Schmietendorf 2 Überblick Die Verwendung eines Datenbankmanagementsystems
MehrTriggern. Change Data Capture
Triggern. Change Data Capture Triggers Was sind Triggers? Eine bestimmte Art von gespeicherte Prozedur, die automatisch ausgeführt wird wenn eine DML oder DDL Anweisung ausgeführt wird Eine Menge von Aktionen,
MehrEmbedded SQL in PostgreSQL
7. Dezember 2010 Michael Meskes Seit 1993 Freie Software Seit 1994 Linux Seit 1995 Debian GNU/Linux Seit 1998 PostgreSQL Michael Meskes 1992-1996 Promotion 1996-1998 Projektleiter 1998-2000 Niederlassungsleiter
MehrEinbettung in SQL. Zwei Prinzipien: (1) Statische Einbettung
Einbettung in SQL Zwei Prinzipien: (1) Statische Einbettung - Vorübersetzer-Prinzip (Pre-Compiler) - In Programmcode integrierte SQL-Anweisungen werden durch den Precompiler übersetzt, d.h. in Prozeduraufrufe
MehrDatenbanken. Autor Rainer Colgen (0171)
Autor Rainer Colgen (0171)8004088 - 2 - Inhaltsübersicht 1...3 2. SQL IN ENTWICKLUNGSUMGEBUNGEN...3 1. 2.1 EMBEDDED SQL...3 2.1.1 Einführung...3 2.1.2 Präprozessor...3 2.1.3 Statisches SQL...4 2.1.4 Dynamisches
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrDBS: Anwendungsprogrammierung
Bisher: Grundlagen / Theorie DBS: Anwendungsprogrammierung Daten Schema Datenbank 1 Daten Schema Datenbank 2 DBMS Benutzer 1 Benutzer 2 Benutzer n Hier: Idee der Praxis Datenbanksysteme Benutzer Anwendungskontrollkomponenten
MehrÜbung Datenbanksysteme I Embedded SQL, Stored Procedures, JDBC
Übung Datenbanksysteme I G-3.1.09, Campus III Hasso Plattner Institut Motivation Grenzen von SQL 1. Bedingte Anweisungen Erhöhe das Gehalt eines Arbeitsnehmers um 2%, falls er eine Belobigung erhalten
Mehrvs. Fehler zur Übersetzungszeit
Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der
MehrPL/SQL-Web-Services (Teil I)
Best Practise Integrationstools PL/SQL-Web-Services (Teil I) Autor: Markus Fiegler, ORDIX AG, Paderborn Web-Services spielen in der heutigen Software- Architektur eine immer wichtigere Rolle. Ihr großer
Mehr8a. Exkurs.NET. 8a.1.NET Architektur
8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
Mehr<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.
Security-Basics Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Rechte, Rollen und PL/SQL: Grundsätzliches Invokers vs.
MehrDatenbanksysteme I Datenbankprogrammierung. 19.12.2007 Felix Naumann
Datenbanksysteme I Datenbankprogrammierung 19.12.2007 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,
MehrUniversität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures
SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -
MehrProbeklausur Datenbanktechnologie
Probeklausur Datenbanktechnologie Prof. Dr. Ingo Claßen Name: Vorname: MatrNr: Bewertung 1 25 2 15 3 10 4 10 Übung 40 Σ = 100 Punkte Punkte: Note: Notenspiegel 100 95 1,0 94 90 1,3 89 85 1,7 84 80 2,0
MehrEnterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 Transaktionsverarbeitung Teil 2 SQL copyright W. G. Spruth,
Mehrseit Java 1.1 Bestandteil der API: packages java.sql, javax.sql
JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrSchnellübersichten. SQL Grundlagen und Datenbankdesign
Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes
MehrKap. 9 Datenmodellierung und verwaltung
Kap. 9 Datenmodellierung und verwaltung 9.1 Abbildung von Anwendungsobjekten auf Datenbankobjekte in ERP-Systemen 9.2 Workshop: Datenmodell, Metadaten, & Abbildung auf RDBMS in SAP R/3 Kapitel 9: Datenmodell
Mehr2. Datenbank-Programmierung
2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung
MehrTeil VIII. Weitere Datenbanksprachen
Teil VIII Weitere Datenbanksprachen Weitere Datenbanksprachen 1 Programmiersprachenanbindung 2 QBE 3 Änderungen in QBE 4 Anfragen in Access Sattler / Saake Datenbanksysteme Wintersemester 2010/11 8 1 Programmiersprachenanbindung
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrNeue Wege zur Oracle-Migration
Neue Wege zur Oracle-Migration Laurenz Albe laurenz.albe@cybertec.at Cybertec Swiss PGDay 2018 Die Problemstellung DB-Migration besteht aus mehreren Teilen: Objektdefinitionen migrieren (CREATE TABLE,
Mehr3.3 Das Orbix CORBA-System
3.3 Das Orbix CORBA-System G Kurzer Überblick zu der CORBA-Implementierung Orbix G Unser Fahrplan: IDL Verwendungsbeispiel Zoom-In: CORBA Kommunikationsmechanismus Orbix Systemübersicht Naming Service,
MehrCursor erlauben eines zeilenweise Verarbeitung einer Tabelle oder eines Anfrageergebnisses in Transact-SQL
Cursor Cursor erlauben eines zeilenweise Verarbeitung einer Tabelle oder eines Anfrageergebnisses in Transact-SQL Cursor sind grob vergleichbar mit Iteratoren in modernen Programmiersprachen wie Java;
MehrDr. Gernot Schreib, b.telligent GmbH & Co.KG DATENFLÜSSE IM DWH EINSATZ VON 3 RD -PARTY SOFTWARE
Dr. Gernot Schreib, b.telligent GmbH & Co.KG DATENFLÜSSE IM DWH EINSATZ VON 3 RD -PARTY SOFTWARE Agenda DATENFLUSS IN DWH-LANDSCHAFTEN, DWH-ARCHITEKTUR ETL VS. ELT IN DER DATENBEWIRTSCHAFTUNG FÜR DEN PRESENTATION
MehrÜbung: Data Warehousing und Data Mining
Übung: Data Warehousing und Data Mining Sebastian Wandelt 23. Oktober 2014 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Verbinden mit Oracle 1. Aufgabenblatt Gruppenfindung Die Übung Über
MehrEnterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 Transaktionsverarbeitung Teil 3 Stored Procedures copyright
MehrProgrammieren für Fortgeschrittene Einführung in die Programmiersprache ABAP
Funktionsanalyse für einen programmgesteuerten Zugriff auf 3D-Modelle Robin Raetze Waldemar Gorbunov Braunschweig, 26.01.2017 GESIS, MV, Folie 1, Braunschweig, 23. Juni 2016 Programmieren für Fortgeschrittene
MehrPostgreSQL im praktischen Einsatz. Stefan Schumacher
PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
MehrUniversität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen
MehrOptimaler Zugriff in jeder Anwendung SQL-Zugriff im Oracle-Server
Mittwoch, 9. November 2005 11h00, Variohalle 3 Optimaler Zugriff in jeder Anwendung SQL-Zugriff im Oracle-Server Bernhard Düchting, Detlef Kassow ORACLE Deutschland GmbH, Berlin/Hamburg Schlüsselworte:
Mehr<Insert Picture Here> z/os Migration und Integration
z/os Migration und Integration Thomas Niewel Leitender Systemberater Agenda Überblick Integration von z/os Daten und Anwendungen Migration von z/os Daten und Anwendungen Erfahrungen
MehrIsolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
MehrKapitel 8 Host Sprachen mit Embedded und Dynamic SQL
Kapitel 8 Host Sprachen mit Embedded und Dynamic SQL Kap. 8.1 Statisches SQL Problem: SQL ist nicht Turing-vollständig, z. B. keine Rekursion, keine teration, keine bedingten Anweisungen, keine bedingten
MehrRelationales Modell (1)
3. Historisches 3-1 Relationales Modell (1) Das relationale Modell wurde 1970 von Edgar F. Codd ( Ted Codd, 1923 2003) vorgeschlagen. Codd arbeitete zu der Zeit im IBM Forschungslabor in San Jose. Codd
Mehr