Wir üben das Anlegen einer relationalen Datenbank

Werbung
Name:
Klasse:
Datum:
IT
Wir üben das Anlegen einer Datenbank
Was ist ein Datenbanksystem? (DBS)
Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung.
Beispiel: Alle Informationen zu Kunden, angestellten Verkäufer, Autos sowie getätigten Verkäufe werden in Tabellenform digital innerhalb einer
Datenbank gespeichert.
Was ist ein Datenbankmanagementsystem? (DBMS)
Mithilfe eines Programmes (Access, Base) – dem sogenannten Datenbankmanagementsystem kann der Sachbearbeiter auf die Datenbank zugreifen.
Informationen werden in Sekundenschnelle und in der Art und Weise abgerufen wie der Sachbearbeiter es benötigt.
Aufgaben des Datenbankmanagementsystems
 Große Datenmengen widerspruchsfrei und dauerhaft in einer Datenbank (DB) zu speichern.
 Das DBMS hat zudem die Aufgabe, benötigte Teilmengen aus dem Informationspool der DB auszuwählen und daraufhin in unterschiedlichen,
bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen.
Datenbanksystem
Datenbankmanagementsystem
Datenbank
Eine Datenbank besteht aus mehreren Tabellen, die in Abhängigkeit miteinander stehen.
Objekt (Name der Datenbank): Autoverkäufe
Tabelle (Relation): Kunden = Klasse
Da alle Klassen gleichartig sind bilden sie Objekte.
Spalten = Merkmale = Attribute
Kd_Nr
1
Kd_Nn
Meier Karl
Ku_Adr
80508, Astadt,
Alte Alle 50
Fg_Nr
173468X
Hst
VW
Typ
Golf
Datenfeld =
Attributwerte
Zeile = Datensatz
Preis
3500
Vk_Nr
1
Vk_Nn
Stern
Vk_Dat
27.03.04
-3Alle Daten zu Verkäufen des Autohaus Drive & Fun
Kd_Nr.
Kd-Name
Kd_Ad
Fg_Nr
Hst
Typ
Preis
Vk_Nr Vk_Nn
Vk_Dt
1
Meier Karl
80508, Astadt, Alte Alle 50
2
Müller Willi
75220, Behausen, Bergstraße 20
3
Max Schmitt 95049, Ceburg, Marktplatz 5
173468X
249911Y
300441X
601860X
201742W
VW
Opel
VW
Audi
Ford
Golf
Astra
Passat
A3
Focus
3500
2880
4360
4020
3780
1
1
3
4
2
Stern
Stern
Schmidt
Moser
Maier
27.03.04
14.09.08
11.01.06
13.12.07
04.05.05
4
Fritz Krause
784522V
BMW 320
6800
1
Stern
13.12.07
75220, Behausen, Talweg 12
In dieser Tabelle sind einige Fehler enthalten? Welche fallen dir auf?
Datenfelder sind mit Mehrfachwerten belegt z. B. Meier Karl, 80508, Astadt, Alte Allee 50, hat beim Verkäufer mit Nr. 1, Stern, 2 Autos gekauft. Es ist
z. B. schwer möglich, alle Fahrzeuge der Marke VW oder alle Kunden aus Behausen herauszufiltern.
1. NORMALFORM: Atomisiere die Tabelle!
In den Datensätzen treten keine Mehrfachmerkmale mehr auf!
Kd_Nr
Kd_Nn
Kd_Vn
Kd_PLZ
Kd_Wo
Kd_St
Kd_Hn
Fg_Nr
Hst
Typ
Preis
Vk_Nr
Vk_Nn
Vk_Dt
1
1
2
2
3
4
Meier
Meier
Müller
Müller
Schmitt
Krause
Karl
Karl
Willi
Willi
Max
Fritz
80508
80508
75220
75220
95049
75220
Astadt
Astadt
Behausen
Behausen
Ceburg
Behausen
Alte Alle
Alte Alle
Bergstraße
Bergstraße
Marktplatz
Talweg
50
50
20
20
5
12
173468X
249911Y
300441X
601860X
201742W
784522V
VW
Opel
VW
Audi
Ford
BMW
Golf
Astra
Passat
A3
Focus
320
3500
2880
4360
4020
3780
6800
1
1
3
4
2
1
Stern
Stern
Schmidt
Moser
Maier
Stern
27.03.04
14.09.08
11.01.06
13.12.07
04.05.05
13.12.07
Achtung! In der atomisierten Tabelle treten Redundanzen auf! Was ist eine Redundanz?
Als Redundanzen bezeichnet man mehrfache Speicherung derselben Information. Redundanzen sind zu vermeiden, da sie u. a.
Speicherplatzverschwendung bedeuten. Die Lösung ist Splitten!
Welche Redundanzen siehst du in obiger 1. Normalform?
Die Datenzeile "1", "Meier", "Karl", "80508", "Astadt", "Alte Allee", "50" kommt zweimal vor Stern" sogar dreimal vor!
-4-
Schlüssel
Ein Kunde kauft ein Auto bei einem
Verkäufer an einem bestimmten
Verkaufstag.
Bei genauerer Betrachtung fällt auf, dass die Tabelle
aus 4 verschiedenen Teiltabellen besteht:
Tabelle: Kunden
___________________________________
Tabelle: Autos
___________________________________
Tabelle: Verkaeufer
___________________________________
Tabelle: Verkaeufe
___________________________________
Tabelle: Postleitzahlen
____________________________________
Nun vergeben wir SCHLÜSSEL-FELDER!
Kunden
Wozu dienen Schlüssel?
Schlüssel dienen zur Sortierung, zum Suchen und Auffinden von Datensätzen
in Datenbanken.
Ein Schlüssel ermöglicht die eindeutige Identifizierung eines Objekts.
Autos
Verkaeufe
Postleitzahle
n
Verkaeufer
-5-
2. Normalform!
Die Tabelle befindet sich bereits in der 1. Normalform. Es treten keine Mehrfachmerkmale mehr auf, und jedes Merkmal eines Datensatzes (die Schlüsselmerkmale ausgenommen) muss vom gesamten (Kombinations-)schlüssel
abhängig sein!
-6-
3. Normalform
Eine Relation (Tabelle) befindet sich in der 3. Normalform, wenn sie in der 2. Normalform ist und
mit Ausnahme der Schlüsselattribute alle Attribute eines Datensatzes voneinander unabhängig sind.
Text
Text
Text
Text
Text
Text
Text
Text
Text
Zahl, Währung
Text
Text
Text
Text
Text
Datum
Text
Text
-7-
Das ER-Modell (Entity-Relationship-Modell)
Jedes Objekt aus ein und derselben Tabelle hat die gleiche charakteristische Struktur (siehe Schlüssel).
Problem:
Wie sollen die Zuordnungen von Kunden zu ihren Wohnorten gelöst werden?
Woher weiß man, welcher Kunde bei welchem Verkäufer welches Auto gekauft hat?
Lösung: Herstellung von Beziehungen zwischen den Tabellen.
Modell Beziehung zwischen der Tabelle "Kunden" und der Tabelle "Postleitzahlen"
Postleitzahl
1
gehört zu
hat
Eine Postleitzahl gehört zu mehreren Kunden und
mehrere Kunden haben ein und dieselbe Postleitzahl.
n
Kunde
-8-
Entitätsmengen: (eine Klasse von Objekten einer Tabelle)
werden durch Rechtecke dargestellt.
Kunde
Beziehungen zwischen den Klassen von Objekten werden
durch Rauten visualisiert.
gehört zu
hat
Kd_Plz
Kd_Wo
Eigenschaften (Attribute) von Klassen oder Beziehungen
werden durch Ellipsen ausgedrückt.
Postleitzahl
Kardinalität
Sollen Beziehungen zwischen Tabellen in Datenbanken definiert werden, ist es sehr wichtig, wie viele Objekte der einen Seite jeweils mit Objekten der
anderen Seite verknüpft werden können. Diese Eigenheit wird Kardinalität der Beziehung zwischen Objekten genannt.
Kardinalität 1:1
Einem Objekt der einen Seite wird genau ein Objekt der anderen Seite
zugeordnet.
Beispiel
Ein Auto wird genau von einem Kunden gekauft. Ein Kunde kauft genau
ein Auto.
Kardinalität 1:n
Einem Objekt der einen Seite können mehrere Objekte der anderen Seite
zugeordnet werden, in umgekehrter Leserichtung jedoch nur ein Objekt.
Eine Postleitzahl gehört zu mehreren Kunden. Mehrere Kunden haben
ein und dieselbe Postleitzahl.
Kardinalität m:n
Einem Objekt der einen Seite können mehrere Objekte der anderen Seite
zugeordnet werden und umgekehrt.
Mehrere Verkäufer sind an einem Verkauf beteiligt. Mehrere Verkäufe
werden von einem Verkäufer durchgeführt.
-9Lösung des ER-Modells für das Autohaus „Drive & Fun“!
- 10 -
Implementieren einer Datenbank
Anlegen einer Datenbank



