Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Nicole Rottmann 2011/12 Datenbankentwicklung IV-LK 1.Warum Datenbanken? 2.Anforderungsanalyse für Datenbanken 3.Ableitung von Tabellenstrukturen 4.Normalisierung.

Ähnliche Präsentationen


Präsentation zum Thema: "Nicole Rottmann 2011/12 Datenbankentwicklung IV-LK 1.Warum Datenbanken? 2.Anforderungsanalyse für Datenbanken 3.Ableitung von Tabellenstrukturen 4.Normalisierung."—  Präsentation transkript:

1 Nicole Rottmann 2011/12 Datenbankentwicklung IV-LK 1.Warum Datenbanken? 2.Anforderungsanalyse für Datenbanken 3.Ableitung von Tabellenstrukturen 4.Normalisierung 5.Relationenalgebra 6.Formalisierung von Tabellen in SQL 7.SQL- Anfragen

2 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen IV-LK 1.Ausgabe der eingegebenen Informationen 2.Auswahlkriterien in der WHERE- Bedingung 3.Nutzung von Aggregatsfunktionen 4.Anfragen über mehrere Tabellen 5.Aufgaben

3 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 1. Ausgabe der eingegebenen Informationen IV-LK Beispieltabellen für Anfragen: Anfrage: Wie lauten die Namen der eingetragenen Gehege? SELECT GName FROM Gehege Ergebnis: GName Wald Feld Weide GNrTNameGattung 1LaberBaer 1SabberBaer 2KlopferHase 3BunnyHase 2HaraldSchaf 3WalterSchaf GattungMinFlaeche Baer8 Hase2 Schaf5 GNrGNameFlaeche 1Wald20 2Feld10 3Weide9 Gehege Art Tier

4 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 1. Ausgabe der eingegebenen Informationen IV-LK Anfrage: Welche Gattungen leben aktuell in den Gehegen. SELECT Tier.Gattung FROM Tier Ergebnis: GATTUNG Baer Hase Schaf Vermeidung von doppelten Werten: SELECT DISTINCT Tier.Gattung FROM Tier

5 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 1. Ausgabe der eingegebenen Informationen IV-LK Mehrere Ergebnisattribute in der Anfrage: Der Tiername soll zusammen mit der Gattung ausgegeben werden: SELECT Tier.TName, Tier.Gattung FROM Tier Ergebnis: TName Gattung Laber Baer Sabber Baer Klopfer Hase Bunny Hase Harald Schaf Walter Schaf Anfrage: Gesamter Tabelleninhalt: SELECT * FROM Gehege

6 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 1. Ausgabe der eingegebenen Informationen IV-LK Berechnungen in der SELECT – Zeile: Anfrage: Wie groß ist der prozentuale Anteil eines jeden Geheges an der Gesamtfläche, wenn die Gesamtfläche 50 beträgt? SELECT Gehege.GName, (Gehege.Flaeche/50)*100 FROM Gehege Ergebnis: GName(Gehege.Flaeche/50)* Wald40 Feld20 Weide18 Anfrage: Die Gattung eines Tieres, soll zusammen mit dem Tiernamen, getrennt durch zwei Doppelpunkte ausgegeben werden. SELECT Tier.Gattung || '::' || Tier.TName FROM Tier Umbenennung der Spaltenüberschrift: SELECT Gehege.GName Gatter

7 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 1. Ausgabe der eingegebenen Informationen IV-LK Erzeugung weiterer Ergebnisspalten: SELECT 'Unser Zoo' Zooname, Tier.TName Tiername, 2005 Einzug, 42 FROM Tier Ergebnis: Zooname TiernameEinzug Unser Zoo Laber Unser Zoo Sabber … Sortierung von Ausgaben: SELECT Gehege.GName, Gehege.Flaeche FROM Gehege ORDER BY Gehege.Flaeche ASC Ergebnis: GNameFlaeche Weide9 Feld10 Wald20

8 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 1. Ausgabe der eingegebenen Informationen IV-LK Mehrere Sortierkriterien zusammen: SELECT * FROM Tier ORDER BY Tier.Gattung DESC, Tier.TName ASC

9 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 2. Auswahlkriterien in der WHERE –Bedingung IV-LK Anfrage: Wie lauten die Namen aller Schafe? SELECT Tier.TName FROM Tier Where Tier.Gattung = 'Schaf' Ergebnis: TName Harald Walter Zusammengesetzte Bedingung: Anfrage: Welche Gattungen beanspruchen mindestens eine Flaeche von 4, sind aber keine Bären? SELECT Art.Gattung FROM Art WHERE Art.MinFlaeche >= 4 AND Art.Gattung<> 'Baer ' Ergebnis: Gattung Schaf

