Nico

Aus ProgrammingWiki
Archivierte Version vom 2014-02-08T20:46:22+00:00. Aktuelle Version

Inhaltsverzeichnis

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

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

Stechern_Diagram1.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;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)

-> Veränderung Modell: -> Kaufdatum,Hubraum, Fremdschlüssel: Modell_ID bei Entität Auto , Relation: Hersteller-Modell überprüfen , Dia downloaden

Erstellung einer Datenbank

DROP TABLE IF EXISTS Kunde; CREATE TABLE Kunde(

 KUNDEN_ID varchar(50),
 Telefon varchar(50),
  Vorname varchar(50),
  Name varchar(50),
  Wohnort varchar(50),
  PLZ varchar(50)

);

INSERT INTO Kunde VALUES ('01', '35635', 'Chris', 'Müller', 'Wartha' , '02694'); INSERT INTO Kunde VALUES ('02', '88388', 'Patrick', 'Becker' ,'Doberschau' , '01877'); INSERT INTO Kunde VALUES ('03', '98672', 'Clara', 'Janotte', 'Bautzen' , '02625'); INSERT INTO Kunde VALUES ('04', '12121', 'Agnes','Mitschke', 'Bautzen' , '02625');


DROP TABLE IF EXISTS Auto; CREATE TABLE Auto(

  Kunden_ID varchar(50),
  Autohaus_ID varchar(50),
  Modell_ID varchar(50),
  Tachostand varchar(50),
  Farbe varchar(50),
  Erstzulassung varchar(50),
  Zustand varchar(50),
  Auto_ID varchar(50)

);

INSERT INTO Auto VALUES ('01', 'AH1', 'M1', '70000', 'weiß' , '2005', 'gut', 'A1' ); INSERT INTO Auto VALUES ('02', 'AH2', 'M2', '150000' ,'schwarz' , '1999', 'mittel' , 'A2'); INSERT INTO Auto VALUES ('03', 'AH3', 'M3', '20000' ,'rot' , '2009', 'sehrgut' , 'A3'); INSERT INTO Auto VALUES ('04', 'AH4', 'M4', '240000' ,'pink' , '1996', 'schlecht' , 'A4');

DROP TABLE IF EXISTS Autohaus; CREATE TABLE Autohaus(

  Autohaus_ID varchar(50),
  PLZ varchar(50),
  Marken varchar(50),
  Ort varchar(50)

); INSERT INTO Autohaus VALUES ('AH1', '01067', 'VW', 'Dresden'); INSERT INTO Autohaus VALUES ('AH2', '01067', 'VW', 'Dresden'); INSERT INTO Autohaus VALUES ('AH3', '02625', 'VW', 'Bautzen'); INSERT INTO Autohaus VALUES ('AH4', '02625', 'Seat', 'Bautzen');

DROP TABLE IF EXISTS Modell; CREATE TABLE Modell(

  Hersteller_ID varchar(50),
  Klassen varchar(50),
  Leistung varchar(50),
  Modellname varchar(50),
  Modell_ID varchar(50)

);

INSERT INTO Modell VALUES ('H1', 'B', '250PS', 'Golf5', 'M1'); INSERT INTO Modell VALUES ('H1', 'F', '65PS', 'Lupo' ,'M2'); INSERT INTO Modell VALUES ('H1', 'A', '400PS', 'Golf6', 'M3'); INSERT INTO Modell VALUES ('H2', 'F', '70PS','Marbella', 'M4');

DROP TABLE IF EXISTS Hersteller; CREATE TABLE Hersteller(

  Hersteller_ID varchar(50),
  Name varchar(50),
  Hauptsitz varchar(50),
  Telefon varchar(50),
  Kontaktperson varchar(50)

);

INSERT INTO Modell VALUES ('H1', 'VW', 'Wolfsburg', '05361/986622', 'Christine Ritz'); INSERT INTO Modell VALUES ('H2', 'Seat', 'Barcelona', '06150/1818999' ,'Jürgen Stackman');

SQL-Abfragen