Modell: Nachbilding, Darstellung, Wiedergabe, Reproduktion eines Gegenstandes. Wesentliche Eigenschaften werden hevorgehoben. Zweck von Modellen: Spezifizieren Konstruieren Visualisieren Dokumentieren ... von Software-Systemen Datenbank = Sammlung zusammenhängender Daten Vorteile von Datenbanken: Vermeidung von Redundanz Zentrale Kontrolle der Datenintegrität Synchronisation im Mehrbenutzerbetrieb Performance, Skalierbarkeit Eigenschaften: Ausschnitt der realen Welt = Miniwelt Logisch kohärente Sammlung von Daten Hat definierten Zweck Datenbankentwurfsphasen: Konzeptionell, Logisch, Physisch Konzeptioneller Entwurf: Miniwelt -> Informationsmodell (z.B. E/R Modell) Logischer Entwurf: Informationsmodell -> Datenmodell (relationales DB-Schema) DBMS = Sammlung bon Programmes zur Verwaltung einer DB DBS = DB+DBMS Inhalt: Nutzdaten, Metadaten Konzenptionelles Schema (ANSI/SPARC): Datenunabhängigkeit, Anwendungsneutralität E/R-Modell: Entity: Zu beschreibendes Objekt Entity-Typ: Beschreibung gleichartiger Objekte Attribut: Eigenschaft von Objekten eines Entity-Typs - Schlüssel-Attribut: Attribut(kombination) die genau eine Entity identifiziert Relationship: Beziehung zwischen mehreren Objekten, Existenzabhängig von Entity Relationship-Typ: Beschreibung gleichartiger Beziehungen Spezialisierung: Prozess der Definition von Unterklassen ausgehend von einer Oberklasse Generalisierung: Prozess der Definition von Oberklassen ausgehend von mehreren Unterklassen mit gemeinsamen Attributen Symbole: Doppel-Rechteck: Weak Entity, DoppelRaute: Identifizierender Relationship Typ, DoppelEllipse: Mehrwertiges Attribut, gestrichelte Ellipse: Abgeleitetes Attribut Entity Eigenschaften: Eigenständig Identifizierbar Beschreibbar Relevant Chen-Notation: Eine Zahl bei Entity, Totale Teilnahme: Jede Entity des Typs muss an der Relation teilnehmen Min-Max: (min,max) – umgedreht wie Chen, zahl stellt Anzahl der von Entity ausgehenden Linien dar Schwache Entity-Typen: Existenzabhängig, keine Schlüsselattribute, Identifizierender Beziehungstyp, immer totale Teilnahme Vererbung: Overlapping (o), Disjunct (d). Halbkreis Richtung Kind Kategorie: Teilmenge der Vereinigungsmenge von mehreren Entitymengen (U), Richtung Allgemeines Relation = Menge von gleichartig aufgebauten Tupeln, Teilmenge des Kreuzprodukts der Wertebereiche der Attribute“ Tupel = Zeile einer Tabelle, Aneinanderreihung atomarer Attributwerte Attribut = Spalte. Grad der Relation = #Spalten Relationenschema: Beschreibung einer Relation (Name, Menge von Attributen, Attributnamen) Tablename (Att1, Att2) Anomalien: Insert, Delete, Edit Normalisierung: Vermeidung von Anomalien, Reduzierung von Redundanz Analyse von funktionalen Abhängigkeiten Superschlüssel: Attribut(kombination) von der alle Attribute einer Relation funktional abhängen Schlüsselkandidat: Minimaler Superschlüssel Eigenschaften: Verlustlosigkeit, Abhängigkeiteserhaltung 1.NF: Tabelle besitzt nur atomare Attributswerte, Reihenfolge von Tupeln und Attributen unwichtig, alle Attribute mit gleichem Wertebereich 2.NF: 1.NF + alle Nicht-Schlüsselattribute hängen voll funktional von jedem Schlüsselkandidaten ab (nicht AB->C, B->D) 3.NF: 2.NF + kein Nicht-Schlüsselattribut ist transitiv abhängig von einem Schlüsselkandidaten (nicht AB->C, C->D) Boyce-Codd-NF: Jede Determinante einer funktionalen Abhängigkeit ist Superschlüssel (nicht AB->C, C->B) SQL: T1 join T2 on T1.Att1 = T2.Att2 == T1 join T2 using(Att) == T1 natural join T2 Create View bla SELECT ... Create Table Name ( Att1 int primary key, Att2 varchar(5) not null, Att3 references Tabelle(Att) ); Select count(*) as rang from tab t1, tab t2 where t1.x <= t2.x group by t1.y, t1.z having count(*) <=3 order by rang asc; DTD = Document Type Definition: Definiert die zulässige Struktur des Dokuments Analog zum Datenbankschema Definition von Elementtypen <!DOCTYPE Name [ <!ELEMENT Name ((a|b), mindestensEins+, optional?)> <!ATTLIST Name AttName CDATA #REQUIRES Att2 (A,B,C) „B“> ]> Xlink zeigt auf Dokument, Xpointer auf Stelle in einem Dokument XML: wohlgeformt: Eindeutiges Wurzelelement Nicht leer Kein teilweises Überlappen (<a><b></a></b>) Importierte Dokumente sind auch wohlgeformt Gültig: Wohlgeformt Hällt sich an DTD oder XML-Schema Multi-Dim Dimension: Eindeutige, Orthogonale Strukturierung des Datenraums Klassifikationsstufe: Rohgranularität Klassifikationsbeziehung: Gerichteter, azyklischer Graph Klassifikationsschema: Vereinigung von Klassifikationsstufen, -beziehungen einer Dimension Pfad: Vollgeordnete Menge Klassifikationsstufen Klassifikationshierarchie: instanz eines Pfades Instanz der Dimension: Menge aller Klassifikationshierarchien Star-Schema: Eine Tabelle pro Dimension Snowflake-Schema: Viele Tabellen pro Dimension Sequenzdiagramm: sd Name Fallunterscheidung: alt Name [cond1] --- [cond2] Klassendiagramm: Assoziation: Beziehung zwischen zwei Klassen, Candidate Key: <<ck>> Aggregation: (leere Raute): Teil-Ganzes-Beziehung, kann auch ohne existieren Komposition: (volle Raute): Strenge Teil-GanzesBeziehung: Teil von höchstens einem Ganzes Linie: Krankenhaus 1..1 (beschäftigt >) * Arzt UML: Use Case-Diagramm: Funktionen, Beziehungen zw Funktionen, Akteure Aktivitätsdiagramm: Aktionsknoten, Kontrollknoten, Objektknoten