SQL als Abfragesprache

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Relationale Datenbank MySQL
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Bauinformatik II Softwareanwendungen 1
Prof. Dr. Andreas Schmietendorf
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
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],
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
Einführung Dateisystem <-> Datenbanksystem
Datenbanken 13: Objekt-Klasse-Datenbank
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern © Erhard Künzel.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
2.2 Definition eines Datenbankschemas (SQL-DDL)
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
SQL-Datentypen INTEGER
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Relationale Datenbanken III
Datenbanken?.
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.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
SQL Überblick Abfragen aus einer Tabelle
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 SQL (Teil 1).
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 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
JDBC (Java DataBase Connectivity)
Befehle in SQL Erläuterungen.
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
Aggregatsfunktion SQL = Structured Query Language.
Relationales Datenmodell und DDL
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Datenbanksysteme II Vorlesung WS 2006 / 2007 Paul Manthey
Aufbau, Theorie und Anwendung (im Unterricht)
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Vorlesung #5 SQL (Teil 2).
Einführung Dateisystem <-> Datenbanksystem
1 Referenzielle Konsistenz (1) Vorgehensweise: Klausel references mit nachfolgender Spezikation eines Attributs einer anderen Tabelle identifiziert ein.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
Vordefinierte Datentypen (1)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Datenbank System (DBS) - Warum?
Datenbank für Skriptenverkauf
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
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.
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
(Structured Query Language)
 Präsentation transkript:

SQL als Abfragesprache theoretische und praktische Einführung

Wikipedia schreibt: SQL (Structured Query Language), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO standardisiert und wird von fast allen gängigen Datenbanksystemen unterstützt. SQL umfasst die folgenden Datenbanksprachen: Data Manipulation Language, Data Definition Language, Data Control Language.

Allgemeines Entstand gegen Ende der 70er (IBM, San Jose) Eigentlicher Name: SEQUEL Aktueller Standard: SQL:2008 „Nichtprozedural“ User formuliert was getan werden soll, ohne es selbst zu tun Beispiel-Implementierungen: MySQL, Access, uvm. Möglichkeiten der Erstellung per GUI oder „zu Fuß“ Befehle orientieren sich an natürlicher Sprache (Englisch) Erweiterbar durch Schnittstellen zu anderen Programmiersprachen und durch Exportfunktionen

Beispiel einer Relation Nutzer Entität/Relation Schema Nutzer-ID Vorname Nachname Karten-Nummer 1 Heinz Happ 34556 2 Gabi Gabel 468786 3 Martin Mann 123786 4 Frieda Frau 846513 5 Harry Hirsch 132464 Tupel Attribut

Beispiel einer Relation Bücher Buch-ID Autor Verlag Verlagsjahr Titel Datum 1 Hans Vielschreiber Musterverlag 2007 Wir lernen SQL 13.01.2007 2 J. Gutenberg Gutenberg und Co. 1452 Drucken leicht gemacht 01.01.1452 3 G. I. Caesar Handschrift Verlag -44 Mein Leben mit Asterix 16.03.-44 5 Galileo Galilei Inquisition International 1640 Eppur si muove 1641 6 Charles Darwin Vatikan Verlag 1860 Adam und Eva 1862

Beispiel einer Relation Entliehen Nutzer-ID Buch-ID 5 1 2 3 6

Indizes/Schlüssel Jedes Tupel (Zeile) in einer Tabelle kann durch einen eindeutigen Index (Primary Key) identifiziert werden Dieser wird explizit vergeben oder aus bestimmten Spalten zusammengesetzt Um eindeutig zu sein muss sich der zusammengesetzte Schlüssel in mindestens einem Punkt von allen anderen unterscheiden

Data Manipulation Language Daten werden abgerufen Daten können manipuliert werden Wichtigste Befehle: SELECT INSERT UPDATE DELETE

Beispiel Select SELECT Spaltenname1, Spaltenname2 (* für Alle) FROM Relationsname; Wählt bestimmte Spalten aus einer bestimmten Tabelle aus

