SQL Oracle DB

Datenbanken I

Datenbanken I


M. M.
Diese Lernkarten bieten einen umfassenden Einblick in relationale Datenbanken auf Universitätsniveau. Sie behandeln zentrale Konzepte wie Relationen, Tupel, Primärschlüssel und SQL, sowie deren Anwendung in der Datenbankverwaltung. Die Karteikarten sind besonders nützlich für Studierende der Informatik, die sich mit der Struktur und dem Zugriff auf relationale Datenbanken vertraut machen möchten.
Cartes-fiches
27
Utilisateurs
2
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
01.06.2018 / 01.06.2018

Cartes-fiches

Aufgaben des Administrators:

Aufgabenteilung:

 

–Einrichten einer Datenbank, Zugriffsschutz

–Betrieb und Kontrolle der Datenbank

 

 

–Anwender: DML (Select, Insert, Update, Delete)

–Administrator: DDL & DCL (Create Table, Create View, Grant, …)

 

Was ist SQL?

 

eine komfortable, mächtige und normierte Schnittstelle der relationellenDBMS

Beispiel einer DB ?

 

–Oracle, DB2, MS SQL Server, MySQL, PostgreSQL, Sybase

 

 

Objektorientierte und objektrelationale Datenbanken?

 

–Oracle, PostgreSQL

 

•Hierarchische Datenbanken

 

–IMS

 

•Netzwerkartige Datenbanken

 

–IDMS, UDS

NoSQL?

Not onlySQL!

NoSQLDatenbanken gliedern sich in?

 

Key/Value und dokumentenbasierte Datenbanken

•z.B. CouchDB, MongoDB

•Schemafreie Modelle, daher sehr flexibel

 

–Spaltenorientierte Datenbanken

 

•z.B. Google Big Table, Simple DB von Amazon, HBase, Cassandra

•Die Daten werden spaltenweise gespeichert!

•Bei Anfragen nach wenigen Eigenschaften extrem performant

 

–GraphenorientierteDatenbanken

 

•z.B. Sones, Neo4j

•Wie finde ich den besten Weg von A nach B?

 

Relation:

 

Relation:Menge von Tupeln

 

Tabelle:

 

Multimenge von Tupeln

Was bedeutet SQL?

 

 

Structured Query Language

 

Programmiersprache für Zugriff auf relationale Datenbanken

Geschichte von SQL?

 

•SEQUEL (1970) durch Coddauf Basis der Relationalen Algebra entwickelt.

•Durch Oracle im Jahr 1979 als SQL vorgestellt.

•Grund-Normen: SQL1 (1987) & SQL2 (1992) (SQL2 heute durchgängig implementiert)

•SQL3: 1999 (Objektorientierung)

•Erweiterungen wie XML-Unterstützung in SQL 2003, SQL 2006, SQL 2008 & SQL 2011

•Bis auf wenige Abweichungen wird SQL2 von allen wichtigen RDBS unterstützt

Regeln von Codd

 

Grundregel:

 

Regel 1 (Informationsregel):"

 

Regel 2 (Garantierter Zugriff):"

 

Regel 3 (Systematische Behandlung von NULL-Werten):"

 

Grundregel:?

 

Ein relationales Datenbankmanagementsystem (RDBMS) muss Datenbanken allein durch seine relationalen Fähigkeiten vollständig verwalten können

 

Regel 1 (Informationsregel):"

 

"Alle Informationen in einer relationalen Datenbank werden explizit auf der logischen Ebene und auf genau eine Weise dargestellt, und zwar als Werte in Tabellen."

 

Regel 2 (Garantierter Zugriff):"

 

Jedes einzelne Datenelement in einer relationalen Datenbank muss garantiert durch eine Kombination aus Tabellennamen, Primärschlüssel und Attributnamen logisch zugänglich sein."

 

Regel 3 (Systematische Behandlung von NULL-Werten):

 

Unbekannte (NULL)-Werte (im Gegensatz zu einer leeren Zeichenkette, Leerzeichen oder numerischer Null) werden in relationalen Datenbanken explizit unterstützt und stellen unbekannte oder nicht zutreffende Informationen in einer systematischen und datentypunabhängigen Weise dar. Das RDBMS muss Funktionen für diese fehlenden Werte zur Verfügung stellen. Die Funktionen müssen Datentyp-unabhängig sein."

Attribut

Ein Attribut ist ein atomares Datenelement, mit dessen Hilfe die betrachteten Objekte beschrieben werden.

Tupel (1/2) (2/2)

 

–Wert eines Attributs r im Tupel t:t.r

–Identische Tupel:Zwei Tupel sind identisch, wenn sie genau dieselben Attribute mitjeweils denselben Werten haben.

–Widersprüchliche Tupel:Zwei Tupel r und s sind widersprüchlich, wenn es einen Attributbezeichnergibt, der sowohl in r als auch in s vorkommt und für den r.a≠ s.aist.

–Widerspruchsfreie Tupel:Zwei Tupel sind widerspruchsfrei,

Relationenschema

Ein Relationenschemaist durch eine Menge von Attributbezeichnern gegeben, welchen je einem Gebiete zugeordnet ist.

Beispiel:

( mid NUMBER,

name VARCHAR,

eintritt DATE)

kurz:( a1, ..., an )falls Gebiete nicht interessieren

Ein Tupel t ist kompatibel zu einem RelationenschemaS, wenn gilt:

•t enthält nur Attibutbezeichner, die in S vorkommen, und

•für jeden Attributbezeichner a von t gilt: t.agehört zu d(a)

Relation

Eine Relation ist eine Menge von Tupeln, welche zum zugeordneten Relationenschemakompatibel sind.

Schreibweise:Relationsbezeichner(Attributbezeichner1, Attributbezeichner2, ...,Attributbezeichnern)

Beispiel:Mitarbeiter(mid,name,adresse,eintritt)

Bemerkung:

Die Mengeneigenschaft von Relationen führt zu folgenden Konsequenzen:

•Eine Relation kann nicht zwei identische Tupel enthalten.

•Die Reihenfolge der Tupel innerhalb einer Relation ist irrelevant.

Relationales Datenbankschema

Ein Schema für eine relationale Datenbank wird durch folgende Angaben festgelegt:

•Eine Menge von Bezeichnern für Relationen

•Für jede Relation ein Relationenschema

•Für jede Relation weitere Konsistenzbedingungen wie Schlüsselfelder, NOT-NULL-Marken, Werteinschränkungen, etc.

Relationale Datenbank

Eine relationale Datenbank ist gegeben durch eine Menge von Relationen, die jeweils durch das entsprechende Relationenschemabestimmt sind und die die jeweiligen Integritätsregeln erfüllen.

Primärschlüssel

Tupel müssen innerhalb einer Relation eindeutig identifizierbar sein. Zu diesem Zweck ist ein so genannter Schlüssel erforderlich.

Definitionen:

–Ein(e) Attribut(-kombination) einer Relation besitzt die Schlüsseleigenschaft, wenn es (sie) seine Tupel eindeutig identifiziert.

–Attribute und Attributkombinationen, welche die Schlüsseleigenschaft besitzen, heissen Schlüsselkandidaten.

–Der aus möglichen Schlüsselkandidaten ausgewählte Schlüssel heisst Primärschlüssel.

Minimalitätsprinzipfür Primärschlüssel:

Primärschlüssel sollten aus möglichst wenigen Attributen zusammengesetzt sein.

Schreibweise: Primärschlüsselattribute werden (durchgezogen) unterstrichen:

Beispiel:Mitarbeiter(mid,name,adresse,eintritt)

Fremdschlüssel

Beziehungen zwischen Tupelnverschiedener Relationen werden über Fremdschlüssel realisiert. Die Attributwerte eines Fremdschlüssels der abhängigen Relation beziehen sich dabei immer auf die Attributwerte des Primärschlüssels in der zugeordneten (Vater-)Relation.

Definitionen:

Bei zwei zueinander in Beziehung stehenden Relationen heisst diejenige mit dem Primärschlüssel: Vaterrelation

mit dem Fremdschlüssel: Abhängige Relation

Schreibweise: Fremdschlüsselattribute werden gestrichelt unterstrichen respektive kursiv geschrieben:

Beispiel:Mitarbeiter(mid,name,adresse,eintritt,abtid)

Verhaltensweisen beim Löschen eines Tupels der Vaterrelation: (ON DELETE)NO ACTION, CASCADE, SET NULL

Étudier