Datenbanken. Matthias Krause FH Leipzig Deutsche Telekom AG

Größe: px
Ab Seite anzeigen:

Download "Datenbanken. Matthias Krause FH Leipzig Deutsche Telekom AG"

Transkript

1 Datenbanken Matthias Krause FH Leipzig Deutsche Telekom AG 24. Oktober 2003

2 Dieses Skript entsteht im Rahmen der Vorbereitung einer Vorlesung zu Datenbanken. Es ist nicht fertig, nicht publizierbar und soll nicht weitergegeben werden. Die heutige Version ist morgen schon vergessen. Es soll nur im Rahmen der Vorlesung benutzt werden und soll den Hörenden helfen, weniger abschreiben zu müssen und dadurch mehr Zeit für die Arbeit am Rechner zu haben. 1

3 Kapitel 1 Einführung in Datenbanken und Datenbanksysteme 1.1 Allgemeines Literaturhinweise /Matt00/ G. Matthiessen, M. Unterstein: Relationale Datenbanken und SQL, Addison-Wesley 2000 /DaDa98/ C. J. Date, H. Darwen, SQL-Der Standard, Addison-Wesley 1998 /Sau98/ H. Sauer: Relationale Datenbanken Theorie und Praxis, Addison- Wesley 1998 /HeSa00/ A. Heuer, G. Saake: Datenbanken: Konzepte und Sprachen, mitp-verlag, 2000 /Ste99/ G. Stepken: MySQL Datenbankhandbuch 1999 ( /Kli01/ K. Kline, D. Kline: SQL in a Nutshell, O Reilly 2001 Computer (Rechner) wurden ursprünglich für Rechenaufgaben entwickelt. In den 60er Jahren erlangten sie zunehmend Bedeutung als Datenverarbeitungsanlagen (EDV). Datenhaltung erlangte eine zentrale Bedeutung. Daten wurden zunächst in Dateien gehalten, später wurden Datenbankmanagement-Systeme (DBMS) entwickelt, die für den Zugriff auf die Daten verantwortlich wurden. Gründe für die Zentralisierung der Datenhaltung: Reduktion bzw. Kontrolle der Redundanz von Daten Konsistenzprüfung / Integritätsregeln Auswertungen auf den Daten sind besser möglich (Datenschutz!) 2

4 KAPITEL 1. EINFÜHRUNG 3 Datenunabhängigkeit (Entkopplung von Daten und Anwenderprogrammen) Abb.: DBMS (aus /Matt00/)

5 KAPITEL 1. EINFÜHRUNG 4 Abb.: Zentralisierung der Integritätsregeln (aus /Matt00/) Eigenschaften von DBMS - Database Management Systemen: Ablage der Daten in speziellem, von DBMS verwalteten Format DBMS - ist der EINZIGE Prozeß, der auf die Daten zugreifen darf Daten werden unabhängig vom Anwender in einer einer definierten Struktur des DBMS abgelegt Verwaltung des Mehrnutzerbetriebes Koordination der gleichzeitigen Zugriffe verschiedener Nutzer Unterstützung der Konsistenz der Daten und der Wiederherstellung der Daten nach einer Zerstörung Hersteller von Datenbankmanagement-Systemen: IBM (DB2) Oracle Informix Sybase (SQL Anywhere,...) Microsoft (Access, MS SQL Server)

6 KAPITEL 1. EINFÜHRUNG 5 Computer Associates CA (Ingres) Architektur nach ANSI/SPARC Abb. aus /Matt00 S.20/ 3-Schichtenmodell wurde 1975 von der ANSI/X3/SPARC - Gruppe (ANSI... American National Standards Institute / X3... Computer and Information Processing / SPARC... Standards Planning and Requirements Committee) erarbeitet: externes Schema: Präsentation Teilprobleme werden dem Anwender über Anwenderprogramme oder auch mit Hilfe von Datenbank-Tools präsentiert konzeptionelles Schema: Information enthält die Beschreibung aller (unternehmens)relevanten Daten, stark von der Art des DBMS (relational, oo) abhängig internes Schema: Datenspeicherung alle Informationen darüber, wie die Daten aufgeteilt sind (auf Platten, Partitionen etc.), wie ihreablage innerhalb der Tabellen erfolgt, welche Indexe existieren etc.

7 KAPITEL 1. EINFÜHRUNG 6 Dabei ist das Modell unabhängig von der Art des DBMS. Die einzelnen Schichten sind relativ unabhängig voneinander, was als Datenunabhängigkeit bezeichnet wird. physische Datenunabhängigkeit Der Anwender / Programmierer braucht keine Kenntnis über das interne Schema logische Datenunabhängigkeit Der Anwender / Programmierer braucht nur soweit Kenntnis über Daten und die Beziehungen zwischen ihnen, wie sie ihn betreffen. z.b. müssen Attribut-Werte von Tupeln, die er beim Erzeugen nicht vom Anwender initialisiert werden, auf sinnvolle Default-Werte gesetzt werden. 1.3 Architektur von Systemen mit DBMS Zentralrechner-Architektur Die Zentralisierung der Datenhaltung erfolgte zunächst auf Großrechnern, auf denen neben den DBMS auch die entsprechenden Anwenderprogramme installiert wurden. Die Nutzerinteraktionen erfolgten 1. zunächst über E/A-Geräte wie Lochstreifen-/Lochkartenleser und Drucker, 2. später dann über angeschlossene ( dumme ) Terminals: Zentralrechner-Architektur Client/Server-Architektur Mit der Einführung von Workstations und PCs, die im Netzwerk selbst intelligente Funktionen übernehmen konnten, setzte sich zunehmend eine Client/Server- Architektur durch, bei der das DBMS auf einem Server residierte, die Anwenderprogramme und Nutzerinteraktionen aber über abgesetzte Rechner (Clients) erledigt wurde. Dieses Architektur-Modell beinhaltet in vielen Fällen die Arbeit von fat clients, die selbst einen großen Teil der Geschäftslogik kennen müssen:

8 KAPITEL 1. EINFÜHRUNG 7 Abb.: einfaches Client/Server-Schema (aus /Matt00/) Client/Server-Architektur Multi-Tier-Architektur Mit der zunehmenden Bedeutung von Netzwerken im Allgemeinen und des Internets im Speziellen kommen mehr und mehr Modelle zum Zuge, bei denen die Nutzeraktionen an sogenannten thin clients erfolgen. Das sind Arbeitsstationen, die im eigentlichen Sinne nicht mehr können müssen als etwas auf eine standardisierte Art darzustellen. Ein Beispiel für solche Clients sind Webbrowser. Alle Programmlogik und alle Informationen darüber, was darzustellen ist liegen auf zentralen Web-Servern, die Daten auf Datenbank-Servern:

9 KAPITEL 1. EINFÜHRUNG 8 Webserver-Architektur Eine etwas allgemeinere Form dieser Architektur ist die 3-Schichten-Architektur: Drei-Schichten-Architektur 1.4 Komponenten eines DBMS Komponenten eines DBMS, die zu einer komfortablen Arbeit mit dem System vorhanden sein sollten: interaktive Sprache zur Manipulation des Daternbankschemas (z.b.sql-ddl) was (mit Einschränkungen) auch die Änderung des Datenbankschemas bei laufendem Betrieb des DBMS einschließen sollte interaktive Sprache zur Daten-Manipulation (z.b.sql-dml) bildschirmorientierte Sprache zur Daten-Manipulation die die Elemente Maskengenerator

10 KAPITEL 1. EINFÜHRUNG 9 maskenorientiertes Datenmanipulationsprogramm enthält und über folgende Zusatzfunktionen Pflichteingaben Verknüpfung mit weiteren Tabellen Anzeige von möglichen Auswahlwerten verfügen sollte Berichtsgenerator(Report-Generator) Ausdruck von Überschriften und festen Texten, von Abfrage-Ergebnissen (z.b SELECT...), Ausgabe und Formatierung jedes Datensatzes wird gesteuert, Aktionen, Zwischenüberschriften bei Gruppenwechsel i.a. fehlen explizite Schleifen und Prozeduren eine berechnungsvollständige Sprache mit Zugriff auf das Datenmodell ermöglicht die Entwicklung von Anwendungssystemen mit Zugriff auf das DB- System und muß die Möglichkeiten des DBMS (z.b. bei RDBMS die relationale Algebra) zur Verfügung stellen, z.b. Erweiterung einer Programmiersprache um Datenzugriffsmöglichkeiten embedded SQL bei relationalen DB Klassenbibliotheken bei oo DB eigenständige Sprache (bei RDBMS eine 4GL) Begriff nicht geschützt, hier gibt es verschiedene Konzepte

11 Kapitel 2 Relationale Grundlagen 2.1 Das Relationale Modell 1970 Codd A Relational Model for Data for Large Shared Data Banks relationales Modell... Definition von Objekten, Operationen und Regeln die Operationen definieren eine relationale Algebra, mit der die Objekte bearbeitet werden können 1981 Codd: System ist relational, wenn alle Daten als Werte in Relationen abgelegt sind, jeder Nutzerzugriff auf die Werte über die Bezeichner der Daten erfolgt (keine Kenntnisse über Zeiger etc.), relationale Operationen für Selektion, Projektion und Verbund unterstützt werden 1986 Codd 12 Regeln für relationale Systeme damit werden wir uns später eingehend beschäftigen Das Modell wurde durch Codd u.a. weiterentwickelt, 1990 stellte Codd die Version 2 des RM vor (333 Kriterien!) Zu den Begriffen des relationalen Modells zählen unter anderen: Relationale Objekte: Domain - Wertebereich Relation - Tabelle Attribut Tuple - Datensatz, Teilmenge davon, Menge von Attributen Candidate Key - eindeutiger Schlüssel Primary Key - Hauptschlüssel 10

12 KAPITEL 2. RELATIONALE GRUNDLAGEN 11 Alternate Key - Alternativ-Schlüssel Fremdschlüssel mit Objekten im Zusammenhang stehende Begriffe Degree (Anzahl Attribute in einer Relation) Cardinality - Kardinalität (Anzahl Tupel in einer Relation) Relationale Integritätsregeln: Entity-Integrität referentielle Integrität Relationale Operationen: Selektion (Zeilen heraussuchen) Projektion (Spalten ausblenden) Umbenennung (Änderung des Spaltennamens) Gruppierung Joins - Verbünde Mengenoperationen Vereinigung Durchschnitt Differenz 2.2 Relationale Objekte Zur Definition von Relationen im Sinne des relationalen Datenmodells sind Attribute, Tabellen und andere Objekte zu definieren, ihre Kennzeichnung erfolgt über Bezeichner. Bezeichner := Buchstabe {Buchstabe Ziffer div.sonderzeichen} (BNF) KatNr... Primärschlüssel Verlag... Fremdschlüssel KatNr ISBN Titel Autor Verlag Inf01a Datenbanken Hinz 1 Inf01b Datenbanken Hinz 1 Inf02a Java Kunz 2 3 Tupel... Kardinalität = 3 5 Attribute aus 5 Domänen... Grad(Degree) = 5

13 KAPITEL 2. RELATIONALE GRUNDLAGEN Attribute Ein Attribut repräsentiert eine Eigenschaft eines Objektes, zu dem Daten in einer Datenbank gesammelt werden. Das Attribut besteht aus Attribut-Bezeichner und Wert. Attribut-Bezeichner = Wert Beispiele: mitarb_nr = name = Mayer vorname = Erwin geb_dat = DATE( ) Domänen(Wertebereiche) Wertebereich eines Attributs Standarddomänen: CARDINAL (natürliche Zahlen: 0,1,2,3,4,...) INTEGER (ganze Zahlen...,-2,-1,0,1,2,...) NUMERIC (numerische Werte in Dezimaldarstellung) CHAR (einzelne Charakter) STRING (Zeichenketten) BOOLEAN (logische Werte) Datum, Uhrzeit und Zeitpunkt Beispiele für weitere, auch selbstdefinierte Domänen: Mengen mit festgelegten Werten Einkommensklassen Steuerklassen Rechnungsstatus Studiengänge = TKI, TKI dual, NT Währungsangabe spezielle Formen von Strings, z.b. CHAR(40) mit der Einschränkung, daß nur Buchstaben/Umlaute/ß/Akzentvokale/- vorkommen dürfen, als Domäne für Namen / Vornamen...

14 KAPITEL 2. RELATIONALE GRUNDLAGEN 13 Die Angabe symbolischer Domänen (z.b. CHAR(5) für Postleitzahlen) hat immer den Vorteil, daß bei Änderungen (wie der Länge der PLZ) nur an einer Stelle geändert werden muß! Repräsentation: Darstellung für den Nutzer unabhängig von interner Darstellung (z.b. Datumsformat) Operationen auf Domänen: homogene Operationen (Argumente und Ergebnisse gehören zur gleichen Domäne, z.b. Summen- oder Mittelwertbildung) heterogene Operationen (Argumente und Ergebnisse gehören zur unterschiedlichen Domänen, z.b. Zeitberechnungen aus Zeiten und Intervallen) logische Operationen und Vergleiche (num.werte, Zeitpunkte, Strings) Konvertierungsoperationen, z.b. Tag: Datum Numerisch Wochentag: Datum Numerisch (ISO8601: 1..Mo, 2..Di,...) Datum String Beispiele zu Domänen: Betreuer Kunde xxx Kunze Lehmann xxx Meyer Schulze xxx Schulze Hofmann xxx In dieser Relation sind die Domänen der beiden Attribute unterschiedlich, da es sich um unterschiedliche Personenkreise handelt. Mitarbeiter Vorgesetzter xxx Kunze Lehmann xxx Meyer Schulze xxx Schulze Hofmann xxx Hier könnte es sich um die gleiche Domäne handeln, da sowohl die Mitarbeiter als auch die Chefs aus dem gleichen Personal ausgewählt werden. Nullwerte im relationalen Modell Unter NULL-Wert (null value) versteht man einen fehlenden Wert in der Datenbank für ein bestimmtes Attribut. nicht identisch mit einer numerischen Null, einem Leerzeichen oder einem Leerstring. i-marken (inapplicable)... es kann für dieses Attribut keinen Wert geben, z.b. kann keine Telefonnummer eingetragen werden, weil jemand kein Telefon hat a-marken (applicable)... der Wert für ein Attribut ist nicht bekannt

15 KAPITEL 2. RELATIONALE GRUNDLAGEN 14 prinzipiell ist auch noch denkbar, den Fall zu unterscheiden, daß noch unbekannt ist, welche Nullmarke zutrifft daraus ergibt sich eine mögliche drei- oder vierwertige Logik für Nullmarken (Streit zwischen Codd und Date) In heute verwendeten relationalen Datenbanksystemen ist nicht zwischen den unterschiedlichen Nullmarken unterschieden! Tupel Unter einem Tupel versteht man eine Menge von Attributen, ggf. mit ihren Werten, die Reihenfolge ist unerheblich. In einem Tupel dürfen keine Attribute- Bezeichner mehrfach vorkommen, die zugehörigen Werte können aber eine Menge sein (nicht im relationalen Modell). Beispiel: t := [ mitarb_nr = 1873, name = Mayer vorname = Hans, geb_dat = DATE( ), PLZ = 01456,...] Widersprüchlichkeit und Widerspruchsfreiheit von Tupeln Zwei Tupel sind widersprüchlich, wenn sie gleiche Attributbezeichner beinhalten, die unterschiedliche Werte haben: r := [ mitarb_nr = 3333, geb_dat = DATE( ), PLZ = ] s := [ mitarb_nr = 1873, name = Mayer vorname = Hans ] widerspruchsfreie Tupel r und s können zusammengefaßt werden r+s: r := [ name = Mayer vorname = Hans ] s := [ mitarb_nr = 1873, geb_dat = DATE( ), PLZ = 01456,...] r+s := [ mitarb_nr = 1873, name = Mayer vorname = Hans, geb_dat = DATE( ),

16 KAPITEL 2. RELATIONALE GRUNDLAGEN 15 PLZ = 01456,...] Relationenschemata und Relationen Def.: Ein Relationenschema S ist durch eine Menge A von Attribut-Bezeichnern und durch eine Zuordnung, die jeden Attribut-Bezeichner a aus A eine Domäne d(a) zuordnet, gegeben. Beispiel: ( mitarb_nr Mitarbeiternummern, name Namen, vorname Namen, geb_dat DATE, abteilung PKAbt, plz PLZen, wohnort Orte, strasse Strassen, hausnr Hausnummern ) wobei natürlich auch einfache Domänen wie CHAR(40) verwendet werden können. Wenn die Domänen nicht von Interesse sind, wird folgende Kurzschreibweise angewandt: ( mitarb_nr, name, vorname, geb_dat, abteilung, plz, wohnort, strasse, hausnr ) Def.: Eine Relation R ist eine Menge von Tupeln, die diesem Relationenschema genügt, wobei als Werte auch Nullmarken zugelassen sind bzw. Attribute fehlen dürfen. Mit anderen Worten, eine Relation ist eine Menge (keine Multimenge) von Tupeln mit übereinstimmenden Attribut- Bezeichnern. Ein Tupel t genügt (ist kompatibel zu) einem Relationenschema S, wenn t nur Attributbezeichner enthält, die auch in S vorkommen, für jeden Attributbezeichner a aus t der Wert t.a aus d(a) ist Streng genommen müßte man zwischen der Relation im Sinne des relationalen Modells, welche keine doppelt auftretenden Tupel erlaubt, und der Relation im Sinne von Tabelle, wo auch identische Datensätze auftreten können, unterscheiden. Das Auftreten identischer Datensätze ist nicht sehr sinnvoll, da diese auch in einem RDBMS nicht unterschieden werden können. Eigenschaften von Relationen sind:

17 KAPITEL 2. RELATIONALE GRUNDLAGEN 16 keine Tupelreihenfolge keine Attributreihenfolge Attribute sind atomar (entspricht der 1.NF) keine doppelten Tupel 2.3 Schlüssel und relationale Integritätsregeln Schlüssel Kandidatenschlüssel/Schlüsselkandidaten (Candidate Key) Unter Kandidatenschlüssel versteht man eine kleinstmögliche Menge von Attributen, deren Wert eindeutig (unique) ist. Unter kleinstmöglich versteht man, daß nach Weglassen von Attributen die Eindeutigkeitsbedingung nicht mehr gegeben sein darf. Beispiel für Schlüsselkandidaten: KatNr ISBN Titel Autor Verlag Schlüsselkandidaten Inf01a Datenbanken Hinz 1 alle Inf02a Java Kunz 2 Inf03a Server Prog Kunz 2 außer Autor, Verlag Inf04a Java Hinz 1 und außer Titel Inf01b Datenbanken Hinz 1 KatNr Natürlich darf man solche Betrachtungen über Eindeutigkeit NIE auf die gerade existierenden Datensätze beschränken. Zumal ja zum Zeitpunkt des Datebankentwurfs ohnehin noch keine Daten existieren. Primärschlüssel (Primary Key) Zur eindeutigen Identifizierung eines Tupels in einer Relation wird ein Primärschlüssel aus der Menge der Kandidatenschlüssel festgelegt bzw. ein neuer angelegt. Dieser Primärschlüssel bzw. eine Komponente des Primärschlüssels darf keine Nullmarke enthalten. TIP: Primärschlüssel sollten nie manuell eingebbar sein und vor allem keine inhaltliche Bedeutung haben. Damit wird verhindert, daß bei bürokratischen und Verwaltungsentscheidungen (wie z.b. der Änderung der Postleitzahlen oder des Aussehens der Matrikelnummer) die gesamte Datenbank mit vielen Schlüsseln umstrukturiert werden muß. (Dieser Tip gilt natürlich nicht für Übungsdatenbanken.) Fremdschlüssel (Foreign Key) Ein Attribut, dessen Domäne als Menge aller Werte des Primärschlüssels oder eines Schlüsselkandidaten einer anderen Relation definiert ist., wird Fremdschlüssel genannt.

18 KAPITEL 2. RELATIONALE GRUNDLAGEN 17 Weitere Schlüssel Zweitschlüssel (Secondary / Alternate Key) Abb. Tabellen mit Schlüsseln Relationale Integritätsregeln Entity-Integrität: Kein Attribut, das Komponente des Primärschlüssels ist, darf zu irgend einem Zeitpunkt als Wert eine Nullmarke haben. Referenzielle Integrität: Jeder Wert eines Fremdschlüssels einer Relation muß in der Relation, auf die der Fremdschlüssel verweist, vorhanden sein, es sei denn, der Fremdschlüssel enthält eine Nullmarke. Durch folgende Daten-Manipulations-Operationen kann die Integrität einer Datenbank verletzt werden: Operation INSERT UPDATE DELETE Wirkung Tupel hinzufügen Tupel ändern Tupel löschen (Auftreten von Delete-, Insert-, Update-Anomalien in schlecht normierten Systemen ) Dabei können Entity-Integrität und referenzielle Integrität betroffen sein. Verstöße gegen die Entity-Integrität sollten direkt abgewiesen werden, bei Verstößen gegn die referenzielle Integrität gibt es verschiedene Reaktionen: restricted (wird abgewiesen) cascade (Löschen eines Tupels, auf den verwiesen wird, bewirkt Löschen von Tupeln, die auf ihn verweisen) set null / set default (nicht mehr existente Verweise werden auf NULL bzw. den default-wert gesetzt 2.4 Relationale Algebra Innerhalb des Relationalen Modells von Codd werden Datenmanipulationen vereinbart. Für diese Datenmanipulationen werden Operationen auf Relationen de-

19 KAPITEL 2. RELATIONALE GRUNDLAGEN 18 finiert, welche als Ergebnis wiederum Relationen liefern. (Die Syntax der Operationen folgt /Matt00/): folgene Operationen werden genutzt: Sel Selektion Proj Projektion Ren Umbenennung Grp Gruppierung Adj Adjunktion virtueller Spalten Join Verbund Kreuzprodukt Vereinigungsmenge Durchschnittsmenge \ Differenzmenge Für ein- und zweistellige Operationen ergibt sich folgende Syntax: einstellige Operationen Operator[Bedingung](Relation) zweistellige Operationen Relation Operator[Bedingung] Relation siehe auch /HeSa00 S.114ff. S.296ff./ Die Auswahl (Selektion) Unter Selektion (manchmal als Restriktion bezeichnet) versteht man die Auswahl definierter Tupel aus einer Relation. Die Selektion darf nicht mit dem wesentlich mächtigeren SQL-Befehl SELECT verwechselt werden, der die Möglichkeiten verschiedener algebraischer Operationen vereint. Syntax: Sel[Bedingung](Relation) Bedingung ist ein logischer Ausdruck, bestehend aus Attributbezeichnern der Relation Konstanten Vergleichsoperatoren logische Operatoren,, (und, oder, nicht) andere Operatoren (wie z.b. Arithmetik) S attr1 attr2 A 1 B 2 c 3 deg R = deg S card R card S R = Sel [attr1 = A ] ( S ) attr1 attr2 A 1

20 KAPITEL 2. RELATIONALE GRUNDLAGEN Projektion Die Projektion extrahiert Attribute aus einer Relation Syntax: Proj[Attribut-Teilmenge](Relation) S attr1 attr2 A 1 A 2 B 2 C 3 R = Proj [attr1] ( S ) attr1 A B C kann die Kardinalität verändern, da mehrere Tupel nach der Operation gleich sein können und die Doppel wegfallen. deg R < deg S card R card S Beispiel: Buchtabelle mit und ohne KatNr, doppelte Bücher fallen weg Umbenennung Bei der Umbenennung wird der Name einzelner Attribute verändert. ist wichtig bei Verknüpfungen von Tabellen Syntax: Ren[Umbenennungsliste](Relation) S KundenNummer KundenName 1 Müller 2 Meier 3 Schulze R = Ren [KNummer ::= KundenNummer, KName ::= KundenName] S KNummer KName 1 Müller 2 Meier 3 Schulze Gründe für Umbenennungen: Bei Mengenoperationen müssen die Bezeichnernamen übereinstimmen bei Verbünden müssen nichtkorrespondierende Bezeichner ungleiche Namen haben Adjunktion virtueller Spalten Syntax: Adj[s::=a] (R) R ist eine Relation, a ein aus

21 KAPITEL 2. RELATIONALE GRUNDLAGEN 20 Atributbezeichnern der Relation Operationen für die entsprechenden Domänen und Konstanten bestehender Ausdruck und s ein noch nicht als Attributbezeichner verwandter Bezeichner. S R = Adj [Wert ::= Bestand * Preis] ( S ) Produkt Bestand Preis Produkt Bestand Preis Wert DB-Lizenz DB-Lizenz Server Server RAID RAID Printer Printer Gruppierung Grp [gruppenattributliste adj-spalten-liste] (relation) adj-spalten-liste := adj-spalte,... adj-spalte := bezeichner ::= ausdruck Der Ausdruck kann Aggregatfunktionen enthalten, die jeweils auf alle Tupel angewandt werden, die für die Gruppe der Attribute gleiche Werte haben: COUNT (*)... Zahl der Tupel COUNT (arg)... Zahl definierter Werte von arg (ohne NULL) COUNT DISTINCT (arg)... Zahl unterschiedlicher Werte von arg (ohne NULL) SUM (arg) AVG (arg) MIN (arg) MAX (arg) arg ist ein Attributbezeichner eines Nichtgruppen-Attributes. Beispiele: Kunden KdNr Name... PLZ Ort 1 Hinz Leipzig 2 Kunz Leipzig 3 Krause Leipzig 4 Müller München Grp[PLZ,Ort Anzahl::=COUNT(*)](Kunden) PLZ Ort Anzahl Leipzig Leipzig München 1

22 KAPITEL 2. RELATIONALE GRUNDLAGEN 21 Grp[Ort Anzahl::=COUNT(PLZ)](Kunden) Ort Anzahl Leipzig 3 München 1 Grp[Ort Anzahl::=COUNT DISTINCT(PLZ)](Kunden) Ort Anzahl Leipzig 2 München 1 Grp[ Kundenzahl::=COUNT DISTINCT (KdNr)](Kunden) Kundenzahl Mengenoperationen Sollen Relationen mittels Mengenoperationen verknüpft werden, so müssen sie über identische Attributsätze, also übereinstimmende Relationenschemata verfügen. ( wird manchmal als UNION-kompatibel bezeichnet /Sau98/) Vereinigung (UNION) R S Vereinigung Durchschnitt (INTERSECTION) R S Durchschnitt Differenz (DIFFERENCE) R \ S Differenz

23 KAPITEL 2. RELATIONALE GRUNDLAGEN Das Kreuzprodukt (Produkt, kartesisches Produkt) bildet alle Kombinationsmöglichkeiten von Tupeln der ersten mit Tupeln der zweiten Relation. Voraussetzung ist, daß keine gleichen Attributbezeichner in beiden Relationen existieren. Syntax: R S = R Join [] S (Join ist der im nächsten Absatz behandelte Verbund) R Tag Mo Di Mi... So S Mahlzeit Frühstück Mittagessen Abendbrot deg R S = deg R + deg S card R S = card R card S R S Tag Mahlzeit Mo Frühstück Mo Mittagessen Mo Abendbrot Di Frühstück So Mittagessen So Abendbrot Der Verbund (Join) Der natürliche Verbund verknüpft zwei Relationen über alle gemeinsamen Attribute Syntax: T = R Join [a1,..,an] S wobei a1,..,an die Liste der gemeinsamen Attribute ist, die Attribute müssen in Bezeichner und Domäne übereinstimmen (zumindest vergleichbar sein) Die Ergebnisrelation T erhält alle Attribite von R und S, wobei die Verbindungsattribute nur einmal auftreten R attr1 attr2 S attr3 attr2 A 1 U 3 B 2 V 4 C 3 W 5 deg T = deg R + deg S - n R Join [attr2] S attr1 attr2 attr3 C 3 U Ein weiteres Beispiel: Kunden mit Bestellungen Kunden KNr KName 1 Meier 2 Kunze 3 Frenzel Bestellungen BestNr KNr Artikel Menge 1 2 Brot Schinken Bier 11

24 KAPITEL 2. RELATIONALE GRUNDLAGEN 23 Kunden Join [KNr] Bestellungen KNr KName BestNr Artikel Menge 2 Kunze 1 Brot 2 2 Kunze 3 Bier 11 3 Frenzel 2 Schinken 1 Tupel einer Relation können mit keinem, einem oder mehreren Tupeln der anderen Relation verbunden werden. Im ersten Fall erscheinen sie nicht in der Ergebnisrelation. Hier erscheinen nur Kunden, die auch etwas bestellt haben. Der θ-verbund (θ-join, Theta-Join) θ steht für einen Vergleichsoperator =, >, <, <>, >=, <= der Spezial-Fall = wird als Equi-Join bezeichnet Syntax: R Join [Bedingungen] S Der θ-verbund kann als Selektion auf dem Kreuzprodukt definiert werden. Sel [Bedingungsliste] (R S) Sel [Bedingungsliste] (R Join [ ] S) Somit gilt auch hier, daß es keine gemeinsamen Attribut-Bezeichner geben darf. Ggf. ist vorher umzubenennen. Der Grad (degree) berechnet sich wie beim Kreuzprodukt, die Kardinalität ist wegen der Selektion <= der des Kreuzproduktes. Im folgenden Beispiel soll über einen θ-verbund realisiert werden, daß Mitarbeiter an ihrem Geburtstag gewisse Arbeiten nicht verrichten müssen: Mitarbeiter Veranstaltung Name Hinz 3.5. Kunz GebTag Termin Art 3.5. Versammlung Inventur Veranstaltung Join [Termin<>GebTag] Mitarbeiter Termin Art Name GebTag 3.5. Versammlung Kunz Inventur Hinz Inventur Kunz 2.12 Beispiel: Self-Join Relationen können natürlich nicht nur mit anderen, sondern auch mit sich selbst verbunden werden. Dabei muß man allerdings darauf achten, daß die entsprechenden Bedingungen für die Attributbezeichner eingehalten werden. Kaiser-Beispiel /Matt00 S.56/

25 KAPITEL 2. RELATIONALE GRUNDLAGEN 24 Eigenschaften von Verbünden Verbünde sind kommutativ R Join [rs] S = S Join [rs] R und assoziativ (R Join [rs] S) Join [st] T = R Join [rs] (S Join [st] T) = R Join [rs] S Join [st] T bei letzterem Ausdruck kann man allerdings nicht einfach S und R oder T vertauschen, da ansonsten die Verbindungsattribute der Beziehungen nicht mehr stimmen Der äußere Verbund (Outer Join) Die Ergebnisrelationen der bisher besprochenen Verbünde enthalten nur Tupel für den Fall, daß die entsprechenden Bedingungen erfüllt sind bzw. die Attributwerte der gemeinsamen Attribute in beiden Relationen enthalten sind. Diese Verknüpfungen werden auch als innere Verbünde bezeichnet. Mit dem Konstrukt des äußeren Verbundes wird die Möglichkeit geschaffen, alle Sätze einer Relation (der äußeren) erscheinen zu lassen. Fehlt das Vergleichsattribut in der anderen (der inneren) Relation, werden die entsprechenden Attributwerte mit NULL-Werten aufgefüllt. Aus Gründen der Übersicht beschränken wir uns hier auf den äußeren Verbund zum natürlichen Verbund. Ausgangsrelationen: R S a1 a2 a2 a3 A w y C B x z D C y Linker äußerer Verbund (left outer join): R Join *[a2] S a1 a2 a3 A w NULL B x NULL C y C Rechter äußerer Verbund (right outer join): R Join [a2]* S a1 a2 a3 C y C NULL z D Schauen wir uns noch einmal unser Kunden-Beispiel vom natürlichen Verbund an. Kunden ohne Bestellung erschienen nicht in der Liste. Mit dem äußeren Verbund können wir nun eine Relation aller Kunden, ggf. mit allen ihren Bestellungen generieren. Kunden KNr KName 1 Meier 2 Kunze 3 Frenzel Kunden Join *[KNr] Bestellungen Bestellungen BestNr KNr Artikel Menge 1 2 Brot Schinken Bier 11

26 KAPITEL 2. RELATIONALE GRUNDLAGEN 25 KNr KName BestNr Artikel Menge 1 Meier NULL NULL NULL 2 Kunze 1 Brot 2 2 Kunze 3 Bier 11 3 Frenzel 2 Schinken Besonderheiten von Tabellen Tabellen sind Multimengen (Tupel können Vielfachheit m > 1 haben) Distinct-Operator entfernt vielfaches Auftreten: Distinct(Tabelle) Relation Projektion kein Wegfall von Tupeln Gruppierung Ergebnis ist immer Relation Kreuzprodukt: die Vielfachheiten der Tupel der Ausgangsrelationen multiplizieren sich im Produkt Mengenoperationen: + statt,, \ Vielfachheit eines Tupels T 1 + T 2 m1 + m2 T 1 T 2 min(m1, m2) T 1\T 2 max(m1 m2, 0) nur bei der Vereinigung von Tabellen kann eine Multimenge entstehen Vorschlag zum rein relationalen Arbeiten in RDBMS: Primärschlüssel in Basisrelationen/-tabellen relationale Projektion (SELECT DISTINCT...) relationale Vereinigung (UNION statt UNION ALL)

27 Kapitel 3 Datenbankentwurf 3.1 Anwendungsentwicklung Im Allgemeinen kann man ein Softwareprodukt für eine bestimmte Anwendung wie z.b. Auftragsbearbeitung Fertigungsplanung Lagerhaltung Personalverwaltung Arbeitszeiterfassung... nicht fertig kaufen. Aus den verschiedenen Punkten und den Schnittstellen zwischen ihnen ist schon das Komplizierte des anstehenden Prozesses zu erahnen. Es wird ein mehrstufiger Prozeß der Software-Entwicklung nötig sein. 26

28 KAPITEL 3. DATENBANKENTWURF 27 Abb.: klassisches Phasenmodell (nach /Matt00 S.81/) Dieses klassische Phasenmodell wird auch als Stufenleitermodell oder Wasserfallmodell bezeichnet und entsprechend leicht modifiziert dargestellt. Es entspricht dem Idealfall und wird sicher in der Praxis kaum erreicht. Modifizierungen sind zumindest das Einfügen von Rückpfeilen. Andere Modelle sind Spiralmodelle, in denen der gesamte Entwicklungsweg oder Teile wiederholt (spiralförmig) durchlaufen werden. Beim Verfahren des Prototyping wird zunächst ein Prototyp (als Programmrumpf) erstellt, der schon in dieser Phase die Zustimmung des Kunden finden muß und als Ausgangspunkt für die weiter Entwicklung gilt. Dieses klassische Modell entspricht einem monolithischen Software-Produkt, zur Entwicklung von Programmen im Zusammenhang mit Datenbanken wird nach einem modifizierten Phasenmodell vorgegangen. Ausgangspunkt für dieses Modell ist das ANSI-SPARC-Modell mit seinen Schichten: Die Datenbankentwicklung repräsentiert die Entwicklung im konzeptionellen und internen Schema, die Anwendungsentwicklung die Entwicklung im externen Schema,

29 KAPITEL 3. DATENBANKENTWURF 28 die beiden Gebiete werden durch zwei getrennte Entwicklungszweige im modifizierten Phasenmodell verwirklicht. Abb.: modifiziertes Phasenmodell (nach /Matt00 S.83/) Systemanalyse (Anforderungsdefinition, Requirement Definition) Ausgangspunkt sind die Wünsche der Nutzer Vereinigung aller Anforderungen langwieriger, in sich schon zyklischer Prozeß, resultiert in Pflichtenheft Datenbankentwicklung langfristig stabiles konzeptionelles Datenmodell gesamtheitliche Sicht des Unternehmens Datenbankrealisierung Formulierung der konkreten Datenbank in DDL (Data Definition Language) Definition aller Datenbankobjekte (Tab., Schlüssel, Constraints,...) außerdem Nutzer, Zugriffsrechte

30 KAPITEL 3. DATENBANKENTWURF 29 Sichten phys. Struktur... Anwendungsentwurf Modellierung des SW-Systems Prozesse, komplexe Operationen auf der Datenbasis Entwurf von Eingabe-/Editiermasken, Reports, Benutzermenüs resultiert in der Architektur des SW-Systems Anwendungsentwicklung Umsetzung des Entwurfes in ein konkretes Produkt Testphase Nutzung Methoden für den DB-Entwurf: Entity-Relationship-Modell (ERM, ER-Modell) basierend auf Entitäten (=Objekten) des abzubildenden Realitätsausschnittes und den Beziehungen zwischen ihnen Normalisierung - Gestaltung der Relationen nach gewissen Regeln UML (Unified Modelling Language)... Sprache für das OO-Design 3.2 Das Entity Relationship Modell Entität eigenständige Einheit, die über einen Schlüssel eindeutig zu identifizieren ist verfügt über eine Reihe von Eigenschaften (Attributen) ein Attribut verfügt über einen Bezeichner und einen Wert Werte können geändert werden Entitäten können geschaffen und gelöscht werden Beispiele für Entitäten ein Gegenstand eine Person mit Name, Vorname, Geburtsdatum,... ein Artikel ein Fahrzeug mit Eigenschaften wie Kennzeichen, Fahrgestellnummer,... Eine abhängige Entität ist eine Entität, die von einer Vaterentität abhängt und nur so lange existiert wie diese Vaterentität z.b.:

31 KAPITEL 3. DATENBANKENTWURF 30 die Positionen einer Bestellung die Bankverbindung eines Kunden Entitätentyp und Entitätenmenge Entitätentyp - abstrakte Zusammenfassung von Entitäten, die durch die gleichen Eigenschaften beschrieben werden, eine Entität wird durch ihren Entitätentyp gekennzeichnet Entitätenmenge (entity set) - konkrete Menge von Entitäten z.b. ergibt jede Datenbankanfrage eine Entitätenmenge Attribut Eigenschaften der Entitäten eines Entitätentyps werden durch Attribute beschrieben Attribute bestehen aus Attributbezeichner und einer Domäne wichtig ist die richtige Auswahl der Attribute für die Charakterisierung einer Entität, da es sich hier immer um einen Ausschnitt aus der Wirklichkeit handelt Beziehung und Beziehungstyp zwischen 2 oder mehr Entitäten gibt es zweistellige und mehrstellige Beziehiungen (relationships) Entitäten spielen in einer Beziehung eine Rolle, ggf. auch mehrere, wenn es sich um eine Beziehung zwischen der gleichen Entität handelt. Beziehungen können ihrerseits wieder Eigenschaften haben, z.b. können Preis (falls es keine Festpreise gibt) und Menge Eigenschaften einer Beziehung sein. Ein Beziehungstyp (relationship type) beschreibt eine Klasse von Beziehungen, die jeweils die gleichen Rollen und Eigenschaften haben. Für die Entitäten der Rollen sind Entitätentypen vorgegeben Geschäftsregeln Neben Daten und Beziehungen enthält das Datenmodell auch Geschäftsregeln. Das sind Bedingungen, die als Einschränkungen an die Werte von Attributen und an mögliche Beziehungen zwischen Entitätenmengen gestellt werden. Beispiele: Festlegung eindeutiger Schlüssel Beziehungen zwischen Attributen Einschränkungen zur Kardinalität, d.h., wie viele Entitäten zu wievielen in Beziehung stehen

32 KAPITEL 3. DATENBANKENTWURF 31 Geschäftsregeln sind intensionale Beziehungen, die aus der Sache begründet existieren und durch geeignete Maßnahmen sichergestellt werden müssen (z.b. durch Trigger in der Datenbank) Im Gegensatz dazu sind extensionale Beziehungen rein zufällig, z.b. die Eindeutigkeit des Buchtitels zu einem bestimmten Zeitpunkt in einer Buch-Tabelle Schlüssel Eine Entität muß durch Attribute eindeutig identifizierbar sein, dazu ist ein Schlüssel festzulegen. Beispiele: Kfz.-Kennzeichen Signatur eines Buches in einer Bücherei ISBN Vorhandene Identifizierungssysteme (wie Name, Vorname) reichenoft nicht aus künstliche Systeme, Anforderungen nach Zehnder (1985) jede Entität hat genau einen unveränderlichen, anderweitig nicht vorkommenden Identifizierungsschlüssel eine neue Entität erhält sofort ihren Schlüssel Kürze und leichte Schreibbarkeit und dazu im Widerspruch, sollte nur gemacht werden, falls es dadurch nicht zu Problemen kommen kann sprechende Schlüssel gewisse Eigenschaften sollten schon aus dem Schlüssel ersichtlich sein HINWEIS: m.e. sollten die Schlüssel maschinengeneriert und dem Nutzer unsichtbar sein. Nur so können Probleme bei der Änderung von Eigenschaften, die als Schlüssel dienen (wie z.b. PLZ, Matrikelnummern, Kfz.-Kennzeichen) vermieden werden.

33 KAPITEL 3. DATENBANKENTWURF Entity-Relationship-Diagramme ER-Diagramme nach Chen Abb. ursprüngliche Notation /Matt00 S.91/ Entität Relation (Beziehung) abhängige Entität Die Kardinalitäten 1,N sind Obergrenzen, Untergrenzen gibt es in dieser Darstellung noch nicht. Weiterentwicklung für zweistellige Beziehungen Bei den zweistelligen Beziehungen stellt sich die Frage, wie viele Entitäten des einen Typs zu wievielen des anderen in Beziehung treten. Dabei wird zwischen folgenden Fällen unterschieden: Mindestzahlen 0... optional 1... obligatorisch (mandatory) Höchstzahlen 1... eindeutig (höchstens 1) *... mehrdeutig (beliebig viele) Somit ergeben sich 4 Type zwischen der Beziehung und der Entität: graph. Element Kard. (z.b.in UML) Bezeichnung 0..1 c optional (conditional) unique 0..* mc optional multiple mandatory unique 1..* m mandatory multiple

34 KAPITEL 3. DATENBANKENTWURF 33 Beispiele für Beziehungen

35 KAPITEL 3. DATENBANKENTWURF 34 ER-Modell mit Attributen (Version des Chen-Diagrammes) /Matt00 S.99/ hier haben wir die Möglichkeit, Beziehungen aufzulösen in Entitäten Für die Seite, auf der die Kardinalitäten angegeben werden, gibt es in der Literatur beide Varianten: wie vorgestellt (international) vice versa (mehr im deutschen Raum, siehe Case)... und natürlich hat wieder jeder Hersteller eines Case-Tools für die Datenbank- Modellierung seine eigenen Symbole! Das werden wir bei der Arbeit mit Case von microtool kennenlernen. Regeln für die Überführung von Entitäten und Beziehungen in Relationen nach G. Jackson (1988) werden in Zusammenhang mit den ERM-Übungen in case/4/0 abgeleitet.

36 KAPITEL 3. DATENBANKENTWURF Domänen Unter Domäne versteht man den Wertebereich, also die möglichen vorkommenden Werte eines Attributs. Zum Entwurf des Datenmodells sollte eine möglichst abstrakte Darstellung der Domäne gewählt werden und keine konkreten Datentypen, z.b. die Domäne PLZ für eine Postleitzahl, und nicht einen fünfstelligen String. So kann eine Änderung zentral an einer Stelle geschehen und konkrete Festlegungen können so spät wie möglich getroffen werden. 3.3 Klassendiagramme (UML) UML... Unified Modelling Language ein standardisiertes Hilfsmittel zur Beschreibung von objektorientierten Systemen graphische Beschreibungssprache ein Produkt der Object Management Group siehe auch (enthält gute UML-Notationsübersicht)

37 KAPITEL 3. DATENBANKENTWURF 36 /Matt00 S.110/ Handel-Beispiel Elemente der UML Vererbung (Pfeil) Aggregation (offener Diamant) Komposition (gefüllter Diamant)

38 KAPITEL 3. DATENBANKENTWURF Normalformen in relationalen Datenbanken Unter Normalisierung versteht man die, gewissen Regeln gehorchende, Aufteilung der Daten in Relationen. Grund für die Durchführung der Normalisierung sind vor allem die Vermeidung von Redundanzen und die damit verbundene leichtere Beherrschbarkeit und Pflege der Daten. Codd Normalformen Boyce/Codd - Normalform 1974 BCNF Fagin und 5. Normalform In der Praxis vor allem und ev. noch die BC Normalform. Zum Verständnis der Normalformen ist das Verständnis der Abhängigkeitsklassen zwischen Attributen nötig: funktionale Abhängigkeit

39 KAPITEL 3. DATENBANKENTWURF 38 Def.: In einer Relation R(A,B) ist B von A funktional abhängig, wenn zu jedem Wert von A genau ein Wert von B gehört A ist Determinante von B vergleiche mit der Eindeutigkeitbedingung für math. Funktionen y = x 2 ist eine Funktion y = ± x ist keine Funktion triviale Abhängigkeit ist B eine Teilmenge von A, so ist B von A trivial abhängig voll funktionale Abhängigkeit Def.: In einer Relation R(S1,S2,B) ist B von den Attributen (Schlüsseln) S1 und S2 voll funktional abhängig, wenn B von den zusammengesetzten Attributen S1,S2, nicht aber von S1 oder S2 funktional abhängig ist transitive Abhängigkeit Def.: In einer Relation R(S,A,B) ist B von S transitiv abhängig, wenn B von A und A von S funktional abhängig sind, jedoch nicht S von A mehrwertige Abhängigkeit Def.: [Sauer] m.e. wenig sinnvoll Normalform Def.: Eine Relation ist in der 1. Normalform (1NF), wenn die Werte aller Attribute elementar (atomar) sind. Dabei sind auch komplexere Strukturen wie z.b. das Datum erlaubt Normalform Def.: Eine Relation befindet sich in der zweiten Normalform (2NF), wenn sie sich in der 1NF befindet und jedes Nicht-Schlüssel-Attribut voll funktional abhängig vom Gesamtschlüssel ist. Das bedeutet auch, daß eine Relation, die sich in der 1NF befindet und deren Schlüssel aus nur einem Attribut besteht, auch der 2NF genügt Normalform Def.: Eine Relation befindet sich in der dritten Normalform (3NF), wenn sie sich in der 1NF und 2NF befindet und es keine nichttrivialen funktionalen Abhängigkeiten zwischen Nicht-Schlüssel-Attributen gibt Boyce/Codd-Normalform Def.: Eine Relation befindet sich in der Boyce/Codd-Normalform (BCNF), wenn jede Determinante ein Schlüsselkandidat ist. Boyce-Codd Abhängigkeiten beschreiben einen Teil eines Schlüssels, der von einem Attribut abhängig ist, welches nicht zu einem anderen Schlüssel gehört.

40 KAPITEL 3. DATENBANKENTWURF Normierungsbeispiele Nicht-normalisierte Relationen enthalten Felder von Attributen oder Attributgruppen (nicht-atomare Werte). Für die Verarbeitung in RDBMS sind diese Relationen nicht geeignet. Man bezeichnet sie auch als NF 2 -Relationen (NFNF... non first normal form). Artikel ArtNr ArtName Lieferant 1 PC Monitor 2 3 Drucker Kundenbetreuung MaNr AbtNr MaName AbtName KdNr KdName KdAddr 1 1 Hinz Support 1 Adam AG Adorf 2 Bertha Gmbh Bdorf 2 1 Kunz Support 3 Ce KG Cestadt 1 2 Otto Vertrieb 1 Adam AG Adorf 2 2 Motz Vertrieb 2 Bertha Gmbh Bdorf 3 2 Kalle Vertrieb 3 Ce KG Cestadt Kundenbestellung BstNr KdNr KdName PosNr ArtNr ArtName Menge 1 1 Adam AG 1 1 PC Monitor Drucker Ce KG 1 3 Drucker 5 1NF Um die Relationen in die erste Normalform zu überführen gibt es 2 Möglichkeiten. Die erste, simple ist die, jeden der nicht-atomaren Teile mit den restlichen Attributen zu komplettieren. Kundenbetreuung MaNr AbtNr MaName AbtName KdNr KdName KdAddr 1 1 Hinz Support 1 Adam AG Adorf 1 1 Hinz Support 2 Bertha Gmbh Bdorf 2 1 Kunz Support 3 Ce KG Cestadt 1 2 Otto Vertrieb 1 Adam AG Adorf 2 2 Motz Vertrieb 2 Bertha Gmbh Bdorf 3 2 Kalle Vertrieb 3 Ce KG Cestadt Kundenbestellung BstNr KdNr KdName PosNr ArtNr ArtName Menge 1 1 Adam AG 1 1 PC Adam AG 2 2 Monitor Adam AG 3 3 Drucker Ce KG 1 3 Drucker 5 Die andere Möglichkeit der Normalisierung ist das Herausziehen der Wiederholungsgruppen aus den Relationen. Kundenbetreuung = Mitarbeiter, Kunden, Betreuung Mitarbeiter

41 KAPITEL 3. DATENBANKENTWURF 40 MaNr AbtNr MaName AbtName 1 1 Hinz Support 2 1 Kunz Support 1 2 Otto Vertrieb 2 2 Motz Vertrieb 3 2 Kalle Vertrieb ist nicht in der 2NF, da AbtName nur von einem Teil des Schlüssels (AbtNr) abhängig ist Kunden KdNr KdName KdAddr 1 Adam AG Adorf 2 Bertha Gmbh Bdorf 3 Ce KG Cestadt ist auch schon in 2NF Betreuung MaNr AbtNr KdNr ist auch schon in 2NF Kundenbestellung = Bestellungen, Positionen Bestellungen BstNr KdNr KdName 1 1 Adam AG 2 3 Ce KG befindet sich auch in der 2NF Positionen BstNr PosNr ArtNr ArtName Menge PC Monitor Drucker Drucker 5 befindet sich auch in der 2NF 2NF Alle Relationen bis auf Mitarbeiter sind bereits in der 2NF. In der Relation Mitarbeiter existiert eine Abhängigkeit AbtNr AbtName, die in eine neue Relation Abteilung herausgelöst wird. Mitarbeiter = Mitarbeiter2NF, Abteilung Mitarbeiter2NF MaNr AbtNr MaName 1 1 Hinz 2 1 Kunz 1 2 Otto 2 2 Motz 3 2 Kalle

42 KAPITEL 3. DATENBANKENTWURF 41 Abteilung AbtNr AbtName 1 Support 2 Vertrieb 3NF Von allen Relationen in der 2NF gibt es nur folgende transitiven Abhängigkeiten bzw. Abhängigkeiten zwischen Nichtschlüsselattributen: Bestellungen: KdNr KdName Positionen: ArtNr ArtName Diese Attribute werden in separate Relationen herausgelöst. Bestellungen = Kunden2, Bestellung3NF Kunden2 = Proj [KdNr,KdName] Bestellung KdNr KdName 1 Adam AG 3 Ce KG Teilmenge der Relation Kunden (Sel[..](Proj[KdNr, KdName]Kunden) Bestellung3NF = Proj [BestNr, KdNr] Bestellungen BstNr KdNr Positionen = Artikel, Position3NF Artikel = Proj [ArtNr, ArtName] Positionen ArtNr ArtName 1 PC 2 Monitor 3 Drucker Position3NF = Proj [restl. Attribute, Primärschlüssel Artikel] Positionen BstNr PosNr ArtNr Menge Aufgaben beim Datenbankentwurf Betimmung des Mengengerüsts für die Datenbank /Matt00 S.132/ Relationsgroesse = Tupelzahl * (Tupelgroesse + 1,2 * Summe (Laenge_der_indiz_Felder)) + Platz_fuer_Erweiterungen Datenübernahme Planungs des Umfangs der Datenübernahme Planung der Parallelarbeits- und Testphase nach der Einführung des neuen Produkts

43 KAPITEL 3. DATENBANKENTWURF 42 Datenschutzkonzept Datenschutzgesetze Zugriff/Manipulation durch Unbefugte unmöglich? Datensicherungskonzept Datensicherung Wiederherstellung nach Zerstörung möglich? Verteilung von Daten- und Logfiles auf unterschiedliche Datenträger Verteilung von Daten und Verarbeitung Konzept der Historienführung und Entsorgung/Archivierung von Daten Auswahl des RDBMS (in diese Entscheidung muß die Unterstützung der Punkte dieser Liste mit beachtet werden)

44 Kapitel 4 SQL Datenbank-Sprachen graphische Sprachen(z.B. QBE... Query By Example) textuelle Sprachen (SQL) 4.1 Allgemeines zum Standard Historische Entwicklung: 1974 D. Chamberlain u.a. (IBM) definieren SEQUEL (Structured English Query Language) 1977 SEQUEL/2 (IBM-Prototyp) Oracle: Implementierung von SEQUEL auf Mainframes 1979 Oracle: Auslieferung des 1. RDBMS mit SQL 1981 SQL/DS (IBM) 1985 Ingres und Informix stellen auf SQL um 1986 Sybase; X/OPEN mit SQL 1987 Standard ISO 9075 Database Language SQL (SQL-86) 1989 SQL89 Database Language SQL with Integrity Enhancement 1992 SQL92 (SQL2) 1993 RDA-Standard (Remote Data Access) der Database Access Group veröffentlicht 1996 Normierung von Datenbankprozeduren 1999 SQL:1999 (SQL3, SQL99) Widersprüche zwischen Standard und konkreten RDBMS: einerseits wird der Standard oft in einzelnen Punkten nicht erfüllt andererseits gibt es Erweiterungen der einzelnen Produkte gegenüber dem Standard, bei deren Nutzung der Umstieg auf ein anderes Produkt erschwert wird Trotzdem ist zunehmend das Bestreben zu erkennen, den Standard zu erfüllen. Gründe für die Standardisierung: 43

45 KAPITEL 4. SQL 44 verschiedene RDBMS können parallel arbeiten Anwenderprogramme sollen relativ problemlos auf unterschiedliche RDBMS zugreifen können herstellerunabhängige Front Ends sollen eine genormte Schnittstelle vorfinden die Administration verschiedener Systeme sollte ähnlich bzw. gleich sein die Anwendungsentwicklung mit CASE-Tools (RDBMS unabhängig) solletn auf eine genormte Schnittstelle aufsetzen SQL92 Konformitätslevel von SQL (SQL92) Entry Level Transitional (vom NIST genutzt) Intermediate Full SQL Bestandteile von SQL die Data Definition Language (DDL), mit der Datenbank-Entitäten definiert werden können, Untermengen: die Storage Structure Language (SSL), mit der interne Zugriffspfade eingerichtet werden können, die Data Control Language (DCL), mit GRANT, REVOKE die Data Manipulation Language (DML), mit der Daten hinzugefügt, gelesen, geändert und gelöscht werden können. die Interactive Query Language (IQL), ist eine Untermenge der DML, mit der Anfragen formuliert werden können SQL99 Konformitätslevel von SQL (SQL99) Core SQL:1999 das RDBMS ist SQL99 ready zusätzlich mindestens ein von 9 zusätzlichen Paketen Enhanced SQL:1999 Zusatzpakete PKG001 Enhanced datetime facilities PKG002 Enhanced integrity management PKG003 OLAP capabilities

46 KAPITEL 4. SQL 45 PKG004 SQL Persistent stored modules PKG005 SQL Call-level Interface (CLI) PKG006 Basic object support PKG007 Enhanced object support PKG008 Active database features PKG009 SQL Multimedia (MM) support Bestandteile (statement classes) SQL Connection Statements, öffnet und schließt eine Client/Server-Verbindung (CONNECT, DISCONNECT) SQL Control Statements, steuert die Ausführung einer Menge von SQL- Befehlen (CALL, RETURN) SQL Data Statements (SELECT, INSERT, UPDATE, DELETE) SQL Diagnostic Statements, liefert Diagnoseinformationen, wirft Ausnahmen und Fehler (GET DIAGNOSTICS) SQL Schema Statements, macht Schemata und Objekte darin (CREATE, ALTER, DROP) SQL Session Statements, default Verhalten und Parameter für eine Session (SET) SQL Transaction Statements, Start und Beendigung einer Transaktion (START..., COMMIT, ROLLBACK)

47 KAPITEL 4. SQL 46 CLUSTERS Contain one or many A cluster is a uniquely named set of catalogs vailable to a SQL session. This is roughly comparable to an installation of an RDBMS product. According to the ANSI standard, cluster also control who gets access to the data and what sort of permissions the users might have. However, most implamantations, such as Oracle and Micrsoft SQL Server, track permissions at the catalog layer. CATALOGS A catalog is a uniquely named set of schemas. If you re an Oracle or Microsoft SQL Server user, you might be more comfortable with me term instance. Contain one or many SCHEMAS Contain one or many A schema is a uniquely named set of objects and data owned by a given user. Every catalog must contain the INFORMATION SCHEMA, which contains metadata about all the other objects stored in the catalog. A schema is the rough equivalent of a database. OBJECTS If the object is a table or view it may contain one or many An Object is a uniquely named set of data or SQL functionality. Schema objects include tables, views, modules, and routines;i.e., stored procedures and functions. COLUMNS A columns is a uniquely named set of values that defines a specific attribute of a table entity. Contain one or many DOMAIN and USER DEFINED TYPES These identify the set of valid and allowable values for a given column. RULES and ASSERTIONS These identify further rules that define valid and allowable values for given column. For example, a trigger is a SQL rule.

48 KAPITEL 4. SQL 47 /Kli01 S.11/ SQL99 Dataset Hierarchy 4.2 Data Definition Language (DDL)/ SQL Schema Statements In diesem Abschnitt wird der SQL-Standard erläutert, als Beispiele kommerzieller RDBMS-Implementierungen wird auf Oracle Release 8.1 Microsoft SQL Server 2000 eingegangen Kommentare in SQL -- Kommentar Zeilenende Oracle zusätzlich: /* Kommentar mit mehreren Zeilen */ Datenbank und Schema CREATE database_name Oracle CREATE DATABASE [database_name]... MS SQL Server CREATE DATABASE database_name... Ein Schema ist eine benannte Gruppe von Objekten (Tabellen, Sichten, deren Berechtigungen,...), die mit einem Nutzer verbunden ist. Die Anweisungen schema_object_definition können ohne Beachtung von Abhängigkeiten erfolgen, wenn eine Anweisung fehlschlägt, schlagen alle fehl CREATE SCHEMA schema_name [AUTHORIZATION ownwer_name] [schema_object_definition...] schema_object_definition := grant_statement create_table create_view Viele RDBMS unterscheiden nicht zwischen Schema und Datenbank. Oracle, MS SQL Server

49 KAPITEL 4. SQL 48 CREATE SCHEMA AUTHORIZATION owner_name [schema_object_definition...] was bedeutet owner name unter MS SQL wirklich? ein entsprechender owner_name erscheint nicht im INFORMATION_SCHEMA.SCHEMATA und auch nicht als Eigentümer des Objekts Unter Oracle sind das Schema und der Nutzer identisch. Der User wird über seinen Schemanamen qualifiziert Datentypen numerisch exakt INTEGER 4 Byte SMALLINT 2 Byte NUMERIC(p,q) genau p Stellen, q Nachkommastellen DECIMAL(p,q) mind. p Stellen, q Nachkommastellen numerisch (angenähert) REAL Gleitpunkt, einfache Genauigkeit DOUBLE PRECISISION Gleitpunkt, doppelte Genauigkeit FLOAT(p,s) p Stellen, s Nachkommastellen Zeichenketten CHARACTER(n) genau n Zeichen (CHAR) CHARACTER VARYING(n) max. n Zeichen (VARCHAR) NATIONAL CHARACTER(n) genau n Zeichen mit nat. Besonderheiten (NCHAR) NATIONAL CHARACTER VARYING(n) max. n Zeichen mit nat. Besonderheiten (NVARCHAR) CHARACTER LARGE OBJECT(n) große Textobjekte Bitketten BIT(n) genau n Bit BIT VARYING(n) max. n Bit Logischer Datentyp BOOLEAN false, true, unknown Datum und Uhrzeit DATE TIME(p) p Nachkommastellen der Sekunden TIME(p) WITH TIME ZONE TIMESTAMP TIMESTAMP WITH TIME ZONE INTERVAL [Einheit [TO Einheit]] (z.b. INTERVAL YEAR TO MONTH) Oracle MS SQL Server

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Inhaltsverzeichnis. 1. Fragestellung

Inhaltsverzeichnis. 1. Fragestellung Inhaltsverzeichnis 1. Fragestellung... 1 2. Herleitung zum Thema... 1 3. Das Entity Relationship Modell (ERM)... 2 4. Praktisches Beispiel zum ERM... 7 5. Anhang...Fehler! Textmarke nicht definiert. 1.

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin) Übungsblatt 4 Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin) Die Saartal Linien beauftragen Sie mit dem Entwurf der Datenstrukturen für ein Informationssystem. Dieses soll zur Verwaltung

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD Vorwort zur vierten Auflage 11 Vorwort zur dritten Auflage 13 Vorwort zur zweiten Auflage 15 Vorwort zur ersten Auflage 17 Hinweise zur CD 19 1 Datenbanken und Datenbanksysteme 21 1.1 Zentralisierung der

Mehr

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Themen. M. Duffner: Datenbanksysteme

Themen. M. Duffner: Datenbanksysteme Datenbanksysteme Themen Theorie Einführung Datenbank, Datenbankmanagementsystem (DBMS), Aufgaben eines DBMS Relationale Datenbanken Daten als Tabellen Datenbankentwurf im Entity-Relationship-Modell Abfragesprache

Mehr

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

Mehr

Datenbanken: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

Relationale Datenbanken und SQL

Relationale Datenbanken und SQL Günter Matthiessen, Michael Unterstein Relationale Datenbanken und SQL Konzepte der Entwicklung und Anwendung yy ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England

Mehr

Datenbanksysteme 1. Organisation. Prof. Stefan F. Keller. Ausgabe 2005. Copyright 2005 HSR SS 2005

Datenbanksysteme 1. Organisation. Prof. Stefan F. Keller. Ausgabe 2005. Copyright 2005 HSR SS 2005 Datenbanksysteme 1 Organisation Ausgabe 2005 Prof. Stefan F. Keller SS 2005 Copyright 2005 HSR Inhalt Einführung Relationales Datenmodell, Datenmodellierung DB-Entwurf, Normalisierung SQL-Data Definition

Mehr

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note: 1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence WS 2013-14 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.10.2013 Business Intelligence Praktikum

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank

Mehr

Business Intelligence Praktikum 1

Business Intelligence Praktikum 1 Hochschule Darmstadt Business Intelligence SS 2014 Fachbereich Informatik Praktikumsversuch 1 Prof. Dr. C. Wentzel Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 07.05.2014 Business Intelligence Praktikum

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Stapelverarbeitung Teil 1

Stapelverarbeitung Teil 1 Stapelverarbeitung Teil 1 In jedem Unternehmen gibt es von Zeit zu Zeit Änderungen in Normen und Firmenstandards, an die aktuelle und bereits bestehende Zeichnungen angepasst werden müssen. Auch Fehler

Mehr

1. Ziel des Datenbankentwurfs

1. Ziel des Datenbankentwurfs 1. Ziel des Datenbankentwurfs Ziel ist der Aufbau eines Modells eines Teilbereiches der wahrnehmbaren Realität und Abbildung dieses Bereichs in Form von Daten, so dass diese nach verschiedensten Kriterien

Mehr

Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung

Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung Prof. Dr. Alfred Holl, Georg Simon Ohm University of Applied Sciences, Nuremberg, Germany 29.03.2014/1 Entwurf einer einfachen Datenbank zur

Mehr

Die Excel Schnittstelle - Pro Pack

Die Excel Schnittstelle - Pro Pack Die Excel Schnittstelle - Pro Pack Die Excel Pro Pack ist eine Erweiterung der normalen Excel Schnittstelle, die in der Vollversion von POSWare Bestandteil der normalen Lizenz und somit für alle Lizenznehmer

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung Bachelorprüfung Sommersemester 2009 Programmierung

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

https://webct.net.ethz.ch/script/dbsyst/scripts/student/serve_quiz_marked.pl?do_g...

https://webct.net.ethz.ch/script/dbsyst/scripts/student/serve_quiz_marked.pl?do_g... Seite 1 von 5 View Results Übung 3 User ID: unizh.ch_scherrer_larissa_733033363031363501 Attempt: 1 / 1 Out of: 16 Started: May 31, 2006 20:43 Finished: June 6, 2006 15:04 Time spent: 138 hr, 20 min.,

Mehr

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Carl-Christian Kanne. Einführung in Datenbanken p.1/513 Einführung in Datenbanken Carl-Christian Kanne Einführung in Datenbanken p.1/513 Kapitel 1 Einführung Einführung in Datenbanken p.2/513 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk ACCESS das Datenbankprogramm Vom Microsoft (Einführung) DI (FH) Levent Öztürk Inhalt Grundlagen einer Datenbank Planung einer Datenbank Programm starten Datenbank Anlegen Tabellen anlegen Tabellen Verknüpfen

Mehr

Datenbanken. Sommersemester 2010 Probeklausur

Datenbanken. Sommersemester 2010 Probeklausur Prof. Dr. V. Linnemann Christoph Reinke Universität zu Lübeck Institut für Informationssysteme Lübeck, den 29. Juli 2010 Datenbanken Sommersemester 2010 Probeklausur Hinweise: Es ist sinnvoll, die Aufgaben

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört. Beziehungen Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört. Eine Vorlesung wird von genau einem Dozenten gelesen. Ein Dozent kann

Mehr