PMG/Kurs 1214/DB Beleg/Nico
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SQL</language> '''Datenbank - Beleg_Nico.Stecher''' == Datenbank Grundlagen == ===Begriffe=== '''''Datenbasis:''''' strukturiertes Datenmaterial '''''Datenbankmanagementsystem (DBMS):''''' Sortierung und Verwaltung von Daten '''''Datenbank:''''' Verbindung/Kombination Datenbasis und DBMS '''''Entität(Entity):''''' individuell identifizierbares Objekt der Wirklichkeit ( Personen,Objekte,Ereignis) [http://de.wikipedia.org/wiki/Entity-Relationship-Modell] '''''Entitymenge:''''' zusammenfassen von Entitäten gleicher Eigenschaft; Angabe durch Substantive '''''Attribut:''''' Eigenschaft einer Entität ===Kardinalitäten im ER-Modell=== [[Bild:Stechern_Grundlagendb.JPG]] [http://www.wittye.com/content/schule/nwt13/Datenbanken-Modellierung.pdf] ===Normalformen=== ''1. Normalform (1. NF):'' Wertebereiche der Merkmale sind atomar (jede Information -> eine Spalte). ''2. Normalform (2. NF):''Nichtschlüsselmerkmale sind von allen Schlüsselmerkmalen voll funktional abhängig ( Primärschlüssel-> für eindeutige Zuordnung) ''3. Normalform (3. NF):''kein Nichtschlüsselmerkmal ist von irgendeinem Schlüssel transitiv abhängig [http://www.mubk.de/lernbereiche/infowirtschaft/wi/datenbanken/db04.htm] = Thema = ==Begründung== Mein Thema ist der Autokauf. Ich habe dieses Thema gewählt, weil beim Autokauf gewisse Beziehungen eindeutig zu erläutern und voneinander abhängig sind. Somit hängt der Autokauf von verschiedenen Faktoren ab, wodurch sich ein Relationen-Modell darstellen lässt. Außerdem kann man durch die Erstellung gewisser Tabellen einen Überblick über die Thematik erkennen und gewisse Abhängigkeiten besser deuten. == ER-Modell == [[Bild:Stechern_Autokaufddr.jpg]] ==='''Kunde kauft Auto '''=== In diesem Teilbereich habe ich die Kardinalität '''1:n''' gewählt, da das Prinzip bei mir darauf hinausläuft, dass 1 Kunde (Kunden_ID)die Chance hat mehrere Autos (Auto_ID) zu kaufen.Das Attribut ''Kunden_ID'' ist somit der Fremdschlüssel für die Entität Auto. ==='''Auto gehört Autohaus'''=== In diesem Teilbereich habe ich die Kardinalität '''n:1''' gewählt. Diese läuft darauf zurück das 'n Autos' genau einem Autohaus gehören. Das Attribut ''Autohaus_ID'' ist somit der Fremdschlüssel für die Entität Auto. ==='''Auto ist ein Modell'''=== In diesem Teilbereich habe ich die Kardinalität '''n:1''' gewählt. Diese läuft darauf zurück das 'n-Autos' genau einem gewissen Modell zugeschrieben werden. Das Attribut ''Modell_ID'' ist somit der Fremdschlüssel für die Entität Auto. ==='''Hersteller stellt Modelle her'''=== In diesem Teilbereich habe ich die Kardinalität '''1:n''' gewählt. Diese läuft darauf zurück das 'n-Modelle' genau von einem Hersteller produziert bzw. hergestellt werden. Das Attribut ''Hersteller_ID'' ist somit der Fremdschlüssel für die Entität Modell. ==Relationenmodell== '''kundentabelle''' (KUNDEN_ID;Telefon;Vorname,Name,Wohnort,PLZ) '''autotabelle''' (AUTO_ID;Zustand;Erstzulassung;Kaufdatum;Farbe;Tachostand;''Autohaus_ID'';''Kunden_ID'';''Modell_ID'') '''autohaustabelle'''(AUTOHAUS_ID;PLZ;Marken;Ort) '''modelltabelle'''(MODELL_ID;Klassen;Marke/Modellname;Leistung,''Hersteller_ID'') '''herstellertabelle'''(HERSTELLER_ID;Name;Hauptsitz;Telefon;Kontaktperson) ===Erstellung einer Datenbank=== DROP TABLE IF EXISTS Mitarbeiter; CREATE TABLE Mitarbeiter( Mitarbeiternummer varchar(255), M_Name varchar(255), M_Ort varchar(255), M_Straße varchar(255) );