Inhaltsverzeichnis. aus Wikipedia, der freien Enzyklopädie

Größe: px
Ab Seite anzeigen:

Download "Inhaltsverzeichnis. aus Wikipedia, der freien Enzyklopädie"

Transkript

1 SQL aus Wikipedia, der freien Enzyklopädie SQL ist eine deklarative Datenbanksprache für relationale Datenbanken. SQL (im allgemeinen Sprachgebrauch als Abkürzung für Structured Query Language aufgefasst, obwohl laut ANSI-Standard ein eigenständiger Name) ist aus SEQUEL ([ si kw l], Structured English Query Language) hervorgegangen, das von IBM in den 1970er Jahren auf der Grundlage des bahnbrechenden Artikels A Relational Model of Data for Large Shared Data Banks (1970) von Edgar F. Codd entworfen wurde. IBM definierte 1976 SEQUEL /2 und benannte es aus rechtlichen Gründen in SQL um. SQL hat eine relativ einfache Syntax, die an die englische Umgangssprache angelehnt ist, und stellt eine Reihe von Befehlen zur Definition von Datenstrukturen nach der relationalen Algebra, zur Manipulation von Datenbeständen (Anfügen, Bearbeiten und Löschen von Datensätzen) und zur Abfrage von Daten zur Verfügung. Durch seine Rolle als Quasi-Standard ist SQL von großer Bedeutung, da eine weitgehende Unabhängigkeit von der benutzten Software erzielt werden kann. Die meisten SQL-Implementierungen bieten darüber hinaus allerdings noch herstellerspezifische Erweiterungen, die nicht dem Standard-Sprachumfang entsprechen, was zur Folge hat, dass von den Herstellern parallel entwickelte gleiche Funktionen unterschiedliche Sprachelemente benutzen. Viele bekannte Datenbanksysteme wie DB2, Informix, Microsoft SQL Server, Pervasive P.SQL, MaxDB, MySQL, Oracle, PostgreSQL, Borland Interbase, Firebird, Sybase, SQLite und die neueren Versionen von Microsoft Access implementieren Teile des SQL Sprachstandards. Dadurch ist es möglich, Anwendungen zu erstellen, die vom verwendeten Datenbanksystem unabhängig sind. In der Vor-SQL-Zeit gelang dies mit dem System der Kompatiblen Schnittstellen wurde der erste SQL-Standard vom ANSI verabschiedet (welcher dann 1987 von der ISO ratifiziert wurde) wurde der Standard deutlich überarbeitet und als SQL-92 (oder auch SQL2) veröffentlicht. Alle aktuellen Datenbanksysteme halten sich im wesentlichen an diese Standardversion. Die neuere Version SQL:1999 (ISO/IEC 9075:1999, auch SQL3 genannt) ist noch nicht in allen Datenbanksystemen implementiert. SQL:2003 ist noch weitgehend unimplementiert. Inhaltsverzeichnis 1 Sprachelemente und Beispiele 1.1 Abfrage: SELECT 1.2 Manipulationsbefehle: INSERT, UPDATE, DELETE 1.3 Datendefinition: CREATE, ALTER, DROP 1.4 Rechteverwaltung: GRANT and REVOKE 2 SQL-Datentypen 3 Fachbegriffe 3.1 Schlüssel 3.2 Fremdschlüssel 3.3 Transaktion, Commit und Rollback 3.4 Dateninkonsistenz 3.5 Referenzielle Integrität 3.6 Redundanz 4 Programmieren mit SQL 4.1 Programmierschnittstelle 4.2 Statisches und dynamisches SQL 5 Erweiterungen 6 Geschichte 7 Siehe auch 8 Literatur 9 Weblinks 1 of 12 11/26/ :36 PM

2 Sprachelemente und Beispiele SQL-Befehle lassen sich in vier Kategorien unterteilen (Zuordnung nach Theorie der Datenbanksprachen in Klammern): Befehle zur Definition des Datenbankschemas (DDL) Datenabfrage mit SELECT (DML) Befehle zur Datenmanipulation = Ändern, Einfügen, Löschen (DML) Befehle für die Rechteverwaltung (DCL) Durchgängiges Beispiel für die folgenden SQL-Befehle: Abfrage: SELECT Die SELECT-Anweisung startet eine Abfrage. Aufgrund der Syntax kann eine SELECT-Anweisung auch als "SFW-Block" (SELECT, FROM, WHERE) bezeichnet werden. Syntax (unvollständig): SELECT [DISTINCT] Auswahlliste FROM Quelle WHERE Where-Klausel [GROUP BY (Group-by-Attribut)+ [HAVING Having-Klausel]] [ORDER BY (Sortierungsattribut [ASC DESC])+] DISTINCT gibt an, dass aus der Ergebnisrelation gleiche Ergebnistupel entfernt werden sollen. Sonst liefert SQL eine Multimenge zurück. Auswahlliste bestimmt, welche Spalten der Quelle auszugeben sind (* für alle) und ob Aggregatfunktionen anzuwenden sind. Quelle gibt an, wo die Daten herkommen. Es können Relationen und Sichten angegeben werden und miteinander als kartesisches Produkt oder als Verbund (JOIN, ab SQL-92) verknüpft werden. Mit der zusätzlichen Angabe eines Namens können Tupelvariablen besetzt werden, d. h. Relationen für die 2 of 12 11/26/ :36 PM

