Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II.

Ähnliche Präsentationen


Präsentation zum Thema: "Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II."—  Präsentation transkript:

1 Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II

2 Wirtschaftsinformatik SQL/QBE2 Programmiersprachen 1. Generation: Maschinensprachen (prozessorabhängig!): nur 0 und 1 2. Generation: Assembler (prozessorabhängig!): ADD, SUB, MUL, DIV,... 3. Generation: Problemorientierte Sprachen: WIE soll ein Problem gelöst werden? (Unterteilung in betriebswirtschaftliche und technisch-wissenschaftliche Sprachen): Cobol, Pascal, Fortran, Ada, Basic, C, PL/1, RPG,... 4. Generation: Deskriptive Sprachen: WAS wird als Ergebnis erwartet? Beispiel: SQL (Structured Query Language) weitere Unterscheidung: wissensbasierte (Prolog und Lisp) und objektorientierte Sprachen (SmallTalk, C++, Java, Delphi)

3 Wirtschaftsinformatik SQL/QBE3 Programmiersprachen Prozeduraler Algorithmus (3. Generation): 1)Nimm nächstes Buch 2)Prüfe, ob Titel = Wirtschaftsinformatik 3)Falls JA, notiere Autor 4)Prüfe, ob letztes Buch 5)Falls nein, zurück zu 1) 6)Falls ja, Ende

4 Wirtschaftsinformatik SQL/QBE4 Programmiersprachen Nicht-prozedurale, deskriptive Formulierung (4. Generation): Suche alle Bücher aus der Tabelle Bibliothek für die gilt: Titel = Wirtschaftsinformatik Beispiel für eine entsprechende SQL-Abfrage: SELECT Autor, Titel, Erscheinungsjahr FROM Bibliothek WHERE Titel = Wirtschaftsinformatik;

5 Wirtschaftsinformatik SQL/QBE5 Grundlagen von SQL SQL = Structured Query Language Standardsprache für relationalen Datenbanken –(z.B. Oracle, IBM DB2, MS Access, MS SQL-Server, etc.) Dient dem Benutzer zur Kommunikation mit dem DBMS Es existieren proprietäre Erweiterungen zum reinen Standard-SQL Sprache der 4.Generation –Nicht prozedural, sondern datenorientiert Elemente von SQL: –Datendefinition –Datenmanipulation –Datenabfrage –Datenschutz

6 Wirtschaftsinformatik SQL/QBE6 Datendefinition Tabellen erzeugen Tabellen ändern: –Neue Attribute einfügen Auch wenn bereits Daten in der Tabelle eingegeben sind –Tabellenattribute indizieren z.B. wenn nur eindeutige Werte erlaubt sind oder wenn die Suche nach Attributwerten beschleunigt werden soll –Beziehungen verwalten Festlegen von Primär- und Fremdschlüsseln Einhaltung der referentiellen Integrität Tabellen löschen

7 Wirtschaftsinformatik SQL/QBE7 Datenmanipulation Datensätze einfügen Datensätze nachführen Datensätze löschen

8 Wirtschaftsinformatik SQL/QBE8 Datenabfrage (Query) Angegeben wird: –Mit welchen Daten gearbeitet werden soll und –Welche Bedingungen diese Daten erfüllen müssen Eine Abfrage beginnt immer mit SELECT

9 Wirtschaftsinformatik SQL/QBE9 Datenabfrage (Query) Typische Fragen, die durch Auswahlabfragen beantwortet werden sollen: –Welches Projekt hat die höchsten Projektkosten? –Liste der Mitarbeiter absteigend sortiert nach Betriebszugehörigkeit. –Welche Mitarbeiter arbeiten in einem Datenbank-Projekt? –Welche Mitarbeiter wohnen in München? –Wie hoch ist der Durchschnittsgewinn der Projekte? Hierzu greifen Auswahlabfragen auf ein oder mehrere Tabellen einer DB zu. Sie liefern wiederum eine Tabelle als Ergebnis.

10 Wirtschaftsinformatik SQL/QBE10

