1 Nullwerte Vorgehensweise: Nullwerte als mögliche Belegung eines Attributs können durch die Angabe von not null ausgeschlossen werden. Die Angabe von.

Slides:



Advertisements
Ähnliche Präsentationen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen.
Advertisements

Rückblick Abbildung E/R-Modell auf Relationales Modell (Tabellenmodell) ENTITY-TYPES RELATIONSHIP-TYPES (1:N / N:M / 1:1) Generalisierungshierarchie.
Datenintegrität Integitätsbedingungen Schlüssel
Kardinalität von binären Beziehungen (1)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
© A. Kemper / A. Eickler1 Kapitel 5: Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung.
SQL::Geschichte/Normen (Übersicht)
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
SQL als Abfragesprache
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Relationaler Datenbankentwurf (I)
Prof. Dr. T. Kudraß1 Das Relationen-Modell. Prof. Dr. T. Kudraß2 Einführung Geht auf klassische Arbeit von Codd zurück (1970) Meistgenutztes Datenmodell.
Datenintegrität Referentielle Integrität create table
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Kapitel 9: Integritätssicherung
Datenbanken 10: Einfügen, Ändern, Löschen
1 Gruppierung (5) LhNrGesamtgewichtGesamtzahl LH LH LH LH LH LH LH Gesamtgewichte.
Lagermanagementsicht (L): relation ArtikelArt(ANr, AName, Menge, Lieferant, Gewicht); relation Lagereinheit(LeNr, LeaNr, ANr, Stückzahl, Gewicht, LhNr);
Abbildungsverfahren (1)
Löschoperationen (2) Spurgraph für AName (ArtikelArt). delete(V,AName) mit AName = aname. n ANr ist Schlüssel in ArtikelArt. n Es gilt: ArtikelArt.ANr.
Beispiel (1) A in ArtikelArt; A.ANr, A.AName AN as Zeichen(8), BEZ as Zeichen(25); AN, BEZ where ArtikelArt(ANr: AN, AName: BEZ) Beispiel: Nummern und.
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
Polymorphe Konsistenzbedingungen (1)
1 Gruppierung (1) Motivation: Bisher existierte nur die gesamte Relation als eine einzige Gruppe. Interessanter ist es, Aggregierungen über Teilmengen.
Redundanz und Anomalien (1)
2.2 Definition eines Datenbankschemas (SQL-DDL)
Beziehungen und Beziehungstypen (1)
objekt-relationale Datenbanken
Datenbankentwicklung IV-LK
Kapitel 4: Relationale Sprachen – SQL
Objektorientiertes Ausgangsschema: define type ArtikelArt is structure [ ANr: String; AName: String; Menge: Integer; Lieferant: String; Gewicht: Float.
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Datenintegrität Integitätsbedingungen Schlüssel
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Relationales Datenmodell ist beherrschend: –Riesige Datenbestände und damit hohe Investitionen. –Die große Mehrzahl der Anwendungen arbeitet mit weitgehend.
Relationales Datenmodell und DDL
Beispiel (1) A in ArtikelArt; A.ANr, A.AName Beispiel:
Zustandsübergangsdiagramme (1)
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
Rel-Modell Schema (3|8) Beispiel 8-12: Rel. Datenbank-Schema (beispielhaft) für eine rel. DB mit den Relationen angestellte1, projekt1.
Semantische Integritätsbedingungen  AIFB SS trigger-Klausel (2/5) Beispiel 3-5: Angestellter: (Ang-Nr, Ang-Name, Gehalt,Familienstand, Abt-Bez).
Aggregatfunktionen (3)
Integritätsbedingungen (Constraints)
1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.
1 Verbindungsoperationen (5) Flache Formulierung selectA.ANr, AName fromArtikelArt A, Lagereinheit Le1, Lagereinheit Le2 whereA.ANr = Le1.ANr andA.ANr.
1 Referenzielle Konsistenz (1) Vorgehensweise: Klausel references mit nachfolgender Spezikation eines Attributs einer anderen Tabelle identifiziert ein.
Beispiel: Lagerverwaltung (1)
Vordefinierte Datentypen (1)
Motivation (1) n Datenbasen sind oft riesig. Für den einzelnen Benutzer interessiert aber meist nur ein kleiner Teil oder darf nur interessieren.  Es.
Abbildung: n Schritt 1: Alle Relationen außer Verträglichkeit sind Hauptobjekt- Relationen. Im folgenden also nur noch Verträglichkeit zu betrachten. n.
1 Syntaktische Grundform selectA 1, A 2, …, A n fromR 1, R 2, …, R m wherebedingung w ;
Unnest-Operator: Beispiel  GeoFläche (NF2GeoKörper)
Einfügeoperationen (1) VDB VDB' DB DB' o = einfüge(anr,aname) p?? v v =  ANr,AName (ArtikelArt) n Forderung:  ANr,AName (ArtikelArt)  {(anr, aname)}
Annahmen: Beispiel (1) Sicht 1: Lagermanagement:
1 Relationale Datenbasisschemata (1) Substitution der Variablen zu Tupel- und Relationstypen. Für das Beispiel: Typ tupel EineArtikelArt ( ANr:Zeichen(8),
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
1 Natürliche Verbindung (Natural Join) (3) Beispiel: „Alle Artikel gemeinsam mit den Lagereinheiten, in die sie verpackt sind.“:  ANr, AName, LeNr (ArtikelArtbLagereinheit.
Weiteres Beispiel (1) LoaNr Breite Höhe Länge MaxGewicht <0,*>
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Die erste Form der INSERT-Anweisung dient der Neueingabe von Daten:
 Präsentation transkript:

1 Nullwerte Vorgehensweise: Nullwerte als mögliche Belegung eines Attributs können durch die Angabe von not null ausgeschlossen werden. Die Angabe von primary key impliziert für die entsprechenden Attribute die Bedingung not null. Bei einem unique-Attribut wird die NULL-Belegung maximal eines Tupels hingegen toleriert. Dies wäre also durch not null auszuschließen. Beispiel: Artikelnamen sollen immer angegeben werden. Es ergibt sich: create table ArtikelArt ( … AName char(25) not null, … );

2 Standardbelegung Vorgehensweise: Mittels der default-Klausel kann für ein Attribut eine initiale Wertebelegung festgelegt werden. Beispiel: Artikelnamen sollen bei fehlenden Benutzerangaben mit ‘- unbekannt-' belegt werden: create table ArtikelArt ( … AName char(25) not null default ’-unbekannt-', … ); Anmerkung: Klausel not null erübrigt sich keineswegs, denn sonst könnte man mittels update doch Nullwerte für AName einbringen.

3 Wertebeschränkung (1) Vorgehensweise: check-Klausel erlaubt Einschränkungen der Werte von Attributen über recht allgemein formulierbare Vergleiche. Beispiel: Längen-, Breiten- und Höhenangaben in den Lagerverwaltungsrelationen sollen immer größer als 0 spezifiziert sein. Außerdem dürfen Breitenangaben maximal so groß wie Längenangaben sein. create table LagereinheitArt ( … Länge integer check (Länge > 0), Breite integer check (Breite > 0 and Breite <= Länge), Höhe integer check (Höhe > 0), … );

4 Wertebeschränkung (2) Weitere Möglichkeiten: Die Einbettung von SQL-Suchanweisungen ist erlaubt. Damit sind etwa Vergleiche von Maximum-, Minimum-, Summen- oder Durchschnittsberechnungen mit Spaltenwerten möglich. Beziehungen von Tupeln unterschiedlicher Relationen können ausgenutzt werden. Beispiel: “Das Gewicht eines Lagerhilfsmittels muss dem Gesamtgewicht der auf ihm stehenden Lagereinheiten entsprechen”: create table Lagerhilfsmittel ( LhNr char(8) primary key, … Gewicht GewichtsAngabe check ( Gewicht = selectsum(Le.Gewicht) fromLagereinheit Le whereLhNr = Le.LhNr), … ); Geänderte Qualifizierungsregel!