DATENBANKEN I. Einführung in Datenbanken Semester: IV. Semester 4. Mitgeschrieben von: Isabel Drost, If99w1

Größe: px
Ab Seite anzeigen:

Download "DATENBANKEN I. Einführung in Datenbanken Semester: IV. Semester 4. Mitgeschrieben von: Isabel Drost, If99w1"

Transkript

1 DATENBANKEN I Semester 4 Mitgeschrieben von: Isabel Drost, If99w1 Mitschrift von: Drost, Isabel/ if99wp1 Seite 1 von 23

2 Inhaltsverzeichnis: ZIELE: 4 Mittel(SE): 4 Aufgaben: 4 SQL formale Sprache 4 Oracle SQL+: 4 Data Types 5 Konkrete Operationen 5 Projektionen - Spaltenauswahl 5 SCOTT... Lsg.: SELECT ename Name,... Unterschrift 5 Selection Auswahl von Zeilen 6 Wildcards 6 Ordnung 7 Mengen 7 Nullwerte 8 Join 8 Outer Join 9 AutoJoin 10 TetaJoin Θ 10 BETWEEN Operator 10 Das Karthesische Produkt 10 Subquery 11 Typische Subquery Fehlermeldung: 11 EXITSTS 12 FOR ALL-Ersatz 12 Mehrfach SQ 12 SQs und Mengen 13 SQs und Joins 13 Rekursive SQs 14 Ausdrücke und Funktionen 14 WHERE i.ordid=o.ordid 14 Arithmetik 15 StringOperationen 15 CharakterStrings: 15 Konktination: 15 Decode: 15 Mitschrift von: Drost, Isabel/ if99wp1 Seite 2 von 23

3 Substrings: 15 Upper und Lower: 15 Intr: 15 Initcap: 15 Dump: 16 SoundEX: 16 Formatierung von Spalten 16 Statistikfunktionen von Oracle: 17 Tabellen in Bäume wandeln 18 SELECT prodid FROM 19 (SELECT prodid, startdate, enddate from price where prodid=100861) 19 Debugging 20 Reports 21 Tables erstellen und updaten 22 Mitschrift von: Drost, Isabel/ if99wp1 Seite 3 von 23

4 Datenbanken ZIELE: Einführung in Datenbanken DBMS: Oracle-benutzen Relationale Strukturen von DB-beherrschen Linua Franca (Verkehrssprache): SQL-Syntax/Semantik lernen Mittel(SE): Paradigmat. Einf. in SQL SQL-Syntax by doing Bsp. nachvollziehen DB-Bsp.: SCOTT/TIGER Protokollieren (Probl.,Lösg.,Syntax) Arbeit mit Oracle (nt, sql+) Doku siehe IntranetHP Aufg mögl. selbstständig Antizipation (sql selbstständig) Aufgaben: - Ausarbeiten der SeminarNotizen (KlausurVorbereitung) - Üben von SQL mit oracle (auch andere Bsp.-DB) - Zusammenhang mit Theorie herstellen (VO) Klausur: alles verwendbar zb. Ausarbeitung am Rechner (mit neuer DB) 2/ 3 Theoriefragen (praxisbezogen) Dabei interessieren nicht die Ergebnisse sondern vielmehr der Selecht selber Durchschnitt:2,5/ 3,5 Oracle kostenfrei über FH zu beziehen Keine Aufgabensammlung Ziel: eigene Aufgaben finden Aber: Bsp.Db verfügbar Mitschreiben via Spooling oder Cut&Paste mit Word Login=Novell/ Unix Paßw=(siehe Novell ;-) ) Host=RIES, ZUSE SQL formale Sprache (hat Syntax, Semantik, Pragmatik) The only way, to learn a programming lang. Is by writing programs in it. (Kernighan ;-) ) Prozedurale Sprache Oracle SQL+: Environmenteinstellungen über Options I:\oracle = pwd (shift-rechtemaustaste-openwith) Datenbankaufbauende Dateien: H:\Praktiku\Datenba\O8 START demo_bld SELECT * FROM cat; demo_bld.spl, demo_drp.sql ergibt alle Einträge SQL Befehle kommen in den Buffer, werden dort abgearbeitet R(un) wiederholt Befehl im Buffer (bei vergessenem ; - Befehl steht immernoch im Buffer) L(ist) zeigt Befehl im Buffer EDIT öffnet den SQL Buffer im Editor SAVE xyz (xyz = Dateiname) speichert den Befehl GET xyz holt den Befehl in den SQLBuffer, der von dort via R ausgeführt werden kann. HELP hier zusätzlich installiert oracle6, reicht meist aus Bei Error: Errormessage, Sternchen steht an der Stelle, wo der Fehler steht RollBack macht Befehle rückgängig, erst mit Ausloggen werden Änderungen permanent COMMIT macht Befehle explizit permanent SELECT *FROM cat; gibt alle Tabellennamen aus Mitschrift von: Drost, Isabel/ if99wp1 Seite 4 von 23

5 Data Types NUMBER (entspricht INT, REAL,... ) (die anderen können auch verwendet werden aus Kompatibilitätsgründen mit eingebaut) CHAR(), VAR CHAR() - Char: String wird auf volle Länge mit Leerzeichen aufgefüllt, mit VARCHAR nicht - Bsp: CHAR: SMITH (bei CHAR(10)) DATE (Datum, nach außen ein String, der aber auf Korrektheit des Datums geprüft wird) - Datum wird auf Korrektheit geprüft - Zeit mit integrierbar - Basierend auf Julian. Kalender - Operationen: Addition eines Monats, Gib mir nächsten Tag, der auf morgen folgt etc. RAW ( rohe Daten ) - Binärdaten, wie Bilder etc. - Systemspezifisch und weniger kompatibel - Kaum von SQL+ unterstützt, lesen und eingeben nur via hex LONG CHAR, LONG RAW (char und raw vergrößert auf einige Gigabyte) LOB (large object binary) - für Multimediaanwendungen - CLOB -> CHAR (an jedem System identisch) - NCLOB -> N=national languagesupport - BLOB -> binary LOB (für Bilder & Sound) - zwei Varianten: einmal einfügen als Datei oder direkt in die DB DESC emp beschreibt den Inhalt, gibt z.b. auch den Datentyp mit aus. Multimedia sollte mit in Beleg, wens ein/ zwei Bildchen etc. Konkrete Operationen Projektionen - Spaltenauswahl SELECT ename, sal, job FROM emp; Ausgabe von Name, Gehalt, Job der Datenbank SELECT DISTINCT job FROM emp; Ausgabe aller Jobs, Distinct streicht dabei alle genau gleichen Zeilen raus SELECT ename, sal, Dollar FRO...; Ausgabe von normalem Text in den..., dieser Text gilt als Überschrift SELECT ename Name,... FROM emp; temporäres Umbennen der Spalte in Name, Umschrift in Großbuchstaben, keine Leerzeichen oder Operationszeichen möglich SELECT ename Name,... FROM...; Alles wird so ausgegeben, wie s dasteht-> auch Leerzeichen und Operationszeichen möglich Bei anderen System gehört ein AS zwischen den Titel der Spalte und dem neuen Namen. 1. Aufgabe: Unterschriftenliste Name Unterschrift SCOTT... Lsg.: SELECT ename Name,... Unterschrift Mitschrift von: Drost, Isabel/ if99wp1 Seite 5 von 23

