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