11 Wirtschaftsinformatik SQL/QBE11 Projektion Auswahl einzelner Attribute (Felder, Spalten). Bsp. in QBE (Query by Example):

12 Wirtschaftsinformatik SQL/QBE12 Projektion Dasselbe Beispiel in SQL (Structured Query Language): SELECT Nachname, Vorname, Straße_HausNr, PLZ, Ort, Telefon_Privat FROM Mitarbeiter;

13 Wirtschaftsinformatik SQL/QBE13 Projektion Das Ergebnis:

14 Wirtschaftsinformatik SQL/QBE14 Selektion Auswahl bestimmter Datensätze. Bsp.: Welche Kunden befinden sich in München und gehören zu den Branchen Bank oder Versicherung?

15 Wirtschaftsinformatik SQL/QBE15 Selektion Welche Kunden befinden sich in München und gehören zu den Branchen Bank oder Versicherung? In SQL: SELECT Firmenname, Ort, Branche FROM Kunde WHERE (Ort="München" AND Branche="Bank") OR (Ort="München" AND Branche="Versicherung");

16 Wirtschaftsinformatik SQL/QBE16 Selektion Ergebnis:

17 Wirtschaftsinformatik SQL/QBE17 Selektion Selektionskriterien finden Sie im Access-Handout auf S.178. Was findet die folgende Auswahlabfrage heraus? Hier der zugehörige SQL: SELECT Kurzname, Projektkosten FROM Projekt WHERE Projektkosten>2000000;

18 Wirtschaftsinformatik SQL/QBE18 Sortierung SELECT Nachname, Vorname, Straße_HausNr, PLZ, Ort FROM Mitarbeiter ORDER BY Ort, Nachname;

19 Wirtschaftsinformatik SQL/QBE19 Sortierung Ergebnis:

20 Wirtschaftsinformatik SQL/QBE20 Join: Verknüpfung mehrerer Tabellen Bsp: Welche Kunden haben welche Projekte vergeben?

21 Wirtschaftsinformatik SQL/QBE21 In SQL: SELECT Kunde.Firmenname, Kunde.Kundennummer, Projekt.KundenNr, Projekt.Kurzname FROM Kunde INNER JOIN Projekt ON Kunde.Kundennummer = Projekt.KundenNr; Join: Verknüpfung mehrerer Tabellen

22 Wirtschaftsinformatik SQL/QBE22 Join mit Kriterien Welche Kunden aus München haben Projekte mit einem Volumen von über 1000000.- vergeben?

23 Wirtschaftsinformatik SQL/QBE23 Join mit Kriterien Welche Kunden aus München haben Projekte mit einem Volumen von über 1000000.- vergeben? In SQL: SELECT Kunde.Firmenname, Kunde.Ort, Projekt.Kurzname, Projekt.Vergütung FROM Kunde INNER JOIN Projekt ON Kunde.Kundennummer = Projekt.KundenNr WHERE (Kunde.Ort="München" AND Projekt.Vergütung>1000000);

24 Wirtschaftsinformatik SQL/QBE24 Komplexer Join Welche Mitarbeiter haben schon auf vom Kunden Bodidas vergebenen Projekten gearbeitet?

25 Wirtschaftsinformatik SQL/QBE25 Komplexer Join Welche Mitarbeiter haben schon auf vom Kunden Bodidas vergebenen Projekten gearbeitet? In SQL: SELECT Kunde.Firmenname, Mitarbeiter.Nachname FROM (Kunde INNER JOIN Projekt ON Kunde.Kundennummer = Projekt.KundenNr) INNER JOIN (Mitarbeiter INNER JOIN Projektbearbeitung ON Mitarbeiter.MitarbeiterNr = Projektbearbeitung.MitarbeiterNr) ON Projekt.Projektnummer = Projektbearbeitung.Projektnummer WHERE (Kunde.Firmenname Like "Bodidas*");