6 Selection Auswahl von Zeilen SELECT *FROM emp WHERE deptno=30; SELECT 'true' " " FROM emp WHERE ename='scott'; SELECT * FROM emp WHERE sal>2000; Vergleichsoperatoren: <; <=; >; >=;!=; <> SELECT * FROM emp WHERE comm>=sal; Gib all die Leute aus, die in Departement# 30 wohnen, gibt ganze Zeilen aus Gib true aus, wenn es einen Scott gibt Wer verdient denn mehr als 2000 Dollar? Mindestens soviel Comm wie sal SELECT * FROM emp WHERE sal>2000 and deptno=20; Mehr als 2000$ und sie leben in Departement 20 SELECT * FROM emp WHERE job='clerk' or job='manager'; Zeige alle, die entweder Manager, oder Clerk sind. SELECT *FROM emp WHERE deptno='10' and (job='clerk' or job='manager'); Wohnen in Departement 10 und haben entweder den einen, oder den anderen Job SELECT *FROM emp WHERE deptno='10' and (job!='clerk' and job!='manager'); Wohnen in Departement 10 und sind nicht Manager oder Clerk SELECT *FROM emp WHERE deptno=10 and (job<>'clerk' and job<>'manager'); Siehe oben ;-) Oder ohne Verwendung von nicht: Verwendung von De Morgan. SELECT *FROM emp WHERE sal BETWEEN 1200 and 1400; Zwischen 1200 und 1400 (einschließlich der Grenzen) SELECT *FROM emp WHERE job in ('MANAGER','CLERK'); Job Element von {Manager, Clerk} SELECT *FROM emp WHERE job not in ('MANAGER','CLERK'); Wildcards Unix SQL * % Beliebig viele beliebige Zeichen? _ Beliebiges Zeichen ename = S% ename LIKE S% Suche alle die, die mit S beginnen und mit % aufhören Suche alle die, die mit S beginnen Mitschrift von: Drost, Isabel/ if99wp1 Seite 6 von 23

7 Ordnung Reihenfolge bei einem normalen Select ist beliebig. ORDER BY ename ORDER BY ename DESC ORDER BY job, sal DESC, ename ORDER BY LENGHT (ename) ORDER BY 2 ordne nach ename, aufsteigend alphabet oder numerisch absteigende Anordnung mehrmals der gleiche Job->ordne absteigend nach Gehalt dann nach ename Nach der Länge sortieren Sortiere nach der 2. ausgewählten Spalte ORDER BY DECODE (Spalte, die dekodiert werden soll; Inhalt, Position; Inhalt, Position;...) Inhalt einer Spalte in anderer Reihenfolge anordnen SELECT *from emp order by decode(deptno, 30,3,20,1,10,2); Mengen Union Intersect Minus SELECT ename, job FROM emp UNION SELECT dname, loc FROM dept; Suche die Jobs, wo die deptno 10 und 20 ist: SELECT job FROM emp WHERE deptno=10 UNION SELECT job FROM emp WHERE deptno=20; Weise nach, dass union ein DISTINCT impliziert: CREATE TABLE emph AS SELECT *FROM emp; INSERT INTO emph SELECT *FROM emp; SELECT *FROM emph union SELECT *FROM emph; Erstellen einer neuen Tabelle, die wie emp aussieht, nur ohne Primary key Vereinigt die Einträge aus der neuen Tabelle, dabei werden doppelte Einträge rausgefiltert-> implizites DISTINCT SELECT *FROM emph union ALL SELECT *FROM emph;distinct ausschalten Finde die Aufgabe heraus: SELECT job FROM emp WHERE deptno=10 INTERSECT... deptno=20; Gibt die Jobs aus, die sowohl in Departement 10 als auch 20 da sind. Bei Minus, die die weder bei 10 noch 20 sind Bei gleichen Spaltennamen muß zum Ordnen die Spaltennummer angegeben werden. Mitschrift von: Drost, Isabel/ if99wp1 Seite 7 von 23

8 Was passiert bei: A/B U C wird mit Klammern eindeutig, sonst von oben nach unten Gleichheit von Mengen: Wenn zwei Tabellen gleich sind, kann ich ja eine wegschmeißen. Mathemat. Definition ist folgende: A Teilmenge von B und B Teilmenge von A. Ausgedrückt mit Minus: A\B UNION B\A = 0. (SELECT *FROM emph MINUS SELECT *FROM emp)union(select *FROM emp MINUS SELECT *FROM emph); DELETE emph WHERE ename='smith'; (SELECT *FROM emph MINUS SELECT *FROM emp)union(select *FROM emp MINUS SELECT *FROM emph); - bringt die vorher gelöschte Zeile ans Tageslicht, die jetzt nur noch in emp enthalten ist Nullwerte Werte, die unbekannt sind, sind nicht gleich NULL! SELECT *FROM emp WHERE comm=null; SELECT *FROM emp WHERE comm IS NULL; no rows selected Erklärung: Vergleiche einen Wert, den Du angucken kannst und vergleiche ihn mit dem Fakt, dass er nicht da ist. Ist semantischer Blödsinn. liefert hier die richtige Ausgabe. Wenn wir all die wollen, die nicht Null sind: SELECT *FROM emp WHERE comm IS NOT NULL; Tautologien: SELECT... WHERE comm=comm; Dürfte immer wahr sein, Tautologie. Gibt aber nicht alle 14 Zeilen aus: die, die nicht definiert sind, werden nicht ausgegeben. SELECT *FROM emp WHERE comm>1000 OR comm<=1000; (siehe oben) Sowas kann notwendig sein, wird vom OracleSystem aber nicht wirklich unterstützt, da es anscheinend eine dreiwertige Logik verwendet. Ausprobieren hilft gegen s auf die Nase fliegen. Join Aufteilung von einer Tabelle in mehrere, um Redundanz zu vermeiden. Z.B. Einführung einer Nummer für s Department und Extratabelle für die Departmentnamen. SELECT ename, loc FROM emp, dept; SELECT ename, loc FROM emp, dept WHERE deptno=deptno; SELECT ename, loc FROM emp, dept WHERE emp.deptno=dept.deptno; Bringt alle Jobs kombiniert mit allen Dept# Bringt Fehler: mehrdeutig. Entfernt Mehrdeutigkeit, da die Tabellen direkt angesprochen werden. SELECT ename, loc, dept.deptno FROM emp, dept WHERE emp.deptno=dept.deptno Gibt auch die Nummer selber mit aus. SELECT e.deptno FROM emp e, dept d; Bei langen Tabellennamen ist deren Umbenennung möglich. Mitschrift von: Drost, Isabel/ if99wp1 Seite 8 von 23

