Merge branch 'master' of https://github.com/wieerwill/Informatik into master
This commit is contained in:
		
						commit
						527a62f6e3
					
				| @ -317,10 +317,161 @@ Kardinalitätsangaben | ||||
|   - totale funktionale Beziehung: $liefert(Lieferant[0,*],Produkt[1,1])$ | ||||
| 
 | ||||
| ## Weitere Konzepte im ER Modell | ||||
| - abhängiger Entity-Typ: Identifikation über funktionale Beziehungen (Bsp x "gehört zu" y) | ||||
| - Spezialisierungs-/Generalisierungsbeziehung oder auch *IST*-Beziehung | ||||
|   - E1 *IST* E2 | ||||
|   - entspricht semantisch einer injektiven funktionalen Beziehung | ||||
|   - Attribute des Entity-Typs E2 treffen auch auf E1 zu: "vererbte" Attribute | ||||
|   - nicht nur Atrributsdeklarationen vererben sich, sondern auch jeweils die aktuellen Werte für eine Instanz | ||||
|   - Kardinalitätsangabe immer: $IST(E_1[1,1], E_2[0,1])$ | ||||
|   - Jede Instanz von E1 nimmt genau einmal an der Ist-Beziehung teil, während Instanzen des Obertyps E2 nicht teilnehmen müssen | ||||
| 
 | ||||
| Die Konzepte im Überblick: | ||||
| | **Begriff** | **Informale Bedeutung** | | ||||
| | -- | -- | | ||||
| | Entity | zu repräsentierende Informationseinheit | | ||||
| | Entity Typ | Gruppierung von Entitys mit gleichen Eigenschaften | | ||||
| | Beziehungstyp | Gruppierung von Beziehungen zwischen Entitys | | ||||
| | Attribut | datenwertige Eigenschaft eines Entitys oder einer Beziehung | | ||||
| | Schlüssel | identifizierende Eigenschaft von Entitys | | ||||
| | Kardinalitäten | Einschränkung von Beziehungstypen bezüglich der mehrfachen Teilnahme von Entitys an der Beziehung | | ||||
| | Stelligkeit | Anzahl der an einem Beziehungstyp beteiligten Entity Typen | | ||||
| | funktionale Beziehungen | Beziehungstyp mit Funktionseigenschaften | | ||||
| | abhängige Entitys | Entitys, die nur abhängig von anderen Entitys existieren können | | ||||
| | IST Beziehung | Spezialisierung von Entity Typen | | ||||
| | Optionalität | Attribute oder Funktionale Beziehungen als partielle Funktionen | | ||||
| 
 | ||||
| 
 | ||||
| # Relationaler DB-Entwurf | ||||
| ## Phasen des Datenbankentwurfs | ||||
| - Datenerhaltung für mehrere Anwendungssysteme und mehrere Jahre | ||||
| - Anforderungen an Entwurf: | ||||
|   - Anwendungsdaten jeder Anwendung sollen aus Daten der Datenbank ableitbar sein (mögl effizient) | ||||
|   - nur "vernünftige" Daten sollen gespeichert werden | ||||
|   - nicht-redundante Speicherung | ||||
| 
 | ||||
| ### Phasenmodell | ||||
| Anforderungsanalyse $\leftrightarrow$ Konzeptioneller Entwurf  $\leftrightarrow$ Verteilungsentwurf $\leftrightarrow$ Logischer Entwurf $\leftrightarrow$ Datendefinition $\leftrightarrow$ Physischer Entwurf $\leftrightarrow$ Implementierung & Wartung | ||||
| 
 | ||||
| ### Anforderungsanalyse | ||||
| - Vorgehensweise: Sammeln des Informationsbedarfs in den Fachabteilungen | ||||
| - Ergebnis:  | ||||
|   - informale Beschreibung des Fachproblems (Texte, Tabellen, Formblätter,...) | ||||
|   - Trennen der Informationen über Daten (Datenanalyse) von den Informationen über Funktionen (Funktionsanalyse) | ||||
| - "Klassischer" Entwurf: nur Datenanalyse und Folgeschritte | ||||
| - Funktionsentwurf: siehe Methoden des Software Engineering | ||||
| 
 | ||||
