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===

<code id="52dd5a9444d72">
DROP TABLE IF EXISTS Kunde;
CREATE TABLE Kunde(
  Kundennummer varchar(50),
   Name varchar(50),
  Vorname varchar(50),
  Telefon varchar(50),
  Wohnort varchar(50),
  PLZ varchar(50),
  Wohnort varchar(50)
);

INSERT INTO Kunde VALUES ('01', 'Ackermann', 'Ronny', '22578', '02625', 'Bautzen');
INSERT INTO Kunde VALUES ('02', 'Schmidt', 'Torsten', '33567', '02694', 'Guttau');
INSERT INTO Kunde VALUES ('03', 'Reck', 'Roland', '32460', '02694', 'Kleinsaubernitz');
INSERT INTO Kunde VALUES ('04', 'Drewniok', 'Max', '35883', '10115', 'Berlin');