Grundbegriffe World Wide Web Architektur, Protokolle Inhalte, Sprachen Datenbanken Aufgaben Architekturen Multimedia Medien Multimedia-DBMS Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-1 World Wide Web – Architektur ,QWHUQHW :HE%URZVHU H TM L-D okum ente :HE6HUYHU Bilder Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-2 Dokumente und Links Hypertext-Dokumente (HTML) mit Verweisen (Links) auf andere Objekte (Dokumente, Multimedia-Objekte) Von Web-Servern bereitgestellt Links: durch URL spezifiziert Web-Datei: einzelne Datei (mit einem HTTPRequest) Web-Seite: Menge von Web-Dateien (eine Nutzeraktion) Web-Site: Menge von Web-Seiten (ein Server) Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-3 1 Uniform Resource Locator (URL) Adresse einer Ressource im Web Format: <schema>:<schema spezifikation> <schema> 3URWRNROO KWWS QHZV PDLOWR WHOQHW )U +773 KWWSKRVW!GRPDLQ!SRUW!SDWK!ILOHQDPH! SDWK!ILOHQDPH! 9ROOVWlQGLJ 5HODWLY 9HUZHLV LQ 'RNXPHQW KWWSKRVW!GRPDLQ!SRUW!SDWK!ILOHQDPH!DQFKRU! )XQNWLRQVDXIUXI KWWSKRVW!GRPDLQ!SRUW!SDWK!SURFQDPH!"SDUDPV! Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-4 Web-Protokolle und -Sprachen M etadaten RD F XM L HT M L G IF, JPE G Erstellung von W eb-S eiten SG M L UR L M IM E Beschreibung von O bjekten DN S HT TP Da te nau sta usch TC P/IP Kai-Uwe Sattler Uni Magdeburg Kom m unika tion Vorlesung Internet-Datenbanken 2-5 Hypertext Transfer Protocol (HTTP) Einfaches Protokoll zum Datenaustausch auf Basis von TCP/IP Zustandsloses Protokoll: jede Anforderung ist unabhängig von allen anderen Methoden/Kommandos: GET: Holen einer Web-Seite HEAD: Holen der Header-Informationen POST: Senden von Daten (Bytestrom) zum Server Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-6 2 HTTP - Beispiel telnet www.fh-brandenburg.de 80 >GET /index.html HTTP/1.0 HTTP/1.1 200 OK Date: Fri, 24 Sep 1999 06:46:29 GMT Server: Apache/1.3.9 (Unix) Content-Type: text/html ... <HTML> ... Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-7 MIME Multipurpose Internet Mail Extensions Spezifikation von Inhaltstypen von Emails, WebDokumenten Form <typ>/<subtyp> :LUG DOV $QWZRUW DXI HLQ +773*(7 YRU GHP 'RNXPHQW JHOLHIHUW &RQWHQW7\SH 7\SHQ WH[W LPDJH DXGLR YLGHR DSSOLFDWLRQ %VS text/html image/gif application/postscript Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-8 Einbettung von Programmen Bereitstellung von Diensten, Ausführen von Programmen Aktive Inhalte y Audio-/Video-Wiedergabe y Navigation in 3D-Modellen Suche in Datenbanken y Suchmaschinen y Datenbankanfragen Datenübergabe y Benutzereingaben Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-9 3 Client-seitige Einbettung Erweiterung des Browsers Plugins für bestimmte Web-Inhalte y PDF, Video, Vektorgraphik, Animationen Ausführung von Programmen und Skripten y Javascript y Java-Applets Bereitstellung der Programme Verteilungsplattform Sicherheitsproblematik Kai-Uwe Sattler Uni Magdeburg Æ Web als Vorlesung Internet-Datenbanken 2-10 Server-seitige Einbettung Erweiterung des Web-Servers Anbindung externer Programme Zugriff auf externe Dienste (DBMS) Techniken Server-seitige Skripte CGI ... Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-11 Datenbanken Motivation Komponenten und Funktionen Systemarchitekturen Anwendungsarchitekturen Quelle: Heuer/Saake: „Datenbanken – Konzepte und Sprachen“, Internat. Thomson Publ. 1995 Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-12 4 Softwareschichten Individual-S oftw are Anw endungs-S oftw are B a sis -S o ftw a re S ystem softw are B etriebssystem Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-13 Ohne Datenbanken: Datenredundanz Softwaresystem verwaltet selbständig eigene Daten in eigenen Formaten Textverarbeitung: Texte Lagerverwaltung: Artikel, Aufträge CAD-System: Technische Bauteile Mehrfache Speicherung (Redundanz): Erhöhter Speicherplatzbedarf „Vergessen“ von Änderungen Keine einheitliche Darstellung Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-14 Datenredundanz - Probleme Keine effiziente Verarbeitung durch andere Systeme Kein paralleler Zugriff ohne Beeinflussung Abhängigkeit von interner Datendarstellung Eingeschränkter Datenschutz und Datensicherheit Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-15 5 Mit Datenbanken: Datenintegration Alle Systeme arbeiten auf denselben Daten Datenbankentwurf, Datendefinition Bsp.: Adressen/Artikel nur einmal gespeichert Vorteile: Effiziente Verwaltung (Anfragesprachen, Optimierung) Paralleler Zugriff (Transaktionskonzept) Datenunabhängigkeit (3-Ebenen-Konzept) Datenschutz (kein unbefugter Zugriff) Datensicherheit (kein Datenverlust) Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-16 Architektur eines Datenbanksystems Anfragen O ptim ierer Ausw ertung Plattenzugriff Updates P1 Data Dictionary DB -O perationen Einbettung Pn M asken Dateiorganisation Sichtdefinition Datendefinition Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-17 Funktionen Dateiorganisation: Definition der internen Dateiorganisation und Zugriffspfade Datendefinition: Konzeptuelle Datendefinition Sichtdefinition: Definition von Benutzersichten Masken: Entwurf von Masken und Menüs DB-Operationen: Anfrage- und UpdateOperationen Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-18 6 Funktionen Einbettung: Einbettung dieser Operationen in Anwendungsprogramme P1, ..., Pn: verschiedene Anwendungsprogramme Optimierer und Auswertung: effiziente Umsetzung dieser Operationen Plattenzugriff: Plattenzugriffssteuerung Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-19 Relationenmodell Datenbank = Menge von Tabellen Relationenschema AUSLEIH Relation BUCH Attribut INVNR NAME INVNR TITEL ISBN AUTOR 4711 Meyer 0007 Dr. No 3-125 Bond 1201 Schulz 1201 Objektbanken 3-111 Heuer 0007 Müller 4711 Datenbanken 3-765 Vossen 4712 Meyer 4712 Datenbanken 3-891 Ullman 4717 PASCAL 3-999 Wirth Tupel Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-20 Integritätsbedingungen Relationenschema + lokale Integritätsbedingungen INVNR ist Schlüssel für BUCH y Darf nicht doppelt vergeben werden Datenbankschema = Menge von Relationenschemata + globale Integritätsbedingungen INVNR in AUSLEIH ist Fremdschlüssel bzgl. BUCH y INVNR muß Schlüssel in BUCH sein Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-21 7 Anfrageoperationen Selektion: Tupel auswählen SEL[NAME=´Meyer´] INVNR NAME 4711 Meyer 4712 Meyer (AUSLEIH) Projektion: Attribute auswählen PROJ[INVNR, TITEL] (BUCH) Kai-Uwe Sattler Uni Magdeburg INVNR TITEL 0007 Dr. No 1201 Objektbanken ... ... Vorlesung Internet-Datenbanken 2-22 Anfrageoperationen Verbund (Join): Tabellen über gleichbenannte Attribute und gleiche Werte verknüpfen PROJ[INVNR, TITEL](BUCH) JOIN SEL[NAME=´Meyer´](AUSLEIH) INVNR TITEL NAME 4711 Datenbanken Meyer 4712 Datenbanken Meyer Weitere Operationen: Vereingung, Differenz, ... Alle Operationen beliebig kombinierbar Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-23 Sprachen Anfragesprache Interaktive Formulierung und Ausführung von Anfragen Relationenalgebra + Funktionen (SUM, MIN, MAX, COUNT, ...) + arithmetische Operationen Update-Komponente Interaktives Eingeben, Löschen und Ändern von Tupeln Prüfung der Integritätsbedingungen Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-24 8 Benutzersichten Speichern von häufig vorkommenden Anfragen als „virtuelle“ Tabelle mit „Sichtnamen“ MEYERS := PROJ[INVNR, TITEL](BUCH) JOIN SEL[NAME=´Meyer´](AUSLEIH) Tabelle MEYERS INVNR TITEL NAME 4711 Datenbanken Meyer 4712 Datenbanken Meyer Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-25 Prinzipien DBMS: Datenbank-Management-System DBS: Datenbanksystem (DBMS + Datenbank) Prinzip: 3-Ebenen-Architektur (physische und logische Datenunabhängigkeit) Trennung zwischen Schema (Tabellenstruktur) und Instanz (Tabelleninhalt) Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-26 Codd´sche Regeln 1. Integration Einheitliche, nichtredundante Datenverwaltung 2. Operationen Speichern, Suchen, Ändern 3. Katalog Zugriff auf Datenbankbeschreibung im Data Dictionary 4. Benutzersichten 5. Konsistenzüberwachung Korrektheit des Datenbankinhalts Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-27 9 Codd´sche Regeln 5. Datenschutz Ausschluß unauthorisierter Zugriffe 6. Transaktionen Mehrere DB-Operationen als Funktionseinheit 7. Synchronisation Parallele Transaktionen koordinieren 8. Datensicherung Wiederherstellen von Daten nach Systemfehlern Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-28 Entwicklungslinien 60er Jahre DBS basierend auf hierarchischem Modell, Netzwekmodell y Zeigerstrukturen zwischen Daten y Schwache Trennung interne/konzeptuelle Ebene y Navigierende DML 70er und 80er Jahre Relationale DBS y Daten in Tabellenstrukturen y 3-Ebenen-Konzept, Deklarative DML Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-29 Entwicklungslinien (80er und) 90er Jahre Wissensbanksysteme y Daten in Tabellenstrukturen y Stark deklarative DML y Integrierte Datenbankprogrammiersprache Objektorientierte DBS y Daten in komplexeren Objektstrukturen y Deklarative oder navigierende DML y Oft integrierte Datenbankprogrammiersprache y Oft keine vollständige Ebenentrennung Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-30 10 Schema-Architektur E xternes S chem a 1 « E xternes S chem a N D atend arstellung A n frag ebearbeitun g K onzep tuelles S chem a Internes Sche m a Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-31 Datenunabhängigkeit Stabilität der Benutzerschnittstelle gegen Änderungen Physisch: Änderungen der Dateiorganisationen und Zugriffspfade haben keinen Einfluß auf das konzeptuelle Schema Logisch: Änderungen am konzeptuellen (und gewissen externen) Schemata haben keine Auswirkungen auf andere externe Schemata und Anwendungsprogramme Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-32 Fünf-Schichten-Architektur System-Architektur: Beschreibung der Transformationskomponenten [Senko, Härder] Mengenorientierte Schnittstelle (dekl. DML) Satzorientierte Schnittstelle (Sätze, nav. Zugriff) Interne Satzschnittstelle (Manipulation von Sätzen) Pufferschnittstelle (Seiten, Seitenadresses) Datei- oder Seitenschnittstelle (Holen und Schreiben) Geräteschnittstelle (Spuren, Zylinder) Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-33 11 Funktionen M eng en orie ntierte S chnittstelle D a tensyste m Logische Datenstrukturen S a tzorie ntie rte S chnittstelle Zugriffss ystem Logische Zugriffspfade In te rne S a tzschn ittstelle Sp eiche rsystem Speicherungsstruk turen S yste m pu fferS chnittstelle Pu fferverw altung Seitenzuordnung, interne Seiten D ateischn ittste lle Be trie bssystem Speicherzuordnung G eräteschnittstelle Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-34 Objekte und Operationen S Q L : select … From QBE R elatio nen S ich ten D atensystem E xte rne S ätze Ind ex-S truktu ren S can s Inte rne S ätze B äum e H ash -Tab ellen FIN D N E X T satz S TO R E sa tz Z ugriffssystem S peichere in ternen S atz IN S E RT in B -B aum S peichersystem B ereitstellen S eite j Freig eben S eite j S egm e nte S eite n P ufferverw altung D ateien B löcke Lie s B lock k S chreibe B lock k B etriebssys tem Zylind er S pure n Kai-Uwe Sattler Uni Magdeburg Tre iber Vorlesung Internet-Datenbanken 2-35 Relationale Systeme 3-Ebenen-Architektur nach ANSI-SPARC Einheitliche Datenbanksprache (SQL) Einbettung von SQL in Programmiersprachen Werkzeuge für Definition, Anfrage und Darstellung von Daten Entwurf von DB-Anwendungsprogrammen Benutzerinteraktion Kontrollierter Mehrbenutzerbetrieb Datenschutz- und Sicherungsmechanismen Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-36 12 Anwendungsarchitekturen G UI/Q BE Interaktives SQ L PL-Einbind. 4G Ls Em bedded SQ L SpezialKom ponenten ReportG enerator Export SQ L Kernsystem Kai-Uwe Sattler Uni Magdeburg System / System Koppl. Vorlesung Internet-Datenbanken 2-37 Multimedia Begriffe Klassifikation Multimedia-DBMS Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-38 Signale und Medium Signal := „der eine Nachricht übertragende (und damit Information wiedergebende) Verlauf einer physikalischen Größe“ [Bauer, Goos] Medium := Nachrichtenträger Mittelglied, Mittler [Duden] Vermittelt zwischen Kommunikationspartnern Sender: erzeugt Signale auf Medium Empfänger: nimmt Signale auf zur y Interpretation, Wandlung, Weiterleitung Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-39 13 Physikalische Medien Konkrete Medien z.B. Schall in festen, flüssigen und gasförmigen Stoffen z.B. elektromagnetische Wellen Bilden Basis für abstrakte Medien S en d e r E m p fä ng e r G estaltet Kai-Uwe Sattler Uni Magdeburg M ed iu m Analysiert Vorlesung Internet-Datenbanken 2-40 Abstrakte Medien Bauen auf anderen Medien auf Æ Hierarchien Nutzen andere Sender/Medium/EmpfängerEinheiten als Medium z.B. Folien als Medium S tift F ärbt Reflektierende O berfläche Kai-Uwe Sattler Uni Magdeburg Reflektierende O berfläche Licht Analysiert Vorlesung Internet-Datenbanken A uge K am era 2-41 Weitere Eigenschaften von Medien Darstellungsmächtigkeit z.B. Geruch vs. Bild Medienübersetzung oft möglich Komposition möglich Æ Multimedia Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-42 14 Klassifikationen Nach Sinnesorganen Visuell (optisch) y Sprachlich (symbolgebunden), Nicht-sprachlich Akustisch Haptisch (Tasten) Gustorisch (Schmecken) Olfaktorisch (Riechen) Nach Zeit Relativ zeitinvariant: Text, Bild, Fotos Relativ zeitgebunden: Video, Sprache Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-43 Medien auf Computern Text Grafik Rasterbild Tonaufnahmen (Audio) Bewegtbild (Video) VITA = Video + Image + Text + Audio Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-44 Weitere Begriffe Medien-Objekt: computerverwaltete logische Informationseinheit in einem Medium Multimedia-Objekt: ~ in einem oder mehreren Medien Medien-Daten bzw. Multimedia-Daten: heterogene Menge von Medien- bzw. Multimedia-Objekten Multimedia-System: Computersystem, das an der Benutzeroberfläche verschiedene Medien zum Informationsaustausch unterstützt Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-45 15 Multimedia-DBMS MMDBMS = DBMS + Hohe Kapazität Hohe Performance Unterstützung von Multimedia-Datentypen (Datentyp = Struktur + Operationen) Kombination von y Konventionellen DBMS-Fähigkeiten y Unterstützung von hierarchischen Speichersystemen (RAM, Festplatte, CD, ...) y Information Retrieval Kai-Uwe Sattler Uni Magdeburg Vorlesung Internet-Datenbanken 2-46 16