10 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 2. Auswahlkriterien in der WHERE –Bedingung IV-LK Textanalyse: SELECT Tier.TName FROM Tier WHERE Tier.TName LIKE '%a%' Ergebnis: TName Laber Sabber Harald Walter Anfrage: Tiernamen, deren dritter Buchstabe ein n ist. SELECT Tier.TName FROM Tier WHERE Tier.TName LIKE '__n%' Ergebnis: TName Bunny

11 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 2. Auswahlkriterien in der WHERE –Bedingung IV-LK Operationen auf Attribute: SELECT LOWER (Tier.TName) FROM Tier WHERE LOWER (Tier.Gattung) = 'schaf' Ergebnis: LOWER (T harald walter

12 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 3. Nutzung von Aggregatsfunktionen IV-LK Statistische Auswertungen: Anfrage: Welches ist die größte Gehegefläche? SELECT MAX (Gehege.Flaeche) FROM Gehege Ergebnis: MAX(Gehege.Flaeche) Anfrage: Wie groß ist die Gesamtfläche aller Gehege? SELECT SUM (Gehege.Flaeche) Gesamtflaeche FROM Gehege Ergebnis: Gesamtflaeche Anfrage: Wie viele Tiere leben im ZooErgebnis: SELECT COUNT(*) TieranzahlTieranzahl FROM Tier

13 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 3. Nutzung von Aggregatsfunktionen IV-LK Anfrage: Wie groß ist die durchschnittliche Gehegefläche? SELECT AVG (Gehege.Flaeche) Durchschnitt FROM Gehege Ergebnis: Durchschnitt

14 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 4. Anfragen über mehrere Tabellen IV-LK Anfrage: Wie lauten die Namen der Tiere und in welchen Gehegen leben sie? SELECT Tier.TName, Gehege.GName FROM Tier, Gehege WHERE Tier.GNr=Gehege.GNr Ergebnis: TNameGName LaberWald SabberWald HaraldFeld …. Anfrage: Gib zu jedem Gehegenamen, die Gattungen der darin lebenden Tiere aus, die höchstens eine Fläche von 6 verbrauchen. SELECT DESTINCT Gehege.GName, Art.Gattung Ergebnis: FROM Gehege, Tier, Art GNameGattung WHERE Gehege.GNr = Tier.GNr AND Tier.Gattung = Art.Gattung AND Art.MinFlaeche <= 6FeldHase FeldSchaf WeideHase WeideSchaf

15 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 4. Anfragen über mehrere Tabellen IV-LK Grundsätzlicher Ansatz zur Formulierung einfacher SQL- Anfragen: 1.Es werden die für die Anfrage erforderlichen Tabellen ausgesucht und in die FROM – Zeile geschrieben. 2.Es wird die Verknüpfung der benutzen Tabellen in der WHERE- Bedingung festgelegt. 3.Falls es die Anfrage erfordert, werden die weiteren Anforderungen in Teilbedingungen übersetzt. Die resultierenden Teilbedingung wird typischerweise mit AND mit der Bedingung aus 2. verknüpft. 4.Es werden die Informationen, z.B. Attribute ausgewählt, die für die Ergebnisausgabe wichtig sind, und in die SELECT Zeile geschrieben. 5.Bei Bedarf wird in der ORDER BY Zeile angegeben, in welcher Reihenfolge die Ausgaben erfolgen sollen.

16 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 4. Anfragen über mehrere Tabellen IV-LK Umbenennung der Ergebnisspalten: SELECT G.GName Gebiet, T.TName Schaf FROM Gehege G, Tier T WHERE D.GNr= T.TNr AND T.Gattung ='Schaf' Ergebnis: GebietSchaf FeldHarald WeideWalter Anfrage: Es sollen die Nummern aller Gehege ausgegeben werden, in denen zwei unterschiedliche Gattungen leben. SELECT T1.GNr FROM Tier T1, Tier T2 WHERE T1.GNr = T2.GNr AND T1.Gattung <> T2.Gattung Ergebnis GNr

17 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 4. Anfragen über mehrere Tabellen IV-LK Anfrage: Statt der Gehegenummer soll der Name des Geheges ausgegeben werden. SELECT Gehege.GName FROM Tier T1, Tier T2, Gehege WHERE T1.GNr = T2.GNr AND Gehege.GNr = T1.GNr AND T1.Gattung < T2.Gattung Ergebnis: GName Feld Weide

18 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 4. Anfragen über mehrere Tabellen IV-LK Tabellen für kritisches Anfrageergebnis: Abfrage: Wie heißen die Mitarbeiter, deren Chef in der Abteilung 1 oder Abteilung 2 arbeitet. SELECT Mitarbeiter.Name FROM Mirarbeiter, Abteilung1, Abteilung2 WHERE Mitarbeiter.Chef=Abteilung1.MiNr OR Mitarbeiter.Chef=Abteilung2.MiNr Ergebnis: Es wurden keine Zeilen ausgewählt. SELECT Mitarbeiter.Name FROM Mirarbeiter, Abteilung1 WHERE Mitarbeiter.Chef=Abteilung1.MiNr Ergebnis: Name Udo MiNrNameChef 401Udo1 402Ute3 MiNrLeiter 401Erna 402Edna MiNrLeiter Abteilung1Abteilung2 Mitarbeiter

19 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 5. Aufgaben IV-LK Wiederholungsfragen: 1.Wozu wird DISTINCT benötigt? 2.Wozu kann der * in der SELECT Zeile genutzt werden? 3.Welche Berechnungsmöglichkeiten gibt es in der SELECT Zeile? 4.Wie kann man Ergebnisspalten umbenennen? 5.Wie kann man neue Spalten bei der Berechnung von Tabellen erzeugen? 6.Welche Möglichkeiten zur Sortierung der Ausgabe gibt es? 7.Welche Möglichkeiten zur Textbearbeitung gibt es in SQL? 8.Wie wird mit NULL Werten in WHERE Bedingungen umgegangen? 9.Was sind Aggregatsfunktionen, was ist bei ihrer Nutzung zu beachten? 10.Wie kann man mehrere Tabellen in SQL verknüpfen? 11.Erkläre den Aufbau und Ablauf der Auswertung einfacher SQL- Anfragen. 12.Beschreibe ein generelles Vorgehen zur Erstellung einer SQL- Anfrage. 13.Wie kann man eine Tabelle in Anfragen mehrmals nutzen, wieso kann dies sinnvoll sein? 14.Welche Besonderheit ist bei der Nutzung von OR Bedingungen und der Verknüpfung mehrerer Tabellen zu beachten?

20 Nicole Rottmann 2011/12 7. Einfache SQL-Anfragen 5. Aufgaben IV-LK Übungsaufgaben: Gegeben seine folgende Tabellen zur Notenverwaltung. Formuliere folgende Textzeilen als SQL-Anfragen. 1.Gib die Namen der Studierenden aus, die eine Prüfung im Fach "Wahl1" gemacht haben. 2.Gib den Titel der Veranstaltungen aus und die zugehörige Note für alle Prüfungen, die Simson gemacht hat aus. 3.Gib eine Liste aller Titel von Veranstaltungen mit den bisher in den Prüfungen erreichten Noten (Ausgabe: Titel, Note) aus. 4.Gib die Anzahl der Studierenden aus, die bereits eine Prüfung im Fach DB gemacht haben. 5.Gib die Namen aller Dozenten aus, die mindestens zwei Veranstaltungen anbieten. 6.Gib die Durchschnittsnote für alle Fächer zusammen aus, die von Hinz unterrichtet wurden. 7.Gib die Namen aller Studierenden aus, die mindestens genauso gut wie Simson in DB waren, aber nicht Simson sind. 8.Gib die Namen aller Studierenden aus, die mindestens eine Prüfung bei Hinz gemacht haben. Geh davon aus, dass der veranstaltende Dozent auch Prüfer ist. MatNrName 42Simson 43Milhuse 44Monz MatNrFachNote 42Wahl13,0 42DB1,7 43Wahl24,0 43DB1,3 44Wahl15,0 KürzelTitelDozent Wahl1ControllingHinz Wahl2JavaHinz DBDatenbankenKunz Student Pruefung Veranstaltung


Herunterladen ppt "Nicole Rottmann 2011/12 Datenbankentwicklung IV-LK 1.Warum Datenbanken? 2.Anforderungsanalyse für Datenbanken 3.Ableitung von Tabellenstrukturen 4.Normalisierung."

Ähnliche Präsentationen


Google-Anzeigen