3 Abfrage umbenannt werden (vgl. Beispiele). Where-Klausel bestimmt Bedingungen, unter denen die Daten ausgegeben werden sollen. In SQL (außer MySQL <4.1) ist hier auch die Angabe von Unterabfragen möglich, so dass SQL streng relational vollständig wird. Group-by-Attribut listet Attribute auf, deren Werte festlegen, welche Tupel zu Gruppen zusammengefasst werden sollen. Auf jede Gruppe werden Aggregatfunktionen zusammen. Fehlt diese Klausel, werden Aggregationsfunktionen auf alle Tupel angewendet, d.h. die gesamte Ergebnismenge bildet eine Gruppe. Having-Klausel ist wie die Where-Klausel, nur dass hier auf Aggregationsfunktionen zugegriffen wird (z. B. HAVING sum(betrag)>0). Sortierungsattribut: nach ORDER BY werden Attribute angegeben, nach denen sortiert werden soll. ASC gibt dabei aufsteigende (Standard), DESC absteigende Sortierung an. Ein Sortierungsattribut muss nicht in der Auswahlliste vorkommen. Mengenoperatoren können auf mehrere SFW-Blöcke angewandt werden, die gleich viele Attribute und gleichen Datentypen der Attribute haben: Beispiele: UNION vereinigt die Ergebnismengen. Mehrfach vorkommende Ergebnistupel werden wie bei DISTINCT entfernt. UNION ALL vereinigt die Ergebnismengen. Mehrfach vorkommende Ergebnistupel bleiben erhalten. EXCEPT liefert die Tupel, die in A, jedoch nicht in B enthalten sind. Mehrfach vorkommende Ergebnistupel werden entfernt. INTERSECT liefert die Schnittmenge zweier Ergebnismengen. Mehrfach vorkommende Ergebnistupel werden entfernt. SELECT * FROM Adressen Listet die Werte aller Spalten aus der Tabelle Adressen auf. SELECT Name, Vorname, Postleitzahl FROM Adressen Projektion: Listet nur die Spalten Name, Vorname und Postleitzahl der Tabelle Adressen auf. SELECT Name, Vorname, Postleitzahl AS PLZ FROM Adressen Projektion mit Umbenennung: Die Spalte Postleitzahl heißt in der Ergebnisrelation jetzt PLZ. SELECT Name, Vorname FROM Adressen WHERE Ort = Ettenheim Selektion: Listet nur die Ettenheimer auf. SELECT a.name, a.vorname, a.plz, a.ort FROM Adressen a INNER JOIN Namenliste n ON a.name = n.name AND a.vorname = n.vorname Verbund: Listet die Werte der Spalten Name, Vorname, Plz und Ort aus der Tabelle Adressen für alle Namen die auch in der Tabelle Namenliste vorkommen auf. SELECT a.strasse FROM Adressen a LEFT OUTER JOIN Leute l ON l.strasse = a.strasse WHERE l.strasse IS NULL Äußerer linker Theta-Verbund: Listet alle Straßen auf, in denen niemand wohnt. SELECT a.strasse FROM Adressen a WHERE NOT EXISTS (SELECT * FROM Leute WHERE Strasse = a.strasse) Unterabfrage mit Existenz-Quantor: Das gleiche mit einer Unterabfrage. SELECT Jahr, Quartal, SUM(Betrag) AS Umsatz FROM Rechnung GROUP BY Jahr, 3 of 12 11/26/ :36 PM

