IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information,

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
Advertisements

ER-Datenmodell und Abfragen in SQL
PL/SQL - Einführung. © Prof. T. Kudraß, HTWK Leipzig Vorteile Application Other DBMSs Application Oracle with PL/SQL SQL SQL SQL SQL SQLIF...THENSQLELSESQL.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
PL/SQL - Einführung 1.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Datenbanksysteme für FÜ WS2004/05 SQL1 - 1 Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Folienadaption HS, 4/00. Relationen sind Tabellen! Relationales Modell = Tabellarische Repräsentation der Daten + assoziative Anfragesprache Datenbank.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL als Abfragesprache
SQL als Abfragesprache
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 Übungen SQL.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
IS: Datenbanken, © Till Hänisch 2000 Übungen SQL.
Entwicklung von XML-Anwendungen mit ORACLE XSU Oberseminar Datenbanken Andreas Rebs, 01INM.
PL/SQL - Einführung. © Prof. T. Kudraß, HTWK Leipzig Vorteile Application Other DBMSs Application Oracle with PL/SQL SQL SQL SQL SQL SQLIF...THENSQLELSESQL.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Datenbanken 10: Einfügen, Ändern, Löschen
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
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.
Datenbankentwicklung IV-LK
20:00.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
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.
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 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Erläuterung der wichtigsten Befehle
Datenbanksysteme für hörer anderer Fachrichtungen
Copyright Oracle Corporation, All rights reserved. 6 Unteranfragen (Subqueries)
Einführung in Datenbankmodellierung und SQL
Folienadaption HS, 4/99.
Die Sternenuhr Wir entdecken die Wissenschaften LTAM Steffen M. 2003/04 Kneip R.
Verdichten von Daten mit Gruppenfunktionen
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
3 Einzelzeilen-Funktionen. 3-2 Ziele Verschiedene Typen von Funktionen, die in SQL verfügbar sind Verwendung von numerischen, Zeichen- und Datumsfunktionen.
2 Auswählen und Sortieren von Daten. 2-2 Filtern von Zeilen mit Selektion "…suche alle Angestellten in Abteilung 10" EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT.
Einführung Schedule: Timing Topic 60 minutes Lecture 60 minutes Total.
Integritätsbedingungen (Constraints)
10 Sichten (Views) Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern.
7 Verändern von Daten. 9-2 Ziele Beschreibe jeden DML Befehl Einfügen von Zeilen in eine Tabelle Ändern von Zeilen in einer Tabelle Löschen von Zeilen.
11 Verwaltung von Abhängigkeiten. Ziele Am Ende dieser Lektion verfügen Sie über die folgenden Kenntnisse: Überwachen prozeduraler Abhängigkeiten Effekte.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Einfache SQL-Befehle Schedule: Timing Topic 40 minutes Lecture
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
IS: Datenbanken, © Till Hänisch 2000 SQL Structured Query Language.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Vorlesung #5 SQL (Teil 2).
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
Left Join, Right Join, Outer Join
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Die erste Form der INSERT-Anweisung dient der Neueingabe von Daten:
(Structured Query Language)
 Präsentation transkript:

IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information, jede Zeile einen Datensatz Jede Spalte hat einen Datentyp CHAR, VARCHAR, NUMBER, DATE,...

IS: Datenbanken, © Till Hänisch 2000 Tabellen anlegen CREATE TABLE tabname (columns); z.B. Tabelle DEPT CREATE TABLE DEPT ( DEPTNO NUMBER(2), DNAME VARCHAR2(14), LOC VARCHAR2(13)); Löschen mit DROP TABLE tabname;

IS: Datenbanken, © Till Hänisch 2000 Daten einfügen INSERT INTO tabname(col) values(val) z.B. Tabelle DEPT INSERT INTO DEPT(DEPTNO,DNAME,LOC) VALUES(1,'Accounting','New York'); Strings in einfachen Hochkomma '

IS: Datenbanken, © Till Hänisch 2000 Daten abrufen SELECT cols FROM tabname; z.B. Tabelle DEPT SELECT DEPTNO,DNAME FROM DEPT; Vereinfachung: * = alle Spalten SELECT * FROM DEPT; Auswahl SELECT DEPTNO,DNAME FROM DEPT WHERE DEPTNO=10;

IS: Datenbanken, © Till Hänisch 2000 Daten löschen DELETE FROM tabname [WHERE...]; z.B. Tabelle EMP DELETE FROM EMP WHERE JOB='MANAGER'; DELETE FROM EMP WHERE SAL > 3000; Achtung: DELETE FROM EMP; löscht alle Datensätze der Tabelle !

IS: Datenbanken, © Till Hänisch 2000 Daten ändern UPDATE tabname SET col=value [WHERE...] z.B. Tabelle EMP UPDATE EMP SET DEPTNO=30 WHERE EMPNO=7934; auch mehrere Columns gleichzeitig UPDATE EMP SET DEPTNO=30,SAL=1.1*SAL WHERE DEPTNO=10 AND JOB<>'MANAGER';

IS: Datenbanken, © Till Hänisch 2000 Tabellen verknüpfen Informationen sind auf mehrere Tabellen verteilt und sollen zusammengefasst werden: Join z.B. Name der Angestellten in EMP, Name der Abteilung in DEPT SELECT E.ENAME,D.DNAME FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO;

IS: Datenbanken, © Till Hänisch 2000 DEMO-Tabellen SELECT * FROM EMP; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN BLAKE MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER SALESMAN ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK SELECT * FROM DEPT; DEPTNO DNAME LOC ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON SELECT * FROM SALGRADE; GRADE LOSAL HISAL

IS: Datenbanken, © Till Hänisch 2000 Aufgaben Liste aller Angestellten des DEPT 30 Alle Angestellten, die entweder 'MANAGER' sind oder mehr als 3000$ verdienen Erhöhe das Gehalt aller Angestellten im DEPT 20, die keine 'MANAGER' sind Lösche alle Angestellten des DEPT 20 Liste aller Angestellten mit Gehaltsstufe

IS: Datenbanken, © Till Hänisch 2000 Joins Joins verknüpfen zwei (oder mehr) Tabellen Wie ? kartesisches Produkt + Selektion, d.h. jede Zeile aus Tabelle A wird mit jeder Zeile aus Tabelle B kombiniert, dann werden die herausgesucht, die die Bedingung erfüllen

IS: Datenbanken, © Till Hänisch 2000 Equi-join/Non-equi-join Equi-join: Bedingung "=" Non-equi-join: sonst Beispiel: letzte Aufgabe (SALGRADE) SELECT E.ENAME,S.GRADE FROM EMP E, SALGRADE S WHERE E.SAL>S.LOSAL AND E.SAL<S.HISAL Häufig: Equi-join

IS: Datenbanken, © Till Hänisch 2000 Self-join Join einer Tabelle mit der gleichen z.B: Alle Angestellten mit einem höheren Gehalt als 'JONES' SELECT X.ENAME,X.SAL FROM EMP X, EMP Y WHERE X.SAL > Y.SAL AND Y.ENAME='JONES' scott 3000 king 5000 ford 3000

IS: Datenbanken, © Till Hänisch 2000 Aggregate functions fassen Werte aus Tabelle zusammen machen aus vielen Zeilen eine Beispiel: Zahl der EMP's ? SELECT COUNT(*) FROM EMP Häufig: COUNT(*),AVG,MIN,MAX,SUM Sehr mächtig (Gruppierung,...) später

IS: Datenbanken, © Till Hänisch 2000 NULL Was trägt man ein, wenn Attribut keinen Wert hat ? z.B. bei Zahlen '0', bei Strings '', bei Datum ,... allgemein ? SQL: NULL immer dann, wenn Wert unbekannt oder nicht sinnvoll Vergleich mit IS [NOT] NULL

IS: Datenbanken, © Till Hänisch 2000 NULL Forts. Beispiel: EMP SELECT COUNT(*) FROM EMP 14 SELECT COUNT(*) FROM EMP WHERE COMM>0 4 SELECT COUNT(*) FROM EMP WHERE COMM<=0 1 ???? !!!! ????

IS: Datenbanken, © Till Hänisch 2000 Three Valued Logic Menge hat n(14) Elemente: Wenn m(4) Elemente Bedingung erfüllen, müssen n-m(11) die Negation der Bedingung erfüllen; hier nicht ! Bedingung mit NULL immer false SELECT COUNT(*) FROM EMP WHERE ISNULL(COMM,0) <=0 11 AUFPASSEN

IS: Datenbanken, © Till Hänisch 2000 Aufgaben Durchschnittsgehalt der MANAGER (SALESMAN) Aller Berufsgruppen Liste aller Angestellten mit gleichem Job wie BLAKE, die mehr verdienen, als ihr Manager Durchschnittliche Kommission von allen von denen, die überhaupt eine kriegen Wie viele Angestellte kriegen keine Kommission ? Abteilungen mit Name des Leiters Wie ?