This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
• flüchtiges Speichermedium (i.d.R. im Arbeitsspeicher)• Ein Prozess (ein ablaufendes Programm) belegt
Speicherplätze im Arbeitspeicher• Freigabe der Speicherplätze• Lebenszeit der Daten Prozess gebunden• Kein Zugriff anderer Prozesse • Neustart => Kein Rückgriff auf Daten früherer
• Nichtflüchtigen Speichermedium (i.d.R. auf der Festplatte)
• Wichtigstes Beispiel für persistente Daten: Dateien• Persistente Daten können durch Prozesse erzeugt,
verändert und gelöscht werden• Lebenszeit der Daten nicht an Prozess gebunden• Explizite Löschung => Existenz wird beendet• Zugriff durch verschiedene Prozesse. Beim Neustart
eines Programms kann auf die persistenten Daten zugegriffen werden
• Neustart => Rückgriff auf Daten früherer Programmabläufe möglich
Erste Definition:Datenbanksystem = Verwaltungskomponente +Speicherungskomponente für persistente Daten,die einem bestimmten Zweck dienenFrage:Warum genügt hierfür nicht das Dateisystem einesComputers?
Dauerhafte Speicherung von Daten• Einrichten einer Datenbank mit Hilfe einer
Datendefinitionssprache Beispiel: Einrichten einer Adressdatenbank
• Abfragen und Modifikation von Daten mit Hilfe einer Datenmanipulationssprache: Selektieren, Anzeigen, Erzeugen, Verändern, Verknüpfen, Sortieren und Löschen von Daten Beispiel: Eintrag, Änderung einer Adresse
• Interaktive Benutzungsoberfläche für Datendefinition und Datenmanipulation (ohne Programmierkenntnisse)
• Programmschnittstelle, ermöglicht Datendefinition und Datenmanipulation aus einem Programm heraus
• Datenunabhängigkeit: Das Datenbanksystem macht die Nutzer unabhängig von den computerinternen Speicherstrukturen zur Datenablage
• Mehrbenutzerfähigkeit: Störungsfreier paralleler Zugriff auf eine Datenbank durch mehrere Prozesse (auch über Netze) mit Hilfe eines sogenannten Transaktionskonzepts
Beispiel zum Unterschied Datenbank - Datenbanksystem:Eine Datenbank mit dem Namen „Adressen“ dient zur Verwaltung von Postadressen und TelefonnummernDie Datenbank „Adressen“ wurde/wird mit Hilfe des Datenbankmanagementsystems „Access“ aufgebaut und betriebenAbkürzungen: DB = Datenbank(system) ,
• Die Spalten der Tabelle enthalten gleichartige Felder der Datensätze. Sie sind mit den Namen der Felder überschrieben
• In den Spalten stehen Datenwerte von gleichartigem Datentyp mit vordefiniertem Wertebereich (engl. domain)
• Abfrage und Einrichtung - SQL (Structured Query Language)Standardisierte Sprache, in der sich Abfragen und andere Datenbankoperationen formulieren lassen.
• besitzen einen Felddatentyp, die wichtigsten sind:ZahlText mit/ohne festgelegte MaximallängeDatum/Uhrzeit
• besitzen einen Wertebereich (engl.: domain), z.B. Gültige Matrikelnr die Menge der Kürzel BGB, StGB, VOL etc.
• Ein Feld kann indiziert sein, d.h. die Datenbank besitzt für das Feld einen Index = ein (sortiertes) Verzeichnis der Datenwerte und der zugeordneten Datensätze
Tabelle = Menge von Datensätzen, die in Felder gegliedert sind, mit folgenden Eigenschaften:
• eindeutige Tabellenname• Innerhalb Tabelle jeder Feldnamen eindeutig • Die Reihenfolge der Spalten ist bedeutungslos• Die Reihenfolge der Datensätze ist bedeutungslos• Primärschlüssel identifiziert die Datensätze
eindeutig• Unbegrenzte Anzahl der Spalten und der Zeilen
Entitäten-Beziehungsmodell(englisch: entity relationship model – ERM)
• Entität: Wohlunterscheidbares Objekt der realen Welt oder unserer Vorstellung. Beispiele für Entitäten: Individuen, Gegenstände, Begriffe, Ereignisse. Entitäten gleichen Typs bilden sog. Entitätsmengen und besitzen zusätzlich bestimmte Merkmale. Entitäten besitzen eindeutigen Identifikationsschlüssel.
• Beziehung:stellt eine Verbindung zwischen Entitäten dar. Beziehungen gleichen Typs bilden Beziehungsmengen und können zusätzlich bestimmte Merkmale tragen.
Beziehung: Mitarbeiter Meier arbeitet zu 70% im Projekt P17
Beziehungsmenge: Menge aller Mitarbeiter-Projekt-Zugehörigkeiten mit dem Merkmal Mitarbeiternummer
Identifikationsschlüssel: In einem ERM wird für Beziehungsmengen nicht zwingend ein Identifikationsschlüssel angegeben (näheres siehe relationales Modell)
Aufgabe 1:Ergänzen Sie das folgende ER-Modell. Es stellt eine Inventarverwaltung dar. Ordnen Sie die folgenden Attribute den Entitäten zu (Sie dürfen sinnvoll abgekürzte Feldnamen verwenden) und machen Sie die Primärschlüssel kenntlich.
Stellen Sie zwischen den Objekten Beziehungen her. Beachten Sie dabei folgende Gegebenheiten:• Ein Inventarstück befindet sich immer nur in einem Raum, in einem Raum können mehrere Inventarstücke stehen.• Ein Inventarstück kann von mehreren Mitarbeitern benutzt werden, ein Mitarbeiter kann mehrere Inventarstücke benutzen. • Ein Mitarbeiter ist nur einem Raum zugeordnet, in einem Raum können mehrere Mitarbeiter untergebracht sein.
Aufgabe 2:Erstellen Sie für das nachfolgend beschriebene Beispiel einer CD-Sammlung selbst ein Entitäten-Beziehungsmodell. Ergänze Sie ggf. beschreibende Attribute:Jede CD besitzt einen eindeutigen Identifikator, einen Titel, sowie ein ErscheinungsjahrEs gibt Urheber, die durch Namen, Vornamen und ein Heimatland genauer definiert sindCDs haben einen oder mehrere Urheber und umgekehrt. Die Urheberschaft kann durch eine Rolle (z.B. Komponist, Interpret) genauer definiert sein.Jeder CD ist genau ein Verlag zugeordnet, der durch einen Namen und die üblichen Adressangaben genauer definiert ist.
Aufgabe 3:Erstellen Sie für das nachfolgend beschriebene Beispiel ein Entitäten-Beziehungsmodell:Ein Pizzabäcker möchte zur rechnergestützten Abwicklung seiner Geschäftsprozesse eine relationale Datenbank einsetzen. In der Datenbank ist die Bestellung der Kunden abzulegen, wobei der Kunde die zu bestellenden Pizzen anhand eines Pizzakataloges auswählen kann. Für jeden Kunden ist zunächst nur eine Bestellung vorgesehen (geringes Vertrauen in die eigene Kochkunst). Eine Bestellung kann eine oder mehrere Pizzen in unterschiedlicher Bestellmenge enthalten.Zum Zwecke der Materialbeschaffung sollen die Pizzen mit ihren Zutatenzusammensetzungen (d.h. Rezepte) gespeichert in der Datenbank vorliegen. Eine Pizza umfasst in der Regel mehrere Zutaten, die bezüglich ihrer Art und der erforderlichen Einsatzmenge von Pizza zu Pizza gleich, aber auch unterschiedlich sein können.
Aufgabe 4:Erstellen Sie für das nachfolgend beschriebene ein Entitäten-Beziehungsmodell:Eine Universität hat einen Namen, eine Adresse und eine Telefonnummer, sie exmatrikuliert und immatrikuliert Studenten und öffnet und schließt Institute.Die Universität besteht aus mindestens einem Institut, welche wiederum einen Namen besitzen. Institute berufen Dozenten und können diesen wieder entfernen (Pension). Jedes Institut besitzt mindestens einen Dozenten, ein Dozent gehört mindestens zu einem Institut, ein Dozent ist Teil eines Institutes. Neben dem Dozenten gibt es pro Institut genau eine oder (wenn noch nicht berufen) keine „Chairperson“, diese ist natürlich ebenfalls Dozent. Dozenten bieten Kurse an, welche von Studenten wahrgenommen werden. Ein Kurs lässt sich einem Institut zuordnen, er kann aber auch von mehreren Instituten angeboten werden (bspw. Mathematik I). Studenten und Kurse haben Namen und ID-Nummern.
Aufgabe 5Erstellen Sie für das nachfolgend beschriebene Beispiel ein Entitäten-Beziehungsmodell: Der Hotzenplotzer Sportverein „Wilde 13“ möchte die Verwaltung der Sponsorgelder seiner Sportler mit einer Datenbank unterstützen. Hierfür soll zunächst ein Datenmodell erstellt werden. Dazu ist folgender Sachverhalt zu modellieren.Jeder Sportler kann von mehreren Sportartikelherstellern gesponsert werden. Ein Sportartikelhersteller kann eine Vielzahl von Sportlern sponsern. Von jedem Sportler wird die Sportlernummer, der Name und das Geburtsdatum gespeichert. Von jedem Sportartikelhersteller wird die Firma gespeichert. Ein Sportartikelhersteller produziert mindestens einen Sportartikel. Ein Sportartikel wird von genau einem Hersteller produziert.Identifiziert wird ein Sportartikel eindeutig über seine Artikelnummer. Ein Artikel kann von einem Sportler benutzt werden und jeder Sportler benutzt mindestens einen Sportartikel.
Aufgabe 6:Ein Fachbereich einer Universität beabsichtigt die Anmeldungen seiner Grundstudiumsklausuren computergestützt durchzuführen. Für jeden Studenten werden folgende personenbezogenen Informationen benötigt: Name, Vorname, Matrikelnummer, Geburtsdatum. Eine Grundstudiumsveranstaltung wird durch die semesterunabhängige Veranstaltungsnummer, Semesterbezeichnung, Name der Veranstaltung und lehrendem Dozenten beschrieben.
1. Stellen Sie den obigen Sachverhalt in einem ERM dar. Kennzeichnen Sie die Kardinalitäten und beschreiben Sie diese in Aussagesätzen. 2. Erweitern Sie das ERM, indem Sie den folgenden Sachverhalt berücksichtigten: Für jeden Student soll die Note für die belegten Grundstudiumsveranstaltungen abgespeichert werden.
Umsetzung des Entitäten-Beziehungsmodell in Form von Tabellen:Dies ist der Vorgang des Aufbaus des Relationenmodells, der Datendefinition. Festlegung des sogenannten Datenbankschemas, das die Struktur einer Datenbank beschreibt:
• Namen der Tabellen und ihrer Felder• allgemeine Eigenschaften zu den Tabellen und
Einer der Schlüsselkandidaten einer Tabelle hat die Rolle des Primärschlüssels. Ein solcher dient dazu, die Datensätze in der Tabelle eindeutig zu bezeichnen
Die Werte von Primärschlüsseln können auch in weiteren Feldern auftauchen; solche Felder nennt man Fremdschlüssel. Sie werden verwendet, um von einem Datensatz auf einen anderen Datensatz zu verweisen. So können in Tabellen Beziehungen dargestellt werden
Überführung eines Entitätenbeziehungsmodells in Tabellen
Regel 1: Jede Entitätsmenge muss durch eine eigenständige Tabelle dargestellt werden:Die Merkmale der Entitätsmenge werden zu Feldern der Tabelle.Es gibt einen Primärschlüssel, in der Regel ist das der Identifikationsschlüssel der Entitätsmenge
Überführung eines Entitätenbeziehungsmodells in Tabellen
Regel 2: Komplex-komplexe Beziehungsmengen müssen als eigenständige Tabellen definiert werden. Primärschlüssel der Beziehungsmengentabelle ist die Kombination der beiden Fremdschlüssel, ggf. erweitert um weitere Attribute, oder ein anderer Schlüsselkandidat
Überführung eines Entitätenbeziehungsmodells in Tabellen
Regel 3: Einfach-komplexe Beziehungsmengen können ohne eigenständige Beziehungsmengentabelle definiert werden. Der Primärschlüssel der Entitätentabelle mit einfacher Assoziation (d.h. mit Beziehungstyp 1 oder c) wird als Fremdschlüssel in die andere Entitätentabelle zusammen mit ggf. weiteren Merkmalen der Beziehungsmenge hinzugefügt.
Überführung eines Entitätenbeziehungsmodells in Tabellen
Regel 4: Einfach-einfache Beziehungsmengen können ohne eigenständige Beziehungsmengentabelle definiert werden. Normalerweise wird der Primärschlüssel der Entitätentabelle mit Beziehungstyp 1 als Fremdschlüssel in die andere Entitätentabelle zusammen mit ggf. weiteren Merkmalen der Beziehungsmenge hinzugefügt.
Eine Datenbank ist integer oder konsistent, falls die zugrundeliegenden Daten fehlerfrei erfasst sind und den gewünschten Informationsgehalt fehlerfrei wiedergeben Es gibt sogenannte strukturelle Integritätsbedingungen, die durch das Datenbanksystem selbst ausgedrückt werden können:Eindeutigkeitsbedingung - Identifikationsschlüssel muss eindeutig seinWertebereichsbedingung - Merkmale einer Tabelle können nur Datenwerte aus bestimmtem Wertebereich annehmenReferenzielle Integrität: - Jeder Wert eines Fremdschlüssels muss als Schlüsselwert in der referenzierten Tabelle existieren
Fremdschlüssel dienen dazu, um auf andere Daten-sätze zu verweisen.Die Werte der Fremdschlüssel dienen dabei als Verweise, auch „Referenzen“ genannt.Ein Verweis auf einen Datensatz wird hergestellt, in-dem dessen Primärschlüsselwert in das Fremd-schlüsselfeld eingetragen wird.Diese Verweise sollen sinn voller weise nicht ins Leere zeigen, d.h. jeder Wert eines Fremdschlüssels sollte als Primärschlüsselwert in der referenzierten Tabelle (d.h. der Tabelle, auf die verwiesen wird) vorkommen.Diese Eigenschaft nennt man Referenzielle Integrität.