DATENBANKEN & SQL. Martin Schmidt Berufsschule Obernburg

Größe: px
Ab Seite anzeigen:

Download "DATENBANKEN & SQL. Martin Schmidt Berufsschule Obernburg"

Transkript

1 DATENBANKEN & SQL Martin Schmidt Berufsschule Obernburg

2 Hinweis Das Script enthält zahlreiche Codebeispiele, die teilweise direkt zu den im Unterricht verwendeten Übungsdatenbanken Volkshochschule Waldklinik passen passen. In diesen Fällen stehen die Namen der Datenbanken bei den jeweiligen Code-Beispielen. Einige Code-Beispiele kommen daher doppelt vor, weil sie für jede der Übungsdatenbanken vorliegen. Die Datenbanken selbst liegen als SQL-BackUp (Dump) zum Download bereit. Bitte beachtet, dass die Daten in den Datenbanken (z.b. Namen von Personen) von Schülern frei erfunden wurden. Mögliche Ähnlichkeiten sind rein zufällig und selbstverständlich nicht beabsichtigt.

3 SQL Structured Query Language Verschiedene Standards (z.b. ANSI SQL) Herstellerspezifische Implementierungen SQL umfasst aber nicht nur Abfrage-Befehle (Querys) sondern auch Befehle zum Ändern, Zufügen und Löschen von Daten. Manipulationssprache (für Datenbanken) trifft es genauer

4 SQL Datenbank erstellen CREATE DATABASE `dbname`; (Achtung: Problem Hochkomma in Windows/phpMyAdmin) Datenbank löschen DROP DATABASE `dbname`;

5 SQL Tabelle anlegen Tabellendefinition CREATE TABLE tabellenname (spaltendefinition [,tabellenintegritätsregeln]) Spaltendefinition name typ [vorgabewert] [spaltenintegritätsregeln] Spaltenintegritätsregeln: z.b. NOT NULL Auto Increment

6 SQL Tabelle anlegen Beispiel 1: Dozenten-Tabelle (Datenbank: vhs) CREATE TABLE tbl_dozent ( d_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, vorname VARCHAR(20), nachname VARCHAR(20), strasse VARCHAR(20), hausnummer INT, plz INT, ort VARCHAR(25), VARCHAR(25) );

7 SQL Tabelle anlegen Beispiel 2: Dozenten-Tabelle (Datenbank: vhs) CREATE TABLE tbl_dozent ( d_id INT NOT NULL, vorname VARCHAR(20), VARCHAR(25), PRIMARY KEY (d_id) );

