9
ER-Modell & Beziehungen Das Entity-Relationship Modell – abgekürzt mit ER-Modell oder ERM – dient als Grundlage für einen Datenbankentwurf. Bevor mittels SQL angefangen wird, Tabellen und Beziehungen anzulegen, wird erst mal mittels ER-Modell geplant, wie die Datenbankstruktur aufgebaut und funktionieren soll. Die Grundelemente eines jeden Entity-Relationship-Modells sind (grafisch): - Eine Entität ist ein individuell identifizierbares Objekt der Wirklichkeit. - Eine Beziehung ist eine Verknüpfung / Zusammenhang zwischen zwei oder mehreren Entitäten. - Ein Attribut ist eine Eigenschaft, die im Kontext zu einer Entität steht. Beispiele: Merke – Tabellennamen immer im Plural schreiben! n e Ein Kunde besitzt genau einen Ausweis und ein Ausweis gehört zu genau einem Kunden.

sql Befehle most used

  • Upload
    baw

  • View
    243

  • Download
    0

Embed Size (px)

DESCRIPTION

enthält oft benutzte sql befehle mit beispielen

Citation preview

  • ER-Modell & Beziehungen Das Entity-Relationship Modell abgekrzt mit ER-Modell oder ERM dient als Grundlage fr einen Datenbankentwurf. Bevor mittels SQL angefangen wird, Tabellen und Beziehungen anzulegen, wird erst mal mittels ER-Modell geplant, wie die Datenbankstruktur aufgebaut und funktionieren soll. Die Grundelemente eines jeden Entity-Relationship-Modells sind (grafisch): - Eine Entitt ist ein individuell identifizierbares Objekt der Wirklichkeit. - Eine Beziehung ist eine Verknpfung / Zusammenhang zwischen zwei oder mehreren Entitten. - Ein Attribut ist eine Eigenschaft, die im Kontext zu einer Entitt steht. Beispiele: Merke Tabellennamen immer im Plural schreiben! n e Ein Kunde besitzt genau einen Ausweis und ein Ausweis gehrt zu genau einem Kunden.

  • Kunde Buchleiht

    Name Vorname Titel Leihdatum

    K_Nr K_Nr

    n er 1 n Ein Kunde kann mehrere Bcher ausleihen, aber ein Buch kann nur von genau einem Kunden ausgeliehen werden.

  • e e PF PF Ein Mitarbeiter kann mehrere Projekte bearbeiten und ein Projekt kann von mehreren Mitarbeitern bearbeitet werden. Wichtig! Bei einer m:n Beziehung entsteht immer eine dritte Tabelle. In diesem Fall ist es T_MitarbeiterProjekte, der Primrschlssel und gleichzeitig Fremdschlssel dieser Tabelle setzt sich zusammen aus den Primrschlsseln der anderen beiden Tabellen (T_Mitarbeiter & T_Projekte) zu PF_Mit_Nr & PF_P_Id.

  • Fachbegriffe Redundanz: Redundante Daten sind doppelte Informationen in einer Datenbank bzw. Datenbank-Tabelle, welche ohne Informationsverlust durch die Normalisierung weggelassen werden knnen. -> Zum Beispiel Dateninkonsistenz: Wiedersprche in den Daten. -> Zum Beispiel haben wir einen neuen Hersteller, jedoch keine Telefonnummer von diesem Beziehungstyp: Ein Beziehungstyp wird bestimmt durch Kardinalitten, z.B. 1:n. Dieser gibt an auf welche Weise die Entittstypen miteinander verbunden sind. Primrschlssel: Der Primrschlssel, auch Primary Key oder PK genannt, ist eine eindeutige Nummer fr eine Tupel, er dient somit zur eindeutigen Identifizierung einer einzelnen Zeile in einer Tabelle. -> Zum Beispiel P_Artikel_Nr Atomare Werte: Atomare Werte liegen vor wenn eine Spalte nur eine einzige Information enthlt. -> Zum Beispiel drfen PLZ und Ort nicht in einer Spalte vorliegen. Vollstndig funktionale Abhngigkeit: Wenn jedes Nichtschlsselattribut von jedem Schlsselattribut abhngig ist. -> Zum Beispiel bentigt man um auf Kunde Max Mustermann aus Berlin zu kommen immer seine P_KundenNr, denn es kann diesen Namen noch einmal geben.

    P_KundenNr Vorname Nachname Wohnort

    1 Max Mustermann Berlin

    2 Max Mustermann Hamburg

    Transitive Abhngigkeit: (siehe 3.NF)

  • Anomalien Anomalien sind Probleme die bei der Erstellung von Datenbanken entstehen wenn diese nicht normalisiert ist. Wir unterscheiden drei verschiedene Arten der Anomalie. Beispiel Tabelle: - Insert Anomalie: Wenn ein neuer Hersteller in das Sortiment aufgenommen werden soll, jedoch noch kein Lieferant gefunden wurde entsteht Dateninkonsistenz. - Delete Anomalie: Wenn wir CD-Rohlinge fr 2,80 von Maxwell lschen wollen, gehen ebenso die Daten des Lieferanten verloren. - Update Anomalie: Wenn ein Lieferant seinen Sitz ndert, dann muss dies mehrfach gettigt werden.

  • Normalisierung (Normalformen) Ziel der Normalisierung ist:

    - Beseitigung von Redundanzen - Vermeidung von Anomalien (funktionelle und transitive Abhngigkeiten) - Erstellung eines klar strukturierten Datenbankmodells Wir betrachten nun drei verschiedene Normalformen: 1.NF Eine Relationstyp (Tabelle) befindet sich in der ersten Normalform (1NF), wenn die Wertebereiche der Attribute des Relationstypen atomar sind. Beispiel:

    P_ReNr Datum Name Strae Ort Artikel Anzahl Kosten

    187 01.01.2012 Max Mustermann

    Musterstr. 1

    12345 Musterort

    Bleistift 2 1,00

    Ersten Normalform (1NF) sieht das Ergebnis wie folgt aus:

    P_ReNr Datum Name Vorname Strae PLZ Ort Artikel Anzahl Kosten

    187 01.01.2012 Mustermann Max Musterstr. 1

    12345 Musterort Bleistift 2 1,00

  • 2.NF Ein Relationstyp (Tabelle) befindet sich genau dann in der zweiten Normalform (2NF), wenn er sich in der ersten Normalform (1NF) befindet und jedes Nichtschlsselattribut von jedem Schlsselkandidaten voll funktional abhngig ist. Beispiel:

    P_ReNr Datum Name Vorname Strae PLZ Ort Artikel Stk. Kosten

    187 01.01.2012 Mustermann Max Musterstr. 1

    12345 Musterort Stift 2 1,00

    Nach der Anwendung der Zweiten Normalform (2NF) sieht das Ergebnis wie folgt aus:

    P_ReNr Datum F_KundenNr

    187 01.01.2012 007

    P_KundenNr Name Vorname Strae PLZ Ort

    007 Mustermann Max Musterstr. 1

    12345 Musterort

    P_RePosNr F_ReNr F_ArtNr Stk.

    1 187 69 2

    P_ArtNr Artikel Kosten

    69 Stift 1,00

    Da ein Name (Nachname) nicht eindeutig ist, wird jedem Kunden eine Kundennummer (KundenNr) zugeordnet. Diese ist der Primrschlssel der neuen Tabelle Kunden. Danach wird das gleiche mit den Artikeln durchgefhrt. Des Weiteren wird eine Rechungspositionstabelle eingebaut, da eine Rechnung von einem Kunden eine Vielzahl von Rechnungspositionen mit verschiedenen Artikeln beinhalten kann.

    Die Spalten, die von einem Schlsselkandidaten nicht vollstndig funktional abhngig sind, werden in einer Untertabelle ausgelagert. Der Teil des Schlsselkandidaten, von dem eine ausgelagerte Spalte funktional abhngig ist, wird Primrschlssel der neuen Tabelle. In der zweiten Normalform werden auch die ersten Beziehungen in Datenbanken festgelegt.

  • 3.NF

    Ein Relationstyp befindet sich genau dann in der dritten Normalform (3NF), wenn er sich in der zweiten Normalform (2NF) befindet und kein Nichtschlsselattribut transitiv von einem Kandidatenschlssel abhngt.

    Beispiel:

    P_KundenNr Name Vorname Strae PLZ Ort

    007 Mustermann Max Musterstr. 1 12345 Musterort

    Nach der Anwendung der Dritten Normalform (3NF) sieht das Ergebnis wie folgt aus:

    P_KundenNr Name Vorname Strae F_PLZ

    007 Mutsermann Max Musterstr. 1 12345

    P_PLZ Ort

    12345 Musterort

    In der Tabelle Kunden sind die Attribute Name Vorname Strae und PLZ abhngig vom Attribut P_KundenNr. Jedoch ist das Attribut Ort abhngig vom verstecke Primrschlssel PLZ, denn erst mit der PLZ kann ich den Ortsnamen herausfinden.

    Diese transitiv abhngigen Spalten (PLZ ORT) werden in weitere Untertabellen ausgelagert, da sie nicht direkt vom Schlssel (P_KundenNr) abhngig sind, sondern nur indirekt.

  • CREATE, INSERT Anweisungen und Abfragen