Klicke auf "Base"
Klicke dann unten auf "Fertigstellen"
Vergebe den Dateiname "Gebrauchtwagenverkauf"
Klicke auf Tabelle in der Entwurfsansicht erstellen
- 11 Erstelle die Tabelle: Autos
Mit der rechten Maustaste erstellst du den "Primärschlüssel"
Erstelle weitere Tabellen. TIPP: Drei Kombinationsschlüssel bei Tabelle "Verkaeufe" erstellst du durch Markierung der ersten drei Zeilen und dann
Klick mit der rechten Maustaste auf "Primärschlüssel. Gebe anschließend die entsprechenden "Daten" ein.
- 12 Tabelle: Autos
Fg_Nr
Text [VARCHAR]
Hst
Text [VARCHAR]
Typ
Text [VARCHAR]
Preis
Zahl, Format: Währung
Tabelle: Postleitzahlen
Kd_Plz
Text [VARCHAR]
Kd_Wo
Text [VARCHAR]
Tabelle: Kunden
Kd_Nr
Text [VARCHAR]
Kd_Nn
Text [VARCHAR]
Kd_Vn
Text [VARCHAR]
Kd_St
Text [VARCHAR]
Kd_Hn
Text [VARCHAR]
Kd_Plz
Text [VARCHAR]
Tabelle: Verkäufer
Vk_Nr
Text [VARCHAR]
Vk_Nn
Text [VARCHAR]
Tabelle: Verkaeufe
Kd_Nr
Text [VARCHAR]
Fg_Nr
Text [VARCHAR]
Vk_Nr
Text [VARCHAR]
Vk_Dt
Datum, Format 12.01.15
Klicke doppelt auf eine Tabelle und fülle die Tabelle mit Daten aus.
Sollte der Entwurf Fehler beinhalten, kann man den
Datenentwurf durch Rechtsklick auf die Tabelle –
Bearbeiten – den Entwurf bearbeiten.
Vorsicht: Den Primärschlüssel kann man nicht verändern,
er mit anderen Tabellen bereits in Relation steht.
Erstellen der Relationen: Klicke im Menü auf "Extras" –
Beziehungen. Klicke auf die Tabelle – "Hinzufügen". Ziehe
dann die Beziehungslinien.
da
Herunterladen