Beispiel Select SELECT Spaltenname1, Spaltenname2 FROM Relationsname WHERE Bool‘sche Bedingung; (<,>,||,=,AND,OR,BETWEEN,EXISTS,IS NULL etc.) Wählt bestimmte Spalten aus einer bestimmten Tabelle aus, deren Inhalt eine Bedingung erfüllt

Beispiel Select SELECT Spaltenname1, Spaltenname2 (* für Alle) FROM Relationsname WHERE Bool‘sche Bedingung ORDER BY Spaltenname asc/desc; Wählt bestimmte Spalten aus einer bestimmten Tabelle aus, deren Inhalt eine Bedingung erfüllt und sortiert diese

Beispiel Select SELECT Spaltenname1, Spaltenname2 (* für Alle) FROM Relationsname GROUP BY Gruppierungen (COUNT,MAX,MIN,AVG,SUM,etc.) Wählt bestimmte Spalten aus einer bestimmten Tabelle aus und führt eine mathematische Operation mit diesen durch

Kreuzen SELECT * FROM links, rechts; links rechts A B 1 2 3 B C 3 4 5

Join Select SELECT * FROM links, rechts WHERE links.B=rechts.B; links A B 1 2 3 B C 3 4 5 SELECT * FROM links, rechts WHERE links.B=rechts.B; A B C 2 3 4

Beispiel Insert INSERT INTO Relationsname (Spaltenname) VALUES (Werte); Fügt in einer bestimmten Spalte einer bestimmten Tabelle, Werte ein.

Beispiel Update UPDATE Relationsname SET Spaltenname = Wert WHERE Bool‘sche Bedingung; Ändert in einer bestimmten Spalte einer bestimmten Tabelle den Wert, der eine Bedingung erfüllt.

Beispiel Delete DELETE FROM Relationsname WHERE Bool‘sche Bedingung; Löscht in einer bestimmten Tabelle den Tupel, der eine Bedingung erfüllt.

Data Definition Language Daten werden erzeugt Relationen werden erzeugt/gelöscht Wichtigste Befehle: CREATE DROP ALTER

Beispiel Create CREATE TABLE Relationsname (Spaltenname1,Spaltenname2); Erzeugt eine Tabelle mit den angegebenen Spalten. Wobei hinter jeder Spalte ein Datentyp definiert wird (INT,CHAR,BIT,DATE, etc.).

Exkurs: Datentypen in SQL int: Ganze Zahl (Variationen smallint, bigint) numeric (n,m): Festkommazahl (n Stellen, davon m Nachkommastellen float (m): Gleitkommazahl (mit m Stellen) real/double: Gleitkommazahlen (vom DBS festgelegt) char (n): Zeichenkette mit n Stellen varchar: Zeichenkette variabler Länge date: Datumsangabe time: Zeitangabe timestamp: Datum und Uhrzeit boolean: wahr- oder falsch-Wert blob (n): „Binary Large Object“ mit n Byte Länge clob (n): „Character Large Object“ mit n Zeichen Länge

Beispiel Create CREATE INDEX Indexname ON Relationsname (Spaltenname); Erzeugt einen Index auf den angegebenen Spalten.

Beispiel Alter ALTER TABLE Relationsname ADD Spaltenname1, Spaltenname2; Fügt zu einer Tabelle die angegebenen Spalten. Wobei hinter jeder Spalte ein Datentyp angegeben wird.

Beispiel Drop DROP TABLE Relationsname; Löscht eine bestimmte Tabelle.

Beispiel Drop DROP INDEX Indexname; Löscht einen bestimmten Index.

Data Control Language Rechte werden gegeben Rechte werden eingeschränkt Wichtigste Befehle: GRANT REVOKE

Beispiel Grant GRANT Befehl1,Befehl2 ON Relationsname1, Relationsname2 TO Benutzername (kann auch PUBLIC sein); [WITH GRANT OPTION;] Gestattet Befehle auf bestimmten Tabellen, einem/mehreren/allen Benutzern [mit der Option dieses Recht weiterzugeben].

Beispiel Revoke REVOKE Befehl1,Befehl2 ON Relationsname1, Relationsname2 FROM Benutzername (kann auch PUBLIC sein); Entzieht Befehle auf bestimmten Tabellen, einem/mehreren/allen Benutzern.