4. Structured Query Language (SQL)
|
|
- Busso Tiedeman
- vor 8 Jahren
- Abrufe
Transkript
1 4. Structured Query Language (SQL)
2 Rückblick Konzeptuelles Modell (ERM) können wir nun in (wenige) Relationen übersetzen Relationale Algebra gibt uns eine Sprache an die Hand, mit der wir Anfragen auf Relationen formulieren können Jetzt: Structured Query Language (SQL) als der Industriestandard zur Schemadefinition, Datenmanipulation und Anfrageformulierung 2
3 SQL vs. Relationales Modell & Relationenalgebra Relationales Modell und relationale Algebra bilden das theoretische Fundament von SQL Wichtige Unterschiede: Relationales Modell sieht Relationen als Mengen von Tupeln, und es gibt somit keine Duplikate; per SQL definierte Tabellen in RDBMS können jedoch Duplikate enthalten Relationale Algebra gibt (implizit) einen Auswertungsplan für die Anfrage vor; SQL ist rein deklarativ, d.h. das RDBMS darf selbst entscheiden wie die Anfrage ausgewertet wird 3
4 Structured Query Language (SQL) Structured Query Language (SQL) geht zurück auf den in IBM Almaden (San Jose) entwickelten Prototypen System R ursprünglich: Structured English Query Language (SEQUEL) auf Englisch wird SQL noch immer sequel gesprochen 4
5 SQL als Standard SQL standardisiert durch American National Standards Institute (ANSI) und International Organization for Standardization (ISO) SQL-86 / SQL-89 SQL-92 (z.b. Datentypen für Daten, Mengenoperationen) SQL-99 (z.b. rekursive Anfragen) SQL-2003 (z.b. Unterstützung von XML) SQL-2008 / SQL-2011 Oracle, IBM DB2 und Microsoft SQL Server unterstützen SQL-92 weitgehend und bieten darüber hinaus proprietäre Funktionalität (z.b. XML-Unterstützung) 5
6 SQL Sprachbestandteile Data Definition Language (DDL) zur Schemadefinition (z.b. Anlegen von Tabellen) Data Query Language (DQL) zum Anfragen (z.b. Auswahl bestimmer Zeilen) Data Manipulation Language (DML) zur Datenmanipulation (z.b. Einfügen von Daten in Tabellen) Data Control Language (DCL) zur Rechteverwaltung (z.b. Sperren des Zugriffs auf Tabelle) Transaction Control Language (TCL) zur Transaktionsverwaltung (z.b. rückgängig machen) 6
7 4.1 Schemadefinition und -veränderung Data Definition Language (DQL) stellt Befehle zur Schemadefinition und veränderung bereit, z.b. Anlegen, Ändern und Löschen von Tabellen Anlegen, Ändern und Löschen von Sichten (Kapitel 10) Wie können wir zu Relationen unseres Schema, z.b. Studenten : Ó Ô [ MatrNr : integer, Vorname : string, Name : string, Semester : integer ] Professoren : Ó Ô [ PersNr : integer, Vorname : string, Name : string, Fach : string ] entsprechende Tabelle anlegen? 7
8 Datentypen SQL kennt eine Vielzahl von Datentypen, u.a. int, smallint, bigint für ganze Zahlen float für Gleitkommazahlen char(n) für Zeichenketten mit fixer Länge n varchar(n) für Zeichenkette der maximalen Länge n date, time, datetime für Datums- und Zeitangaben money für Währungsangaben blob / clob für große Binär- bzw. Textdaten Verfügbarkeit und Benennung der Datentypen unterscheidet sich (leider) zwischen RDBMSs 8
9 Datentypen in SQLite und MS SQL Server MS SQL Server und SQLite als die für unsere Vorlesung relevanten RDBMSs kennen u.a. folgende Datentypen int / smallint / integer für ganze Zahlen float / real für Gleitkommazahlen char / varchar(n) / text für Zeichenketten varbinary(n) / blob für sehr große Binärdaten (bis 2 GB) datetime / smalldatetime für Datumsangaben money für Währungsangaben 9
10 NULL-Werte Weiterer Unterschied zum relationalen Modell: RDBMSs unterstützen NULL-Werte für alle Datentypen NULL-Wert zeigt an, dass der Wert des Attributs nicht bekannt ist oder dass das Attribut nicht anwendbar ist NULL-Werte können bei der Schemadefinition (d.h. dem Anlegen von Tabellen) erlaubt oder untersagt werden Beispiel: Lieferdatum (nicht bekannt) und Bemerkung (nicht anwendbar) von Bestellungen dürfen NULL sein 10
11 Anlegen von Tabellen Tabellen lassen sich mittels CREATE TABLE anlegen 1 CREATE TABLE <Name der Tabelle> ( 2 <Name von Attribut 1> datentyp (NOT) NULL, 3 <Name von Attribut 2> datentyp (NOT) NULL, ) Beispiel: Tabelle Professoren 1 CREATE TABLE Professoren ( 2 PersNr int NOT NULL, 3 Vorname varchar(30) NOT NULL, 4 Name varchar(30) NOT NULL, 5 Fach varchar(60) NULL 6 ) 11
12 Anlegen von Tabellen NULL-Werte können erlaubt oder untersagt werden NOT NULL lässt keine NULL-Werte zu NULL (oder keine Angabe) lässt NULL-Werte zu Diese Angaben sind Integritätsbedingen, d.h. das RDBMS stellt sicher, dass sie eingehalten werden 12
13 Primärschlüssel Bisher kein Schlüssel definiert, d.h. die Tabelle Professoren könnte mehrere identische Tupel enthalten Primärschlüssel (mehr dazu in Kapitel 5) ist die Menge von Attributen, die als Schlüssel für Tabelle gewählt wurde Primärschlüssel wird mittels PRIMARY KEY angegeben und kann ein oder mehrere Attribute umfassen 13
14 Primärschlüssel Beispiel: Tabelle Professoren 1 CREATE TABLE Professoren ( 2 PersNr int, 3 Vorname varchar(30), 4 Name varchar(30), 5 Fach varchar(60), 6 PRIMARY KEY (PersNr) 7 ) Erinnerung: Primärschlüssel stellen eine Integritätsbedingung dar (mehr dazu in Kapitel 6), um deren Einhaltung sich das RDBMS nun kümmert, d.h. wir können nicht mehrere Tupel mit identischer PersNr in die Tabelle einfügen 14
15 Fremdschlüssel Fremdschlüssel sind Gruppen von Attributen, die dem Primärschlüssel einer anderen Tabelle entsprechen und damit auf ein Tupel in der anderen Tabelle verweisen Beispiel: Relation Vorlesung, nach Eliminierung des 1:n- Beziehungstyps lesen, enthält Attribut PersNr, welches auf einen Professor verweist 1 CREATE TABLE Vorlesungen ( 2 VorlNr int NOT NULL, 3 Bezeichnung varchar(60) NOT NULL, 4 SWS varchar(30) NOT NULL, 5 PersNr int NULL, 6 PRIMARY KEY (VorlNr) 7 ) 15
16 Fremdschlüssel Fremdschlüssel werden mittels FOREIGN KEY... REFERENCES angegeben und können jeweils mehrere Attribute enthalten Eine Tabelle kann höchstens einen Primärschlüssel, aber mehrere Fremdschlüssel besitzen 1 CREATE TABLE Vorlesungen ( 2 VorlNr int NOT NULL, 3 Bezeichnung varchar(60) NOT NULL, 4 SWS varchar(30) NOT NULL, 5 PersNr int NULL, 6 FOREIGN KEY (PersNr) REFERENCES Professoren(PersNr), 7 PRIMARY KEY (VorlNr) 8 ) 16
17 Referentielle Integrität Fremdschlüssel stellen eine Integritätsbedingung dar RDBMS stellt referentielle Integrität der Daten sicher, d.h. wenn die Attribute A 1,, A n als Fremdschlüssel auf eine andere Tabelle T markiert sind, dann müssen alle A i den Wert NULL haben (sofern erlaubt), oder es muss ein entsprechendes Tupel mit den Werten der Attribute A i als Primärschlüssel in der Tabelle T existieren Mehr zur referentiellen Integrität in Kapitel 6 17
18 Ändern von Tabellen Tabellen (d.h. ihr Schema, nicht ihr Inhalt) lassen sich mittels ALTER TABLE verändern Hinzufügen eines Attributs 1 ALTER TABLE <Name der Tabelle> 2 ADD COLUMN <Name des Attributs> datentyp Ändern eines Attributs 1 ALTER TABLE <Name der Tabelle> 2 ALTER COLUMN <Name des Attributs> datentyp 18
19 Löschen von Tabellen Tabellen lassen sich mittels DROP TABLE löschen 1 DROP TABLE <Name der Tabelle> Beispiel: Tabelle Professoren 1 DROP TABLE Professoren 19
20 SQL-Syntaxdiagramme Dokumentation zu RDBMS veranschaulicht die Syntax eines SQL Kommandos evtl. mittels Syntaxdiagramm Quelle: 20
21 SQL-Grammatiken Grammatiken sind eine alternative, zu Syntaxdiagrammen äquivalente, Darstellung der Syntax von SQL Kommandos CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [partition_options] create_definition: col_name column_definition [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) [index_option]... [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition CHECK (expr) column_definition: data_type [NOT NULL NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] [PRIMARY] KEY] [COMMENT 'string'] [COLUMN_FORMAT {FIXED DYNAMIC DEFAULT}] [STORAGE {DISK MEMORY DEFAULT}] [reference_definition] Quelle: 21
22 Data Dictionary RDBMSs verwenden meist selbst eine Datenbank, das sogenannte Data Dictionary, um Schemainformationen (z.b. welche Tabellen es gibt) zu verwalten Namen der Tabellen, in denen das Data Dictionary selbst angelegt ist, sind (leider) systemabhängig RDBMSs bieten teilweise eigene Kommandos, um auf das Data Dictionary zuzugreifen 22
23 Data Dictionary Zugriff auf Data Dictionary in SQLite:.tables zeigt verfügbare Tabellen an.schema zeigt Schema einer Tabelle an Zugrif auf Data Dictionary in MS SQL Server: sp_tables enthält verfügbare Tabellen sp_columns <T> enthält Schema der Tabelle T 23
24 4.2 Anfragen auf einer Tabelle Anfragen lassen sich mittels des SELECT Kommandos formulieren; dieses hat folgende Form 1 SELECT <Attribute> 2 FROM <Tabellen> 3 WHERE <Bedingungen> 4 ORDER BY <Attribute> Beispiel: Vorname und Name von Professoren in Informatik 1 SELECT Vorname, Name 2 FROM Professoren 3 WHERE Fach = Informatik dies entspricht folgendem Ausdruck der Relationenalgebra fi [ Vorname, Name ] ( [ Fach = Informatik ] ( Professoren ) ) 24
25 Duplikateneliminierung Anfrageergebnisse können, im Gegensatz zu Ergebnisrelationen der Relationanalgebra, Duplikate enthalten Professoren PersNr Vorname Name Fach Donald Knuth Informatik Albert Einstein Physik Alfred Nobel Chemie Donald Kossmann Informatik Carl Gauss Mathematik Vorname 1 SELECT Vorname 2 FROM Professoren Donald Albert Alfred Donald Carl 25
26 Duplikateneliminierung Duplikate im Anfrageergebnis können durch Angabe von DISTINCT unterdrückt werden Professoren PersNr Vorname Name Fach Donald Knuth Informatik Albert Einstein Physik Alfred Nobel Chemie Donald Kossmann Informatik Carl Gauss Mathematik Vorname 1 SELECT DISTINCT Vorname 2 FROM Professoren Donald Albert Alfred Carl 26
27 Sortierung Anfrageergebnisse können, im Gegensatz zu Ergebnisrelationen der Relationanalgebra, eine Ordnung haben Sortierung des Anfrageergebnis nach ein oder mehreren Attributen durch Angabe durch ORDER BY Natürliche Ordnung der Attribute wird gemäß ihres Datentyps verwendet, d.h. numerische Attribute (z.b. int und float) werden nach numerischem Wert, textuelle Attribute (z.b. char und varchar) lexikografisch sortiert 27
28 Sortierung Angabe von ASC bzw. DESC bestimmt, ob nach einem Attribut aufsteigend oder absteigend sortiert wird ASC ist hier Vorgabewert (default) und kann entfallen Beispiel: Vorname, Name und Fach von Professoren, aufsteigend sortiert nach Nachname und Vorname 1 SELECT Vorname, Name, Fach 2 FROM Professoren 3 WHERE Fach = Mathematik 4 ORDER BY Name, Vorname 28
29 Sortierung Beispiel: Vorname und Name von Studenten, absteigend sortiert nach ihrer Anzahl von Semestern 1 SELECT Vorname, Name 2 FROM Studenten 3 ORDER BY Semester DESC 29
30 Formatierung und Namenskonventionen Ähnlich zu Programmiersprachen, gibt es auch für SQL verschiedene Konvetionen zur Bennenung von Bezeichnern und Formatierung von Kommandos Schlüsselwörter (CREATE vs. create) Attributnamen (Bestell_Nr vs. BestellNr) Tabellennamen (Kunden vs. Kunde) Formatierung von Kommandos (Klammern und Umbrüche) Letztlich Geschmacksache, Konsistenz innerhalb eines Projekts ist jedoch wichtig 30
31 Anfrageübung Versandhandel Bestellungen : Ó Ô [ BestellNr : integer, Bestelldatum : string,..., KundenNr : integer, ] Kunden : Ó Ô [ KundenNr : integer, Vorname : string, Name : string,...] Artikel : Ó Ô [ ArtikelNr : integer, Beschreibung : string,...,me : string ] Mengeneinheiten : Ó Ô [ME:string, Beschreibung : string,...] Bestellpositionen : Ó Ô [ BestellNr : integer, ArtikelNr : integer, Anzahl : integer ] Kunden aus Mannheim sortiert nach Name und Vorname Bestellungen des Kunden mit der KundenNr sortiert nach ihrem Bestelldatum Vornamen von Kunden (ohne Duplikate) 31
32 Anfrageübung Versandhandel Kunden aus Mannheim sortiert nach Name und Vorname 1 SELECT * 2 FROM Kunden 3 WHERE Wohnort = Mannheim 4 ORDER BY Name, Vorname Bestellungen des Kunden mit der Kunden_Nr sortiert nach ihrem Bestelldatum 1 SELECT * 2 FROM Bestellungen 3 WHERE Kunden_Nr = ORDER BY Bestelldatum Vornamen von Kunden (ohne Duplikate) 1 SELECT DISTINCT Vorname 2 FROM Kunden 32
33 Zusammenfassung Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data Query Language zum Formulieren von Anfragen (SELECT... FROM... WHERE... ORDER BY...) 33
34 Literatur [1] A. Kemper und A. Eickler: Datenbanksysteme Eine Einführung, De Gruyter Oldenbourg, 2013 (Kapitel 4) [2] G. Saake, K.-U. Sattler und A. Heuer: Datenbanken - Konzepte und Sprachen, mitp Professional, 2013 (Kapitel 7) 34
4. Structured Query Language (SQL)
4. Structured Query Language (SQL) Rückblick Konzeptuelles Modell (ERM) können wir nun in (wenige) Relationen übersetzen Relationale Algebra gibt uns eine Sprache an die Hand, mit der wir Anfragen auf
MehrSemantische 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
MehrSQL. 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:
Mehr2.5 Structured Query Language (SQL)
2.5 Structured Query Language (SQL) Structured Query Language (SQL) geht zurück auf den in IBM Almaden (San Jose) entwickelten Prototypen System R ursprünglich: Structured English Query Language (SEQUEL)
MehrStructured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken
Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data
MehrSQL 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-
MehrDatenbanktechnologie 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
MehrDATENBANKEN 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.
MehrMengenvergleiche: 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
MehrReferentielle 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Ü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
MehrReferentielle 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
MehrDatenintegritä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!
MehrRückblick: Relationale Normalisierung
Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren
Mehr3. Relationales Modell & Algebra
3. Relationales Modell & Algebra Inhalt 3.1 Relationales Modell Wie können wir Daten mathematisch formal darstellen? 3.2 Übersetzung eines konzeptuellen Modells Wie können wir ein konzeptuelles Modell
MehrDatenintegritä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
MehrSQL 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
MehrInformatik 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
MehrRückblick: Relationales Modell
Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen
MehrDatenintegritä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!
MehrUni 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
MehrDatenbanken 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,
Mehr7. Ü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
MehrDatenbanken (WS 2015/2016)
Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrInformatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne
Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrSQL 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
MehrDatenintegritä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
MehrSQL (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
MehrRelationales 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
MehrRückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung
Rückblick SQL bietet viele Möglichkeiten zur Anfrageformulierung mathematische Funktionen (z.b. ABS(A) und SIGN(A)) Aggregatfunktionen (z.b. MIN(A) und SUM(A)) Boole sche Operatoren (AND, OR, EXCEPT) Verknüpfungen
MehrEinfü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
MehrDatumsangaben, 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
MehrWie definieren wir das Relationen-
Wie definieren wir das Relationen- schema für eine Datenbank? Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus C3 309 2136
MehrIV. 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.
MehrSeminar 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
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrVorlesung 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
MehrRückblick: Relationale Normalisierung
Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren
MehrSQL 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
MehrSchlü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
MehrReferenzielle 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
MehrStructured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken
Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrRelationales Datenbanksystem Oracle
Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information
Mehr3. Relationales Modell & Algebra
3. Relationales Modell & Algebra Inhalt 3.1 Relationales Modell Wie können wir Daten mathematisch formal darstellen? 3.2 Übersetzung eines konzeptuellen Modells Wie können wir ein konzeptuelles Modell
MehrSQL: 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
Mehr5. Relationale Entwurfstheorie
5 Relationale Entwurfstheorie Motivation Konzeptuelles Modell (ERM) kann in ein relationales Schema mit möglichst wenigen Relationen übersetzt werden (vgl Kapitel 4) Welche Eigenschaften hat ein gutes
MehrIntegritä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
MehrUniversitä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
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
MehrAnwendungsentwicklung 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
MehrDatenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 7a: Structured Query Language (SQL) MySQL 5.0 (enthalten in: http://www.apachefriends.org/de/xampp.html)
MehrLabor 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.
MehrSQL 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)
MehrArbeiten 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
MehrSQL. 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
MehrDatenbanken. Sommersemester 2010 Probeklausur
Prof. Dr. V. Linnemann Christoph Reinke Universität zu Lübeck Institut für Informationssysteme Lübeck, den 29. Juli 2010 Datenbanken Sommersemester 2010 Probeklausur Hinweise: Es ist sinnvoll, die Aufgaben
MehrSQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)
SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro
MehrDBS ::: 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
MehrDas 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
MehrRückblick: Datenbankentwurf
Rückblick: Datenbankentwurf Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben Gegenstände
MehrAufbau 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
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrEin 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
MehrDipl. 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
MehrKapitel 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
MehrProjektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11
Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS
MehrDatenbanksysteme 2013
Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische
MehrSructred 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
MehrDatenbanken im WI-Unterricht mit
Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
MehrSQL. 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
Mehr3. Relationales Modell & Algebra
3. Relationales Modell & Algebra Inhalt 3.1 Relationales Modell Wie können wir Daten mathematisch formal darstellen? 3.2 Übersetzung eines konzeptuellen Modells Wie können wir ein konzeptuelles Modell
MehrRelationale Datenbanken in der Praxis
Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5
MehrDatenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung
Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen
MehrKapitel 8: Datenintegrität
Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:
MehrSQL-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
MehrKapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023
Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten
MehrMIN oder MAX Bildung per B*Tree Index Hint
E-Mail: rainer@lambertz-c.de Internet: http://www.lambertz-c.de MIN oder MAX Bildung per B*Tree Index Hint Zugegeben, der Trick Min- oder Maximalwerte per Index Hint zu ermitteln ist nicht neu. Gewöhnlich
MehrGrundlagen von Datenbanken
Grundlagen von Datenbanken Aufgabenzettel 4 SQL-Anfragen Überblick: DB-Entwurf und Modellierung Konzeptioneller Entwurf Anforderungen Informationsmodell PNr. Vorname Nachname Geb.Datum Person n Datum kaufen
Mehr5.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
Mehr4. 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:
Mehr5. SQL. Einleitung / Historie / Normierung. Datendefinition mit SQL (DDL) Datenänderung/-zugriff mit SQL (DML) Datenkontrolle mit SQL (DCL)
5. SQL Einleitung / Historie / Normierung Datendefinition mit SQL (DDL) Datenänderung/-zugriff mit SQL (DML) Datenkontrolle mit SQL (DCL) Ausblick: Transaktionsverwaltung/Fehlerbehandlung Praktischer Teil
MehrProbeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5
Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5 Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Hinweise Der Aufgabensatz
MehrXAMPP-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.
MehrInhalt. 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,
MehrDatenbanksysteme Kapitel: SQL Data Definition Language
Datenbanksysteme Kapitel: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof.
Mehr2. Relationale Datenbanken
2. Relationale Datenbanken Inhalt 2.1 Entity-Relationship-Modell 2.2 Relationales Modell 2.3 Relationale Entwurfstheorie 2.4 Relationale Algebra 2.5 Structured Query Language (SQL) 2 2.1 Entity-Relationship-Modell
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrPraktische 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/
Mehr3. 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