1 / 51

Übung 2

Übung 2. Interaktive Abfragen auf eine Firebird-Datenbank unter Verwendung der IBOConsole. Übersicht zur Übung. Schritte zum Entwurf einer Datenbank Beispiele für DBMS (Kommerziell und Open Source) SQL-Anweisungen in der Übersicht SFW-Block (SELECT – FROM – WHERE) Umgang mit der IBO-Console

parson
Download Presentation

Übung 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Übung 2 Interaktive Abfragen auf eine Firebird-Datenbank unter Verwendung der IBOConsole Prof. Dr. Andreas Schmietendorf

  2. Übersicht zur Übung • Schritte zum Entwurf einer Datenbank • Beispiele für DBMS (Kommerziell und Open Source) • SQL-Anweisungen in der Übersicht • SFW-Block (SELECT – FROM – WHERE) • Umgang mit der IBO-Console • Aufgabenstellungen des Labors • Weiterführender Beipsiele für SQL-Anweisungen Prof. Dr. Andreas Schmietendorf

  3. Übersicht zum Entwurf einer DB Prof. Dr. Andreas Schmietendorf

  4. Phasenmodell des DB-Entwurfs • Anwendungsdaten sollen aus den in der DB gespeicherten Informationen abgleitet werden können. • Es sind nur sinnvolle bzw. vernünftige Anwendungsdaten zu speichern, daher ist der Informationsbedarf einer Anwendung zu ermitteln. • Anwendungsdaten sind möglichst redundanzfrei zu speichern. (Vermeidung von Anomalien) Quelle: Heuer, A. et al: Datenbanken kompakt, mitp-Verlag, Bonn 2003 Prof. Dr. Andreas Schmietendorf

  5. Entity-Relationship-Modell • Entity-Relationship-Modell (kurz ER-Modell) • Grundlage ist eine Arbeit von P.P. Chen aus dem Jahr 1976 • Standardmodell für frühe Phasen der Datenbankentwicklung • Verständlich für Fach- und DV-Abteilungen • Basiert auf folgenden Grundkonzepten: • Entity als zu modellierende Informationseinheit • Relationship zur Modellierung von Beziehungen zwischen Entities • Attribut als Eigenschaft von einem Entity oder Relationship • Grafische Notation zur ER-Modellierung Prof. Dr. Andreas Schmietendorf

  6. Beispiel eines ER-Modells Quelle: Heuer, A. et al: Datenbanken kompakt, mitp-Verlag, Bonn 2003 Prof. Dr. Andreas Schmietendorf

  7. Normalisierung Ziel der Normalisierung ist es, Attribute so zu Relationen zuzuordnen, dass innerhalb der Relation keine Redundanzen auftreten. Redundanz ist dann vorhanden, wenn Teile ohne Informationsverlust weggelassen werden können. Unnötige Redundanz impliziert Nachteile hinsichtlich der Ressourcen-auslastung und so genannten Veränderungsanomalien (Update-, Insert-, Delete-Anomalien). Prof. Dr. Andreas Schmietendorf

  8. Normalisierung • Merkmale des Normalisierungsprozesses: • Primärschlüsselkonzept • Erkennen von Abhängigkeiten • Schrittweise Vorgehensweise • Normalisierungsformen • Funktionale Abhängigkeiten (1 NF und 2 NF) • Transitive Abhängigkeiten (3 NF und BCNF) • Mehrwertige Abhängigkeiten (4 NF) • Verbundabhängigkeiten (5 NF) Prof. Dr. Andreas Schmietendorf

  9. Beispiele für Datenbank-Management-Systeme Prof. Dr. Andreas Schmietendorf

  10. Beispiele konkreter DBMS I Gemeinsamkeiten aktuell angebotener DBMS: • Drei-Ebenen Architektur nach ANSI SPARC • SQL als Datenbankabfragesprache • Einbettung von SQL in Programmiersprachen • Diverse Tools für: • Entwurf von Datenbanken • Definition, Anfrage und Darstellung von Daten • Kontrollierter Mehrbenutzerbetrieb Prof. Dr. Andreas Schmietendorf

  11. Beispiele konkreter DBMS II Kommerzielle Produkte • Oracle Database • IBM DB2 Universal Database • MS SQL Server • Informix (zumeist in Altsystemen eingesetzt) • IBM IMS DB (ca. 60% aller unternehmenskritischen Daten) Prof. Dr. Andreas Schmietendorf

  12. Oracle(hier der Enterprise Manager) Prof. Dr. Andreas Schmietendorf

  13. SQL Server(hier der Enterprise Manager) Prof. Dr. Andreas Schmietendorf

  14. Beispiele konkreter DBMS III Open Source Produkte (erhältliche Systeme im Quelltext) • Im Rahmen der LINUX-Distribution • My SQL mit eingeschränkten Funktionsumfang (www.mysql.com) • PostgreSQL mit objektrelationalen Features (www.postgresql.org) • Weiterentwicklung von InterBase 6.0 (Borland) • Firebird (www.firebirdsql.org) • Verfügbar für Linux und Windows Prof. Dr. Andreas Schmietendorf

  15. Firebird-DBMS(hier IBOConsole) Prof. Dr. Andreas Schmietendorf

  16. SQL-Anweisungen in der Übersicht Prof. Dr. Andreas Schmietendorf

  17. Datenbanksprachen • Storage Structure Language (SSL) • Dateiorganisation (Systemadministrator) • Data Definition Language (DDL) • Erzeugen des DB-Schemas (Datenbankadminstrator – DBA) • View Definition Lanaguage (VDL) • Sichten erzeugen (Anwendungsadministrator) • Interactive Query Language (IQL) Data Manipulation Language (DML) • Daten im Dialog abfragen und ggf. verändern (erfahrene Endanwender) • Data Base Programming Language (DBPL) • Anwendungen erstellen (Programmierer) • Schnittstellen der Anwendungen (Menüs, Masken, usw.) • Daten abfragen und editieren (Endanwender ohne DB-Kenntnisse) Prof. Dr. Andreas Schmietendorf

  18. Unterstützte Datentypen • Integer (auch integer4, int) • smallint (auch integer2) • float (p) auch kurz float • decimal (p,q) und numeric (p,q) mit jeweils q als Nachkommastellen • character (n) oder char varying bzw. varchar (n) • date, time für Datums und Zeitangaben Prof. Dr. Andreas Schmietendorf

  19. SQL Anweisungen – Übersicht 1 • CREATE (DROP) SCHEMA – Definition (Entfernen) eines DB-Schemas • CREATE (DROP) DOMAIN - Definition (Entfernen) eines Datentyps • CRATE (DROP) TABLE - Definition (Entfernen) einer Basistabelle • CREATE (DROP) VIEW - Definition (Entfernen) einer View • ALTER TABLE – Umstrukturieren einer Basistabelle • GRANT, REVOKE – Vergabe und Entzug von Zugriffsrechten Prof. Dr. Andreas Schmietendorf

  20. SQL Anweisungen – Übersicht 2 • SELECT FROM WHERE– Datenbankabfrage • INSERT INTO – Einfügen von Zeilen • DELETE FROM – Löschen von Zeilen • TRUNCATE TABLE – Löschen aller Datensätze • UPDATE – Aktualisieren von Zeilen Prof. Dr. Andreas Schmietendorf

  21. SQL Anweisungen – Übersicht 3 • Transaktionssteuerung • COMMIT • ROLLBACK • SAVEPOINT • Data Control Language (DCL) • GRANT (Rechtevergabe auf Tabellen oder Sichten) • REVOKE (Rücknahme von Rechten auf Tabellen oder Sichten) Prof. Dr. Andreas Schmietendorf

  22. Vergleichsoperatoren Prof. Dr. Andreas Schmietendorf

  23. SELECT … FROM … WHEREder SFW-Block Prof. Dr. Andreas Schmietendorf

  24. SELECT (SFW Block) • SELECT Klausel • Gibt die Projektionsliste an, die das Ergebnisschema bestimmt • Integriert auch arithmetische Operationen und Aggregatfunktionen • FROM Klausel • Spezifiziert zu verwendende Relationen (Basisrelationen oder Sichten) • Führt ggf. Umbenennungen durch (Tupelvariablen oder „alias“-namen) • Verwendete Relationen werden mittels kartesischen Produkts verknüpft Prof. Dr. Andreas Schmietendorf

  25. SELECT (SFW Block) WHERE Klausel • Einschränkung der von der Datenbank zurückgegebenen Zeilen (Tupel) • Spezifiziert Selektionsbedingungen der Relationenalgebra • Verbundbedingungen um aus dem kartesischen Produkt z.B. ein Gleichverbund (auch Equi-Join) zu berechnen. • Geschachtelte Anfragen innerhalb der WHERE Klausel ! Bei Zeichenketten ist auf Groß- und Kleinschreibung zu achten Prof. Dr. Andreas Schmietendorf

  26. SQL-Anfrage auf einzelne Tabelle Tabelle: Kunde select * from Kunde where Ort = ‚Berlin‘ Zeige alle Kunden die In Berlin wohnen. Prof. Dr. Andreas Schmietendorf

  27. SQL-Anfrage auf einzelne Tabelle Tabelle: Kunde select Name, Vorname, Telefon from Kunde where PLZ = 38855 Zeige Name, Vorname und Telefon aller Kunden welche die PLZ 38855 haben Prof. Dr. Andreas Schmietendorf

  28. SQL-Anfrage auf einzelne Tabelle Tabelle: Kunde select * from Kunde where Name = ‚Schmidt‘ Zeichenketten und Datumswerte Werden in Anführungszeichen gesetzt. Prof. Dr. Andreas Schmietendorf

  29. Umgang mit der IBOConsole Prof. Dr. Andreas Schmietendorf

  30. Umgang mit der IBOConsole • Zugriff auf Datenbanken • Interbase (Borland) • Firebird (Open Source) • Funktionsumfang • Datenbanken erzeugen • Datenbanken registrieren • Ausführen von SQL-Anweisungen • Interaktiv SQL • Gespeicherte SQL-Skripte • DB-Administration • Nutzerverwaltung • Backup & Recovery Prof. Dr. Andreas Schmietendorf

  31. Anmeldeprozedur • Benutzername • SYSDBA • Kennwort • masterkey • Datenbank verwenden • DB-Registrieren • DB-Anmeldung Prof. Dr. Andreas Schmietendorf

  32. Datenbank registrieren Prof. Dr. Andreas Schmietendorf

  33. Anmelden an der Datenbank Prof. Dr. Andreas Schmietendorf

  34. Neue Datenbank anlegen Prof. Dr. Andreas Schmietendorf

  35. Aufgabenstellungen im Labor Prof. Dr. Andreas Schmietendorf

  36. Verwendung des Eigenschaften-Dialogs Verwenden Sie „Properties“ (Tabellennamen markieren – rechte Maustaste – Properties oder Doppelklick auf den Tabellennamen) um sich über die Eigenschaften der folgenden Tabellen zu informieren. Speichern Sie die Metadaten jeweils im Protokoll. • COUNTRY • CUSTOMER • DEPARTMENT • EMPLOYEE • JOB • PROJECT • PROJ_DEPT_BUDGET Prof. Dr. Andreas Schmietendorf

  37. Anfragen in SQL - SELECT • Wählen Sie alle Dateneinträge der vorhergehend mit Hilfe des Properties-Dialoges analysierten Tabellen aus. • Wählen Sie aus der Tabelle DEPARTMENT die Attribute department, location und phone_no aus. • Wählen Sie aus der Tabelle DEPARTMENT die Attribute dept_no, department und budget aus, für den Fall das das budget größer als 600000 ist. Prof. Dr. Andreas Schmietendorf

  38. Anfragen in SQL - SELECT • Wählen Sie aus der Tabelle DEPARTMENT das Attribut location aus, verhindern Sie dabei die Ausgabe doppelter Tupel mittels der distinct-Anweisung. • Wählen Sie aus der Tabelle EMPLOYEE die Attribute emp_no, first_name, last_name und job_code aus, für den Fall das die dept_no gleich 623 ist. Prof. Dr. Andreas Schmietendorf

  39. Daten einfügen - INSERT Prof. Dr. Andreas Schmietendorf

  40. Daten einfügen - INSERT • Fügen Sie in die Tabelle COUNTRY weitere 3 Länder und die entsprechenden Währungseinheit ein. • Prüfen Sie nach Eingabe eines weiteren Landes den Inhalt der Tabelle COUNTRY mittels select-Anweisung. • Geben Sie jeweils 5 neue Mitarbeiter in die Tabelle EMPLOYEE ein, verwenden Sie die Vorlage innerhalb dieser Versuchsanleitung! • Belegung aller not null Attribute • Datumsangabe entsprechend des folgenden Formats – ‘11.12.2005‘ • Berücksichtigung von Abhängigkeiten zu anderen Tabellen! Prof. Dr. Andreas Schmietendorf

  41. Verbundoperationen (Join) • Ermitteln Sie das Kreuzprodukt für die Relationen DEPARTMENT und EMPLOYEE. Wie viele Tupel (Zeilen) und Attribute (Spalten) enthält ihre Ergebnisrelation? • Ermitteln Sie einen natürlichen Verbund der Relationen DEPARTMENT und EMPLOYEE unter Verwendung des Attributs dept_no. Wie viele Tupel (Zeilen) und Attribute (Spalten) enthält ihre Ergebnisrelation jetzt? Prof. Dr. Andreas Schmietendorf

  42. Weiterführende Beispiele Prof. Dr. Andreas Schmietendorf

  43. Duplikatsunterdrückung mittels distinct Prof. Dr. Andreas Schmietendorf

  44. Beispiel: UPDATE-Anweisung - vorher - Prof. Dr. Andreas Schmietendorf

  45. Beispiel: UPDATE-Anweisung - nachher - Prof. Dr. Andreas Schmietendorf

  46. Beispiel: DELETE-Anweisung Prof. Dr. Andreas Schmietendorf

  47. Beispiel: INSERT-Anweisung Prof. Dr. Andreas Schmietendorf

  48. Beispiel: Kreuzprodukt Prof. Dr. Andreas Schmietendorf

  49. Beispiel: Natürlicher Verbund Prof. Dr. Andreas Schmietendorf

  50. Organisation Prof. Dr. Andreas Schmietendorf

More Related