4 Ers t e ll e n e in e r Da t e n ba nk Wiederholungsfragen 1. Beschreiben Sie kurz die Vorgehensweise zur Erstellung einer neuen Datenbank bei MS Access. ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ 2. Warum sollen die Tabellen einer Datenbank immer auf der Grundlage eines theoretisch entwickelten Relationenmodells erstellt werden? ___________________________________________________________ ___________________________________________________________ ___________________________________________________________ 3. Welche Datentypen unterscheidet Access? ___________________________________________________________ ___________________________________________________________ ___________________________________________________________ ___________________________________________________________ 4. In einer Tabelle soll ein Attribut Menge aufgenommen werden. Welchen Feldtyp und welche Feldgröße wählen Sie, wenn es sich um (a) Angaben mit Dezimalstellen, (b) ganze Zahlen zwischen 0 und 1.000 oder (c) ganze Zahlen zwischen 0 und 100.000 handelt? (Antwort mit kurzer Begründung) __________________________________________________________ __________________________________________________________ __________________________________________________________ 5. Warum soll eine Tabelle grundsätzlich einen Primärschlüssel besitzen? __________________________________________________________ __________________________________________________________ 6. Wie werden Beziehungen zwischen Tabellen realisiert? Welche Voraussetzung muss erfüllt sein? _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ 7. Wann sollen die Beziehungen definiert werden? Warum genau an dieser Stelle? _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ Vom Datenmodell zur Datenbank (9. überarbeitete Auflage) © datadidact 2016 67 5 5.1 Aus wa hla b f ra g e n 1 Sprachkonzepte der Abfragesprachen SQL und QbE 2 Projektion Sprachkonzepte der Abfragesprachen SQL und QbE Zum erfolgreichen Betreiben einer Datenbank ist eine Datenbanksprache notwendig, die die unterschiedlichen Anforderungen der Benutzer abdeckt. Access stellt hierzu zwei Methoden zur Verfügung: • SQL (Structured Query Language) • QbE (Query by Example) Das Sprachkonzept von SQL ist sehr umfassend, sehr flexibel, international normiert und somit auch in anderen Datenbankimplementierungen anzutreffen. SQL-Anweisungen können sowohl vom Datenbankdesigner/-administrator (zum Erstellen der Datenbank, zur Vergabe der Rechte), vom Datenbankprogrammierer wie auch vom Endbenutzer (Abfragen und Änderungen im Datenbestand) eingesetzt werden. Die Grundstruktur von Standard-SQL sieht wie folgt aus: SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT Attribute Tabellen Selektionskriterien Gruppierungsattribute Selektionskriterien für Gruppenmerkmale Sortierattribute Zeilenanzahl; Dabei sind nur die SELECT- und die FROM-Klausel zwingend. Beispiel: SELECT FROM WHERE Name, Vorname, Telefon Mitarbeiter Ort='Köln' AND Geschlecht='w'; Bei QbE handelt es sich um eine Sprache, bei der der Anwender unter Einsatz der Maus (drag and drop) in Formularen Abfragen und Manipulationen durchführen kann. drag and drop Der im Vergleich zu SQL benutzerfreundlichere Ansatz wird jedoch durch fehlende Standardisierung, eingeschränkte Abfragemöglichkeiten und geringere Flexibilität erkauft. Die folgenden Ausführungen behandeln den SQL- und den QbE-Ansatz, wobei dem SQL-Ansatz auf Grund der weitgehenden Allgemeingültigkeit besondere Beachtung geschenkt werden sollte. Die in Access integrierte SQL-Sprachversion weicht vom normierten SQL-Standard teilweise ab (beispielsweise verwendet Access statt der LIMIT-Angabe eine TOP-Angabe hinter SELECT). Aus diesem Grund finden Sie bei abweichenden Schreibweisen immer zuerst die Standard-SQL-Schreibweise (getestet unter MySQL) und an zweiter Stelle den MS Access-SQL-Code. 68 Vom Datenmodell zur Datenbank (9. überarbeitete Auflage) © datadidact 2016 5 Aus wa hla b f ra g e n 1 Sprachkonzepte der Abfragesprachen SQL und QbE 2 Projektion Vorgehensweise zum Erstellen von Abfragen über QbE in Access: Wechsel auf die Registerkarte „Erstellen“. Klicken auf „Abfrageentwurf“: Bemerkung: Man könnte auch hier einen anderen Weg wählen, nämlich über den „Abfrage-Assistenten“. Wegen der versionsübergreifenden Übertragbarkeit wird in diesem Skript der direkte Weg über den Abfrageentwurf gewählt, zumal die Verwendung des Abfrage-Assistenten mit seinen Entscheidungsabfragen keine wirklichen Vorteile bringt. Es öffnet sich nun folgendes Bild: Nun kann man durch Markierung und Klicken auf „Hinzufügen“ oder direkt mit Doppelklick die Tabelle/n auswählen, aus der/denen man Daten abfragen will. Dies wird im folgenden Text an Beispielaufgaben verdeutlicht. Das Ergebnis einer solchen Abfrage kann nach dem Ausführen der Abfrage betrachtet werden. Das Ergebnis wird dynamisch aus den Daten der zu Grunde liegenden Tabellen erzeugt. Daher rührt auch die Bezeichnung „Dynaset“ (dynamic set) für das Ergebnis einer Abfrage. Bei Abfragen wird lediglich der Abfrageentwurf (Befehlscode) gespeichert; die Daten des Dynasets werden nicht gespeichert. Vom Datenmodell zur Datenbank (9. überarbeitete Auflage) © datadidact 2016 69 5 Aus wa hla b f ra g e n 1 Sprachkonzepte der Abfragesprachen SQL und QbE 2 Projektion Zum Überarbeiten einer Abfrage kann diese in MS Access • auf der Registerkarte Abfragen aus der Objektliste ausgewählt und mit Hilfe der Schaltfläche Abfrageentwurf oder aus dem Dynaset heraus über - /Ansicht/SQL-Ansicht oder das Symbol bzw. • • - /Ansicht/Entwurfsansicht oder das Symbol Abfrageentwurf. in die Abfrageentwurfsansicht gerufen werden. In einem SQL-Befehlsfenster kann der SQL-Code leicht geändert und der Befehl erneut zum Server abschickt werden. Die im Folgenden dargestellten Abfragen unterscheiden sich lediglich im Hinblick auf die Formulierung (Attribute, Selektionskriterien, Anzahl und Verknüpfung von Tabellen, Berechnungen, Funktionen, Parameter). Die oben dargestellten Schritte 1 bis 3 bleiben grundsätzlich die gleichen. 5.2 Projektion Unter Projektion versteht man eine Abfrage, die hinsichtlich der Anzahl der Attribute (Anzahl der Spalten) eingeschränkt ist. Dies kann in SQL mit Hilfe der SELECT-Klausel bzw. bei QbE durch Auswahl der entsprechenden Attribute erreicht werden. Problem 1: Aus der Tabelle MITARBEITER soll eine Liste mit Name, Vorname und Telefonnummer der Mitarbeiter erstellt werden. Tabelle MITARBEITER: Die zu projizierenden Attribute (Spalten) sind hervorgehoben. Abfrage: 70 SQL 01: QbE 01: Vom Datenmodell zur Datenbank (9. überarbeitete Auflage) © datadidact 2016