9 SELECT emp.*, loc FROM emp, dept WHERE emp.deptno=dept.deptno; Dann ist aber der Zugriff über emp.x nicht mehr möglich. Gibt alle Zeilen aus emp aus und loc aus dept. Allerdings kombiniert er nur sinnvoll (nur die, wo die Departmentnummern übereinstimmen.) Läßt man die join Bedingung weg, ergibt dies ein karthesisches Produkt. Vorgeschlagene Reihenfolge für den Selectaufbau: 1. SELECT FROM xxx 2. SELECT FROM xxx WHERE xxx 3. SELECT xxx FROM xxx WHERE xxx Reihenfolge der angegebenen kann für die Performance von Relevanz sein. Ein gutes System sollte hier optimieren und die ideale Reihenfolge verwenden. JOINs dieser Art ( = in der JOINBedingung hinter dem WHERE) heißen Equi-Joins. Semi-Joins hingegen verwenden die Tabellen, zeigen aber von der zweiten Tabelle nichts an. (häh? Wie jetzt?) Ach, so: nur was aus der ersten Tabelle und nix aus der zweiten Tabelle. Dazu wird erstmal das karthesische Produkt entfernt (joinbedinung). Hier wird auch der Angestellte nicht doppelt ausgegeben, dadurch dass DISTINCT angegeben wurde. SELECT DISTINCT ename FROM emp, customer WHERE (emp.empno=customer.repid) Outer Join Ziel: Gib alle Zeilen zweier Tabellen aus. Dabei soll es möglich sein, Zeilen auszugeben, die nach der joinbedingung kein Pendant haben. Z.B. gibt es mehr Departments als Angestellte. Ich will also alle Departments und dazu alle Angestellten. SELECT *FROM emp,dept WHERE emp.deptno(+)=dept.deptno Select dname,ename,name from emp,dept,customer where dept.deptno=emp.deptno(+) and emp.empno=customer.repid(+) Wählt alle Departments aus, dazu alle passenden Angestellten und dazu wiederum alle Kunden. Schwierigkeit hierbei ist, dass es Departments ohne Angestellte gibt, dass es Angestellte ohne Kunden gibt, die aber alle ausgegeben werden sollen. Deshalb der (+) (outer Join) Operator. Dieser gibt auch alle die Einträge einer Tabelle aus, die der passenden Tabelle kein Pendant haben. INSERT into emp (empno,ename,deptno) Values (7,'Bond',NULL); Einfügen neuer Werte geht nicht, da deptno nicht null sein darf. ORA-01400: cannot insert NULL into ("IDROST"."EMP"."DEPTNO") INSERT into emp (empno,ename,deptno) Values (7,'Bond',70); Geht nicht, da es keinen ParentKey in der anderen Tabelle gibt. Somit kann es nicht passieren, dass z.b. in einer Bibliothek ein Buch von jemandem ausgeliehen wird, den es gar nicht gibt (wenn ich den, der es ausgeliehen hat, über den PrimaryKey identifiziere, muß es diesen ja auch geben, sonst kann es mir ja passieren, dass ich jemandem ein Buch verliehen habe, den es gar nicht gibt...) ORA-02291: integrity constraint (IDROST.EMP_FK) violated - parent key not found Mitschrift von: Drost, Isabel/ if99wp1 Seite 9 von 23

10 Outer emp U Equi U Outer(dept) Wähle alle enames aus emp und alle dnames aus dept! Select ename, dname from emp, dept where dept.deptno=emp.deptno(+) union Select ename, dname from emp, dept where dept.deptno(+)=emp.deptno; AutoJoin Suche emp, die mehr als ihr Chef verdienen! (mgr ist # vom boss) select e.ename, e.sal, b.ename,b.sal from emp e,emp b where e.mgr=b.empno and e.sal>b.sal Läuft mit einem Join einer Tabelle auf sich selber. TetaJoin Θ Statt = wird <;>;... verwendet. 1. Suche emp, die mehr als Johns verdienen! select e.ename, e.sal, j.ename, j.sal from emp e, emp j where e.sal>j.sal and j.ename='jones' BETWEEN Operator Suche ename mit Gehaltsklasse! Das Karthesische Produkt Wir haben Ziffern von 0-9 und wollen nun alle Dezimalzahlen. Lösung: Verwendung des krathesischen Produktes, angewendet auf eine Tabelle mit den 10 Dezimalzahlen von 0 bis 9. Verwende zur Programmierung von Interfaces zu SQL/ Oracle am besten Java noch am meisten unterstützt! CREATE TABLE digit (d NUMBER); INSERT INTO digit VALUES (0);... INSERT INTO digit VALUES (9); SELECT e.d +10*z.d FROM digit e, digit z; Mitschrift von: Drost, Isabel/ if99wp1 Seite 10 von 23

11 Subquery SELECT *FROM emp WHERE sal>(select sal FROM emp WHERE ename='jones'); Mainquery Subqurery Wähle all die aus, bei denen das Gehalt größer ist, als das von Jones. Das von Jones wird dabei in der Subquery erst ermittelt. SELECT *FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp); Wähle die Abteilung, die keine Beschäftigten hat. SELECT d.dname, e.ename FROM emp e, dept d WHERE e.deptno=d.deptno UNION SELECT d.dname, NULL FROM dept d WHERE d.deptno NOT IN (SELECT deptno FROM emp) Typische Subquery Fehlermeldung: SELECT *FROM emp WHERE sal>(select sal FROM emp WHERE deptno=30); Hat zur Folge: ORA-01427: single-row subquery returns more than one row SELECT *FROM emp WHERE sal>any(select sal FROM emp WHERE deptno=30); (nimm einen x-beliebigen aus department 30, dabei kommen auch einige aus department 30 mit) SELECT *FROM emp WHERE sal>all(select sal FROM emp WHERE deptno=30); (nimm die, die mehr verdienen als ALLE in department 30) Statt dem ALL könnte man auch angeben: Anstelle von Any könnte man auch das Minimum raussuchen: (SELECT MAX(sal) FROM emp WHERE deptno=30); (SELECT MIN(sal) FROM emp WHERE deptno=30); SELECT ename, job, deptno FROM emp WHERE job IN (SELECT job FROM emp WHERE deptno=30); Wählt all die jobs mit departmentnumber aus, die in department 30 vorkommen. SELECT job, deptno FROM emp WHERE job NOT IN (SELECT job FROM emp WHERE deptno=30) Wählt all die jobs, die nicht in department 30 vorkommen. IN = ANY NOT IN!= ALL NOT IN = NOT ANY Mitschrift von: Drost, Isabel/ if99wp1 Seite 11 von 23

