SQL. Was ist SQL? SQL- Standards Grundregeln Die DDL Datenbanken erstellen Tabellen erstellen und ändern Spalten definieren Schlüssel definieren - 2 -
|
|
- Monica Baum
- vor 8 Jahren
- Abrufe
Transkript
1 SQL - 1 -
2 SQL Was ist SQL? SQL- Standards Grundregeln Die DDL Datenbanken erstellen Tabellen erstellen und ändern Spalten definieren Schlüssel definieren - 2 -
3 Was ist SQL? 1974 unter dem Namen Sequel (Structured English Query Language) von IBM für experimentelles RDBMS entwickelt. Heute standardisierte Sprache für relationale DBMS (SQL2, 1992) und objekt- relationale DBMS (SQL3, 1999). SQL ist eine nichtprozedurale Sprache! - 3 -
4 Was kann SQL? SQL ist die De- facto- Standardsprache, mit der sich Daten aus relationalen Datenbanken abrufen und dort manipulieren lassen. Mit SQL kann der Programmierer oder Datenbankadministrator folgende Aufgaben ausführen: die Struktur einer Datenbank modifizieren. die Einstellungen der Systemsicherheit ändern. Benutzerberechtigungen für Datenbanken oder Tabellen einrichten. eine Datenbank nach Informationen abfragen. den Inhalt einer Datenbank aktualisieren
5 SQL- Standards Es gibt im wesentlichen drei (ISO) Standards für RDBMS: SQL- 89 (ANSI SQL), SQL- 92 (SQL- 2), SQL- 99 (SQL3) SQL- 89: Erster "echter" Standard (nach ISO/ ANSI SQL- 86) im wesentlichen "kleinster gemeinsamer Nenner der zu der Zeit verfügbaren DBMS- Produkte daher als Standard ziemlich wertlos enthielt bereits SQL DDL (Data Definition Language), Embedded SQL (für FORTRAN, COBOL, PL/ I und Pascal), Referentielle Integrität - 5 -
6 SQL- Standards: SQL 2 SQL- 92 (SQL 2): schon fünfmal so lang wie SQL- 89, neu hinzu kamen: SQL agents (Anfrageerzeugende Programme oder Benutzer) SQL Client/ Server Architekturen (SET CONNECTION) Feingranulare Transaktionskontrolle (SET TRANSACTION), einstellbare Isolation- level (für automatisches Locking) Standardisiertes Data Dictionary Embedded SQL für neue Sprachen (C, Ada,...) Unterstützung von Dynamic SQL Neue Datentypen (BLOBs, VARCHAR, DATE, TIME, TIMESTAMP) - 6 -
7 SQL 2 (II) Temporäre Tabellen (z. B. für "Zwischenergebnisse) Standardisierte Join- Operatoren: outer join, union join, cross join, inner join Standardisierte Fehlerbehandlung (GET DIAGNOSTICS) Constraints (Regeln für zulässige Wertebereiche) Sonstiges: String- Funktionen, div. Cursors, Änderungen an der referentiellen Integrität, an Autorisation, Typumwandlungen,... =>Es hat gut 5 Jahre gebraucht, bis alle Hersteller diesen Standard erfüllen konnten - 7 -
8 SQL 3 SQL3 brauchte mehrere Jahre bis zur Verabschiedung, umfaßt einige tausend Seiten Wesentliche Punkte Object SQL Stored Procedures Triggers Benutzerdefinierbare Datentypen CLI (Callable Level Interface) Multimedia- Erweiterungen => Hersteller werden Jahre bis zur Erfüllung des Standards brauchen, bis dahin Gefahr des Auseinanderdriftens" - 8 -
9 SQL- Standards: Fazit Den SQL- 92 Standard erfüllen inzwischen alle (abgesehen von einigen freien Systemen) Für praktischen Einsatz reicht dies aber nicht aus: Trend: DBMS- Hersteller werden "aufmüpfig" und versuchen, nach dem Microsoft- Prinzip alles durch vertikale Integration in den Datenbankkern zu verlagern (Java Virtual Machine, Dateisystemverwaltung, Web Server,...) Gegentrend: Datenbanken werden mehr und mehr hinter produktübergreifenden Standards "versteckt (ODBC/ JDBC, EJB Container, abstrakte DB- Schichten) - 9 -
10 Einteilung von SQL- Anweisungen SQL- Anweisungen können in die drei folgenden großen Kategorien eingeteilt werden: Data Manipulation Language (DML, Datenmanipulationssprache), mit der Daten abgerufen oder geändert werden Data Definition Language (DDL, Datendefinitionssprache), mit der die Datenstruktur definiert wird Data Control Language (DCL, Datenkontrollsprache), mit der die den Datenbankbenutzern erteilten Berechtigungen definiert werden
11 SQL: Grundregeln Jede SQL- Anweisung endet mit einem Semikolon. Eine SQL- Anweisung kann in eine Zeile eingegeben oder der Deutlichkeit halber auf mehrere Zeilen aufgeteilt werden. SQL ignoriert Groß- und Kleinschreibung; Sie können Groß- und Kleinbuchstaben mischen, wenn Sie auf SQL-Schlüsselwörter (wie z.b. select und insert), Tabellen- und Spaltennamen verweisen. Bei dem Inhalt einer Spalte spielt die Groß- und Kleinschreibung jedoch eine Rolle! Wenn Sie alle Kunden abfragen, deren Nachname mit a beginnt, und alle Namen in Großbuchstaben gespeichert sind, werden überhaupt keine Zeilen abgerufen. Wenn SQL- Schlüsselwörter als Tabellen- oder Spaltennamen verwendet werden sollen, müssen sie in doppelte Anführungszeichen eingeschlossen werden
12 SQL: Die DDL Anweisungen zur Definition oder Änderung der Datenbankstruktur Datenbanken CREATE DATABASE DROP DATABASE Relationen CREATE TABLE ALTER TABLE DROP TABLE Sichten CREATE VIEW DROP VIEW Indices CREATE INDEX DROP INDEX
13 CREATE/ DROP DATABASE Erzeugung einer Datenbank: CREATE DATABASE Datenbankname ; Löschen der Datenbank: DROP DATABASE Datenbankname ; Hier gibt es deutliche Unterschiede zwischen den verschiedenen DBMS! Findet oft nicht über SQL statt
14 CREATE TABLE Erzeugen einer neuen Tabelle (Relation) in der Datenbank. Vereinfachte Syntax: CREATE TABLE table_ name ( column_ name1 datatype [[ NOT] NULL],... column_ namen datatype [[ NOT] NULL]) [tablespace tablespacename ]; Die Definition der Variablen lautet wie folgt: table_ name steht für den Namen der Tabelle. column_ name1 bis column_ namen sind gültige Spaltennamen (s. u.). datatype ist die gültige Angabe des Oracle- Datentyps
15 Benennung von Tabellen Jede Tabelle, die einem Oracle- Account gehört, muß einen eindeutigen Namen haben. Ein Tabellenname darf nicht länger als 30 Zeichen sein; er muß mit einem Buchstaben beginnen. Ein Tabellenname kann die Buchstaben A bis Z, die Zahlen 0 bis 9 sowie die Zeichen $, # und _ (Unterstrich) enthalten. Ein Tabellenname darf kein von SQL reserviertes Wort enthalten. Ein Tabellenname kann Groß- und Kleinbuchstaben enthalten (wird von Oracle ignoriert, sofern die Tabellen-namen nicht in doppelten Anführungszeichen stehen). Der Name einer Tabelle sollte aussagekräftig sein keine übertriebenen Abkürzungen!
16 Benennung von Spalten Innerhalb einer Tabelle muß der Spaltenname eindeutig sein. (Man kann aber denselben Spaltennamen in unterschiedlichen Tabellen verwenden) Der Name einer Spalte kann aus bis zu 30 Zeichen bestehen; er muß mit einem Buchstaben beginnen. Der Spaltenname kann die Buchstaben A bis Z, die Ziffern 0 bis 9 sowie die Zeichen $, # und _ (Unterstrich) enthalten. Leerzeichen sind nicht erlaubt. Bei dem Spaltennamen darf es sich nicht um ein von SQL reserviertes Wort handeln. Wählen Sie aussagekräftige Namen sie lassen die Definition der einzelnen Spalten für den Benutzer deutlicher erscheinen. Eine Oracle- Tabelle kann aus bis zu 254 Spalten bestehen
17 Datentypen (ORACLE) CHAR( n): Zeichenkette fester Länge (1<= n<= 256) VARCHAR2( n): Zeichenkette variabler Länge (1<= n<= 4000) CHAR VARYING( n) (alternativ...) CHARACTER VARYING( n) (dito...) NUMBER( l, d): Dezimalzahlen ROWID: eindeutige ID für Zeile DATE: Datum/ Uhrzeit TIME: Uhrzeit mit Format (hhmmss) LONG: speichert Daten vom Typ VARCHAR. Es ist höchstens eine Spalte vom Typ LONG je Tabelle erlaubt. (nur bei ORACLE verfügbar) max. Größe: 2 GB BLOB, CLOB: große Binärobjekte (max. 4 GB)
18 Datentypen (ORACLE) Angegebener Datentyp Präzision Nachkommastellen NUMBER 38 0 NUMBER(*) 38 0 NUMBER(*,s) 38 s NUMBER(p) p 0 NUMBER(p,s) p s INTEGER 38 0 SMALLINT 38 0 FLOAT 38 0 FLOAT(*) 38 0 FLOAT(b) b 0 REAL 63b,18d 0 DOUBLE PRECISION
19 CREATE TABLE: Ein Beispiel
20 Die Kunden- Tabelle create table KUNDE ( KUNDENNR NUMBER (6) not null, NAME VARCHAR2 (100) null, PLZ NUMBER (5) not null, ORT VARCHAR2 (100) null, STRASSE VARCHAR2 (100) null, constraint PK_ KUNDE primary key ( KUNDENNR ) );
21 Definition von Schlüsseln Erzeugen eines Primärschlüssels in einer neuen Tabelle: CREATE TABLE table_ name ( column_ name1 datatype [[ NOT] NULL],... column_ namen datatype [[ NOT] NULL], CONSTRAINT c_ name PRIMARY KEY ( column_ namex ) ) [tablespace tablespacename ];
22 Definition von Schlüsseln (2) Erzeugen eines Fremdschlüssels in einer neuen Tabelle: CREATE TABLE table_ name ( column_ name1 datatype [[ NOT] NULL],... column_ namen datatype [[ NOT] NULL], CONSTRAINT c_ name FOREIGN KEY ( column_ namex ) REFERENCES Fremdtabelle ( FREMDcolumn_ namex ) ) [tablespace tablespacename ];
23 Die Artikel- Tabelle create table ARTIKEL ( ARTNR NUMBER( 6 ) not null, NAME VARCHAR2( 100 ) null, PREIS NUMBER( 10, 3 ) null, constraint PK_ ARTIKEL primary key ( ARTNR ) )
24 Die Auftrags- Tabelle create table AUFTRAG ( KUNDENNR NUMBER( 6) not null, ARTNR NUMBER( 6) not null, constraint PK_ AUFTRAG primary key (KUNDENNR, ARTNR) );
25 Indices Ein Tabellenindex ist ein Oracle- Objekt, das die in einer oder mehreren Tabellenspalten vorkommenden Werte enthält. Es gibt eindeutige und nicht eindeutige Indices
26 Indices: Do s and Dont s O. k.: Erstellen Sie einen Index für solche Spalten, deren Werte weit verteilt sind, wie z. B. Postleitzahlen. Erstellen Sie einen Spaltenindex so, daß die indizierten Spalten maximal 20 Prozent der Tabellendaten enthalten. Nicht o. k.: Erstellen Sie keinen eindeutigen Index statt der Deklaration eines Primärschlüssels. Übertreiben Sie es mit der Indexerstellung nicht. Sie können zwar die Datenabfrage verbessern, aber die Gesamtleistung der Datenbank negativ beeinflussen. Erstellen Sie keinen Index für eine Spalte, deren Werte wenig verteilt sind, wie z. B. Geschlecht. Indizieren Sie keine kleinen Tabellen
27 Einen Index erstellen Syntax: CREATE [ UNIQUE ] INDEX Indexname ON table- name ( column1 [order],... columnn [order] ); Order kann ASCending (Default) oder DESCending sein UNIQUE: es sind keine Duplikate möglich Beispiel: create index ERTEILT_ FK on AUFTRAG (KUNDENNR asc); create index ENTHALT_ FK on AUFTRAG (ARTNR asc);
28 ALTER TABLE ALTER TABLE erlaubt es dem DB- Admin oder dem Entwickler, die Struktur einer Tabelle im nachhinein zu verändern. Sie können damit z. B.: eine neue Spalte in eine vorhandene Tabelle einfügen eine vorhandene Spalte vergrößern oder verkleinern die Eigenschaft einer bestehenden Spalte von erforderlich in optional oder umgekehrt ändern einen Standardwert für eine vorhandene Spalte bestimmen andere Integritätsregeln für eine bestehende Spalte festlegen
29 ALTER TABLE Die Syntax ALTER TABLE Tabellenname < ADD (< Spaltendefinition Constraint >,... ); MODIFY(< Spaltendefinition Constraint >,... ); DROP PRIMARY KEY [ CASCADE ]; DROP CONSTRAINT Constraint ; >
30 ALTER TABLE: Ein Beispiel alter table KUNDE ADD ( TELEFON NUMBER (20) not null, FAX NUMBER (20) null ); alter table KUNDE MODIFY NAME VARCHAR2 (200) not null; Achtung: bei manchen DBs: ein neu eingefügtes Attribut darf nicht NOT NULL sein! => Bei der Einfügung wird als Default für das neue Attribut NULL angenommen, da ja zum Zeitpunkt der Definition kein Datenwert bekannt ist
31 Bsp.: Fremdschlüssel einfügen alter table AUFTRAG add constraint FK_ AUFTRAG_ ERTEILT_ KUNDE foreign key ( KUNDENNR ) references KUNDE ( KUNDENNR ); alter table AUFTRAG add constraint FK_ AUFTRAG_ ENTHALT_ ARTIKEL foreign key ( ARTNR ) references ARTIKEL ( ARTNR );
32 Löschen von Schlüsseln Den Primärschlüssel löschen: ALTER TABLE Tabellenname DROP PRIMARY KEY [ CASCADE ]; Achtung! Bei Verwendung von CASCADE werden alle referenzierenden Fremdschlüssel mitgelöscht! Einen Fremdschlüssel löschen: ALTER TABLE Tabellenname DROP CONSTRAINT FS- Name ;
33 DROP TABLE Löscht eine komplette Tabelle unwiderruflich! Syntax: DROP TABLE Tabellenname ; Empfohlen ist, immer den Eigentümer mitzuspezifizieren: DROP TABLE Eigentuemer. Tabellenname ;
34 SQL: Die DML Anweisungen zum Abruf oder zur Änderung der Daten Abruf SELECT Änderung INSERT UPDATE DELETE
35 Einfügen von Daten Mit der Anweisung INSERT lassen sich Daten in eine Datenbank eingeben. Die Anweisung existiert in zwei Varianten: INSERT... VALUES Datensatzweises Einfügen (für einzelne Werte) und INSERT... SELECT Kopieren von Informationen aus anderen Tabellen in eine neue Tabelle (später!)
36 INSERT... VALUES Die Anweisung INSERT... VALUES trägt Daten in eine Tabelle datensatzweise ein. Diese Anweisung bietet sich für kleinere Operationen an, die nur wenige Datensätze betreffen. Die Syntax lautet: INSERT INTO Tabellenname [ ( Spalte1 [, Spalte2 [... ] ] ) ] VALUES ( Wert1 [, Wert2 [... ] ] ); In der INSERT- Anweisung sind Spaltennamen nicht erforderlich. Gibt man sie nicht an, trägt SQL die Werte nacheinander entsprechend der Spaltennummer ein den ersten Wert in die erste Spalte, den zweiten in die zweite Spalte usw
37 INSERT... VALUES: Ein Beispiel Wir fügen einen neuen Kunden in unsere Datenbank ein: INSERT INTO KUNDE ( NAME, PLZ, ORT, STRASSE, TELEFON ) VALUES ( Franz Maier, 88090, Immenstaad, 07545/ );
38 INSERT... VALUES: Regeln INSERT... VALUES fügt einen Datensatz in eine Tabelle ein und verwendet dabei die angegebenen Spalten mit den entsprechenden Werten. Hierbei sind drei Regeln zu beachten: Die Werte müssen vom gleichen Typ wie die Felder in der Zieltabelle sein. Die Größe der Daten muß innerhalb der Größe der Spalten liegen. (Man kann z. B. keinen String mit 80 Zeichen in eine 40 Zeichen breite Spalte einfügen.) Strings müssen in Anführungszeichen eingeschlossen sein. Die Position der Daten in der VALUES- Liste muß der Position in der Spaltenliste der hinzuzufügenden Spalte entsprechen
39 Abfragen von Daten Um Daten aus der Datenbank auszulesen, verwendet man die SELECT- Anweisung. In der einfachsten Form lautet ihre Syntax: SELECT * FROM Tabellenname ; gibt alle Felder (Attribute) aller Datensätze einer Tabelle zurück SELECT Spalte1 [, Spalte2 [,...] ] FROM Tabellenname ; gibt nur die ausgewählten Felder (Attribute) aller Datensätze einer Tabelle zurück
40 Beispieldaten
41 Beispiele SELECT * FROM KUNDEN ; SELECT Name, Strasse, PLZ, Ort FROM Kunden ;
42 SELECT wie geht es weiter? Im Prinzip ist das das ganze Geheimnis hinter Datenbankabfragen. Der Teufel steckt aber wie so oft im Detail... Was brauchen wir noch? Auswahl spezieller Datensätze Verknüpfung von Daten mehrerer Tabellen Elimination überflüssiger Ergebnisse Sortieren und/ oder Gruppieren der Ergebnisse... => SELECT ist eine sehr mächtige Anweisung es gibt noch viel zu tun
43 SELECT DISTINCT Um doppelte Ergebnisse zu eliminieren, verwendet man das Schlüsselwort DISTINCT. Syntax: SELECT [< ALL DISTINCT >] Spalte1 [, Spalte2 [,...] ] FROM Tabellenname ; Anm.: Das Schlüsselwort ALL kennzeichnet explizit, daß man doppelte Einträge sehen möchte da dies aber die Default- Einstellung ist, ist dieses Schlüsselwort überflüssig
44 SELECT DISTINCT: Beispiel Beispiel: Ausgabe aller Orte, in denen Kunden wohnen: SELECT DISTINCT PLZ, Ort FROM Kunde ;
45 Ausdrücke Ein Ausdruck gibt einen Wert zurück. Ausdrücke sind jede Spaltenangabe (gibt den Inhalt dieser Spalte als Wert zurück) Konstanten (Zahlen, Strings) Zwei Ausdrücke, die mit einem Operator verknüpft sind, stellen wieder einen Ausdruck dar ( komplexer Ausdruck )
46 Operatoren in SQL
47 Beispiel: Ausdrücke in SELECT Beispiel: Ausgabe einer modifizierten Kundennummer und eines Vergleichskriteriums für die Postleitzahl: SELECT Kundennr+1000, Name, PLZ< FROM Kunden ;
48 Berechnete Spalten An Stelle einer jeden Spaltenbezeichnung kann in der SELECT- Anweisung ein beliebiger Ausdruck stehen. Das Ergebnis dieses Ausdrucks wird als eine neue, berechnete Spalte behandelt und kann mit einem Namen versehen werden. Syntax: SELECT [< ALL DISTINCT >] < Spalte1 Ausdruck1 [ [ AS ] Alias1 ] >[,...] FROM Tabellenname ; Das Schlüsselwort AS ist abhängig von der SQL- Implementation
49 Beispiel: Berechnete Spalten SELECT Name, Preis / AS Nettopreis FROM Artikel ;
50 Arithmetische Operatoren in SQL
51 Beispiel: Arithm. Operationen SELECT ArtNr, Name, Preis ROUND( Preis) AS gerundet, EK, ROUND( EK) AS Ekgerundet FROM KUNDEN;
52 Stringoperatoren in SQL
53 Beispiel: Stringoperationen SELECT INSTR( UPPER( Name)," H") AS HPos, Name " in Ort AS Kundenbez FROM KUNDEN;
54 Aggregatfunktionen in SQL Aggregatfunktionen operieren jeweils auf einer Spalte und liefern für die ganze Spalte ein Ergebnis zurück!
55 Beispiel: Aggregatfunktionen SELECT COUNT(*) AS Anzahl FROM KUNDEN; SELECT SUM( Anzahl) AS Gesamtzahl, AVG( Anzahl) AS Durchschnitt, MAX( Anzahl) AS Maximum FROM Auftrag;
56 Datensätze selektieren Bisher konnten wir nur alle Zeilen einer Tabelle auf einmal abrufen. Was ist, wenn uns nur bestimmte Datensätze interessieren? => Erweiterung des SELECT- Kommandos: SELECT [< ALL DISTINCT >] < Spalte1 Ausdruck1 [ [ AS ] Alias1 ] > [,...] FROM Tabellenname WHERE Bedingung ; Bedingung ist ein Ausdruck, der wahr sein muß, damit der entsprechende Datensatz zurückgegeben wird
57 Die WHERE- Klausel: Beispiele Alle Kunden aus Lindau: SELECT * FROM Kunden WHERE Ort=" Lindau"; Alle Artikel über 1000 SELECT * FROM Artikel WHERE Preis> 1000;
58 DatensätzeLOgische Operatoren in SQL
59 Die WHERE- Klausel: Beispiele Durch Verknüpfung von Ausdrücken lassen sich auch komplexe Abfragen realisieren, z. B. Alle Kunden mit PLZ> 80000, bei denen die Straße mit S anfängt: SELECT * FROM Kunden WHERE PLZ> AND INSTR( Strasse, S )= 1 ;
60 Ähnlichkeitsvergleiche für Strings Mit Hilfe des LIKE- Operators lassen sich Muster in Strings finden: SELECT * FROM Kunden WHERE Strasse LIKE "See%" ; Hierbei gelten folgende Platzhalter: "%" für beliebig viele Zeichen "_" für genau ein Zeichen
61 STARTING WITH... Mit der Option STARTING WITH lassen sich Stringfelder mit einem bestimmten Anfang selektieren SELECT * FROM Kunden WHERE Strasse STARTING WITH "See" ; Die STARTING WITH- Klausel ist ein spezialisiertes LIKE: WHERE Feld STARTING WITH "xx" und WHERE Feld LIKE "xx%" sind identisch!
62 Der Operator BETWEEN BETWEEN erleichtert den Test, ob ein Wert innerhalb eines Bereiches liegt: SELECT * FROM Kunden WHERE PLZ BETWEEN AND ; Die Alternative wäre: SELECT * FROM Kunden WHERE PLZ>= AND PLZ<= ;
63 Auswahl einer Wertemenge Mit dem IN- Operator lassen sich die Elemente einer Menge auswählen z. B. die Kunden mit den Nummern 2, 3 oder 5: SELECT * FROM Kunden WHERE Kundennr IN (2,3,5) ;
64 Gruppierung Mittels "GROUP BY" lassen sich Aggregatfunktionen nach verschiedenen Spaltenwerten getrennt berechnen. Syntax: SELECT [< ALL DISTINCT >] < Spalte1 Ausdruck1 [ [ AS ] Alias1 ] > [,...] FROM Tabellenname WHERE Bedingung GROUP BY Spalte1 [,...] ; Achtung: Alle aufgeführten Einzelspalten müssen auch in der GROUP BY- Anweisung stehen!
65 Gruppierung: Beispiel SELECT ArtNr, SUM( Anzahl) AS VerkEinheiten FROM Auftrag GROUP BY ArtNr ;
66 Auswahl vor Gruppierung SELECT ArtNr, SUM( Anzahl) AS VerkEinheiten FROM Auftrag WHERE Anzahl< 10 GROUP BY ArtNr ;
67 Gruppierung und Auswahl... Mit der vorigen Anweisung wählen wir zuerst alle Verkäufe mit weniger als 10 Artikeln aus und gruppieren und summieren dann. Was aber tun, wenn wir alle Artikel wissen wollen, die insgesamt seltener als zehnmal verkauft wurden? SELECT ArtNr, SUM (Anzahl) AS VerkEinheiten FROM Auftrag WHERE SUM (Anzahl)< 10 GROUP BY ArtNr ;? Das geht nicht! WHERE arbeitet nicht mit Aggregatfunktionen zusammen!!!
68 HAVING Für die Selektion nach Aggregatfunktionen gibt es die Having- Klausel. Syntax: SELECT [< ALL DISTINCT >] < Spalte1 Ausdruck1 [ [ AS ] Alias1 ] > [,...] FROM Tabellenname GROUP BY Spalte1 [,...] HAVING Bedingung ;
69 HAVING: Beispiel Welche Artikel wurden insgesamt seltener als zehnmal verkauft? SELECT ArtNr, SUM( Anzahl) AS VerkEinheiten FROM Auftrag GROUP BY ArtNr HAVING SUM( Anzahl)< 10;
70 HAVING: Vorsicht! HAVING arbeitet in manchen SQL-Implementierungen auch ohne Aggregatfunktionen, führt dann aber i. d. R. zu unerwarteten Ergebnissen! SELECT ArtNr, SUM( Anzahl) AS VerkEinheiten FROM Auftrag GROUP BY ArtNr HAVING Anzahl< 10; Jetzt werden alle Gruppen zurückgegeben, in denen die angegebene Bedingung für alle Zeilen erfüllt ist!
71 Sortieren der Ausgabe Die Ausgabe einer SELECT- Abfrage läßt sich mittels der ORDER BY- Klausel sortieren Syntax: SELECT [< ALL DISTINCT >] < Spalte1 Ausdruck1 [ [ AS ] Alias1 ] > [,...] FROM Tabellenname WHERE Bedingung ORDER BY Spalte1 [< ASC DESC >] [,...]; Hierbei sortiert ASC (default!) aufsteigend und DESC absteigend
72 - 72 -
73 - 73 -
74 Tabellen verknüpfen SQL bietet zwei Möglichkeiten zur Verknüpfung von Tabellen: Unterabfragen: Hier wird in einer WHERE-Bedingung der Hauptabfrage auf Ergebnisse einer zweiten Abfrage Bezug genommen Die Join- Operation liefert Zeilen aus zwei oder mehr Tabellen, die eine gemeinsame Menge von Merkmalen teilen
75 Unterabfragen Die Syntax für die Verwendung einer Unterabfrage lautet: SELECT [< ALL DISTINCT >] < Spalte1 Ausdruck1 [ [ AS ] Alias1 ] > [,...] FROM Tabellenname1 WHERE SpalteN Operator ( SELECT SpalteX FROM Tabellenname2 WHERE Bedingung ) ;
76 Unterabfragen: Ein erstes Beispiel Wer hat wann wieviele Drucker gekauft? Bedingung: Ich möchte in der Abfrage nicht die Artikelnummer verwenden! SELECT KundenNr, Anzahl, Datum FROM Auftrag WHERE ArtNr = (SELECT ArtNr FROM Artikel WHERE Name=" Drucker" );
77 Korrelierte Unterabfragen Man kann in einer Unterabfrage auch Bezug auf ein Feld der übergeordneten Abfrage nehmen. Eine solche Unterabfrage nennt man "korrelierte Unterabfrage". Bezeichner in Unterabfragen: Lokale Bezeichner sind außerhalb der Unterabfrage nicht sichtbar. Ein lokaler Bezeichner überdeckt immer den globalen Bezeichner gleichen Namens. Globale Tabellen, auf die in der Unterabfrage Bezug genommen wird, müssen daher ggf. mit einem Aliasnamen versehen werden
78 Korrelierte Unterabfragen ein Beispiel Bei welchen Bestellungen wurden jeweils die meisten Stück eines jeden Artikels verkauft? SELECT * FROM Auftrag A WHERE Anzahl=( SELECT MAX ( Anzahl) FROM Auftrag WHERE A. Artnr= Artnr) ORDER BY Artnr;
79 Der EXISTS- Operator EXISTS übernimmt eine Unterabfrage als Argument. Der Rückgabewert ist TRUE, wenn die Unterabfrage beliebige Werte liefert, FALSE, wenn die Ergebnismenge leer ist
80 EXISTS ein Beispiel Welche Kunden sind die einzigen Kunden an ihrem Ort? SELECT * FROM Kunden K WHERE NOT EXISTS (SELECT Kundennr FROM Kunden WHERE Kundennr<> K. Kundennr AND Ort= K. Ort);
81 Die Operatoren ANY und SOME ANY und SOME sind synonym. Sie vergleichen einen Wert mit allen von einer Unterabfrage zurückgegebenen Werten. ANY ist TRUE, wenn die Bedingung für mindestens einen Wert erfüllt ist FALSE, wenn die Bedingung für keinen Wert erfüllt ist ANY und SOME arbeiten also analog wie der IN- Operator allerdings funktioniert dieser nur mit dem Gleichheitszeichen
82 ANY ein Beispiel Welche Artikel sind teurer als mindestens ein Artikel aus dem Bestand? SELECT * FROM Artikel WHERE Preis > ANY (SELECT Preis FROM Artikel);
83 Der ALL- Operator ALL vergleicht einen Wert mit allen von einer Unterabfrage zurückgegebenen Werten. ALL ist TRUE, wenn die Bedingung für alle Werte erfüllt ist FALSE, wenn die Bedingung für mindestens einen Wert nicht erfüllt ist
84 Unterabfragen - Zusammenfassung Eine Unterabfrage ist eine SELECT- Anweisung innerhalb einer anderen DML- Anweisung. Folgendes ist zu beachten: Die Unterabfrage muß in Klammern gesetzt werden. Die Anzahl der von der Unterabfrage zurückgegebenen Zeilen muß der Anzahl der von der Funktion/ dem Operator erwarteten Werte entsprechen. Die Anzahl der von der Unterabfrage zurückgegebenen Spalten muß mit der Anzahl der von der Funktion/ dem Operator erwarteten Spalten übereinstimmen. Die ORDER BY- Klausel wird nicht innerhalb einer Unterabfrage eingesetzt
85 Neue Tabelle aus Unterabfrage Eine Unterabfrage läßt sich auch einsetzen, um eine neue Tabelle als (Teil-) Kopie einer bestehenden Tabelle zu erstellen. Die Syntax in Oracle lautet: CREATE TABLE table_ name [ ( Spalte1, Spalte2,... ) ] AS Select_ Statement ;
86 CREATE... SELECT: Beispiel Alle Kunden im PLZ- Bereich 8: CREATE TABLE Kunden8 AS SELECT * FROM Kunden WHERE PLZ BETWEEN AND ; Nr, Name und Straße aller Kunden aus Immenstaad: CREATE TABLE KundenImm (Nr, Name, Strasse) AS SELECT (Kundennr, Name, Strasse) FROM Kunden WHERE Ort = "Immenstaad" ;
87 CREATE... SELECT CREATE... SELECT gehört zu den weniger standardisierten Befehlen. Bsp. Microsoft SQL: SELECT... INTO SELECT Kundennr AS Nr, Name, Strasse INTO KundenImm FROM Kunden WHERE Ort=" Immenstaad";
88 INSERT... SELECT CREATE... SELECT erstellt eine neue Tabelle als Kopie einer bestehenden. Mit INSERT... SELECT können Sie Datensätze aus einer Tabelle an eine andere (bestehende) Tabelle anfügen: INSERT INTO Zieltabelle [ ( Spalte1, Spalte2,... ) ] SELECT Spalte1, Spalte2,... FROM Quelltabelle WHERE Suchbedingung ;
89 INSERT... SELECT: Beispiel Sichern Sie alle Kundendaten in die Tabelle "KundenSicherung": INSERT INTO KundenSicherung SELECT * FROM Kunden ;
90 INSERT... SELECT: Regeln Bei der Anweisung INSERT... SELECT sind einige neue Regeln zu beachten: Die Anzahl der Spalten in der Anweisung INSERT INTO muß gleich der Anzahl der Spalten sein, die die SELECT- Anweisung zurückgibt. Die Datentypen der Spalten in der Anweisung INSERT INTO müssen den Datentypen der aus der SELECT-Anweisung zurückerhaltenen Spalten entsprechen. Wenn die Spaltennamen in der SELECT- Anweisung nicht mit den Spaltennamen der Zieltabelle übereinstimmen, müssen deren korrespondierende Spaltennamen explizit angegeben werden. Die SELECT- Anweisung darf (eigentlich) keine Zeilen aus der Zieltabelle auswählen
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-
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
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
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
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,
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
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
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.
MehrEinfü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
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
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
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.
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
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
MehrÜbersicht der wichtigsten MySQL-Befehle
Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit
MehrDetails 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
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
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
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
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.
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
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
MehrMySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.
MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt
MehrISU 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
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
MehrEine 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
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
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
MehrOracle: 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
MehrProgrammieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname
MehrDatenbanken 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,
Mehr3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7
1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern
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
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
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
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
MehrSQL - Ü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
MehrMySQL: Einfaches Rechnen. www.informatikzentrale.de
MySQL: Einfaches Rechnen Vorweg: Der Merksatz Warum geht Herbert oft laufen? Vorweg: Der Merksatz Warum geht Herbert oft laufen?...... WHERE... GROUP BY... HAVING... ORDER BY... LIMIT Beispieldatenbank
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:
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrBeispiel 1: Filmdatenbank
Beispiel 1: Filmdatenbank Die Filmdatenbank hat drei Tabellen (ACTOR, MOVIE, PLAYED) Aufgabe 1: Erstelle mit Hilfe der SQL-DDL die drei Tabellen und die Datenbank (MOVIEDB) ACTOR (ActorID, Name, Birthday,
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
MehrNachtrag: 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
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
MehrDatenbanken: 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
MehrBerechnungen in Access Teil I
in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer
MehrAbfragen: 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:
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
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
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
MehrBibliografische 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
MehrInhaltsverzeichnis. Einleitung
vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig
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
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
MehrAbfragen (Queries, Subqueries)
Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl
MehrUniversität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL
Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html
MehrIn 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
MehrIm Original veränderbare Word-Dateien
Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.
MehrSummenbildung in Bauteiltabellen mit If Then Abfrage
Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle
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
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................................................
MehrErweiterung 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
Mehr105.3 SQL-Datenverwaltung
LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a
MehrFachbericht 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
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
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
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
MehrHandbuch 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
MehrGrundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich
Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)
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
Mehr5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp
5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries
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
MehrDossier: Rechnungen und Lieferscheine in Word
www.sekretaerinnen-service.de Dossier: Rechnungen und Lieferscheine in Word Es muss nicht immer Excel sein Wenn Sie eine Vorlage für eine Rechnung oder einen Lieferschein erstellen möchten, brauchen Sie
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
MehrACCESS SQL ACCESS SQL
ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache
MehrAccess [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen
Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen
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
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
MehrDatenbanken Microsoft Access 2010
Datenbanken Microsoft Access 2010 Abfragen Mithilfe von Abfragen kann ich bestimmte Informationen aus einer/mehrerer Tabellen auswählen und nur diese anzeigen lassen die Daten einer/mehrerer Tabellen sortieren
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
MehrViews 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
Mehr4.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
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
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
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)
MehrErstellen eines Formulars
Seite 1 von 5 Word > Erstellen bestimmter Dokumente > Formen Erstellen von Formularen, die in Word ausgefüllt werden können Basierend auf einer Vorlage können Sie dieser Inhaltssteuerelemente und Hinweistext
MehrOP-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
MehrAccess [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten
Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen
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,
Mehr4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
MehrDie SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:
Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine
MehrWeb-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter
Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrDatenbanken für Online Untersuchungen
Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrIBM 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
MehrARIS II - Modellierungsmethoden, Metamodelle und Anwendungen
ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren
MehrEs geht also im die SQL Data Manipulation Language.
1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.
Mehr