4 Quartal Gruppierung und Aggregation: Summiert die Spalte Betrag der Tabelle Rechnung und listet das Ergebnis Quartalsweise. SELECT verkaeufer, SUM(Betrag) AS Umsatzsumme FROM Rechnung GROUP BY verkaeufer HAVING COUNT(*) >= 100 Listet die Verkäufer mit ihrem Gesamtumsatz auf, die mindestens 100 Rechnungen generiert haben. Manipulationsbefehle: INSERT, UPDATE, DELETE Syntax (unvollständig): INSERT INTO Relation [ ( (Attribut)+ ) ] VALUES ( ( (Konstanten)+ ) )+ INSERT INTO Relation [ ( (Attribut)+ ) ] SFW-Block UPDATE Relation SET (Attribut=Ausdruck)+ WHERE Where-Klausel DELETE FROM Relation [WHERE Where-Klausel] Beispiele: Mit INSERT können explizit konstruierte Tupel oder die Ergebnisse eines SFW-Blocks in eine Relation eingefügt werden. Dabei können jeweils mehr als 1 Zeile verarbeiten werden. Ausdruck aus der UPDATE-Anweisung kann insbesondere auch auf das zu manipulierende Attribut bezug nehmen wie z. B. in UPDATE Personal SET Gehalt=Gehalt*2 WHERE Abteilung= EDV Wird bei DELETE die WHERE-Klausel weg gelassen, wird die ganze Relation gelöscht, aber nicht deren Schema. INSERT INTO Adressen (Name, Vorname, Ort) VALUES ( Schroeder, Kurt, Köln ) Fügt eine Zeile mit den geg. Werten für die Spalten Name, Vorname und Ort in die Tabelle Adressen hinzu. INSERT INTO Adressen (Name, Vorname, Ort) VALUES ( Schroeder, Kurt, Köln ), ( Schulz, Detlef, Oldenburg ) Fügt zwei Zeilen mit den geg. Werten für die Spalten Name, Vorname und Ort in die Tabelle Adressen hinzu. INSERT INTO Adressen VALUES ( Schroeder, Knut, Köln ) Beim insert-statement kann die erste Klammer mit den Attribut-Namen auch weggelassen und direkt mit values() die Werte eingefügt werden. Allerdings müssen dann die Werte in der gleichen Reihenfolge wie in der Tabellendefinition angegeben werden. Zusätzlich müssen Werte für alle Spalten der Tabelle bereitgestellt werden. INSERT INTO Adressen (Name, Vorname, Ort) SELECT Nachname, Vorname, Ort FROM Alte_Adressen Lädt alle Adressen aus der Tabelle Alte_Adressen in die Tabelle Adressen. INSERT INTO Kursteilnahme (Id_Person, Id_Kurs) SELECT 55, Id_Kurs FROM Kursteilnahme WHERE Id_Person = 27 Übernimmt alle der Person 27 zugeordneten Einträge aus der Tabelle Kursteilnahme auch für Person 55. UPDATE Adressen SET Ort= Berlin, Telefon= WHERE Name = 4 of 12 11/26/ :36 PM

5 Schroeder Ändert den Wert in der Tabelle Adressen, in der Spalte Ort aller Einträge auf "Berlin" (Telefon auf... usw), wenn der Wert in der Spalte Name "Schroeder" lautet. DELETE FROM Adressen Löscht alle Zeilen aus der Tabelle Adressen. DELETE FROM Adressen WHERE name = Müller Löscht alle Zeilen aus der Tabelle Adressen, deren Wert in der Spalte Name "Müller" lautet. Datendefinition: CREATE, ALTER, DROP Syntax (primary key und foreign key sind Teil der SQL-89 IDL bzw. SQL-92 und werden von manchen Datenbanksystemen nicht unterstützt): CREATE TABLE Relation ( (Attribut-Definition)+ ) CREATE TABLE Relation ( (Attribut-Definition [PRIMARY KEY])+ [, FOREIGN KEY ( (Attribut)+ ) REFERENCES Relation ( (Attribut)+ ) ] ) DROP TABLE Relation ALTER TABLE Relation Alter-Definition CREATE INDEX Index-Name ON Relation ( (Attribut)+ ) DROP INDEX Index-Name CREATE VIEW Sicht [ ( (Attribut)+ ) ] AS SFW-Block [WITH CHECK OPTION] DROP VIEW Sicht Beispiele: Die Attribut-Definition enthält den Namen des Attributes, den Datentyp, sowie optionale Angaben wie NOT NULL. In SQL-92 können benutzerdefinierte Wertebereiche sowie Defaultwerte angegeben werden. Bei CREATE TABLE können ab SQL-92 außerdem mittels der CHECK-Klausel noch Integritätsbedingungen bei den Attributen oder für die Tabelle angegeben werden. Die Alter-Definition ist ADD Attribut-Definition. In SQL-92 gibt es noch ALTER Attribut Default-Wert oder DROP Attribut. Da SQL-92 sehr restriktiv bezüglich der ALTER-Anweisung ist, ist dies eine der Anweisungen, die von den Herstellern universell erweitert wurde, so dass beliebige Änderungen möglich sind wie durch eine Folge von DROP und ADD-Anweisungen. Bei der Definition einer Sicht können neue Attributnamen vergeben werden. SFW-Block ist eine beliebige SQL-Abfrage, WITH CHECK OPTION gibt an, ob gewisse Änderungsoperationen erlaubt sein sollen (vgl. Sichten). Eine ORDER BY Klausel ist in Sichtdefinitionen nicht zulässig, da Sichten wieder Relationen sind, und Relationen sind (Multi-)Mengen, also per Definition nicht sortiert. Die CREATE-Anweisung wird in modernen DBMS dazu benutzt, außer Relationen, Indizies und Sichten alle möglichen anderen Objekte zu kreieren. Der SQL-Standard definiert Indexe überhaupt nicht, so dass die entsprechenden CREATE INDEX und DROP INDEX Anweisungen immer produktspezifische Erweiterungen sind. Allerdings verwenden die meisten DBMS die gleiche oder eine sehr ähnliche Syntax. create table Laender ( Kuerzel_ISO character(2) primary key, Land_Name varchar(50) NOT NULL) Erzeugt eine neue Tabelle namens Laender mit den Spalten Kuerzel_ISO und Land_Name, wobei Kuerzel_ISO der Primärschlüssel ist und in keiner der Spalten leere Felder erlaubt sind. alter table Laender add Kuerzel_Auto varchar(3) Definiert eine neue Spalte namens Kuerzel_Auto in der Tabelle Laender. drop table Adressen Löscht die gesamte Tabelle Adressen. 5 of 12 11/26/ :36 PM