12 EXITSTS SELECT *FROM dept WHERE EXISTS (SELECT *FROM emp WHERE dept.deptno=emp.deptno) Gib alle Departments aus, zu denen auch ein employee <spc?> gehört. Exists vergleichbar mit dem es gibt aus der Logik. Für alle gilt lässt sich folgendermaßen darstellen: Es gibt keinen, für den es nicht gilt. FOR ALL-Ersatz SELECT dname FROM dept WHERE EXISTS Suche alle departments raus, bei denen es (SELECT *FROM emp folgendes gibt: WHERE emp.deptno=dept.deptno Es GIBT Angestellte AND NOT EXISTS Es gibt KEINE Angestellte, die (SELECT *FROM emp WHERE comm>sal mehr comm haben als sal haben. AND dept.deptno=emp.deptno Wir betrachten nur das gewählte Departement, )) nicht die ganze Firma. Suche Depts, in denen niemand mehr comm als sal erhält! Wir müssen das so verdreht machen, da es kein Es gilt für alle gibt. Eine Negierung ergibt somit: Es gibt niemanden, für den das Gegenteil gilt. SELECT dname FROM dept WHERE EXISTS (SELECT *FROM emp WHERE emp.deptno=dept.deptno AND NOT EXISTS (SELECT *FROM emp WHERE hiredate>=to_date('01-jan-1982','dd-mon-yyyy') AND dept.deptno=emp.deptno )) Suche Depts, deren emps alle vor 82 eingestellt wurden. (Beziehungsweise all die Depts, deren emps NICHT nach 82 eingestellt wurden.) SELECT dname FROM dept WHERE EXISTS (SELECT *FROM emp WHERE emp.deptno=dept.deptno) MINUS SELECT dname FROM dept WHERE EXISTS (SELECT *FROM emp WHERE hiredate>=to_date('01-jan-1982','dd-mon-yyyy') AND dept.deptno=emp.deptno ) Das gleiche mit Mengenlehre... (Alle die Zeilen, die emps enthalten, minus die Zeilen, wo das Einstellungsdatum nicht stimmt.) Mehrfach SQ SELECT ename FROM emp WHERE (sal,job)= (SELECT sal,job FROM emp WHERE ename='ford') All die, die mit dem gleichen Job das gleiche verdienen wie Ford. Mitschrift von: Drost, Isabel/ if99wp1 Seite 12 von 23