| ### Konzeptioneller Entwurf | ||||
| - erste Formale Beschreibung des Fachproblems | ||||
| - Sprachmittel: semantisches Datenmodell | ||||
| - Vorgehensweise: | ||||
|   - Modellierung von Sichen z.B. für verschiedene Fachabteilungen | ||||
|   - Analyse der vorliegenden Sichten in Bezug auf Konflikte | ||||
|   - Integration der Sichten in ein Gesamtschema | ||||
| - Phasen: | ||||
|   - Sichtentwurf | ||||
|   - Sichtanalyse | ||||
|   - Sichtintegration | ||||
| - Ergebnis: konzeptionelles Gesamtschema (z.B. ER Schema) | ||||
| 
 | ||||
| #### weiteres Vorgehen beim Entwurf | ||||
| - ER-Modellierung von verschiedenen Sichten auf Gesamtinformation, z.B. für verschiedene Fachabteilungen eines Unternehmens -> konzeptueller Entwurf | ||||
| - Verteilungsentwurf bei verteilter Speicherung | ||||
| - Abbildung auf konkretes Implementierungsmodell -> logischer Entwurf | ||||
| - Datendefinition, Implementierung und Wartung -> physischer Entwurf | ||||
| 
 | ||||
| #### Sichtintegration | ||||
| - Analyse der vorliegenden Sichten in Bezug auf Konflikte | ||||
| - Integration der Sichten in ein Gesamtschema | ||||
| 
 | ||||
| #### Integrationskonflikte | ||||
| - Namenskonflikte: Homonyme/Synonyme | ||||
| - Typkonflikte: verschiedene Strukturen für das gleiche Element | ||||
| - Wertebereichskonflikte: verschiedene Wertebereiche für ein Element | ||||
| - Bedingungskonflikte: z.B. verschiedene Schlüssel für ein Element | ||||
| - Strukturkonflikte: gleicher Sachverhalt durch unterschiedliche Konstrukte ausgedrückt | ||||
| 
 | ||||
| ### Verteilungsentwurf | ||||
| - sollen Daten auf mehreren Rechnern verteilt vorliegen, muss Art und Weise der verteilten Speicherung festgelegt werden | ||||
|   - horizontale Verteilung z.B. Kunden 1-1000 und Kunden 10001-20000 | ||||
|   - vertikale Verteilung z.B. Adresse in DB1, Konto in DB2 | ||||
| 
 | ||||
| ### Logischer Entwurf | ||||
| - Sprachmittel: Datenmodell des ausgewählten "Realisierungs"DBMS | ||||
| - Vorgehensweise | ||||
|     1. (automatische) Transformation des konzeptionellen Schemas z.B. ER -> relationales Modell | ||||
|     2. Verbesserung des relationalen Schemas anhand von Gütekriterien | ||||
| - Ergebnis: logisches Schema | ||||
| 
 | ||||
| ### Datendefinition | ||||
| - Umsetzung des logischen Schemas in ein konkretes Schema | ||||
| - Sprachmittel: DDL und DML eines DBMS | ||||
|   - Datenbankdeklaration in der DDL des DBMS | ||||
|   - Realisierung der Integritätssicherung | ||||
|   - Definition der Benutzersichten | ||||
| 
 | ||||
| ### Physischer Entwurf | ||||
| - Ergänzen des physischen Entwurfs um Zugriffsunterstützung bzgl Effizienzverbesserung, z.B. Definition von Indexen | ||||
| - Index: | ||||
|   - Zugriffspfad: Datenstruktur für zusätzlichen, schlüsselbasierten Zugriff auf Tupel | ||||
|   - meist als B*-Baum realisiert | ||||
| - Sprachmittel: Speicherstruktursprache SSL | ||||
| 
 | ||||
| Indexe in SQL, z.B.: ```create index WeinIdx on WEINE (Name)``` | ||||
| 
 | ||||
| Notwendigkeit für Zugriffspfade: | ||||
| - Beispiel: Tabelle mit 100GB Daten, Festplattentransferrate ca 50MB/s | ||||
| - Operation: Suchen eines Tupels (Selektion) | ||||
| - Implementierung: sequentielles Durchsuchen | ||||
| - Aufwand: 102.500/50 = 2048 sec ~ 34 Minuten | ||||
| 
 | ||||