8 SQL Tabelle anlegen Beispiel 3: Dozenten-Tabelle (Datenbank: vhs) CREATE TABLE tbl_dozent ( d_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, vorname VARCHAR(20), nachname VARCHAR(20), strasse VARCHAR(20), hausnummer INT, plz INT, ort VARCHAR(25), VARCHAR(25) ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

9 SQL Tabelle anlegen Beispiel 1: Patienten-Tabelle (Datenbank: Waldklinik) CREATE TABLE tbl_patient ( p_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, vorname VARCHAR(20), nachname VARCHAR(20), geburtsdatum DATE, geschlecht CHAR(1), strasse VARCHAR(20), hausnummer INT, plz INT, ort VARCHAR(25), VARCHAR(25) );

10 SQL Tabelle anlegen Beispiel 2: Patienten-Tabelle (Datenbank: Waldklinik) CREATE TABLE tbl_patient ( p_id INT NOT NULL, vorname VARCHAR(20), VARCHAR(25), PRIMARY KEY (p_id) );

11 SQL Tabelle anlegen Beispiel Patienten-Tabelle (Datenbank: Waldklinik) CREATE TABLE tbl_patient ( p_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, vorname VARCHAR(20), nachname VARCHAR(20), geburtsdatum DATE, geschlecht CHAR(1), strasse VARCHAR(20), hausnummer INT, plz INT, ort VARCHAR(25), ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

12 SQL Tabelle anlegen mit Foreign Key Beispiel: Kurs-Tabelle (Datenbank: vhs) CREATE TABLE tbl_kurs ( k_id int NOT NULL AUTO_INCREMENT PRIMARY KEY, kursbezeichnung VARCHAR(20), gebuehr DECIMAL(5,2), r_id int, FOREIGN KEY (r_id) REFERENCES tbl_raum(r_id) ) ENGINE = InnoDB;

13 SQL Tabelle anlegen mit Foreign Key Beispiel: Patient-Tabelle (Datenbank: Waldklinik) CREATE TABLE tbl_patient ( p_id int NOT NULL AUTO_INCREMENT PRIMARY KEY, vorname VARCHAR(20), nachname VARCHAR(20), geburtsdatum DATE, geschlecht CHAR(1), kk_id int, FOREIGN KEY (kk_id) REFERENCES tbl_krankenkasse(kk_id) ) ENGINE = InnoDB;

14 SQL Tabelle umbenennen RENAME TABLE name_alt TO name_neu; Beispiele: vhs: RENAME TABLE tbl_dozent TO tbl_vhsdozent; Waldklinik: RENAME TABLE tbl_patient TO tbl_klinikpatient;

15 SQL Neues Feld in eine Tabelle einfügen ALTER TABLE tabellenname ADD spaltenname datentyp; Beispiele: vhs: ALTER TABLE tbl_kurs ADD kurstag DATE; Waldklinik: ALTER TABLE tbl_patient ADD gewicht INT;

16 SQL Feld aus einer Tabelle löschen ALTER TABLE tabellenname DROP COLUMN spaltenname; Beispiele: vhs: ALTER TABLE tbl_kurs DROP COLUMN kurstag; Waldklinik: ALTER TABLE tbl_arzt DROP COLUMN gehalt;

17 SQL Feld umbenennen ALTER TABLE tabellenname CHANGE alt neu DATENTYP; Beispiele: vhs: ALTER TABLE tbl_kurs CHANGE kurstag tag DATE; Waldklinik: ALTER TABLE tbl_patient CHANGE hausnummer hs-nr DATE;

18 SQL Datentyp einer Spalte (Feld) ändern ALTER TABLE tabellenname MODIFY spaltenname DATENTYP; ALTER TABLE tabellenname CHANGE alt alt DATENTYP; ALTER TABLE tabellenname CHANGE alt neu DATENTYP;

19 SQL Datensatz einfügen INSERT INTO tabelle (spalte1, spalte2,, spalte n) VALUES ( wert 1', wert 2', ', wert n') INSERT INTO tabelle (spalte1, spalte2,, spalte n) VALUES ( ', wert 2', ', wert n') Beispiel (Datenbank: vhs) INSERT INTO tbl_dozent (d_id, vorname, nachname, ) VALUES (1, Paul, Meier, p.meier@vhs.de ) INTEGER-Werte werden nicht in Hochkommata geschrieben

20 SQL Datensatz einfügen INSERT INTO tabelle (spalte1, spalte2,, spalte n) VALUES ( wert 1', wert 2', ', wert n') INSERT INTO tabelle (spalte1, spalte2,, spalte n) VALUES ( ', wert 2', ', wert n') Beispiel (Datenbank: Waldklinik) INSERT INTO tbl_untersuchungsart (ua_id, untersuchungsart, kosten) VALUES (8, Magenspiegelung, ) INTEGER-Werte werden nicht in Hochkommata geschrieben

21 SQL Mehrere Datensätze einfügen INSERT INTO kunden (vorname, nachname, strasse, plz, ort) VALUES ('Heiner','Hübsch', 'Schöntal 23', '22222', 'Schönberg'), ('Sigi','Schlau', 'Fuchsweg 54', '77777', 'Schlaustadt')

22 SQL Datensatz aktualisieren UPDATE tabelle SET spalte_1 = wert_1, spalte_2 = wert_2,, Spalte_n = wert_n WHERE bedingung_1 AND Bedingung_2 ACHTUNG: Wenn keine Bedingung (Filter) gesetzt wird, erfolgt das Update auf alle Datensätze!!! STRING-Werte müssen in Anführungszeichen gesetzt werden

23 SQL Datensatz aktualisieren Aufgabe (Datenbank: vhs) Die Dozentin Birgit Klein (d_id = 6) hat ihren Dozenten-Kollegen Karl Krummig geheiratet. Sie hat seinen Nachnamen angenommen. Ihren Wohnsitz hat sie ebenfalls verlegt und wohnt bei Ihrem Ehemann. Ändern Sie den betreffenden Datensatz

24 SQL Datensatz aktualisieren Lösung (Datenbank: vhs) UPDATE tbl_dozent SET nachname = Krummig, strasse = Albert-Einstein-Straße, hausnummer = 89, plz = 89972, ort = neuberg WHERE d_id = 6

25 SQL Datensatz / Datensätze löschen DELETE FROM tabelle WHERE bedingung Übung (Datenbank: vhs) Löschen Sie alle Kurse, deren Gebühr weniger als 35 EUR beträgt

26 SQL Datensatz / Datensätze löschen DELETE FROM tabelle WHERE bedingung Lösung (Datenbank: vhs) DELETE FROM tbl_kurs WHERE gebuehr < 35.00

27 SQL Datensatz / Datensätze löschen DELETE FROM tabelle WHERE bedingung Übung (Datenbank: Waldklinik) Löschen Sie alle Untersuchungsarten, deren Kosten unter 600 EUR liegen.

28 SQL Datensatz / Datensätze löschen DELETE FROM tabelle WHERE bedingung Lösung (Datenbank: Waldklinik) DELETE FROM tbl_untersuchungsart WHERE kosten <

29 SQL - Übungen Führen Sie bitte folgende DB-Operationen unter Eingabe von SQL-Kommandos durch. 1. Legen Sie eine neue Datebank firma an 2. Erstellen Sie eine Tabelle für die Abteilungen mit den Feldern a_id (= Primärschlüssel), Bezeichnung (string) und Kostenstelle (numerisch) 3. Fügen Sie der Tabelle Abteilung ein neues Feld für die Anzahl der dort beschäftigten Mitarbeiter zu 4. Benennen Sie die Tabelle um in tbl_hauptabteilung 5. Ändern Sie den Namen der Spalte Kostenstelle in kst 6. Fügen Sie in die Tabelle den Eintrag für die Personalabteilung (18 Mitarbeiter) ein (ID = 1, Kostenstelle = 1211)

30 SQL Lösungen zu den Übungen Führen Sie bitte folgende DB-Operationen unter Eingabe von SQL-Kommandos durch. 1. CREATE DATABASE Firma 2. CREATE TABLE tbl_abteilung ( a_id INT NOT NULL AUTO_INCREMENT, bezeichnung VARCHAR(20), kostenstelle INT, PRIMARY KEY (a_id) ) 3. ALTER TABLE tbl_abteilung ADD mitarbeiter INT; 4. RENAME TABLE tbl_abteilung TO tbl_hauptabteilung; 5. ALTER TABLE tbl_hauptabteilung CHANGE kostenstelle kst INT;

31 SQL Lösungen zu den Übungen 1. CREATE DATABASE Firma 2. CREATE TABLE tbl_abteilung ( a_id INT NOT NULL AUTO_INCREMENT, bezeichnung VARCHAR(20), kostenstelle INT, PRIMARY KEY (a_id) ) 3. ALTER TABLE tbl_abteilung ADD mitarbeiter INT; 4. RENAME TABLE tbl_abteilung TO tbl_hauptabteilung; 5. ALTER TABLE tbl_hauptabteilung CHANGE kostenstelle kst INT; 6. INSERT INTO tbl_abteilung (a_id, bezeichnung, kst, mitarbeiter) VALUES ( 1, Personal, 1211, 18 )

32 Datenbankabfrage einfacher Select Mit dem Select -Befehl werden Suchanfragen über einzelne oder verknüpfte Tabellen gestellt. SELECT spalte FROM tabellenname; (Semikolon häufig als Abschluss) SELECT spalte1, spalte 2 FROM tabellenname; SELECT * FROM tabellenname; (* = Wildcard) Zusatz DISTINCT - selektiert unterschiedliche Elemente SELECT DISTINCT spalte FROM tabellenname;

33 Sollen nur Spaltenwerte ausgegeben werden, die eine bestimmte Bedingung erfüllen, kommt die WHERE-Klausel zum Einsatz Syntax SELECT-Befehl mit Bedingung: SELECT spalte FROM tabellenname WHERE bedingung; Beispiele: SELECT name FROM tbl_niederlassungen WHERE umsatz > ; SELECT name FROM tbl_mitarbeiter WHERE name = Meier ;

34 Bedingungen sind i.d. Regel Vergleiche where spalte = wert where spalte <> wert where spalte > wert where spalte < wert where spalte >= wert where spalte <= wert // prüft Gleichheit // prüft Un-Gleichheit // größer als // kleiner als // größer gleich // kleiner gleich

35 Mit dem ORDER BY Befehl lässt sich das Suchergebnis sortiert ausgeben SELECT spalte1, spalte2 FROM tabelle WHERE spalte = bedingung ORDER BY spalte1 [ASC, DESC]; ASC = Ascending (= aufsteigend) DESC = Descending (=absteigend) default

36 Weitere Bedingungen Bereich abfragen: between spalte BETWEEN wert1 AND wert2; Suche mit Wildcard: spalte LIKE wert; wert darf dabei Wildcard-Zeichen enthalten % ersetzt beliebig viele Zeichen _ ersetzt ein Zeichen Beispiel: SELECT * FROM tbl_mitarbeiter WHERE name LIKE Schmi%

37 Mit dem ORDER BY Befehl lässt sich das Suchergebnis sortiert ausgeben Ausgabe nach mehreren Spalten sortiert SELECT spalte1, spalte2 FROM tabelle WHERE spalte = bedingung ORDER BY spalte1 [ASC, DESC], spalte2 [ASC, DESC];

38 Mehrere Bedingungen LOGISCH miteinander verknüpfen Operatoren: Achtung: NOT AND OR Die Reihenfolge entscheidet über die Priorisierung. Wie in der Mathematik können Klammern die gegebene Priorisierung beeinflussen SELECT spalte1, spalte2 FROM tabelle WHERE (spalte a = bedingung) AND (spalte b = bedingung OR splate c = bedingung)

39 Funktionen im SELECT-Befehl Funktionen: select funktion (spalte) from tabelle; Beispiel: select sum(umsatz) from aussendienst; Summiert die Spalte umsatz auf

40 Funktionen im SELECT-Befehl Die Funktionen im Überblick SUM Summe MIN kleinster Wert (Minimum) MAX größter Wert (Maximum) AVG Durchschnittswert (Average) COUNT Anzahl Zeilen (=Datensätze) in einer Tabelle

41 Funktionen im SELECT-Befehl Beispiel einer SQL-Abfrage (Datenbank: vhs) SELECT COUNT(gebuehr) AS "Anzahl Kurse", SUM(gebuehr) AS "Gesamtgebuehr aller Kurse", MIN(gebuehr) AS "Preiswertester Kurs", MAX(gebuehr) AS "Teuerster Kurs", AVG(gebuehr) AS "Durchschnittliche Kursgebuehr" FROM tbl_kurs; [spalte AS "spaltenalias"] : Ein Spaltenalias erscheint im Ergebnis und ersetzt den ursprünglichen Spaltennamen

42 Der IN -Operator in SELECT-Abfragen Der IN-Operator erlaubt es, innerhalb einer WHERE-Klausel mehrere Werte aufzulisten. SELECT spaltenname FROM tabellenname WHERE spaltenname IN (wert1, wert2,, wertn);

43 Aliase für Spalten und Tabellen für mehr Übersicht Spalten-Alias SELECT spalte AS String FROM tabelle WHERE spalte = wert Tabellen-Alias SELECT tabelle1.spalte_a, tabelle1.spalte_b FROM tabelle1 WHERE spalte_c = wert Vor allem bei SQL-Abfragen über mehrere Tabellen werden auf diese Weise gleiche Spaltenbezeichnungen eindeutig zugeordnet.

44 Übungen zum SELECT-Befehl SQLTutorial/main.php?uebung=1

45 Datenbankabfrage über zwei Tabellen Im Zuge der Normalisierung wurden sachlich zusammenhängende Informationen auf mehrere Tabellen verteilt. Die Tabellen stehen allerdings durch das Mitführen von Fremdschlüsseln bzw. Beziehungstabellen (insbesondere bei m:n Relationen) in einer direkten Beziehung zueinander. Das wesentliche Ziel von SQL-Abfragen über mehrere Tabellen liegt darin, die verteilten Informationen nach logischen Kriterien zusammenzuführen.

46 Datenbankabfrage über zwei Tabellen Bei Suchabfragen über zwei (oder mehrere) Tabellen werden Datensätze (Records, Tupel) aus verschiedenen Tabellen zu einem logisch zusammenhängenden Datensatz verknüpft. Werden in einer Abfrage mehrere Tabellen referenziert bzw. Kommt eine Tabelle häufiger darin vor, ist es wichtig, die in der Abfrage enthaltenen Spalten (=Felder) eindeutig der jeweiligen Tabelle zuzuordnen.

47 Datenbankabfrage über zwei Tabellen Beispiel: vhs-datenbank Die Bezeichnung der Kurse mit dem Namen des Raumes, und der Anzahl der Plätze, in dem der Kurs stattfindet. tbl_kurs k_id kursbezeichnung r_id (FK) tbl_raum r_id (PK) name plaetze

48 Datenbankabfrage über zwei Tabellen vhs-datenbank: SELECT tbl_kurs.kursbezeichnung, tbl_raum.name AS Raum, tbl_raum.plaetze AS Anzahl Plätze FROM tbl_kurs, tbl_raum Wie sieht das Ergebnis aus? Was passiert? Warum?

49 Datenbankabfrage über mehrere Tabellen (vhs-datenbank) Wie sieht das Ergebnis aus? Die vorherige Abfrage lieferte Treffer Was ist passiert? Jeder der 60 Kurse wurde jedem der 30 Räume zugeordnet (60 x 30 = 1.800) Warum? Es wurden lediglich die Felder der beiden Tabellen ausgelesen. Die Zuordnung der Räume zu den Kursen fehlt.

50 Datenbankabfrage über zwei Tabellen (vhs-datenbank) Lösung SELECT tbl_kurs.kursbezeichnung, tbl_raum.name AS Raum, tbl_raum.plaetze AS Anzahl Plätze FROM tbl_kurs, tbl_raum WHERE tbl_kurs.r_id = tbl_raum.r_id

51 Datenbankabfrage über zwei Tabellen Beispiel: Waldklinik-Datenbank Die Namen der Patienten mit dem Namen und dem Ort der Krankenkasse, bei der ein Patient versichert ist. tbl_patient p_id (PK) vorname nachname kk_id (FK) tbl_krankenkasse kk_id (PK) krankenkasse strasse

52 Datenbankabfrage über zwei Tabellen (Waldklinik-Datenbank) SELECT tbl_patient.vorname, tbl_patient.nachname, tbl_krankenkasse.krankenkasse, tbl_krankenkasse.ort FROM tbl_patient, tbl_krankenkasse Wie sieht das Ergebnis aus? Was passiert? Warum? [gespeichert als abfrage_01]

53 Datenbankabfrage über mehrere Tabellen (Waldklinik-Datenbank) Wie sieht das Ergebnis aus? Die vorherige Abfrage lieferte 315 Treffer Was ist passiert? Jeder der 45 Patienten wurde jeder der 7 Krankenkassen zugeordnet (45 x 7 = 315) Warum? Es wurden lediglich die Felder der beiden Tabellen ausgelesen. Die Zuordnung der Patienten zu den Krankenkassen fehlt.

54 Datenbankabfrage über zwei Tabellen (Waldklinik-Datenbank) Lösung (Datenbank: Waldklinik) SELECT tbl_patient.vorname, tbl_patient.nachname, tbl_krankenkasse.krankenkasse, tbl_krankenkasse.ort FROM tbl_patient, tbl_krankenkasse WHERE tbl_patient.kk_id = tbl_krankenkasse.kk_id

55 Datenbankabfrage über zwei Tabellen Alternative Form des Tabellen-Alias Lösung (Datenbank: Waldklinik) SELECT p.vorname, p.nachname, k.krankenkasse, k.ort FROM tbl_patient p, tbl_krankenkasse k WHERE p.kk_id = k.kk_id

56 Datenbankabfrage über zwei Tabellen Datenbank: vhs Aufgabe: Die Bezeichnung aller Kurse des Fachbereichs Sprachen mit dem Namen des Raumes, und der Anzahl der Plätze, in dem der Kurs stattfindet.

57 Datenbankabfrage über zwei Tabellen Datenbank: vhs Lösung SELECT tbl_kurs.kursbezeichnung, tbl_raum.name AS Raum, tbl_raum.plaetze AS Anzahl Plätze FROM tbl_kurs, tbl_raum, tbl_fachbereich WHERE tbl_kurs.r_id = tbl_raum.r_id AND tbl_kurs.fb_id = tbl_fachbereich.fb_id AND tbl_fachbereich.fb_id = 3

58 Datenbankabfrage über zwei Tabellen Generell gilt SELECT feldliste FROM tabellenliste WHERE verknüpfung ACHTUNG: Die WHERE-Klausel enthält sowohl Verknüpfungen (Joins) als auch Filter-Optionen für die Ergebnismenge. Innerhalb der WHERE-Klausel kann es deshalb manchmal verwirrend zugehen

59 Datenbankabfrage über zwei Tabellen Alternativer Ansatz mit dem Schlüsselwort JOIN Datenbank: vhs Lösung SELECT tbl_kurs.kursbezeichnung, tbl_raum.name AS Raum, tbl_raum.plaetze AS Anzahl Plätze FROM tbl_kurs INNER* JOIN tbl_raum ON tbl_kurs.r_id = tbl_raum.r_id * Das Wort INNER kann u.u. weggelassen werden

60 Datenbankabfrage über zwei Tabellen Alternativer Ansatz mit dem Schlüsselwort JOIN Datenbank: Waldklinik Lösung SELECT tbl_patient.vorname, tbl_patient.nachname, tbl_krankenkasse.krankenkasse, tbl_krankenkasse.ort FROM tbl_patient INNER* JOIN tbl_krankenkasse ON tbl_patient.kk_id = tbl_krankenkasse.kk_id * Das Wort INNER kann u.u. weggelassen werden

61 Datenbankabfrage über zwei Tabellen INNER JOIN Der INNER JOIN sucht zu jedem Datensatz der einen Tabelle genau die dazugehörigen Datensätze der anderen Tabelle(n). In der Literatur wird der INNER JOIN auch EQUI-JOIN genannt.

62 Datenbankabfrage über zwei Tabellen (Datenbank: vhs) Ein Tabellen-Alias erleichtert die Arbeit - vor allem bei komplexen Abfragen ==================================================== SELECT k.kursbezeichnung, r.name AS Raum, r.plaetze AS Anzahl Plätze FROM tbl_kurs k INNER JOIN tbl_raum r ON k.r_id = r.r_id ==================================================== Zur Definition wird der Alias dem Namen der verwendeten Tabelle angefügt. Ein Alias sollte einfach und (möglichst) eindeutig sein.

63 Datenbankabfrage über mehrere Tabellen Datenbank: vhs Aufgabe Die Bezeichnung aller Kurse des Fachbereichs Sprachen mit dem Namen des Raumes, und der Anzahl der Plätze, in dem der Kurs stattfindet. Dazu sollen noch der Vorname und Nachname des Dozenten ausgegeben werden.

64 Datenbankabfrage über mehrere Tabellen Datenbank: vhs Lösung SELECT k.kursbezeichnung, r.name AS Raum, r.plaetze AS Anzahl Plätze, d.vorname, d.nachname FROM tbl_kurs k, tbl_raum r, tbl_dozent d WHERE (k.r_id = r.r_id) AND (k.d_id = d.d_id)

65 Der IN -Operator in SELECT-Abfragen Datenbank: vhs Übung Suchen Sie alle Kursräume der Volkshochschule, die entweder 10, 12 oder 16 Teilnehmerplätze haben. Das Ergebnis soll den Namen des jeweiligen Raumes und die Anzahl der Plätze beinhalten. Das Suchergebnis soll zunächst nach der Anzahl der Plätze, dann nach dem Raumnamen jeweils aufsteigend sortiert ausgegeben werden. Gibt es mehrere (richtige) Lösungen? Wenn ja, welche?

66 Der IN -Operator in SELECT-Abfragen Datenbank: vhs Lösung SELECT name, plaetze FROM tbl_raum WHERE plaetze IN (10, 12, 16) ORDER BY plaetze, name ASC

67 Der IN -Operator in SELECT-Abfragen Datenbank: vhs und die alternative Lösung SELECT name, plaetze FROM tbl_raum WHERE (plaetze = 10) OR (plaetze = 12) OR (plaetze = 16) ORDER BY plaetze, name ASC Welche Lösung gefällt Ihnen besser?

68 Ergebnisse aus SELECT-Abfragen gruppieren GROUP BY Datenbank: vhs Beispiel Wir wollen für jeden Fachbereich (fb_id) die durchschnittliche Kursgebühr aller in dem Fachbereich angebotenen Kurse ermitteln.

69 Ergebnisse aus SELECT-Abfragen gruppieren GROUP BY Beispiel Wir wollen für jede Krankenkasse (kk_id) die durchschnittliche Kursgebühr aller in dem Fachbereich angebotenen Kurse.

70 Ergebnisse aus SELECT-Abfragen gruppieren GROUP BY Datenbank: vhs Lösung SELECT fb_id, AVG(gebuehr) AS "Durchschnittliche Kursgebuehr" FROM tbl_kurs GROUP BY fb_id Und wenn wir jetzt noch den Namen des Fachbereichs (statt der ID) ausgeben wollen?

71 Ergebnisse aus SELECT-Abfragen gruppieren GROUP BY Datenbank: vhs Lösung dann müssen wir die beiden Tabellen Kurse und Fachbereiche in einer SQL-Abfrage verknüpfen (Join) SELECT tbl_fachbereich.bezeichnung AS "Fachbereich", AVG(tbl_kurs.gebuehr) AS "Durchschnittliche Kursgebuehr" FROM tbl_kurs, tbl_fachbereich WHERE tbl_kurs.fb_id = tbl_fachbereich.fb_id GROUP BY tbl_fachbereich.fb_id

72 Ergebnisse aus SELECT-Abfragen gruppieren und einschränken GROUP BY + HAVING Datenbank: vhs Aufgabe Wie zuvor, aber es sollen nur die Fachbereiche ausgegeben werden, deren durchschnittliche Kursgebühr mehr als 50 EUR beträgt. ACHTUNG: Die Einschränkung über die WHERE-Klausel funktioniert hier nicht, weil in der WHERE-Klausel keine Aggregatsfunktionen (SUM, ABG, MIN, ) erlaubt sind Syntax: GROUP BY HAVING ;

73 Ergebnisse aus SELECT-Abfragen gruppieren und einschränken GROUP BY + HAVING Datenbank: vhs Lösung SELECT tbl_fachbereich.bezeichnung AS "Fachbereich", AVG(tbl_kurs.gebuehr) AS "Durchschnittliche Kursgebuehr" FROM tbl_kurs, tbl_fachbereich WHERE tbl_kurs.fb_id = tbl_fachbereich.fb_id GROUP BY tbl_fachbereich.fb_id HAVING AVG(tbl_kurs.gebuehr) > 50

74 Rechnen mit Datumsangaben Datumswerte ausgeben CURDATE() CURTIME() NOW() liefert das aktuelle Datum liefert die aktuelle Uhrzeit liefert das aktuelle Datum mit Uhrzeit Beispiel SELECT CURDATE()

75 Rechnen mit Datumsangaben Datumswerte ausgeben DAYOFMONTH() extrahiert aus einem Datumswert den Tag MONTH() extrahiert aus einem Datumswert den Monat YEAR() extrahiert aus einem Datumswert das Jahr Beispiel SELECT MONTH(u.u_datum) AS Untersuchungsmonat, u.u_datum FROM tbl_untersuchung u

76 Rechnen mit Datumsangaben Berechnungen durchführen DATE_SUB() DATE_ADD() SUBtrahiert einen Zeitraum von einem Datum ADDiert einen Zeitraum zu einem Datum Beispiel SELECT FROM WHERE datum1 < DATE_SUB(CURDATE(), INTERVAL 6 wert) Als wert möglich: DAY oder MONTH oder YEAR

77 Subquerys Subselects (= Unterabfragen) Datenbank: vhs Subquerys sind SELECT-Statements, die innerhalb eines SQL- Statements wie einer SELECT-Anweisung oder einem INSERT oder einem UPDATE-Befehl (z.b. innerhalb der WHERE-Klausel) als eingeschobene Unterabfrage ausgeführt werden. Ziel ist es, mit dem Subquery einen für die Anfrage relevanten Wert während der Abfrage zu ermitteln. Aufgabe ( Geben Sie den günstigsten (billigsten) Kurs mit seinem dazugehörigen Namen aus.

78 Subquerys (= Unterabfragen) Datenbank: vhs Die naheliegende (aber leider auch falsche) Lösung SELECT kursbezeichnung, MIN(gebuehr) FROM tbl_kurs führt zu welchem Ergebnis und warum?

79 Subquerys (= Unterabfragen) Datenbank: vhs Die richtige Lösung SELECT kursbezeichnung, gebuehr FROM tbl_kurs WHERE gebuehr = (SELECT MIN(gebuehr) FROM tbl_kurs) Merke: Subquerys sind nicht auf die WHERE-Klausel beschränkt, sondern dürfen auch in der Auswahl der anzuzeigenden Spalten verwendet werden

80 Subquerys (= Unterabfragen) Datenbank: Waldklinik Subquerys sind SELECT-Statements, die innerhalb eines SQL- Statements wie einer SELECT-Anweisung oder einem INSERT oder einem UPDATE-Befehl (z.b. innerhalb der WHERE-Klausel) als eingeschobene Unterabfrage ausgeführt werden. Ziel ist es, mit dem Subquery einen für die Anfrage relevanten Wert während der Abfrage zu ermitteln. Aufgabe Geben Sie den Namen und Vornamen des Arztes mit dem niedrigsten Gehalt aus.

81 Subquerys (= Unterabfragen) Datenbank: Waldklinik Die naheliegende (aber leider auch falsche) Lösung SELECT vorname, nachname, MIN(gehalt) FROM tbl_arzt führt zu welchem Ergebnis und warum?

82 Subquerys (= Unterabfragen) Die richtige Lösung SELECT vorname, nachname, gehalt FROM tbl_arzt WHERE gehalt = (SELECT MIN(gehalt) FROM tbl_arzt) Merke: Subquerys sind nicht auf die WHERE-Klausel beschränkt, sondern dürfen auch in der Auswahl der anzuzeigenden Spalten verwendet werden

83 Subquerys (= Unterabfragen) Datenbank: vhs Knacken Sie eine harte Nuss Lassen Sie sich NUR die ID, den Vornamen und den Nachnamen des Teilnehmers ausgeben, der unserer vhs die höchste Summe an Kursgebühren beschert. Der Betrag, den die vhs mit diesem Teilnehmer verdient, soll ebenfalls ausgegeben werden.

84 Subquerys (= Unterabfragen) Datenbank: vhs Die richtige Lösung SELECT t.t_id, t.vorname, t.nachname, (SELECT SUM(k.gebuehr)) AS "Gesamtgebühr" FROM tbl_teilnehmer t, tbl_kurs k, tbl_teilnehmer_2_kurs t2k WHERE t.t_id = t2k.t_id AND k.k_id = t2k.k_id GROUP BY t.t_id ORDER BY Gesamtgebühr DESC LIMIT 1

85 Subquerys (= Unterabfragen) Datenbank: vhs Und noch eine harte Nuss hinterher Lassen Sie sich alle Kurse ausgeben, für die es noch freie Teilnehmerplätze gibt. Zur Kurs-ID, der Kurs-Nr., dem Kursnamen sollen auch die Anzahl der aktuellen Buchungen (zum Kurs) und die maximale Teilnehmerzahl des Kurses ausgegeben werden.

86 Subquerys (= Unterabfragen) Datenbank: vhs Lösung SELECT k.k_id AS "Kurs ID", k.kursnummer AS "Kurs-Nr.", k.kursbezeichnung AS Kurs, k.tnmax "Maximale Teilnehmerzahl", (SELECT COUNT(t2k.k_id) FROM tbl_teilnehmer_2_kurs t2k WHERE k.k_id = t2k.k_id GROUP BY t2k.k_id) AS Anmeldungen FROM tbl_kurs k WHERE (SELECT COUNT(t2k.k_id) FROM tbl_teilnehmer_2_kurs t2k WHERE k.k_id = t2k.k_id GROUP BY t2k.k_id) < k.tnmax ORDER BY k.tnmax DESC, Anmeldungen DESC

87 Subquerys (= Unterabfragen) Datenbank: Waldklinik Knacken Sie eine harte Nuss Lassen Sie sich die ID, den Vornamen und den Nachnamen sowie den Namen der Krankenkasse ausgeben des Patienten ausgeben, der mit seinen Untersuchungen der Waldklinik die höchsten Einnahmen beschert hat. Der Betrag, den die Krankenkasse für die Untersuchungen für diesen Patienten bezahlen muss, soll ebenfalls ausgegeben werden.

88 Subquerys (= Unterabfragen) Datenbank: Waldklinik Die richtige Lösung SELECT p.p_id, p.vorname, p.nachname, k.krankenkasse, (SELECT SUM(ua.kosten)) AS "Gesamtkosten" FROM tbl_patient p, tbl_krankenkasse k, tbl_untersuchungsart ua, tbl_untersuchung u WHERE p.kk_id = k.kk_id AND ua.ua_id = u.ua_id AND u.p_id = p.p_id GROUP BY p.p_id ORDER BY Gesamtkosten DESC

89 Outer Join Datenbank: vhs Aufgabe: Lassen Sie alle Kursnummern und Kursbezeichnung mit dem dazugehörigen Dozenten (Vor- und Nachnamen) nach der Dozenten-ID aufsteigend ausgeben. Das Ergebnis soll so aussehen: Dozent Vorname Dozent Nachname Kurs-Nr. Kurs

90 Outer Join Datenbank: vhs Lösung: SELECT d.vorname AS "Dozent Vorname", d.nachname AS "Dozent Nachname", k.kursnummer AS "Kurs-Nr.", k.kursbezeichnung AS "Kurs" FROM tbl_dozent d, tbl_kurs k WHERE d.d_id = k.d_id ORDER BY d.d_id Was fällt Ihnen beim Ergebnis auf? Kleiner Tipp schauen Sie sich mal die Dozenten-ID an

91 Outer Join Datenbank: vhs Was fällt Ihnen beim Ergebnis auf? Es werden nur diejenigen Dozenten ausgegeben, die einen Kurs anbieten. Das liegt am INNER JOIN, der jedem Datensatz der einen Tabelle NUR die dazugehörenden Datensätze der anderen Tabelle zuordnet. Wenn ein Dozent aber keinen Kurs gibt, existiert in der Tabelle tbl_kurs zur entsprechenden Dozenten-ID kein passender Kurs. Lösung: Left Right Outer JOIN

92 Outer Join Kennzeichen des LEFT OUTER JOINs Beim LEFT OUTER JOIN werden alle Datensätze der linken Tabelle (= zuerst genannten) ausgegeben und soweit vorhanden mit den dazugehörigen Datensätzen der rechten Tabelle (ON) verknüpft. SELECT d.vorname AS "Dozent Vorname", d.nachname AS "Dozent Nachname", k.kursnummer AS "Kurs-Nr.", k.kursbezeichnung AS "Kurs" FROM tbl_dozent d LEFT OUTER JOIN tbl_kurs k ON d.d_id = k.d_id ORDER BY d.d_id linke Tabelle: tbl_dozent rechte Tabelle: tbl_kurs

93 Outer Join Übung Lassen Sie sich alle Kurse (Kursnummer, Kursbezeichnung) mit dem dazugehörigen Raum (Raumname) und die Anzahl der darin verfügbaren Plätze ausgeben. Es sollen auch die Kurse angezeigt werden, denen kein Raum zugewiesen wurde. Das Ergebnis soll nach der Kursnummer aufsteigend sortiert ausgegeben werden.

94 Outer Join Lösung SELECT k.kursnummer AS "Kurs-Nr.", k.kursbezeichnung AS "Kurs", r.name AS "Raum", r.plaetze AS "Anzahl Plätze FROM tbl_kurs k LEFT OUTER JOIN tbl_raum r ON k.r_id = r.r_id ORDER BY k.kursnummer

95 Outer Join Logisch oder? und wo es einen LEFT OUTER JOIN gibt, da vermutet man auch einen Richtig: RIGHT OUTER JOIN Kennzeichen des RIGHT OUTER JOINs Beim RIGHT OUTER JOIN werden alle Datensätze der rechten Tabelle (= zweit genannte - ON) ausgegeben und soweit vorhanden mit den dazugehörigen Datensätzen der linken Tabelle verknüpft.

96 Outer Join Datenbank: vhs Übung Lassen Sie sich mit einem RIGHT OUTER JOIN alle Räume (Raumnummer, Raumnamen) und die dazugehörigen Kurse (Kursnummer, Kursbezeichnung) ausgeben. Es sollen auch die Räume angezeigt werden, denen kein Kurs zugewiesen wurde. Das Ergebnis soll nach dem Raumnamen aufsteigend sortiert ausgegeben werden.

97 Outer Join Datenbank: vhs Lösung SELECT r.name AS "Raum", r.plaetze AS "Anzahl Plätze", k.kursbezeichnung AS "Kurs", r.name AS "Raum" FROM tbl_kurs k RIGHT OUTER JOIN tbl_raum r ON k.r_id = r.r_id ORDER BY r.name

98 Rechnen mit SQL Mit SQL lässt sich auch (in begrenztem Umfang) rechnen. Teilen: / Multiplizieren: *

99 Rechnen mit SQL Datenbank: vhs Mal was zum Nachdenken Geben Sie alle Kurs mit den dazugehörigen Gebühren Alte Gebühr ) aus. Zusätzlich soll in einer weiteren Spalte ( Neuer Gebühr ) eine um 10% Prozent erhöhte Kursgebühr zu jedem Kurs ausgegeben werden.

100 Rechnen mit SQL Datenbank: vhs Lösung SELECT k.kursbezeichnung, k.gebuehr AS "Alter Preis", k.gebuehr * 1.10 AS "Neuer Preis" FROM tbl_kurs k

101 Rechnen mit SQL Datenbank: Waldklinik Mal was zum Nachdenken Erhöhen Sie allen Ärzten, die weniger als EUR verdienen das Gehalt um 10% (kein UPDATE). Lassen Sie lediglich den Namen des Arztes, sein altes sowie sein neues, erhöhtes Gehalt ausgeben.

102 Rechnen mit SQL Datenbank: Waldklinik Lösung SELECT a.vorname, a.nachname, a.gehalt AS altes Gehalt", k.gehalt * 1.10 AS neues Gehalt" FROM tbl_arzt a

103 Rechnen mit SQL Datenbank: vhs Übung Lassen Sie sich alle Kurse ausgeben, die mindestens zur Hälfte ausgebucht sind. Folgende Felder sollen angezeigt werden: Kurs ID, Kursnummer, Kursbezeichnung, maximale Teilnehmerzahl und bereits erfolgte Buchungen (absoluter Wert)

104 Rechnen in SQL Datenbank: vhs Lösung SELECT k.k_id AS "Kurs ID", k.kursnummer AS "Kurs-Nr.", k.kursbezeichnung AS Kurs, k.tnmax "Maximale Teilnehmerzahl", (SELECT COUNT(t2k.k_id) FROM tbl_teilnehmer_2_kurs t2k WHERE k.k_id = t2k.k_id GROUP BY t2k.k_id) AS Anmeldungen FROM tbl_kurs k WHERE (SELECT COUNT(t2k.k_id) FROM tbl_teilnehmer_2_kurs t2k WHERE k.k_id = t2k.k_id GROUP BY t2k.k_id) >= k.tnmax / 2 ORDER BY k.tnmax DESC, Anmeldungen DESC

105 Datenbanken / SQL Wichtige Begriffe STORED PROCEDURE Ein Unterprogramm, das Parameter entgegennehmen und Ergebnisse zurückgeben kann. Vergleichbar mit einer Prozedur/Funktion in der klassischen Programmierung. Mit STORED PROCEDURES werden bestimmte Aufgaben gelöst (vgl. mit einer Makro- oder Skriptsprache) ACHTUNG: Nicht jedes RDBMS kennt STORED PROCEDURES Eine STORED PROCEDURE beginnt mit dem Befehl CREATE PROCEDURE name_der_prozedur

106 Datenbanken / SQL Wichtige Begriffe TRIGGER Ein TRIGGER ist ebenfalls eine Prozedur, die aber nicht vom Anwender, sondern vom DB-System gestartet wird. TRIGGER werden i.d. Regel aufgerufen, wenn Datensätze eingefügt, gelöscht oder geändert werden. So können parallel zu den o.g. Ereignissen zusätzliche Operationen ausführen. Ein TRIGGER beginnt mit dem Befehl CREATE TRIGGER name_des_triggers

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

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

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

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

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

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

Übersicht der wichtigsten MySQL-Befehle

Ü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

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

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

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 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

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

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

MySQL: Einfaches Rechnen. www.informatikzentrale.de

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

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

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

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL 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

Mehr

Datenbanken Microsoft Access 2010

Datenbanken Microsoft Access 2010 Datenbanken Microsoft Access 2010 Abfragen Mithilfe von Abfragen kann ich bestimmte Informationen aus einer/mehrerer Tabellen auswählen und nur diese anzeigen lassen die Daten einer/mehrerer Tabellen sortieren

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

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

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 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

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

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

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

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

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5. Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.1 im Internet: www.datenbanken-programmierung.de... 3.0 SQL nach

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

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

Mehr

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

Sructred Query Language

Sructred 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

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

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

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung 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

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

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

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen:

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen: FRAGEBOGEN-AUFGABE Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen: Ein Fragebogen besteht aus mehreren Fragen, eine Frage kann in mehreren Fragebögen

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine 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

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

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

SQL und MySQL. Kristian Köhntopp

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

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

Abfrage-Befehle in MySQL -diverse Funktionen -

Abfrage-Befehle in MySQL -diverse Funktionen - Abfrage-Befehle in MySQL -diverse Funktionen - Berechnungen mit MySQL -Einführung Ich liebe Funktionen! Es sollen die Projektbezeichnung, der Auftragswert, die Mehrwertsteuer und der Bruttobetrag für jedes

Mehr

8 Access-Abfragen migrieren

8 Access-Abfragen migrieren Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 8 Access-Abfragen migrieren Mit der Migration der Tabellen Ihrer Anwendung zu einer SQL Server-Datenbank und dem Verknüpfen der SQL Server-Tabellen

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische 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

Mehr

Erstellen einer Datenbank. Datenbankabfragen

Erstellen einer Datenbank. Datenbankabfragen Erstellen einer Datenbank Datenbankabfragen Überblick Die fünf Stationen Semantisches Modell Logisches Modell Prüfung auf Redundanz Abfragen Softwaremäßige Implementierung Zur Erinnerung: Semantisches

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

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

MS Access 2010 Kompakt

MS Access 2010 Kompakt 2 ABFRAGEN Eine Abfrage ist im Wesentlichen der Filterung eines Datenbestandes sehr ähnlich. Auch hier werden aus einer Menge von Informationen nur jene Datensätze ausgewählt, die einem vorher definierten

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

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

Mehr

TABELLEN IN DER ENTWURFSANSICHT...

TABELLEN IN DER ENTWURFSANSICHT... Inhalt 1 1. TABELLEN... 2 1.1 TABELLEN ERSTELLEN UND BEARBEITEN... 2 1.2 FILTERN UND SORTIEREN... 2 2. TABELLEN IN DER ENTWURFSANSICHT... 3 2.1 GRUNDLEGENDE EIGENSCHAFTEN... 3 2.2 ERWEITERTE EIGENSCHAFTEN...

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

Anleitung zum LPI ATP Portal www.lpi-training.eu

Anleitung zum LPI ATP Portal www.lpi-training.eu Anleitung zum LPI ATP Portal www.lpi-training.eu Version 1.0 vom 01.09.2013 Beschreibung des Anmeldevorgangs und Erklärung der einzelnen Menüpunkte. Anmeldevorgang: 1. Gehen Sie auf die Seite http://www.lpi-training.eu/.

Mehr

Webalizer HOWTO. Stand: 18.06.2012

Webalizer HOWTO. Stand: 18.06.2012 Webalizer HOWTO Stand: 18.06.2012 Copyright 2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können z.t. eingetragene Warenzeichen sein, ohne

Mehr

MIN oder MAX Bildung per B*Tree Index Hint

MIN 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

Kompaktes Datenbank-Wissen rund um die Datenbank-Programmierung mit Transact-SQL

Kompaktes Datenbank-Wissen rund um die Datenbank-Programmierung mit Transact-SQL UnternehmensDatenbanken im Netzwerk Teil 3: SQL Programmierung - Grundlagen SQL-Befehle Funktionen Operatoren Datentypen Datenbank erstellen Tabellen SQL-Abfragen Autor: Rainer Egewardt Copyright Kompaktes

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

Mehr

SQL-Injection. Seite 1 / 16

SQL-Injection. Seite 1 / 16 SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection

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

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

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

07. Kapitel: Abfragen erstellen Geschätzter Zeitaufwand: 45 Minuten

07. Kapitel: Abfragen erstellen Geschätzter Zeitaufwand: 45 Minuten 07. Kapitel: Abfragen erstellen Geschätzter Zeitaufwand: 45 Minuten Schwierigkeitsgrad: Ziel: Mit einer Abfrage führen Sie die Daten aus dem Kontaktformular und den Anfrage-Arten zusammen. Diese exportieren

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

Viele Bilder auf der FA-Homepage

Viele Bilder auf der FA-Homepage Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet

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

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

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

7. Übung - Datenbanken

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

Mehr

M@school Software- und Druckerzuweisung Selbstlernmaterialien

M@school Software- und Druckerzuweisung Selbstlernmaterialien Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit

Mehr

Praktikum Datenbanken. 1. Erstellen Sie eine Abfrage, die die gesamte Tabelle PC ausgibt

Praktikum Datenbanken. 1. Erstellen Sie eine Abfrage, die die gesamte Tabelle PC ausgibt 1. Erstellen Sie eine Abfrage, die die gesamte Tabelle ausgibt * 2. Reduzieren Sie die Abfrage so, dass nur die Marke, die Art und der Preis angezeigt werden marke, art, preis Malte Wattenberg Datenbanken

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Kontakte Kontakte Seite 1 Kontakte Seite 2 Inhaltsverzeichnis 1. ALLGEMEINE INFORMATIONEN ZU DEN KONTAKTEN 4 2. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 3. STAMMDATEN FÜR DIE KONTAKTE 4 4. ARBEITEN

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Schnelleinstieg. Datenimport für die EXPOSÉ - Familie. Import von Adress / Objektdaten aus MS Excel. = Datenintegration aus anderen Lösungen

Schnelleinstieg. Datenimport für die EXPOSÉ - Familie. Import von Adress / Objektdaten aus MS Excel. = Datenintegration aus anderen Lösungen Schnelleinstieg Datenimport für die EXPOSÉ - Familie Import von Adress / Objektdaten aus MS Excel = Datenintegration aus anderen Lösungen node Systemlösungen e.k. Kantstr. 149 10623 Berlin Tel: +49 30

Mehr

Abfragen (Queries, Subqueries)

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

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

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

P&P Software - Adressexport an Outlook 05/29/16 14:44:26 Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können

Mehr

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Bedienungsanleitung Anlassteilnehmer (Vereinslisten) Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

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

Mehr

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5 Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5 Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Hinweise Der Aufgabensatz

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü. Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank

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

SQL: statische Integrität

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

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

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

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

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12 Aufgabenstellung: Prof. Dr. Inge Schestag zugelassene Hilfsmittel: 1 beidseitig bedrucktes oder beschriebenes A4-Blatt Bearbeitungszeit: 90 Minuten Note: Name: Matrikelnr. Aufgabe 1 Aufgabe 2 Aufgabe 3

Mehr

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

(Von der Nähe zur Distanz zum User geordnet)

(Von der Nähe zur Distanz zum User geordnet) Datebanken Was ist eigentlich eine Datenbank? Datenbanken, Datenhaltungsschicht und Datenbankensysteme (hier als Synonyme zu verstehen) finden viele unterschiedliche Anwendungsbereiche. Datenbanken kann

Mehr

Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung

Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht

Mehr

Aufgaben zu XPath und XQuery

Aufgaben zu XPath und XQuery Aufgaben zu XPath und XQuery Dr. Arno Schmidhauser Letzte Revision: März 2005 Email: arno.schmidhauser@sws.bfh.ch Webseite: http://www.sws.bfh.ch/db Inhalt 1 XPath... 2 2 XQuery... 2 3 XPath/SQL Umsetzung...

Mehr

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3 Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer Inhalt Erste Anmeldung. Schritt 1: Anmeldung..2 Schritt 2: Passwort setzen 3 Schritt 3: Nachträgliches Ändern des Passworts..4 Schreiben

Mehr

Warum Sie jetzt kein Onlinemarketing brauchen! Ab wann ist Onlinemarketing. So finden Sie heraus, wann Ihre Website bereit ist optimiert zu werden

Warum Sie jetzt kein Onlinemarketing brauchen! Ab wann ist Onlinemarketing. So finden Sie heraus, wann Ihre Website bereit ist optimiert zu werden CoachingBrief 02/2016 Warum Sie jetzt kein Onlinemarketing brauchen! Eine Frage gleich zu Anfang: Wie viele Mails haben Sie in dieser Woche erhalten, in denen behauptet wurde: Inhalt Ihre Webseite sei

Mehr