SQL-Einführung: Unterschied zwischen den Versionen

Aus IV1
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:


Ergänzt um Sortierkriterien und zeitlich/regionalen Einschränkungen (Selektion) kann diese ''View'' (künstliche Tabelle) unter dem Namen ''Kundenumsätze'' abgespeichert und durch Aufruf jederzeit auch von "Nichtprogrammieren" aktiviert werden.
Ergänzt um Sortierkriterien und zeitlich/regionalen Einschränkungen (Selektion) kann diese ''View'' (künstliche Tabelle) unter dem Namen ''Kundenumsätze'' abgespeichert und durch Aufruf jederzeit auch von "Nichtprogrammieren" aktiviert werden.
Weitere '''Funktionen eines DBMS''' sind:
* Regelungen bei Concurrency (Mehrfachzugriff)
* Security: Wer darf welche Operation in welchen Objekten ausführen?
* Integrity: Einschränkungen zur Aufrechterhaltung der Korrektheit der Daten
* Back-up: Datensicherung
* Restart: Neustart nach Fehlern oder Änderungen
* Recovery: Wiederherstellung des fehlerfreien Zustandes
Hierzu kommen die Anwendung von Verwaltungsinstrumenten (Führen des Systemkataloges, insb. Tabellen, Tabellennamen, Eignernamen) sowie Instrumente zur Optimierung der Zugriffszeit.
Der Prozess der Entwicklung einer Datenbank (z.B. die Datenmodellierung) kann teilweise durch den Einsatz von einschlägigen Softwareentwicklungswerkzeugen (CASE-Tools, Computer Aided Software Engineering-Tools) unterstützt oder automatisiert werden.
== Sichten auf eine Datenbank ==
Den unterschiedlichen Aufgaben und Sichtweisen im Zusammenhang mit der Planung, Implementierung und dem Betrieb einer Datenbank entsprechend sind zweckmäßigerweise drei Schichten auseinander zuhalten. Es sind dies das konzeptionelle Schema, die Benutzersichten und das interne Schema.
Die globale, logische Datenbankbeschreibung wird als '''konzeptionelles Schema''' (logische Datensicht) bezeichnet. Das bei den [[Normalformen]] vorgestellte endgültige Modell, ergänzt durch nähre Angaben über die Felder, kann als konzeptionelles Schema angesehen werden.
Die einzelnen Benutzer in den unterschiedlichen Fachabteilungen bzw. die Anwendungsprogramme aus den verschiedenen Bereichen eines Unternehmens benötigen jeweils voneinander '''unterschiedliche Ausschnitte''' aus der Wirklichkeit und somit auch aus dem konzeptionellen Schema. Diese unterschiedlichen Sichten des Datenmodells werden als '''Benutzersichten''', '''Subschemata''' oder '''externe Schemata''' bezeichnet. Die zuvor entwickelte ''View'' kann als Beispiel für ein Subschema gelten.
Nach Festlegung des konzeptionellen Schemas bzw. der externen Schemata werden die physische Anordnung der Daten auf den Speichermedien und die Zugriffspfade gestaltet. Ergebnis ist das '''interne Schema'''. Hier geht es insbesondere um die Ausnutzung von Speichern sowie um die Optimierung von Zugriffszeiten.
Da die Verbindung des internen Schemas mit den betrieblichen Aufgaben und Geschäftsmodellen kaum mehr auszumachen ist, entzieht es sich jeglicher Darstellung in dieser Dokumentation.


== SQL ==
== SQL ==