6 create index idx_adressen on Adressen (Name) Legt einen Index auf die Spalte Name der Tabelle Adressen. Der Index bekommt die Bezeichnung idx_adressen und beschleunigt die Suche nach Datensätzen in der Tabelle Adressen, wenn der Name als Suchkriterium angegeben wird. drop index idx_adressen Löscht den Index idx_adressen. Rechteverwaltung: GRANT and REVOKE Diese Befehle regeln die Zugriffsrechte auf Datenbankobjekte. Syntax: GRANT (Operation)+ ON Relation TO (PUBLIC Benutzer) [WITH GRANT OPTION] REVOKE (Operation)+ ON Relation FROM (PUBLIC Benutzer) Beispiele: Relation kann insbesondere auch eine Sicht sein. WITH GRANT OPTION erlaubt es den neuen Rechteinhabern, das Recht weiter zu geben. PUBLIC bezeichnet alle Benutzer. Der Datenbankadministrator (DBA) hat alle Rechte. Der Besitzer eines Objektes hat ebenfalls alle Rechte an diesem Objekt. Die Kommandos zur Rechteverwaltung sind in SQL spezifiziert, nicht jedoch die zur Benutzerverwaltung. Daher implementiert jedes DBMS seine eigene Benutzerverwaltung, die Rollennamen und/oder Benutzergruppen kennen mag oder auch nicht. In modernen DBMS können Rechte auf alles mögliche vergeben werden, nicht nur auf einzelne Tabellen. grant select,update on table Adressen to groupx; Gestattet dem Benutzer bzw. der Gruppe groupx einen lesenden und ändernden Zugriff auf die Tabelle Adressen. revoke execute on procedure DSN8ED6 from public; Entzieht allen nicht explizit berechtigten Benutzern das Recht, die Stored-Procedure DSN8ED6 auszuführen. Berechtigungen, die einem Benutzer oder einer Gruppe erteilt wurden, bleiben bestehen. SQL-Datentypen In den oben vorgestellten Befehlen create table und alter table wird bei der Definition jeder Spalte angegeben, welchen Datentyp die Werte diese Spalte annehmen können. Dazu liefert SQL eine ganze Reihe standardisierter Datentypen mit. Die einzelnen DBMS-Hersteller haben diese Liste jedoch um eine Unzahl weiterer Datentypen erweitert. Die wichtigsten Standarddatentypen sind: smallint Ganze Zahl (positiv oder negativ). Die genauen minimal und maximal zulässigen Grenzen sind vom Datenbanksystem definiert. int oder integer bigint Ganze Zahl (positiv oder negativ). Die genauen minimal und maximal zulässigen Grenzen sind vom Datenbanksystem definiert. Ganze Zahl (positiv oder negativ). Die genauen minimal und maximal zulässigen Grenzen sind vom Datenbanksystem definiert. Dieser Datentyp ist laut [[SQL:2003] optional und nicht alle DBMS stellen 6 of 12 11/26/ :36 PM

7 diesen Datentyp bereit. numeric (n, m) oder decimal (n,m) Festkommazahl (positiv oder negativ) mit maximal n Stellen, davon m nach dem Komma float (m) real Gleitkommazahl (positiv oder negativ) mit maximal m Stellen nach dem Komma Gleitkommazahl (positiv oder negativ). Die Genauigkeit für diesen Datentyp ist jeweils vom Datenbanksystem definiert. double oder double precision Gleitkommazahl (positiv oder negativ). Die Genauigkeit für diesen Datentyp ist jeweils vom Datenbanksystem definiert. character (n) oder char (n) Zeichenkette (also Text) mit n druckbaren und/oder nicht druckbaren Zeichen varchar (n) oder character varying (n) date time Zeichenkette (also Text) von variabler Länge, aber maximal n druckbaren und/oder nicht druckbaren Zeichen. Die Variante varchar2 ist für Oracle spezifisch. Datum Zeitangabe (evtl. inklusive Zeitzone) timestamp boolean Zeitstempel (umfasst Datum und Uhrzeit; evtl. inclusive Zeitzone) Boolesche Variable (kann die Werte true (wahr) oder false (falsch) annehmen). Dieser Datentyp ist laut [[SQL:2003] optional und nicht alle DBMS stellen diesen Datentyp bereit. blob (n) oder binary large object (n) Binärdaten von maximal n Bytes Länge. clob (n) oder character large object (n) Stringdaten von maximal n Zeichen Länge. Fachbegriffe Die folgenden Fachbegriffe sind zum Verständnis von SQL hilfreich. Sie sind jedoch auch als eigenständige Begriffe der Informatik bedeutsam und werden nicht nur im Kontext von SQL verwendet. Schlüssel 7 of 12 11/26/ :36 PM

8 Über einen Schlüssel kann jeder Datensatz innerhalb der Tabelle eindeutig identifiziert werden. Ein Schlüssel kann auch aus mehreren Attributen (Spalten) der Tabelle bestehen (zusammengesetzter Schlüssel). Ein Schlüssel ist entweder ein Primärschlüssel oder ein Schlüsselkandidat. Der Primärschlüssel muss aus einem Merkmal oder einer minimalen Merkmalskombination (bei zusammengesetzten Primärschlüsseln) bestehen. Die Bedingung der minimalen Merkmalskombination bei zusammengesetzten Primärschlüsseln bedeutet, dass ein Teil (Merkmal) des zusammengesetzten Schlüssels nicht reichen darf, um jedes Tupel eindeutig zu identifizieren. Diese Bedingung kann und wird von existierenden Datenbanksystemen nicht erzwungen. In jeder Tabelle sollte grundsätzlich ein Primärschlüssel (primary key) definiert werden. Dieser ist häufig der natürliche Schlüssel der Tabelle, wenn er eindeutig ("unique") ist; es kann auch ein künstlicher Schlüssel sein, beispielsweise ein Zähler, der pro Datensatz hoch gezählt wird. Schlüsselkandidaten, d.h. weitere, unabhängige Schlüssel neben dem Primärschlüssel, können (und sollten) als Unique Constraints definiert werden. Fremdschlüssel Fremdschlüssel (auch Foreign Key genannt) bezeichnen im Bereich der relationalen Datenbanken ein Attribut einer Relation (Tabelle), das auf den Primärschlüssel oder einen Unique Key einer anderen (oder auch der gleichen) Relation verweist. Ein Fremdschlüssel kann, muss aber nicht Primärschlüssel seiner Relation sein. Transaktion, Commit und Rollback Verbindet man sich mit einer Datenbank, kann man, die erforderlichen Privilegien vorausgesetzt, Änderungen am Schema von Tabellen (und anderen Datenbankobjekten) oder den Daten in den Tabellen vornehmen. Grundsätzlich ist in einer relationalen Datenbank alles innerhalb einer Transaktion auszuführen. Datenbanken erlauben es zum Teil, bestimmte Befehle außerhalb einer Transaktion auszuführen. Darunter fällt insbesondere das Laden von Daten in Tabellen oder das Exportieren von Daten mittels Utilities. Manche DBMS erlauben das temporäre Abschalten der Transaktionslogik sowie einiger Kontrollen zur Erhöhung der Verarbeitungsgeschwindigkeit. Dies muss allerdings meist durch einen expliziten Befehl erzwungen werden, um ein versehentliches Ändern von Daten außerhalb einer Transaktion zu vermeiden. Solche Änderungen können, falls eine Datenbankwiederherstellung erforderlich ist, zu schweren Problemen oder gar Datenverlusten führen. Eine Transaktion beendet man erfolgreich mit der SQL-Anweisung Commit. Alle Änderungen der Transaktion werden persistent gemacht, und das DBMS stellt durch geeignete (interne) Mittel (z.b. Logging) sicher, dass diese Änderungen nicht verloren gehen. Mit dem Befehl Rollback wird eine Transaktion ebenfalls beendet, es werden jedoch alle Änderungen seit Beginn der Transaktion rückgängig gemacht. Das heisst, der Zustand des Systems (in Bezug auf die Änderungen der Transaktion) ist der gleiche wie vor der Transaktion. Dateninkonsistenz Erfüllen Daten bspw. die Integritätsbedingungen (z.b. Constraints oder Fremdschlüsselbeziehungen) nicht, so nennt man dies Dateninkonsistenz. So können Referenzen einer Tabelle auf Records einer anderen verweisen. Wurde dieser referenzierte Eintrag nun gelöscht, so sind die Daten in der ersten (referenzierenden) Tabelle inkonsistent, weil ein Verweis auf einen nicht-vorhandenen Record referenziert. Der häufigste Grund für Dateninkonsistenzen ist die falsche Analyse des Datenmodells während der Modellierung und Normalisierung des ERM oder Fehler in der Programmierung. Zum letzteren gehören die Lost-Update-Phänomene sowie die Verarbeitung von zwischenzeitlich veralteten Zwischenergebnissen. Dies tritt vor allem bei Online-Verarbeitung auf, da dem Nutzer angezeigte Werte nicht in einer Transaktion gekapselt werden können. 8 of 12 11/26/ :36 PM

9 Beispiel: Transaktion A liest Wert x Transaktion B verringert Wert x um 10 Transaktion A erhöht den gespeicherten Wert von x um eins und schreibt zurück Ergebnis x = x+1 Die Änderung von B ist verloren gegangen Referenzielle Integrität Von referenzieller Integrität spricht man, wenn jeder Fremdschlüssel einer Tabelle einen entsprechenden Primärschlüssel einer anderen Tabelle zugeordnet, oder der Wert des Fremdschlüssels NULL ist. Die referenzielle Integrität garantiert die Existenz des Schlüssels in der referenzierten Tabelle. Um Dateninkonsistenzen zu vermeiden, können Beziehungen zwischen Tabellen definiert werden. Zusätzlich können Regeln angegeben werden, wie abhängige Daten beim Löschen oder Ändern eines Datensatzes behandelt werden sollen. Beim Löschen kann zum Beispiel durch Kaskadierung ein Datensatz und alle abhängigen Daten gelöscht werden. Folgende Änderungsregeln sind möglich: 1. Durchführen der Operation und Verifizieren der Fremdschlüsselbeziehung am Ende: NO ACTION (default) D.h. ein Primärschlüssel kann geändert oder gelöscht werden, wenn die Semantik der Anweisung und aller involvierten Trigger dafür sorgt, dass die Fremdschlüsselbeziehung nicht verletzt wird. 2. Zurückweisen der Änderungsoperation: RESTRICT D.h. ein Primärschlüssel kann nicht gelöscht werden, wenn noch abhängige Objekte bestehen. 3. Propagieren der Änderungen: CASCADE D.h. bei "ON DELETE CASCADE" werden ebenfalls alle abhängigen Datenzeilen gelöscht. 4. Verweise auf NULL setzen: SET NULL D.h. die entsprechenden Werte der abhängigen Fremdschlüssel werden auf NULL gesetzt. 5. Verweise auf Defaultwert setzen: SET DEFAULT D.h. die entsprechenden Werte der abhängigen Fremdschlüssel werden auf den Defaultwert der Spalte gesetzt. Ein Update von Primärschlüsseln (PK-Update) ist zwar von Codd vorgesehen. Manche Datenbankadministratoren und Anwendungsentwickler sind jedoch der Ansicht, dass dies der grundsätzlichen Idee des Schlüssels widerspräche. Sie betrachten einen Primärschlüssel als stets unveränderlich. Redundanz Ein Grundsatz des Datenbankdesigns ist, dass in einer Datenbank kaum Redundanzen auftreten sollen. Man spricht dann von einer redundanzfreien Datenbank. Dies wird durch die Normalisierung erreicht. Da eine Datenbank, die allen Anforderungen der 3. oder sogar 5. Normalform entspricht, in der Praxis bedingt durch Performanceprobleme nicht zu verwenden wäre, werden nachträglich Redundanzen bewusst in Kauf genommen, um zeitaufwändige und komplexe Joins zu verkürzen und so die Geschwindigkeit der Abfragen zu erhöhen. Man spricht auch von einer Denormalisierung einer Datenbank. Ein Merkmal der Redundanz ist, dass einzelne Werte innerhalb einer Tabelle oder Datenbank ohne Informationsverlust weggelassen werden können. Redundanz kostet nicht nur Speicherplatz, sondern kann Ursache für Anomalien (z. B. Update-, Insert-, Delete-Anomalien) sein. Diese werden auch als Mutationsanomalien bezeichnet. Programmieren mit SQL Programmierschnittstelle Da SQL keine eigenständige Programmiersprache ist, muss SQL bei der Programmierung mit einer solchen 9 of 12 11/26/ :36 PM

10 Sprache kombiniert werden. Hierfür gibt es unterschiedliche Techniken. Beim eingebetteten SQL (engl. embedded SQL) wird eine Programmiersprache im Quelltext um gekennzeichnete SQL-Anweisungen erweitert. Während der Programmvorbereitung übersetzt ein Precompiler die SQL-Befehle in Funktionsaufrufe. Beispiele: Embedded SQL nach ANSI, SQLJ für Java. Herkömmliche (API-) Programmierschnittstellen erlauben die direkte Übergabe von SQL-Befehlen an Datenbanksysteme über Funktionsaufrufe. Beispiele: ODBC, JDBC. Statisches und dynamisches SQL Unabhängig von der verwendeten Programmiertechnik wird zwischen statischem und dynamischem SQL unterschieden. Bei statischem SQL ist die SQL-Anweisung dem Datenbanksystem zum Zeitpunkt der Programmübersetzung bekannt und festgelegt (z.b. wenn die Abfrage eines Kontos vorformuliert ist und zur Laufzeit nur die Kontonummer eingesetzt wird). Bei dynamischem SQL ist die SQL-Anweisung dem Datenbanksystem erst zum Zeitpunkt der Programmausführung bekannt (z.b. weil der Benutzer die komplette Abfrage eingibt). So sind z.b. alle SQL-Anweisungungen, die mittels SQL/CLI oder JDBC ausgeführt werden grundsätzlich dynamisch. Bei dynamischem SQL muss das Datenbanksystem die SQL-Anweisung zur Laufzeit des Programms interpretieren und den Zugriffspfad optimieren. Da dieser so genannte Parse-Vorgang Zeit in Anspruch nimmt, puffern viele Datenbanksysteme die bereits geparsten SQL-Anweisungen, um so, falls sie sich wiederholen, die Zeit für ein erneutes Parsen zu sparen. Bei statischem SQL wird in der Regel schon bei der Übersetzung der Programme bzw. beim Binden der SQL-Anweisungen an eine Datenbank (so genanntes Bind der SQL-Befehle) der optimale Zugriffsweg bestimmt. Damit sind kürzestmögliche Laufzeiten der Anwendungsprogramme möglich, allerdings muss der Zugriffsweg aller betroffenen Programme neu bestimmt werden, wenn sich Voraussetzungen (z.b. Statistiken) ändern ( Rebind). Erweiterungen Es existieren eine Vielzahl von Erweiterungen des SQL-Standards. SQL/XML ist ein ANSI und ISO Standard (ISO/IEC ), der es ermöglicht, XML-Dokumente in SQL-Datenbanken zu speichern, mit XPath und XQuery abzufragen und relationale Datenbankinhalte als XML zu exportieren [1] ( Der ISO-Standard ist nicht frei verfügbar, jedoch gibt es ein Zip-Archiv ( mit einer Draft-Version von SQL/PSM ist ein ISO Standard, der SQL um prozedurale Programmierkonstrukte erweitert. Sie bietet viele Erweiterungen zu den Standard-SQL-Sprachelementen. Sie erlaubt unter anderem das Programmieren von Schleifen (FOR, WHILE, REPEAT UNTIL), Cursor, Exception-Handling, Trigger und eigenen Funktionen. Oracle implementiert diese Funktionalitaet unter dem Namen PL/SQL, und DB2 verwendet den Begriff SQL/PL. Geschichte ca SEQUEL, Vorläufer von SQL wird für das Projekt System R von IBM entwickelt SQL gelangt mit SQL/Data Systems erstmals durch IBM auf den Markt SQL1 wird von ANSI als Standard verabschiedet SQL1 wird jetzt auch von ISO als Standard verabschiedet und 1989 nochmals überarbeitet Der Standard SQL2 bzw. SQL-92 wird von der ISO verabschiedet. 10 of 12 11/26/ :36 PM

11 1999 SQL3 bzw. SQL:1999 wird verabschiedet SQL:2003 wird von der ISO als Nachfolger des SQL:1999 Standards verabschiedet. Siehe auch Liste der Datenbankmanagementsysteme SQL-Injektion SchemaSQL Nullwert Continuous Query Language Literatur Donald D. Chamberlin, Raymond F. Boyce: SEQUEL: A structured English query language. Proceedings of the 1974 ACM SIGFIDET workshop on Data description, acces and control. Günter Matthiessen, Michael Unterstein: Relationale Datenbanken und SQL Konzepte der Entwicklung und Anwendung. Addison-Wesley, ISBN Edwin Schicker: Datenbanken und SQL Eine praxisorientierte Einführung. Teubner, ISBN X (Obwohl bereits etwas betagt, ist dieses Buch gerade als wissenschaftlich fundierte und trotzdem leicht verständliche Einführung in SQL sehr zu empfehlen.) Oliver Bartosch, Markus Throll: Einstieg in SQL. Galileo Press, ISBN Daniel Warner, Günter Leitenbauer: SQL. Franzis, ISBN Jörg Fritze, Jürgen Marsch: Erfolgreiche Datenbankanwendung mit SQL3. Praxisorientierte Anleitung effizienter Einsatz inklusive SQL-Tuning. Vieweg Verlag, ISBN Can Türker: SQL 1999 & SQL Dpunkt Verlag, ISBN Gregor Kuhlmann, Friedrich Müllmerstadt: SQL. Rowohlt, ISBN Michael J. Hernandez, John L. Viescas: Go To SQL. Addison-Wesley, ISBN X Weblinks Wikibooks: SQL Lern- und Lehrmaterialien deutsche DMOZ-Kategorie SQL ( SQL-Tutorial (deutsch) ( SQLzoo (englisch) ( SQL-Tutorial der Lichtenbergschule Darmstadt (deutsch) ( SQL-Tutorial aus der W3 Schule (englisch) ( SQL-Kurzreferenz ( SQL-Einführung und Referenz ( SQL-Einführung und kleine Referenz (techonthenet, englisch) ( Free Tutorials (englisch) ( The 1995 SQL Reunion: People, Projects, and Politics (zur frühen Geschichte von SQL) ( Von Kategorie: Datenbanksprache Korrigiere Fehler oder erweitere diesen Artikel! Diese Seite wurde zuletzt am 26. November 2006 um 20:35 Uhr geändert. Ihr Inhalt steht unter der GNU-Lizenz für freie Dokumentation. Wikipedia ist eine eingetragene Marke der Wikimedia Foundation Inc. Datenschutz Über Wikipedia 11 of 12 11/26/ :36 PM

12 Impressum 12 of 12 11/26/ :36 PM

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

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

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

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

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

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

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

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

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

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

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

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

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

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

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

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

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

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

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

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 Kapitel

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

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

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

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

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

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

SQL - Übungen Bearbeitung der Datenbank Personal (1)

SQL - Übungen Bearbeitung der Datenbank Personal (1) Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

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

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

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

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

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

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

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -

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

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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

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

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

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

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

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

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

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

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

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

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

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12 Aufgabenstellung: Prof. Dr. Inge Schestag zugelassene Hilfsmittel: 1 beidseitig bedrucktes oder beschriebenes A4-Blatt Bearbeitungszeit: 90 Minuten Note: Name: Matrikelnr. Aufgabe 1 Aufgabe 2 Aufgabe 3

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken 30 Wozu dient ein Primärschlüssel? Mit dem Primärschlüssel wird ein Datenfeld

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Benutzerverwaltung, Sichten und Datenintegrität

Benutzerverwaltung, Sichten und Datenintegrität Benutzerverwaltung, Sichten und Einige Vergleiche zwischen MySQL, Oracle und PostgreSQL OStR Michael Dienert, StR Ahmad Nessar Nazar 29. November und 30. November 2011 1 von 113 OStR Michael Dienert, StR

Mehr

Abfragen: Grundbausteine

Abfragen: Grundbausteine Abfragen: Grundbausteine Abfragen sollen gezielt Teile der Information wiedergeben. Das Ergebnis einer solchen Operation ist eine. Der Aufbau der Ergebnistabelle wird durch zwei Grundverfahren festgelegt:

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

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

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

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

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

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

IBM Informix SQL. Seminarunterlage. Version 11.04 vom

IBM Informix SQL. Seminarunterlage. Version 11.04 vom Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

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

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr