Datenbanksysteme I. FB Automatisierung und Informatik: Datenbanksysteme I
|
|
- Sara Hoch
- vor 8 Jahren
- Abrufe
Transkript
1 Datenbanksysteme I Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum Tel / Inhalt 1. Grundlegende Begriffe der Datenbanktechnologie 2. Datenbankentwurf / Datenmodelle 3. ER-Modell / ER-Diagramm 4. SQL-Sprache 5. Normalisierung 6. SQL-Erweiterungen 2 1
2 SQL-Erweiterungen CREATE TABLE UPDATE TABLE COMPUTED BY SUB SELECT CASE ANY ALL JOINS AGGREGAT-FUNKTIONEN KEYS INDIZES CONSTRAINTS VIEWS 3 Create Table CREATE TABLE [schema.] table (column datatype [DEFAULT expr], ); Datentypen Oracle: Number(m,n), char, varchar, varchar2, date, time, Currency, Raw, Long Raw, CLOB, BLOB, NChar, NChar2, CFile, BFile Datentypen Interbase: Numeric, char, Varchar, date, time, timestamp, smallint, integer, bigint, float, double Presicion, Currency, Bool, Blob 4 2
3 Create Table CREATE TABLE emp ( empno number(4) NOT NULL primary key, ename varchar2(10), job varchar2(9), mgr number(4), hiredate date default sysdate, sal number(7,2), comm number(7,2), deptno number(2), constraint emp_pk primary key (empno), primary key (empno) // Alternativ ); 5 Create Table Schlüsselwörter: NOT NULL NULL mysql AUTO_INCREMENT mysql DEFAULT DEFAULT NULL Firebird COMPUTED BY 6 3
4 Domains definieren Domains sind benutzerdefinierte Datentypen. Werden häufig für Längendefinitionen von Strings und Zahlen verwendet. CREATE DOMAINS mynumber as INTEGER DEFAULT 4712 CREATE DOMAINS mystring as CHAR(200) CREATE DOMAINS mynumber as NUMERIC(7,2) CREATE DOMAINS myname as VARCHAR(50) CREATE DOMAINS mystudiengang as VARCHAR(10) CHECK (value IN ("IB", "KT", II", "AT")); 7 Domains verwenden CREATE DOMAIN mynumber as INTEGER DEFAULT 4712 CREATE TABLE emp ( id AS INTEGER NOT NULL, Hausnummer AS MYNUMBER, Name AS CHAR(200) ); 8 4
5 Domains ändern CREATE DOMAIN mynumber as INTEGER DEFAULT 4712 // Defaultwert ändern ALTER DOMAIN mynumber SET DEFAULT 4711 // // Domain löschen DOMAIN DROP mystudiengang 9 Tabellenstruktur ändern ALTER TABLE emp ADD gehalt float default ; ADD gehalt2 float NOT NULL; ALTER TABLE emp ADD PRIMARY KEY(empno); ALTER TABLE emp ADD CONSTRAINT chpreis CHECK(preis>0.0); ALTER TABLE emp DROP ; DROP TABLE emp DELETE FROM emp; 10 5
6 Daten einfügen INSERT INTO emp VALUES (Attr1, Attr2, Attr3,.Attr4..) INSERT INTO emp (Attr2, Attr3) VALUES (Attr2, Attr3) INSERT INTO emp (Attr2, Attr3) SELECT Attr2, Attr3 FROM emp2 WHERE deptno>122; 11 Daten ändern UPDATE emp SET salary= ; UPDATE emp SET salary1= , salary2= WHERE deptno IN (12,33,22); UPDATE emp SET salary=salary*2; 12 6
7 Daten löschen DELETE FROM emp ; DELETE FROM emp WHERE deptno IN (12,33,22); DELETE FROM emp WHERE salary<1000; 13 Datenredundanz? CREATE TABLE emp ( empno number(4), ename varchar2(10), salmonth number(7,2), salyear number(9,2) ) INSERT INTO emp VALUES (123, "Meier", , ); UPDATE emp SET salmonth=2100, SET salyear=25200 WHERE ename= "Meier ; 14 7
8 Datenredundanz verhindern mit COMPUTED BY CREATE TABLE emp ( empno number(4), first_name varchar2(30), last_name varchar2(40), salmonth number(7,2), salyear COMPUTED BY (salmonth*12), full_name COMPUTED BY (last_name ", " first_name) ) 15 SUBSELECT: 1. Variante Bestimme den Abteilungsnamen des Mitarbeiters Müller SELECT deptname FROM dept WHERE deptno = ( SELECT deptno FROM emp WHERE Ename="Müller" ); 16 8
9 SUBSELECT: 2. Variante Zeige alle Mitarbeiter mit dem Abteilungsnamen: SELECT ename, deptno, ( SELECT dname FROM dept WHERE e.deptno=deptno ) FROM emp e; SELECT full_name, dept_no, ( SELECT department FROM department WHERE e.dept_no=dept_no ) FROM employee e; 17 CASE Ermöglichen bedingte Abfragen in der Form einer IF-THEN-ELSE- Anweisung: CASE expr WHEN comparison_expr1 THEN return_expr1 WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ELSE else_expr END 18 9
10 CASE-Beispiel Alle Angestellte in der Abteilung VP sollen eine 10% Lohnerhöhung erhalten. Alle Angestellte in der Abteilung Eng erhalten eine 20% Lohnerhöhung SELECT last_name, last_name, job_code, job_code, salary, salary CASE job_code WHEN "VP" THEN (1.10*salary) WHEN "Eng" THEN (1.20*salary) ELSE salary END Neues_Gehalt FROM employee Update-SQL:? Vorlesungsübung 19 Einfügen einer neuen Spalte: ALTER TABLE EMPLOYEE ADD salnew DECIMAL(15,2) Alle Gehälter übernehmen: UPDATE employee SET salnew = salary; Gehaltserhöhung: UPDATE employee SET salnew=(1.10*salary) WHERE job_code = "VP" ; UPDATE employee SET salnew=(1.20*salary) WHERE job_code = Eng" ; 20 10
11 Mehrfach Operator ANY Der Mehrfach-Operator ANY vergleicht einen Wert mit jedem von einer Unterabfrage zurückgegebenen Wert. in der Hauptabfrage, ob die Datensätze in der ermittelten Menge enthalten sind. < ANY bedeutet weniger als das Maximum > ANY bedeutet mehr als das Minimum = ANY hat dieselbe Bedeutung wie IN 21 Mehrfach Operator ANY Beispiel: Gesucht sind die Mitarbeiter, die keine SRep sind, und ein geringeres Gehalt beziehen als einer der Mitarbeiter mit der Jobkennung SRep. SELECT emp_no, last_name, job_code, salary FROM employee WHERE salary < ANY ( SELECT salary FROM employee WHERE job_code = "SRep" ) AND job_code <> "SRep"; 22 11
12 Mehrfach Operator ALL Der Mehrfach-Operator ALL vergleicht einen Wert mit allen von einer Unterabfrage zurückgegebenen Werten in der Hauptabfrage, ob die Datensätze in der ermittelten Menge enthalten sind. > ALL bedeutet mehr als das Maximum < ALL bedeutet weniger als das Minimum 23 Mehrfach Operator ALL Beispiel: Gesucht sind die Mitarbeiter, die keine SRep sind, und deren Gehalt unter dem Gehalt aller Angestellten mit der Jobkennung SRep liegt. SELECT emp_no, last_name, job_code, salary FROM employee WHERE salary < ALL ( SELECT salary FROM employee WHERE job_code = "SRep" ) AND job_code <> "SRep"; 24 12
13 Tabellen verknüpfen Mit Hilfe von Operatoren werden normalisierte Tabellen verknüpft, so dass eine neue Virtuelle Tabelle erzeugt wird. Mögliche Varianten: Vereinigungsmenge Schnittmenge Differenzmenge JOIN, UNION INTERSECT MINUS 25 Einfacher JOINS Ein Verbund ist ein JOIN über mehrere Tabellen. Maximal kann man das kartesische Produkt erhalten. Beispiel: Anzeige der Mitarbeiter mit den Abteilungsnamen. SELECT FROM WHERE e.full_name, e.emp_no, e.dept_no, d.department employee e, department d e.dept_no = d.dept_no; // Kreuzprodukt SELECT e.full_name, e.emp_no, e.dept_no, d.department FROM employee e, department d 26 13
14 Typen von JOINS Cross-JOIN Theta-JOIN Inner-JOIN = Equi-JOIN Natural-JOIN Left-Outer-JOIN Right-Outer-JOIN Full-Outer-JOIN = Full-JOIN Semi-JOIN Self-JOIN 27 Beispieldatenbank JOIN.fdb EmpNo Last_Name First_Name 1 Jones Michael 2 Gates Bill 3 Smith Will 4 Lennon John EmpNo Phone
15 CREATE TABLE CREATE TABLE emp ( empno integer, last_name char(40), first_name char(40) ); CREATE TABLE phone ( empno integer, phone char(40) ); INSERT INTO INSERT INTO emp VALUES ( 1, 'Jones', 'Michael'); INSERT INTO emp VALUES ( 2, 'Gates', 'Bill'); INSERT INTO emp VALUES ( 3, 'Smith', 'Will'); INSERT INTO emp VALUES ( 4, 'Lennon', 'John'); INSERT INTO phone VALUES ( 1, 200); INSERT INTO phone VALUES ( 4, 300); INSERT INTO phone VALUES ( 5, 230); INSERT INTO phone VALUES ( 7, 450); 29 Cross-Join Gebildet wird das Kreuzprodukt. Kardanalität n x m. Im Beispiel: 16 Zeilen Theta-Join Aus dem Kreuzprodukt werden durch eine zusätzliche Bedingung die gültigen Einträge bestimmt. Beispiel: emp.empno < phone.empno Ergebnis: 11 Zeilen mod(a.nr,2) = mod(b.nr,2) A.Nr = B.Nr entspricht dem Equi-Join 30 15
16 Inner-Join Aus dem Kreuzprodukt werden durch eine interne bzw. externe Bedingung die gültigen Einträge bestimmt. Beispiel: // Hier doppelte Spalten, Ergebnis: 2 Zeilen SELECT * FROM emp, phone WHERE emp.empno = phone.empno; Natural-Join Entspricht dem Inner-Join, zusätzlich existieren KEINE doppelten Spalte. Beispiel: // Hier keine doppelte Spalten, Ergebnis: 2 Zeilen SELECT e.empno, e.last_name, e.first_name, p.phone FROM emp e, phone p WHERE e.empno = p.empno; 31 Left-Join Wieder ein Kreuzprodukt, aber von der linken (ersten) Tabellen werden alle Tupel in die neue Tabelle eingetragen (auch leere Einträge) Beispiel: SELECT e.empno Nr, e.last_name Mitarbeiter, p.phone Telefon from emp e LEFT OUTER JOIN phone p ON e.empno = p.empno; Nummer Mitarbeiter Telefon 1 Jones Gates <null> 3 Smith <null> 4 Lennon 300 Vorlesungsübung 32 16
17 Right-Join Wieder ein Kreuzprodukt, aber von der rechten (zweiten) Tabellen werden alle Tupel in die neue Tabelle eingetragen (auch leere Einträge) Beispiel: SELECT * from emp e RIGHT OUTER JOIN phone p ON e.empno = p.empno; EMPNO LAST_NAME FIRST_NAME EMPNO_1 PHONE 1 Jones Michael Lennon John <null> <null> <null> <null> <null> <null> Vorlesungsübung 33 Full-Outer-Join Wieder ein Kreuzprodukt, aber von der linke und rechten (ersten und zweiten) Tabellen werden alle Tupel in die neue Tabelle eingetragen (auch leere Einträge) Beispiel: SELECT * from emp e FULL OUTER JOIN phone p ON e.empno = p.empno; EMPNO LAST_NAME FIRST_NAME EMPNO_1 PHONE 1 Jones Michael Lennon John <null> <null> <null> <null> <null> <null> Gates Bill <null> <null> 3 Smith Will <null> <null> Vorlesungsübung 34 17
18 Semi-Join Einen Semi-Join erhält man durch einen Natural-Join (EQUI-Join, ein empno), bei dem dann nur die Spalten der ersten Tabelle angezeigt werden. EQUI-JOIN EMPNO LAST_NAME FIRST_NAME EMPNO_1 PHONE 1 Jones Michael Lennon John NATURAL-JOIN EMPNO LAST_NAME FIRST_NAME PHONE 1 Jones Michael Lennon John 300 SEMI-JOIN EMPNO LAST_NAME FIRST_NAME 1 Jones Michael 4 Lennon John 35 Self-Join Wieder ein Kreuzprodukt, aber von der gleichen Tabelle. Beispiel: Anzeige aller Mitarbeiter und deren Chefs (empno, mgr, ename) SELECT e1.empno, e1.mgr, e2.empno, e2.mgr, e2.ename from emp e1 INNER JOIN emp e2 ON e1.mgr = e2.mgr where e1.empno <> e2.empno order by e1.mgr 36 18
19 EMPNO MGR EMPNO_1 MGR_1 ENAME FORD SCOTT WARD WARD WARD WARD ALLEN ALLEN ALLEN ALLEN JAMES JAMES JAMES JAMES TURNER TURNER TURNER TURNER MARTIN MARTIN MARTIN MARTIN JONES JONES BLAKE BLAKE CLARK CLARK 37 JOIN Syntax ab SQL 99 Beispiele: INNER-JOIN SELECT * FROM emp e, phone p WHERE e.empno = p.empno; SELECT * FROM emp e INNER JOIN phone p ON e.empno = p.empno; SELECT a.a1, a.a2, c.a1, ca2 FROM tablea a INNER JOIN tableb b ON a.a1 = b.a2 INNER JOIN tablec c ON A.A3 = c.a1 ORDER BY c.a4; 38 19
20 Beispiele für JOINS Titel und Name Name und Abteilung Verkäufer und Artikel (Auto) Verkäufer und Kunde Name und Telefonnummer Name und Raum Name und Chef 39 Aggreatfunktionen Quelle:Oracle 40 20
21 Aggreatfunktionen Aggregatfunktionen werden auf Gruppen von Tupeln angewendet und geben pro Gruppe ein Ergebnis zurück. AVG COUNT MAX MIN STDDEV SUM VARIANCE 41 Aggreatfunktionen: Syntax Funktion AVG([DISTINCT ALL]n) COUNT({* [DISTINCT ALL]expr}) MAX([DISTINCT ALL]expr) MIN([DISTINCT ALL]expr) STDDEV([DISTINCT ALL]x) SUM([DISTINCT ALL]n) VARIANCE([DISTINCT ALL]x) Beschreibung Durchschnittswert von n-werten. NULL-Werte werden ignoriert. Anzahl der Zeilen, für die expr auf einen anderen Wert als einen NULL-Wert ausgewertet wird. (Alle mit * ausgewählten Zeilen zählen, einschließlich mehrfach vorhandener Zeilen und Zeilen mit NULL- Werten.) Höchster Wert von expr. NULL-Werte werden ignoriert. Kleinster Wert von expr. NULL-Werte werden ignoriert. Standardabweichung von n-werten. NULL-Werte werden ignoriert. Summe der Werte von n-werten. NULL-Werte werden ignoriert. Varianz von n-werten. NULL-Werte werden ignoriert
22 Aggreatfunktionen: Syntax SELECT [column,] group_function(column),... FROM table [WHERE condition] [GROUP BY column] [ORDER BY column]; Alle Spalten in der SELECT-Liste, die nicht in Gruppenfunktionen enthalten sind, müssen in der GROUP BY-Klausel angegeben werden. SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ; 43 Richtlinien: Wenn Sie eine Gruppenfunktion in einer SELECT-Klausel angeben, können Sie nicht gleichzeitig einzelne Ergebnisse auswählen, es sei denn, die einzelne Spalte wird in der GROUP BY-Klausel angegeben. Mit einer WHERE-Klausel kann man Zeilen ausschließen, bevor die übrigen Zeilen in Gruppen aufgeteilt werden. Man muss die Spalten in der GROUP BY-Klausel angeben. Man kann dabei keine Spalten-Aliasnamen verwenden. Standardmäßig werden die Zeilen in aufsteigender Reihenfolge nach der in der GROUP BY-Liste angegebenen Spalten sortiert. Diese Sortierung kann man mit der ORDER BY-Klausel verändern
23 Null-Werte COUNT(*) gibt die Anzahl der Zeilen in einer Tabelle zurück. SELECT COUNT(*) FROM employees WHERE department_id = 50; COUNT(expr) gibt die Anzahl der Zeilen mit nicht leeren Werten für expr zurück. COUNT(DISTINCT expr) gibt die Anzahl der eindeutigen, nicht leeren Werte für expr zurück. Gruppenfunktionen ignorieren NULL-Werte in der Spalte. Die Funktion NVL zwingt Gruppenfunktionen, NULL-Werte einzubeziehen. 45 Unzulässige Abfragen mit Gruppenfunktionen Sie können die WHERE-Klausel nicht verwenden, um Gruppen einzuschränken. Sie verwenden die HAVING-Klausel, um Gruppen einzuschränken. Sie können keine Gruppenfunktionen in der WHERE-Klausel verwenden. SELECT department_id, AVG(salary) FROM FROM employees WHERE AVG(salary) > GROUP BY BY department_id; WHERE AVG(salary) > * ERROR at at line line 3: 3: ORA-00934: group function is is not not allowed here here Die WHERE-Klausel kann nicht verwenden werden, um Gruppen einzuschränken
24 Gruppenergebnisse filtern: WHERE / HAVING-Klausel Verwenden Sie die HAVING-Klausel, um Gruppen einzuschränken: 1. Die Tupel werden mit der WHERE-Bedingung ausgewählt 2. Die Zeilen werden gruppiert. 3. Die Gruppenfunktion wird angewandt. 4. Gruppen, die der HAVING-Klausel entsprechen, werden angezeigt. SELECT column, group_function FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING group_condition] [ORDER BY column]; 47 Beispiele: GROUP BY-Klauseln über mehrere Spalten verwenden SELECT department_id, job_id, SUM(salary) FROM employees GROUP BY department_id, job_id ; SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000 ; SELECT job_id, SUM(salary) PAYROLL FROM employees WHERE job_id NOT LIKE '%REP%' GROUP BY job_id HAVING SUM(salary) > ORDER BY SUM(salary); 48 24
25 Primary key, Foreign key, Secundary key Primary Key: Definiert den Hauptschlüssel der Tabelle. Jeder Entrag muss eindeutig sein. Es können auch mehrere Attribute sein. CREATE TABLE EMP ( id AS INTEGER NOT NULL, Hausnummer as mynumber default 123, Name as char(200), PRIMARY KEY (id) ); 49 Primary key, Foreign key, Secundary key Foreign Key: Definiert den Hauptschlüssel einer anderen Tabelle. Jeder Entrag muss eindeutig sein. Es können auch mehrere Attribute sein. Foreign-Tabelle muss vorher definiert sein! CREATE TABLE EMP ( id AS INTEGER NOT NULL, Hausnummer AS MYNUMBER DEFAULT 123, Name AS CHAR(200), deptno1 AS INTEGER NOT NULL, PRIMARY KEY (id) constraint emp_fk_emp foreign key (deptno1) references dept(deptno) ); 50 25
26 Primary key, Foreign key, Secundary key Foreign Key: Nachträgliche Definition CREATE TABLE EMP ( EMPNO INTEGER NOT NULL, ENAME CHAR(50), SAL NUMERIC(7,2), DEPTNO INTEGER NOT NULL, PRIMARY KEY (EMPNO) ); ALTER TABLE EMP ADD CONSTRAINT FK_DEPT_EMP FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO); 51 Primary key, Foreign key, Secundary key Secundaray Key: Definiert ein Attribut oder mehrere Attribute, die untereinander eindeutig sein müssen. Erzwingt NOT NULL CREATE TABLE EMP ( id AS INTEGER NOT NULL, Name AS CHAR(200) NOT NULL, Job AS INTEGER NOT NULL, deptno AS INTEGER NOT NULL, PRIMARY KEY (id) UNIQUE sec_key_job_name (Name, Job) ); 52 26
27 Primary key, Foreign key, Secondary key Weitere Syntaxbeispiele: ALTER TABLE tablename ADD PRIMARY KEY (A1, A2); ALTER TABLE tablename DROP PRIMARY KEY; ALTER TABLE tablename ADD FOREIGN KEY (A1) REFERENCES tablename2(b4, B6); ALTER TABLE tablename ADD CONSTRAINT name_des_fk FOREIGN KEY (A1) REFERENCES tablname2(b4, B6); ALTER TABLE tablename DROP FOREIGN KEY; ALTER TABLE tablename ADD UNIQUE name (A1, A2); ALTER TABLE tablename DROP INDEX name; 53 INDIZES Indizes beschleunigen meistens den Zugriff auf große Datenbestände. Sie werden mittels B*-Bäume verwaltet. Sie können an- und ausgeschaltet werden. Indizes werden bei Primär-Schlüsseln automatisch gesetzt. Sie müssen mitverwaltet werden. Sollten nur bei häufig benutzen Feldern und großen Tabellen gesetzt werden. CREATE TABLE emp ( id AS INTEGER NOT NULL, Name AS CHAR(200) NOT NULL, Job AS INTEGER NOT NULL, PRIMARY KEY (id) ); CREATE ASC INDEX idx_name ON emp (Name); CREATE ASC INDEX idx_namevorname ON emp (Name,Vorname); DROP INDEX idx_name ON emp; ALTER INDEX idx_name INACTIVE ACTIVE 54 27
28 CONSTRAINTS Constraints sind Zusatzbedingungen, die erfüllt sein müssen, damit Daten in die Datenbank geschrieben, gelöscht oder verändert werden können. 1. Beispiel: Das Datum der Bestellung muss ab dem Jahr 2000 sein. ALTER TABLE bestellung ADD ct_year CHECK (YEAR >= 2000) 2. Beispiel: Der Studiengang eines Studenten nur aus KI, II, WI, KT bestehen. ALTER TABLE student ADD CONSTRAINT ct_stdgang CHECK (studiengang in ('IB', 'KI, 'II', 'WI', 'KT')); 55 CONSTRAINTS 3. Beispiel: Die Bestellmenge muss immer größer Null sein. ALTER TABLE SALES ADD CONSTRAINT ct_sales CHECK (qty_ordered >= 1) 4. Beispiel: Die Postleitzahl muss immer fünfstellig sein CHECK ( ( PLZ>=1000) AND (PLZ<=99999) ) Vorlesungsübung 56 28
29 VIEWS Mit Hilfe einer SELCT-Anweisung werden neue virtuelle Tabellen aus einer Datenbank erzeugt. Diese müssen nur einmal eingegeben werden. Abhilfe: Erzeugen einer virtuelle Tabellen mittels eines Views. Vorteil: Einmal definiert Pro Gruppe definierbar (UNummer, MatrNr, Name) Abfragen können auf Sichten durchgeführt werden Änderungen? Es können keine Spalten eingefügt werden. 57 VIEWS Syntax / Beispiel: CREATE VIEW v_student_dozent AS SELECT matrnr, studiengang, note1, note2, note3 FROM student SELECT * FROM v_student_dozent; Nicht möglich in der Definition sind: GROUP BY ORDER BY UNION 58 29
30 VIEWS Beispiel Mitarbeitertabelle pro Abteilung: CREATE VIEW v_emp_dept_10 AS SELECT empno, ename, deptno FROM emp WHERE deptno = 10; Beispiel JOIN: CREATE VIEW v_emp_dept AS SELECT empno, ename, e.deptno, dname FROM emp e INNER JOIN dept d ON e.deptno = d.deptno; Abfrage: select * from v_emp_dept; 59 /* Domain definitions */ CREATE DOMAIN "MYNAME" AS CHAR(200); Create Table emp ( Vorname MyName, Name MyName, Gehalt Numeric(7,2), // DOUBLE PRECISION, Datum date ) 60 30
31 Bedingungen ALTER TABLE emp ADD CONSTRAINT chgehalt CHECK ( gehalt> ); ALTER TABLE emp ADD CONSTRAINT chname CHECK ( strlen(rtrim(name))>3 ); ALTER TABLE emp ADD CONSTRAINT chname CHECK ( strlen(name)>3 ); // VarChar 61 31
SQL Intensivpraktikum SS 2008
SQL Intensivpraktikum SS 2008 Aggregation von Daten Arbeit mit Gruppen SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved. Gruppenfunktionen Gruppenfunktionen verarbeiten
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
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
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-
MehrDie bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.
Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing
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
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
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
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,
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
MehrGrundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken
Hochschule Harz FB Automatisierung und Informatik Versuch: Grundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken Versuchsziele Vertiefung in der ERM-Modellierung. Benutzen eines Designers.
MehrSQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement
SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden
MehrErzeugen von Constraints
Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key
MehrPrakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints
Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer
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
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. 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
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
MehrErzeugung und Veränderung von Tabellen
Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen
MehrArt der Info: Technische Background Info Teil 2 (April 2002)
Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 2 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle
MehrÜbungsaufgaben mit Lösungen
Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 1 Übungsaufgaben mit Lösungen 1) Ausgabe sämtlicher Spalten der Tabelle DEPARTMENT. SELECT * FROM DEPARTMENT 2) Ausgabe aller Projektnummern und Projektnamen.
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.
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
MehrPrakt. Datenbankprogrammierung. Sommersemester I,5: Aggregieren von Daten mit Gruppen-Funktionen
Prakt. Datenbankprogrammierung Sommersemester 2005 I,5: Aggregieren von Daten mit Gruppen-Funktionen Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg Was sind Gruppen-Funktionen?
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
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/
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.
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.
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
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
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,
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
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
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
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)
MehrThemen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.
2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen
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
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
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
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
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
MehrArt der Info: Technische Background Info Teil 1 (April 2002)
Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 1 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle
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
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
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
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
MehrMengen- oder SET-Operatoren fassen das Ergebnis von zwei oder mehreren Teilabfragen zu einem Ergebnis zusammen.
Tipps & Tricks: Mengenoperatoren Bereich: DBA, SQL Erstellung: 06/2004 MP Versionsinfo: 10.1, 10.2, 11.1, 11.2 Letzte Überarbeitung: 06/2009 MA Mengenoperatoren Mengen- oder SET-Operatoren fassen das Ergebnis
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
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
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
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes
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
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
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
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
MehrFachhochschule Deggendorf Platzziffer:...
Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:
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
MehrArt der Info: Technische Background Info Teil 3 (April 2002)
Betrifft: Autor: Oracle9i New Features SQL und PL/SQL Patrick Malcherek (patrick.malcherek@trivadis.com) Art der Info: Technische Background Info Teil (April 00) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle
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
MehrDatenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.
Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme
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
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
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
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
MehrOracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH
Oracle 8i und 9i New Features DOAG November 200 Peter Jensch, Trivadis GmbH Facts & Figures Über 300 Mitarbeiter (D und CH) Über 200 Oracle Consultant Über 300 Kunden (ohne Schulung) Über 000 Projekte
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
MehrDatenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski
Aufgabe 1 Erstellen Sie eine Abfrage, die aus der EMP/DEPT-Tabelle die Felder Empno, Ename, Deptno und dname aller Mitarbeiter mit einem Gehalt von > 2500 ausgibt. select EMPNO, ENAME from EMP where SAL
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
MehrEntspricht dem kartesischen Produkt von zwei oder mehr selektierten Tabellen ohne Join-Bedingung.
Tipps & Tricks: Neuerungen Joins Bereich: SQL Erstellung: 07/2004 HA Versionsinfo: 10.1, 10.2, 11.1, 11.2 Letzte Überarbeitung: 06/2009 MA Neuerungen zu Joins Ab Version 9i sind alle dem SQL:1999-Standard
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. 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
MehrDatenbanken. Zusammenfassung. Datenbanksysteme
Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm
MehrPostgreSQL unter Debian Linux
Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...
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
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten
Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-
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
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
MehrDatenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester 1999. CREATE DOMAIN KennzeichenDomain AS VARCHAR(9);
Institut für Angewandte Informatik AIFB und Formale Beschreibungsverfahren Universität Karlsruhe (TH) Prof. Dr. W. Stucky U. Schmidle Tel.: 0721 / 608-3812, 3509 Fax.: 0721 / 693717 e-mail: stucky schmidle
MehrAuf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13
Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung
MehrEinführung in SQL Datenbanken bearbeiten
Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben
MehrInhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15
Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von
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
MehrKonstante Relationen
Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
MehrWeb-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme
Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische
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)
MehrAuf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13
Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel
MehrCassandra Query Language (CQL)
Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für
MehrWaimea Phone Monitor. Handbuch. Anzeige von eingehenden Anrufen auf Telefonanlagen mit TAPI-Interface
Waimea Phone Monitor Handbuch Anzeige von eingehenden Anrufen auf Telefonanlagen mit TAPI-Interface Ermittlung des Namens und anderer Informationen aus einer beliebigen ODBC-Datenbank auf Basis der Telefonnummer
MehrDie Datenmanipulationssprache SQL
Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify
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
MehrInhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15
Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................
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
MehrGrundlagen der Informatik 2
Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung
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
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
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
Mehr