'''SQL''' ('''Structured Query Language''') ist die Standard-Datensprache für relationale Datenbankverwaltungssysteme (RDBMS) und Desktop-Datenbanken wie z.B. MS Access. SQL ist nicht prozedural und setzt eine einfache und einheitliche, normalisierte tabellarische Datenstruktur voraus.  Die durch das American National Standards Institute ([http://www.ansi.org/ ANSI]) normierte Sprachschnittstelle SQL wird von einer Reihe einschlägiger Softwarepakete verwendet.
'''SQL''' ('''Structured Query Language''') ist die Standard-Datensprache für relationale Datenbankverwaltungssysteme (RDBMS) und Desktop-Datenbanken wie z.B. MS Access. SQL ist nicht prozedural und setzt eine einfache und einheitliche, normalisierte tabellarische Datenstruktur voraus.  Die durch das American National Standards Institute ([http://www.ansi.org/ ANSI]) normierte Sprachschnittstelle SQL wird von einer Reihe einschlägiger Softwarepakete verwendet.
In der nachfolgenden Darstellung wird auf grundlegende Sprachelemente zurückgegriffen, die auch unter dem Namen SQL-Core bekannt geworden sind. SQL hat folgende Teile:
* ''DDL'' (Data Definition Language): Sprache für die Definition von Objekten
* ''DML'' (Data Manipulation Language): Sprache für die Manipulation von Objekten
* ''DCL'' (Data Control Language): Sprache für die Kontrolle der Privilegien
* Verwaltungsinstrumente (Führen des Systemkataloges, insb. Tabellen, Tabellennamen, Eignernamen)
* Instrumente zur Performance-Optimierung


SQL kann interpretierend oder als embedded-SQL verwendet werden:
SQL kann interpretierend oder als embedded-SQL verwendet werden:

Version vom 21. Februar 2009, 14:03 Uhr

Die selbständige Abfrage von relationalen Datenbanken gehört in zunehmendem Maße zum Repertoire qualifizierter Arbeitsplätze, z.B. im Controlling, Marketing oder Personalwesen. Die spontane, unmittelbare Nutzung von relationalen Datenbanken durch den Endbenutzer ist für die Vorbereitung einer Vielzahl von betrieblichen Entscheidungen unabdingbar geworden. Diese spontane Nutzung ist die Voraussetzung, um aus Daten mit Hilfe von weiteren Analysewerkzeugen Entscheidungsgrundlagen zur Unternehmenssteuerung zu schaffen. Zu einer modernen Standardausbildung von Wirtschaftswissenschaftern im Bereich der Informationsverarbeitung zählt daher auch das Beherrschen wichtiger SQL-Befehle und darauf aufbauender Abfragesysteme.

Bevor man mit SQL zu arbeiten beginnt, sollte man die grundsätzliche Logik von relationalen Datenbanken verstanden haben. Auf grundlegende Begriffe wie verbundene Tabellen, Datensätze, Felder, Zeilen, Spalten usw. wird hier nicht mehr eingegangen, sondern die Abfragesprache SQL, die zur Manipulation von Datenbanken dient, gezielt behandelt.

Funktionen eines DBMS

Ein Datenbank-Management-System unterstützt das Erstellen von Tabellen mit deren Feldern, das Erstellen von Views (künstlichen Tabellen, welche die Sicht der Benutzer abbilden) und Indizes. Indizes beschleunigen vor allem die Zugriffszeit und den Sortierprozess.

Eine View könnte z.B. folgendermaßen aussehen:

  • Kundenumsätze (Kunde.Nr, Kunde.Nachname, PLZ.Ort, SUMME(Auftragpos.Menge * Buch.Preis)

Ergänzt um Sortierkriterien und zeitlich/regionalen Einschränkungen (Selektion) kann diese View (künstliche Tabelle) unter dem Namen Kundenumsätze abgespeichert und durch Aufruf jederzeit auch von "Nichtprogrammieren" aktiviert werden.

Weitere Funktionen eines DBMS sind:

  • Regelungen bei Concurrency (Mehrfachzugriff)
  • Security: Wer darf welche Operation in welchen Objekten ausführen?
  • Integrity: Einschränkungen zur Aufrechterhaltung der Korrektheit der Daten
  • Back-up: Datensicherung
  • Restart: Neustart nach Fehlern oder Änderungen
  • Recovery: Wiederherstellung des fehlerfreien Zustandes

Hierzu kommen die Anwendung von Verwaltungsinstrumenten (Führen des Systemkataloges, insb. Tabellen, Tabellennamen, Eignernamen) sowie Instrumente zur Optimierung der Zugriffszeit.

Der Prozess der Entwicklung einer Datenbank (z.B. die Datenmodellierung) kann teilweise durch den Einsatz von einschlägigen Softwareentwicklungswerkzeugen (CASE-Tools, Computer Aided Software Engineering-Tools) unterstützt oder automatisiert werden.

Sichten auf eine Datenbank

Den unterschiedlichen Aufgaben und Sichtweisen im Zusammenhang mit der Planung, Implementierung und dem Betrieb einer Datenbank entsprechend sind zweckmäßigerweise drei Schichten auseinander zuhalten. Es sind dies das konzeptionelle Schema, die Benutzersichten und das interne Schema.

Die globale, logische Datenbankbeschreibung wird als konzeptionelles Schema (logische Datensicht) bezeichnet. Das bei den Normalformen vorgestellte endgültige Modell, ergänzt durch nähre Angaben über die Felder, kann als konzeptionelles Schema angesehen werden.

Die einzelnen Benutzer in den unterschiedlichen Fachabteilungen bzw. die Anwendungsprogramme aus den verschiedenen Bereichen eines Unternehmens benötigen jeweils voneinander unterschiedliche Ausschnitte aus der Wirklichkeit und somit auch aus dem konzeptionellen Schema. Diese unterschiedlichen Sichten des Datenmodells werden als Benutzersichten, Subschemata oder externe Schemata bezeichnet. Die zuvor entwickelte View kann als Beispiel für ein Subschema gelten.

Nach Festlegung des konzeptionellen Schemas bzw. der externen Schemata werden die physische Anordnung der Daten auf den Speichermedien und die Zugriffspfade gestaltet. Ergebnis ist das interne Schema. Hier geht es insbesondere um die Ausnutzung von Speichern sowie um die Optimierung von Zugriffszeiten.

Da die Verbindung des internen Schemas mit den betrieblichen Aufgaben und Geschäftsmodellen kaum mehr auszumachen ist, entzieht es sich jeglicher Darstellung in dieser Dokumentation.

SQL

SQL (Structured Query Language) ist die Standard-Datensprache für relationale Datenbankverwaltungssysteme (RDBMS) und Desktop-Datenbanken wie z.B. MS Access. SQL ist nicht prozedural und setzt eine einfache und einheitliche, normalisierte tabellarische Datenstruktur voraus. Die durch das American National Standards Institute (ANSI) normierte Sprachschnittstelle SQL wird von einer Reihe einschlägiger Softwarepakete verwendet.

SQL kann interpretierend oder als embedded-SQL verwendet werden:

  • Ein SQL-Befehl wird vom Benutzer geladen oder eingegeben und auf Befehl direkt verarbeitet. Das Ergebnis wird z.B. als Liste ausgegeben. (interpretierendes SQL)
  • Die SQL-Befehle sind in einem mittels Programmiersprache (z.B. Java, C++) erstellten Programm eingebettet. (embedded SQL)

Die auf dem Markt angebotenen Datenbank-Softwarepakete (SQL-Implementierungen) stellen in der Regel auch Ergänzungen der SQL durch Sprachzusätze (z.B. JDBC) zur Verfügung. Trotz ANSI- und ISO-Normung ist SQL in einer Reihe von Datenbank-Softwarepaketen im Detail unterschiedlich implementiert, d.h. nicht alle SQL-Anweisungen sind auf allen Datenbank-Implementierungen ausführbar.