| ### Implementierung & Wartung | ||||
| - Wartung | ||||
| - weitere Optimierung der physischen Ebene | ||||
| - Anpassung an neue Anforderungen und Systemplattformen | ||||
| - Portierung auf neue Datenbankmanagementsysteme | ||||
| - etc | ||||
| 
 | ||||
| 
 | ||||
| ## Kapazitätserhaltende Abbildungen | ||||
| Umsetzung des konzeptionellen Schemas | ||||
| - Umsetzung auf logisches Schema | ||||
| - Erhaltung der Informationskapazität | ||||
| - Kapazitäts**erhöhende** Abbildung: Abbildung auf R mit genau einem Schlüssel K ( K={{A},{B}} ) | ||||
| - Kapazitäts**vermindernde** Abbildung: Relationsschema mit einem Schlüssel | ||||
| - Kapazitäts**erhaltende** Abbildung: kapazitätserhaltend mit Schlüssel beider Entity Typen im Relationsschema als neuer Schlüssel | ||||
| 
 | ||||
| ## ER-auf-RM Abbildung | ||||
| ### ER Abbildung auf Relationen | ||||
| - Entity-Typen und Beziehungstypen: jeweils auf Relationenschemata | ||||
| - Attribute: Attribute des Relationenschemas, Schlüssel werden übernommen | ||||
| - Kardinalitäten der Beziehungen: durch Wahl der Schlüssel bei den zugehörigen Relationenschemata ausgedrückt | ||||
| - in einigen Fällen: Verschmelzen der Relationenschemata von Entity- und Beziehungstypen | ||||
| - zwischen den verbleibenden Relationenschemata diverse Fremdschlüsselbedingungen einführen | ||||
| 
 | ||||
| ### Abbildung von Beziehungstypen | ||||
| - neues Relationenschema mit allen Attributen des Beziehungstyps, zusätzlich Übernahme aller Primärschlüssel der beteiligten Entity-Typen | ||||
| - Festlegung der Schlüssel: | ||||
|   - m:n-Beziehung: beide Primärschlüssel zusammen werden Schlüssel im neuen Relationenschema | ||||
|   - 1:n-Beziehung: Primärschlüssel der n-Seite (bei der funktionalen Notation die Seite ohne Pfeilspitze) wird Schlüssel im neuen Relationenschema | ||||
|   - 1:1-Beziehung: beide Primärschlüssel werden je ein Schlüssel im neuen Relationenschema, der Primärschlüssel wird dann aus diesen Schlüsseln gewählt | ||||
| - optionale Beziehungen ([0,1] oder [0,n]) werden nicht verschmolzen | ||||
| - bei Kardinalitäten [1,1] oder [1,n] (zwingende Beziehungen) Verschmelzung möglich: | ||||
|   - 1:n-Beziehung: das Entity-Relationenschema der n-Seite kann in das Relationenschema der Beziehung integriert werden | ||||
|   - 1:1-Beziehung: beide Entity-Relationenschemata können in das Relationenschema der Beziehung integriert werden | ||||
| 
 | ||||
| ## Übersicht über Transformationen | ||||
| | ER Konzept | wird abgebildet auf relationales Konzept | | ||||
| | -- | -- | | ||||
| | Entity Typ $E_i$      | Relationsenschema $R_i$ | | ||||
| | Attribute von $E_i$   | Attribute von $R_i$     | | ||||
| | Primärschlüssel $P_i$ | Primärschlüssel $P_i$   | | ||||
| | Beziehungstyp         | Relationenschema, Attribute $P_1,P_2$ | | ||||
| | dessen Attribute      | weitere Attribute       | | ||||
| | 1:n                   | $P_2$ wird Primärschlüssel der Beziehung | | ||||
| | 1:1                   | $P_1$ und $P_2$ werden Schlüssel der Beziehung | | ||||
| | m:n                   | $P_1 \cup P_2$ wird Primärschlüssel der Beziehung | | ||||
| | IST Beziehung         | $R_1$ erhält zusätzlichen Schlüssel $P_2$ | | ||||
| 
 | ||||
| # Relationale Entwurfstheorie | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user