26 Wirtschaftsinformatik SQL/QBE26 Komplexer Join Welche Mitarbeiter haben schon auf vom Kunden Bodidas vergebenen Projekten gearbeitet? In SQL: SELECT Kunde.Firmenname, Mitarbeiter.Nachname FROM Kunde, Projekt, Projektbearbeitung, Mitarbeiter WHERE Kunde.Firmenname Like "Bodidas*" AND Kunde.Kundennummer = Projekt.KundenNr AND Projekt.Projektnummer = Projektbearbeitung.Projektnummer AND Mitarbeiter.MitarbeiterNr = Projektbearbeitung.MitarbeiterNr;

27 Wirtschaftsinformatik SQL/QBE27 Berechnete Felder Wie hoch ist der Projektgewinn (= Vergütung - Projektkosten) der Projekte?

28 Wirtschaftsinformatik SQL/QBE28 Berechnete Felder Wie hoch ist der Projektgewinn (= Vergütung - Projektkosten) der Projekte? In SQL: SELECT Projektnummer, Vergütung-Projektkosten AS Projektgewinn FROM Projekt;

29 Wirtschaftsinformatik SQL/QBE29 Funktionen: Auswertungen über alle Datensätze Berechnungen über mehrere Attributwerte eines Attributs Bezieht sich entweder auf eine gesamte Tabelle oder auf eine Gruppe von Datensätzen Es gibt folgende Funktionen: –Summe, Mittelwert, Minimum, Maximum, Anzahl Bsp.: Wieviele Projekte gibt es insgesamt? In SQL: SELECT COUNT (Projektnummer) AS [Anzahl von Projektnummer] FROM Projekt;

30 Wirtschaftsinformatik SQL/QBE30 Funktionen: Auswertungen über eine Gruppe von Datensätzen Anzahl der pro Fachgebiet durchgeführten Projekte. SELECT Fachgebiet, Count(Projektnummer) AS [Anzahl von Projektnummer] FROM Projekt GROUP BY Fachgebiet; Ergebn i s FachgebietAnzahl von Projektnummer Datenbanken3 Groupware4 Internet4 Intranet5

31 Wirtschaftsinformatik SQL/QBE31 Suche in einer Abfrage mit variablem Suchwert SELECT MitarbeiterNr, Nachname, Vorname FROM MITARBEITER WHERE Nachname LIKE [Suchen nach welchem Namen?];

32 Wirtschaftsinformatik SQL/QBE32 Grundstruktur der SQL-Abfrage SELECT [ DISTINCT ] { * | Attributliste | mathematische Ausdrücke} [ AS Bezeichner ] FROM Tabellenliste [ AS Bezeichner ] [ WHERE Bedingungen ] [ GROUP BY Attributliste ] [ HAVING Bedingungen ] [ ORDER BY Attributliste ] [ ASC | DESC ] ; Mit SELECT kann angegeben werden, welche Attribute angezeigt werden sollen und wie diese allenfalls in Berechnungen und Funktionen einzusetzen sind. Falls DISTINCT verwendet wird, werden mehrfach auftretende, identische Datensätze nur einmal angezeigt. Mit FROM wird angegeben, aus welchen Tabellen Datensätze abgefragt bzw. zu neuen Datensätzen kombiniert werden. Mit WHERE wird angegeben, welche Bedingungen ein Datensatz erfüllen muss, damit er weiterverarbeitet wird. Mit GROUP BY können Datensätze zu Gruppen zusammengefasst und mit speziellen Gruppenfunktionen weiterverarbeitet werden. HAVING gibt an, welche Bedingungen eine Gruppe aus Datensätzen erfüllen muss, damit sie weiterverwendet wird. Mit ORDER BY können die resultierenden Datensätze vor der Ausgabe nach bestimmten Attributen aufsteigend (ASC für "ascending") bzw. absteigend (DESC für "descending") sortiert werden.

33 Wirtschaftsinformatik SQL/QBE33 Quellen Quelle der Beispiele: Jaros-Sturhahn, A.; Schachtner, K: Business Computing mit MS-Office und Internet, Springer 1999 Steiner, René: Grundkurs Relationale Datenbanken, Vieweg, 2003


Herunterladen ppt "Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II."

Ähnliche Präsentationen


Google-Anzeigen