13 SQs und Mengen SELECT ename FROM emp WHERE job=(select job FROM emp WHERE ename='jones') OR sal>(select sal FROM emp WHERE ename='ford') Job(Jones) Sal(Ford) SELECT ename FROM emp WHERE job=(select job FROM emp WHERE ename='jones') UNION SELECT ename FROM emp WHERE sal>(select sal FROM emp WHERE ename='ford') Alle die, die entweder den gleichen job oder das gleiche Gehalt wie Jones bzw. Ford haben. SELECT * FROM emp WHERE job IN (SELECT job FROM emp WHERE deptno=(select deptno FROM dept WHERE dname='sales')) Alle die, die einen Job haben, der auch im Salesdepartment vorkommt. SQs und Joins SELECT *FROM emp, dept WHERE emp.deptno=dept.deptno AND loc='chicago' AND job= (SELECT job FROM emp WHERE ename='allen') Loc(CHICAGO) UND Job(ALLEN) Join SELECT *FROM emp, dept WHERE emp.deptno=dept.deptno AND loc='chicago' AND SQ job=( SELECT job FROM emp WHERE ename='allen') Join, der komplett mit einer SQ austauschbar ist: Semijoin. (Da ja die Zeilen der SQ nicht angezeigt sondern nur ausgewertet werden können... Mitschrift von: Drost, Isabel/ if99wp1 Seite 13 von 23

14 Rekursive SQs SELECT dname, ename, job FROM dept, (SELECT ename, job, deptno FROM emp WHERE TO_CHAR (hiredate,'yy')>'81') emp_v WHERE dept.deptno=emp_v.deptno ; hole aus dept und der temporären Tabelle best. Sachen raus die temporäre Tabelle aus dem Select heraus Wann kann eine SQ durch einen Join ersetzt werden? Select *From emp Where sal> (Select sal From emp Where ename='jones') Select e.* From emp e, emp r Where e.sal>r.sal And r.ename='jones' Semijoins lassen sich als SQs darstellen. Joins sind i.d.r. mächtiger als SQs. Somit dürften sich alle SQs als Join darstellen lassen als Semijoin. Tlw. lassen sich SQ schneller erstellen als Joins. Ausdrücke und Funktionen Select ename, sal+comm From emp Where job='salesperson'; Where sal>comm*0,25 Order by Comm/sal Sowohl in Selects als auch in WhereKlauseln und OrderByKlauseln sind mathematische Ausdrücke möglich. Probleme gibt es nur, wenn in einem Summanden NULL drin steht. Lösung ist die NVL Funktion. Bei NUMBER gibt es dabei kein Problem. Bei allen anderen Datentypen muß ich direkt den Datentyp angeben: NVL(TO_CHAR nix da ) Select ename, sal, comm, sal+nvl(comm,0) From emp; Wenn in comm ein nullvalue steht, schreibe dafür die richtige mathemat. Null und addiere die! Select ename, sal, NVL(TO_CHAR(comm),'nix da') From emp; Diverse Joins in einem Select: SELECT i.ordid, i.itemid, i.actualprice, pr.stdprice FROM Ord o, Item i, Product p, Price pr WHERE i.ordid=o.ordid AND i.prodid=p.prodid AND p.prodid=pr.prodid AND orderdate BETWEEN pr.startdate AND NVL(enddate,SYSDATE) OrdID ItemID ActualPrice StdPrice Ord Item Product Price OrdID OrdID ProdID ProdID ProdID ActualPrice StdPrice Startdate Enddate Mitschrift von: Drost, Isabel/ if99wp1 Seite 14 von 23

15 Arithmetik ROUND TRUNC POWER (Basis, Exponent) SQRT SIN etc. Berechnungen mit der Tabelle dual ausführen. (Tabelle mit nur einer Zeile.) StringOperationen CharakterStrings: SELECT CHR(100)... SELECT ASCII( d )... Konktination: SELECT ename is a job... Decode: select job, Decode(job,'PRESIDENT',5,'CLERK',1,'MANAGER',3,2) class From emp Update mittels Decode: Update emp set sal=sal* decode(deptno,10,1.1, 20,1.05, 30,1) Dies ließe sich auch mit zwei Updates machen. So isses schlicht kürzer. Substrings: select substr(dname,2,5) from dept; Upper und Lower: Select ename, UPPER(ename), Lower(ename) From emp Where Lower(ename)=Lower('Scott'); Intr: Select instr(job,'person') from emp; (Soundsooft kommt der angegebene String in dem anderen string vor.) Initcap: Select initcap(ename 'is a' job) from emp; Erster Buchstabe jedes Wortes wird grossgeschrieben, alle anderen klein. Mitschrift von: Drost, Isabel/ if99wp1 Seite 15 von 23

16 Dump: Gibt die interne Darstellung des Datums aus: Typ=12 Len=7: 119,181,11,17,1,1,1 Typ=12 Len=7: 119,181,4,2,1,1,1 Typ=12 Len=7: 119,181,5,1,1,1,1 Typ=12 Len=7: 119,181,6,9,1,1,1... Einführung in Datenbanken SoundEX: Ich weiß, wie s klingt, nur mit der Rechtschreibung habsch so meine Probleme... SELECT ename, Soundex(ename) from emp where soundex(ename)=soundex('smyth'); Bringt den enthaltenen Smith. (genauso bei Schmied, Schmitt etc.) Der SoundexWert liegt bei S530. Formatierung von Spalten Lpad/ Rpad Column x Heading Histogramm Column x Format A50 Justify c Select ename, sal, LPAD(' ',ROUND(sal/100),'$') x From emp ; Select job, LTRIM(job, 'SALE') alle Zeichen da drin, werden von links beginnend weggeschnitten, die in den From emp Hochkommas stehen, kommt ein unbekanntes, wird die Ersetzung ; abgebrochen Date: select hiredate, TO_CHAR( hiredate,'day.month.dd') from emp gibt Tag und Monat in Worten aus select hiredate, TO_CHAR( hiredate,'"the"ddspth "Day of" MONTH, "The Year of Our Lord" YYYY AD') from emp ergibt: HIREDATE TO_CHAR(HIREDATE,'"THE"DDSPTH"DAYOF"MONTH,"THEYEAROFOURLORD"YYYYAD' Theseventeenth Day of NOVEMBER, The Year of Our Lord 1981 N.CHR Thesecond Day of APRIL, The Year of Our Lord 1981 N.CHR Thefirst Day of MAI, The Year of Our Lord 1981 N.CHR Theninth Day of JUNI, The Year of Our Lord 1981 N.CHR Thetwentieth Day of FEBRUAR, The Year of Our Lord 1981 N.CHR. Mitschrift von: Drost, Isabel/ if99wp1 Seite 16 von 23

17 Zeitformatierung: SELECT TO_CHAR( SYSDATE,'HH:MI:SS') FROM dual Ergibt: TO_CHAR( :22:59 Zeitformat lässt sich permanent auch am Server, am Client und in der Session ändern. Sessionbeispiel (einzig für uns Studis mögliche Variante): ALTER SESSION set nls_date_format='"today''s date is" dd/mm/yy' ; Ergibt als Formatierung: SYSDATE Today's date is 08/05/01 Rechnen mit dem Datum ist ebenfalls möglich: SELECT NEXT_DAY(SYSDATE,'SONNTAG') FROM dual; Sucht den nächsten Sonntag raus Ergibt: Today's date is 13/05/01 (und heute is der he nur noch... Select (25-8) from dual ; Tage... bis zum *freu*) SELECT LEAST('21-JAN-77','21-DEZ-77') FROM dual; Sollte das Kleinere von beiden raussuchen Ergibt aber den Dezember. Erfolgt deshalb, weil das ganze als String betrachtet wird und das D nunmal vor dem J im Alphabet kommt... Um es als Datum zu betrachten fehlt die (blaue) To_Date-Funktion. SELECT LEAST(TO_DATE('21-JAN-77','DD-MON-YY'),TO_DATE('21-DEZ-77','DD-MON-YY')) FROM dual; SELECT TO_DATE('25-MAI-2001','DD-MON-YYYY')-SYSDATE from dual; Hee noch genau 16, Tage, bis ich Thilo wiedersehe... Statistikfunktionen von Oracle: SELECT MIN(sal), SUM(sal),AVG(comm) From emp where deptno=10; Suche den emp mit dem maximalen Gehalt heraus! SELECT ename,sal from emp where sal=(select Max(sal) from emp); MIN(SAL) SUM(SAL) AVG(COMM) ENAME SAL KING 5000 Wieviel Leute sind in Departement 30? SELECT COUNT(ename) From emp Where deptno=30 Ergibt 6. Nimm keine Spalte, die Nullwerte enthält, es sei denn natürlich, du willst die Nullwerte zählen. Wieviele verschieden Jobs gibt es in der Firma? Select count(distinct job) from emp; Select ename, Max(sal) from emp Group by ename SELECT MAX(sal), COUNT(ename), deptno FROM emp GROUP BY deptno; Damit is zwar der Fehler von ohne wech, dennoch kriege ich logischerweise nicht das Maximale Gehalt der Firma. Ergibt pro Abteilung die Mitarbeiteranzahl und das maximale Gehalt davon. Mitschrift von: Drost, Isabel/ if99wp1 Seite 17 von 23

18 SELECT MAX(sal), COUNT(ename),job, deptno FROM emp GROUP BY job, deptno SELECT dept.deptno, dname, job, max(sal) FROM emp, dept WHERE dept.deptno=emp.deptno GROUP BY dept.deptno, dname, job Maximales Gehalt pro Department, pro Job Reihenfolge im GroupBy wirkt sich nur auf die Ausgabereihenfolge aus, nicht auf s Ergebnis. GroubBy wirkt dabei wie ein aufsteigendes OrderBy. DEPTNO DNAME JOB MAX(SAL) ACCOUNTING CLERK ACCOUNTING MANAGER ACCOUNTING PRESIDENT ACCOUNTING 20 RESEARCH ANALYST RESEARCH CLERK RESEARCH MANAGER SALES CLERK SALES MANAGER SALES SALESPERSON 1600 SELECT max(sal), job from emp group by job having count(*)>1; Nimm Dir das maximale Gehalt vor, berechne es pro Jobgruppe und gib es nur von den Gruppen aus, die mehr als einen beinhalten, der diesen Job hat. MAX(SAL) JOB ANALYST 1300 CLERK 2975 MANAGER 1600 SALESPERSON SELECT dept.deptno, dname, avg(nvl(sal,0)) FROM emp, dept WHERE dept.deptno=emp.deptno(+) GROUP BY dept.deptno, dname ; Gib dname, department und AVG(sal) aus. Nimm auch Operators mit und gib deren sal mit 0 aus! DEPTNO DNAME AVG(NVL(SAL,0)) ACCOUNTING 2916, RESEARCH SALES 1566, OPERATIONS 0 Tabellen in Bäume wandeln SELECT LEVEL, ename, empno,mgr FROM emp CONNECT BY mgr=prior empno START WITH ename='king' ; Erstelle eine Rangliste der Firma, aus der Du einen Baum konstruieren kannst! 1 KING JONES SCOTT ADAMS FORD SMITH BLAKE SELECT LPAD(' ',(LEVEL-1)*3) ename FROM emp CONNECT BY mgr=prior empno START WITH ename='king' ; Rücke zusätzlich ein! KING JONES SCOTT ADAMS FORD SMITH BLAKE ALLEN WARD MARTIN TURNER JAMES CLARK MILLER SELECT LPAD(' ',(LEVEL-1)*3) ename FROM emp CONNECT BY empno=prior mgr START WITH ename='smith' ; Wer steht über Smith? SMITH FORD JONES KING Mitschrift von: Drost, Isabel/ if99wp1 Seite 18 von 23

19 Reihenfolge bei einem zusätzlichen Where: Einführung in Datenbanken From Where Connect Start Order SELECT LPAD(' ',(LEVEL-1)*3) ename FROM emp WHERE ename!='scott' CONNECT BY mgr=prior empno START WITH ename='king' Suche die Reihenfolge raus, lasse Smith raus. Dabei baut Oracle erst die gesamte Tabelle auf, dann nimmt es Smith raus sonst gängen ja die drunter verloren. KING JONES ADAMS FORD SMITH BLAKE ALLEN WARD MARTIN TURNER JAMES CLARK MILLER select prodid, startdate, enddate from price where prodid=100861; Nimmt Zeilen raus, in denen die ProduktID nicht mit dem hier übereinstimmt. Haken ist, wenn ich wirklich nur die Hierarchie dieses Produkte betrachten will, wie hier. Um diese Unterzweige zu erschlagen, muß ich entweder eine neue Pseudotabelle, View oder rekursive SQ verwenden: SELECT prodid FROM (SELECT prodid, startdate, enddate from price where prodid=100861) CONNECT BY startdate=prior enddate+1 START WITH startdate=to_date(' ','dd,mm,yyyy') Zweite Möglichkeit: Select... Connect by... AND ename!= JONES Wirft auch alle Unterbäume von Jones mit weg. Select ename,level from emp where level=2 connect by mgr=prior empno start with ename='king' Select level, AVG(sal) from emp connect by mgr=prior empno start with ename='king' group by level; Suche die Abteilungsleiter die auf Level 2 heraus! Gib pro Level das durchschnittliche Gehalt aus! Join mit Connect By etc is nich soo einfach: zum Join gehört eine JoinBedinung und die steht in der WhereKlausel, die wiederum zuletzt drankommt. Also muß ich den Join wie oben wieder in einer SQ verpacken! Select level, ename, job from emp connect by mgr=prior empno start with empno IN (Select empno from emp where job='manager') ; Baue die Tabelle vom zweiten Level aus auf also ab den Managern! Mitschrift von: Drost, Isabel/ if99wp1 Seite 19 von 23

20 DELETE emp where empno IN (Select empno from emp connect by mgr=prior empno start with ename='jones'); Lösche Jones und seine Mannen! Debugging Zum Beispiel: gib die Rabatte aus, die die Mitarbeiter gegeben haben ename avg/ max/ (StdPrice-ActualPrice) Debugging in der Datenbänkerei besteht z.b. darin, Daten zu finden, die semantisch inkorrekt sind. Bezogen auf das Beispiel heißt das: OrdID ItemID stdprice-actualprice, um zu testen, dass jeweils actualprice unter dem stdprice sind. Dabei muß ich soviele Zeilen erwarten, wie Items (bestellte Artikel) da sind =>64. Dies ist auf Fehler in den Tabellen zurückzuführen, z.b. gibt es Produkte, die unter dem Minimalpreis oder über dem Standardpreis verkauft worden sind. Die eine Zeile, die unter den Tisch fällt liegt daran, dass die Bestellung am verkauft wurde, der Preis aber erst ab Mitte Mai feststand. Select dazu: select itemid, prodid from item minus ( select itemid, item.prodid from item, price, ord where item.prodid=price.prodid and item.ordid=ord.ordid and orderdate between price.startdate and NVL(enddate,sysdate) ) (ergibt die Zeile, die mir fehlt, in Item bekomme ich jetzt über die prodid und die itemid die richtige ordid heraus sowie das Datum, ab dem ein Preis feststand. In Ord bekomme ich über die Ordid heraus, dass die Bestellung abgewickelt wurde, bevor der Preis feststand. > select *from item where prodid=200376; ORDID ITEMID PRODID ACTUALPRICE QTY ITEMTOT ,4 1 2, , , , , , ows selected. > select *from price where prodid=200376; PRODID STDPRICE MINPRICE STARTDAT ENDDATE ,4 1, > select *from ord where ordid=601; ORDID ORDERDAT C CUSTID SHIPDATE TOTAL Mitschrift von: Drost, Isabel/ if99wp1 Seite 20 von 23

21 A ,4 Dies läßt vermuten, dass in den Tabellen noch weitere Fehler sind. Z.B., dass teils der bezahlte Preis über dem Standardpreis liegt. SQL> r STDPRICE MINPRICE ACTUALPRICE 1 select stdprice, minprice, actualprice from price, item, ord where item.prodid=price.prodid and ord.ordid=item.ordid ,11 4 and orderdate between startdate and Nvl(enddate, sysdate) 2,8 2,4 45 5* and stdprice<actualprice Oder der bezahlte unter dem minimalpreis: SQL> r 1 select stdprice, minprice, actualprice from price, item, ord 2 where item.prodid=price.prodid 3 and ord.ordid=item.ordid 4 and orderdate between startdate and Nvl(enddate, sysdate) 5* and actualprice<minprice STDPRICE MINPRICE ACTUALPRICE ,5 9, Reports monatliche Ausgaben packe monatliche Selects in ein Script. Verwendung von Column möglich: column Column-name Heading employee Name format A50; column column-name off; schaltet die Formatierung wieder aus column column-name on; schaltet die Formatierung wieder an column; gibt alle definierten Spalten aus Weitere Formate (bei Zahlen): runde auf nachkommastellen 999V99 verstecke den Dezimalpunkt 9,999 B999 macht aus einer Null ein Blank führende Null mit ausgeben 999M1 Minus am Ende ausgeben Dies finde ich auch in der SQL+ - Referenz im Netz! SQL> select deptno, ename, sal from emp order by deptno; DEPTNO ENAME SAL KING 5000 CLARK 2450 MILLER JONES 2975 FORD 3000 ADAMS 1100 SCOTT 3000 SMITH 800 Nützlich ist das break: break on deptno skip 2; (zeigt dep 10 etc. einmal an, dann wird sie unterdrückt) Zwischen die Ausgaben kommen immer zwei Leerzeilen: 30 BLAKE 2850 JAMES 950 TURNER 1500 ALLEN 1600 WARD 1250 Mitschrift von: Drost, Isabel/ if99wp1 Seite 21 von 23

22 break on dname skip 0 on loc skip 0 on deptno; clear break schmeißt die breaks weg SQL> r 1 select dname, loc, ename, dept.deptno from dept,emp 2 where dept.deptno=emp.deptno 3* order by dname DNAME LOC ENAME DEPTNO ACCOUNTING NEW YORK KING 10 CLARK MILLER RESEARCH DALLAS JONES 20 FORD ADAMS SCOTT SMITH SALES CHICAGO BLAKE 30 JAMES TURNER ALLEN WARD MARTIN Tables erstellen und updaten Projektnummer Projektname Budget 101 alpha beta 103 gamma update project set budget= where pno=102; create table project (pno number primary Key, pname varchar(10), budget number); insert into project values (101,'Alpha',250000); insert into project values (102,'Beta',Null); insert into project (pname, pno) values ('gamma',103); SQL> r 1* select pno, rownum, rowid from project PNO ROWNUM ROWID AAAFl5AACAAAFVJAAA AAAFl5AACAAAFVJAAB AAAFl5AACAAAFVJAAC Rownum=Zeilennummer, interessant vor allem, wenn ich laufende Werte verändern will: update project set pno=rownum; RowId=physikalische Adresse der Zeile innerhalb von Oracle update project set pno=pno+1; Problem dabei ist, dass es sich hierbei um einen PrimaryKey handelt. Zwischenrein gibt es also übereinstimmende Schlüsselwerte. Bei rein objektorientierten Ansätzen ist dies überhaupt nicht erlaubt, da darf ich die Keys nicht verändern. Wenn ich diese Möglichkeit nicht hätte, das so abzuschicken, könnte ich zwischenzeitlich den Primarykey lahmlegen. Ansonsten,wenn ich weiß, der höchste ist 1000, na dann addiere ich halt erstmal 1001 und ziehe dann 1000 wieder ab... delete löscht Zeilen drop table project löscht die Tabelle. Mitschrift von: Drost, Isabel/ if99wp1 Seite 22 von 23

23 2. Select Name, NVL(to_char(Beruf),'nix da'), Gehalt From Mitarb where NVL(to_char(Beruf),'nix da')= (Select NVL(to_char(Beruf),'nix da') from Mitarb where Name='Walter') and Gehalt=(Select Gehalt from Mitarb Where Name='Walter') 3. Select Pname, Count(Pname) From ( Select Pname, pr.pnr from Projekt pr, Mitpro mi, Mitarb arb Where pr.pnr=mi.pnr and mi.mnr=arb.mnr ) group by Pname having Count(Pname)>7 4. Select Name from Mitarb Where Zimnr= (Select Zimnr From Mitarb Where Name='Froschmann') and Mitarb.Abtnr= (Select Abtnr From Abteilung Where Abtbez='Rechenzentrum') 5. select Zimnr, count(zimnr) From Mitarb Group by Zimnr having count(zimnr)>2 6. Select Name, Abteilung.Abtnr, Abtbez, Pnr, Pname Pleiter from Abteilung, Mitarb, Projekt Where Abteilung.aleiter=Mitarb.mnr and Abteilung.aleiter=Projekt.pleiter 7. Select Name, mnr, aleiter, Abteilung.Abtnr, gehalt, 'A ' "code" from Abteilung, Mitarb, Projekt Where Abteilung.aleiter=Mitarb.mnr Union Select Name, mnr, aleiter, Abteilung.Abtnr, gehalt, 'P ' "code" from Abteilung, Mitarb, Projekt Where Mitarb.mnr=Projekt.pleiter Minus Select Name, mnr, aleiter, Abteilung.Abtnr, gehalt, 'P ' "code" from Abteilung, Mitarb, Projekt Where Mitarb.mnr=Projekt.pleiter and Mitarb.mnr=Abteilung.aleiter order by name 8. Select sum(gehalt) "Gehaltsumme", count(name) "Anz_Mitarbeiter", avg(gehalt) "Durchschn_Gehalt" from Mitarb where Gehalt< (Select avg(gehalt) from Mitarb) 9. Select Gehalt, name, vorname from Mitarb where Gehalt> (Select avg(gehalt) from Mitarb) order by name Mitschrift von: Drost, Isabel/ if99wp1 Seite 23 von 23

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die 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

Mehr

SQL Intensivpraktikum SS 2008

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

Mehr

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

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 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

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: 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

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 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

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

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-

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN 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.

Mehr

Berechnungen in Access Teil I

Berechnungen 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

Mehr

Prakt. Datenbankprogrammierung. Sommersemester 2005

Prakt. Datenbankprogrammierung. Sommersemester 2005 Prakt. Datenbankprogrammierung Sommersemester 2005 A,2: Hierarchische Anfragen Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg Wann ist eine hierarchische Anfrage

Mehr

Entspricht dem kartesischen Produkt von zwei oder mehr selektierten Tabellen ohne Join-Bedingung.

Entspricht 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

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen 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.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

SQL-Einführung Teil 2

SQL-Einführung Teil 2 SQL-Einführung Teil 2 Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 19.10.2006 1 Datenmanipulationssprache (DML) Select DML ermöglicht es Daten mit SELECT abzurufen UPDATE zu verändern Delete DML Update

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau 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

Mehr

Art der Info: Technische Background Info Teil 2 (April 2002)

Art 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

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen 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

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-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.........................................

Mehr

Beispiel 1: Filmdatenbank

Beispiel 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,

Mehr

Variable. Interaktive Skripte

Variable. Interaktive Skripte Interaktive Skripte Variable...sal =? deptno=?.. ename =?... Werte eingeben während der Laufzeit. Nutzer SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved SQL2 basierend

Mehr

Die Datenmanipulationssprache SQL

Die 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

Mehr

Art der Info: Technische Background Info Teil 3 (April 2002)

Art 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

Mehr

Labor 3 - Datenbank mit MySQL

Labor 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.

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski

Datenbanken 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

Mehr

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

In 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. 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

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Datenbanken Kapitel 2

Datenbanken 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,

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, 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

Mehr

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book Wir wollen wissen wieviel Umsatz Vertreter Müller im Juni gemacht hat? Dazu klicken wir irgendwo in ein Feld und geben ein: =SVERWEIS

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. 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

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einfü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

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einfü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

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (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

Jeunesse Autopiloten

Jeunesse Autopiloten Anleitung für Jeunesse Partner! Wie Du Dir mit dem Stiforp-Power Tool Deinen eigenen Jeunesse Autopiloten erstellst! Vorwort: Mit dem Stiforp Power Tool, kannst Du Dir für nahezu jedes Business einen Autopiloten

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken 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,

Mehr

Mengen- oder SET-Operatoren fassen das Ergebnis von zwei oder mehreren Teilabfragen zu einem Ergebnis zusammen.

Mengen- 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

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Kostenstellen in Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Kostenstellen 1.1 Was sind Kostenstellen? 1.2 Kostenstellen in der 2 Kostenstellen in Webling 2.1 Kostenstellen erstellen

Mehr

Papa - was ist American Dream?

Papa - was ist American Dream? Papa - was ist American Dream? Das heißt Amerikanischer Traum. Ja, das weiß ich, aber was heißt das? Der [wpseo]amerikanische Traum[/wpseo] heißt, dass jeder Mensch allein durch harte Arbeit und Willenskraft

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Erzeugen von Constraints

Erzeugen 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

Mehr

Thema Stichwort Programm Letzte Anpassung Serienbrief erstellen Ablauf 16.12.2013

Thema Stichwort Programm Letzte Anpassung Serienbrief erstellen Ablauf 16.12.2013 1 Fragen und Antworten zur Computerbedienung Thema : Serienbrief 01 Serienbrief 01 Thema Stichwort Programm Letzte Anpassung Serienbrief erstellen Ablauf 16.12.2013 Kurzbeschreibung: Hier wird erklärt

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: 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

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Wir basteln einen Jahreskalender mit MS Excel.

Wir basteln einen Jahreskalender mit MS Excel. Wir basteln einen Jahreskalender mit MS Excel. In meinen Seminaren werde ich hin und wieder nach einem Excel-Jahreskalender gefragt. Im Internet findet man natürlich eine ganze Reihe mehr oder weniger

Mehr

Der Kalender im ipad

Der Kalender im ipad Der Kalender im ipad Wir haben im ipad, dem ipod Touch und dem iphone, sowie auf dem PC in der Cloud einen Kalender. Die App ist voreingestellt, man braucht sie nicht laden. So macht es das ipad leicht,

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Beamen in EEP Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Zuerst musst du dir 2 Programme besorgen und zwar: Albert, das

Mehr

Krippenspiel für das Jahr 2058

Krippenspiel für das Jahr 2058 Ev.-Luth. Landeskirche Sachsens Spielen & Gestalten Krippenspiel für das Jahr 2058 Krippenspiel für das Jahr 2058 K 125 Impressum Weihnachtsspielangebot 2009 Krippenspiel für das Jahr 2058 K 125 Die Aufführungsrechte

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht 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

Mehr

Tutorial: Entlohnungsberechnung erstellen mit LibreOffice Calc 3.5

Tutorial: Entlohnungsberechnung erstellen mit LibreOffice Calc 3.5 Tutorial: Entlohnungsberechnung erstellen mit LibreOffice Calc 3.5 In diesem Tutorial will ich Ihnen zeigen, wie man mit LibreOffice Calc 3.5 eine einfache Entlohnungsberechnung erstellt, wobei eine automatische

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views 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

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details 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

Mehr

Schritt 1 - Registrierung und Anmeldung

Schritt 1 - Registrierung und Anmeldung Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten

Mehr

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Prakt. 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

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [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

Mehr

Computeria Rorschach Mit Excel Diagramme erstellen

Computeria Rorschach Mit Excel Diagramme erstellen Mit Excel Diagramme erstellen 25.12.2010 Roland Liebing Mit Excel Diagramme erstellen Diagramme können Zahlenwerte veranschaulichen, das heisst, mit Hilfe eines Diagramms können Zahlen besser miteinander

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

Apartment App. Web Style Guide

Apartment App. Web Style Guide Apartment App Web Style Guide Login Zum Anmelden müssen Sie zu der App URL noch /typo3 hinzufügen. Sie sollten dann dieses Anmeldeformular sehen: Geben Sie hier Ihren Benutzernamen und das Passwort ein

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Fachhochschule Deggendorf Platzziffer:...

Fachhochschule 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

Mehr

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle Bedienungsanleitung Einsatzplanung Dieses Programm ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen, also Typ.xlm, deshalb werden Sie

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit 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

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Dow Jones am 13.06.08 im 1-min Chat

Dow Jones am 13.06.08 im 1-min Chat Dow Jones am 13.06.08 im 1-min Chat Dieser Ausschnitt ist eine Formation: Wechselstäbe am unteren Bollinger Band mit Punkt d über dem 20-er GD nach 3 tieferen Hoch s. Wenn ich einen Ausbruch aus Wechselstäben

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung 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

Mehr

Erst Lesen dann Kaufen

Erst Lesen dann Kaufen Erst Lesen dann Kaufen ebook Das Geheimnis des Geld verdienens Wenn am Ende des Geldes noch viel Monat übrig ist - so geht s den meisten Leuten. Sind Sie in Ihrem Job zufrieden - oder würden Sie lieber

Mehr

SQL - Übungen Bearbeitung der Datenbank Personal (1)

SQL - Ü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

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universitä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

Mehr

Abfragen: Grundbausteine

Abfragen: 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:

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Erklärung zu den Internet-Seiten von www.bmas.de

Erklärung zu den Internet-Seiten von www.bmas.de Erklärung zu den Internet-Seiten von www.bmas.de Herzlich willkommen! Sie sind auf der Internet-Seite vom Bundes-Ministerium für Arbeit und Soziales. Die Abkürzung ist: BMAS. Darum heißt die Seite auch

Mehr

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV MICROSOFT DYNAMICS NAV Inhaltsverzeichnis TECHNISCHE INFORMATION: Einleitung... 3 LESSOR LOHN/GEHALT Beschreibung... 3 Prüfung der Ausgleichszeilen... 9 Zurücksetzen der Ausgleichsroutine... 12 Vorgehensweise

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen 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

Mehr

Ein Ausflug zu ACCESS

Ein 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

Mehr

SQL structured query language

SQL 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

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

IV. Datenbankmanagement

IV. 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

Die Bundes-Zentrale für politische Bildung stellt sich vor

Die Bundes-Zentrale für politische Bildung stellt sich vor Die Bundes-Zentrale für politische Bildung stellt sich vor Die Bundes-Zentrale für politische Bildung stellt sich vor Deutschland ist ein demokratisches Land. Das heißt: Die Menschen in Deutschland können

Mehr

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 2 Inhalt 1. Anleitung zum Einbinden eines über RS232 zu steuernden Devices...3 1.2 Konfiguration

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung 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

Mehr

Der Gabelstapler: Wie? Was? Wer? Wo?

Der Gabelstapler: Wie? Was? Wer? Wo? Schreibkompetenz 16: schlusszeichen (Fragezeichen) sprechen zeichen Um eine Frage zu kennzeichnen, wird ein Fragezeichen (?) gesetzt. Fragewörter (zum Beispiel wo, wer, was, wie) zeigen an, dass ein Fragezeichen

Mehr

Mediator 9 - Lernprogramm

Mediator 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

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr