Informatik - Modellierung von Datenbanken: Unterschied zwischen den Versionen

Aus RSG-Wiki
Wechseln zu: Navigation, Suche
Zeile 65: Zeile 65:
 
Du erhältst dann dieses Bild:<br>
 
Du erhältst dann dieses Bild:<br>
 
<center>[[Datei:Db-abfrage 2.jpg|Abfragetabelle]]</center>
 
<center>[[Datei:Db-abfrage 2.jpg|Abfragetabelle]]</center>
 +
 +
In dieser Abfrage erkennt man schön den Unterschied von Selektion und Projektion.<br>
 +
</center>[[Datei:Db-abfrage 5.jpg|Abfrage|500px]]</center><br>
 +
Nach SELECT stehen die Spalten der Projektion (Es werden die Spalten Warenbezeichnung und Preis ausgewählt) und nach WHERE steht die Selektion, die Bedingung zur Auswahl der Datensätze (Es interessieren nur die Datensätze mit Preis über 5€).

Version vom 24. März 2020, 11:35 Uhr

Welche Informationen benötigen bestimmte Personengruppen (z.B. Abteilungsleitung, Kunden, Kassierer(in) … aus der Datenbank „Einkauf“?

Welche Einkäufe wurden am 18.03.2006 getätigt?
Welche Waren wurden überhaupt gekauft?
Wie hoch ist der Preis jedes einzelnen gekauften Artikels?
Welche Kosmetikartikel gibt es?

In welcher Form sollen die Antworten ausgegeben werden?


Weiter.gif Man hat eine Tabelle mit vielen eingetragenen Werten.
Weiter.gif Man hat eine Fragen.
Weiter.gif Man will eine Antwort.

Dies erfolgt mit Hilfe von Datenbanken, indem man für eine Tabelle eine Abfrage startet und die Antwort als Ergebnistabelle erhält.

Tabelle


Frage

Ergebnistabelle


Der Aufbau der Ergebnistabelle wird durch zwei Grundverfahren festgelegt:

Db-erstellen einer tabelle4.jpg

Eine Selektion bedeutet eine Auswahl von Datensätzen (Zeilen) in der Datentabelle mit bestimmten Eigenschaften (z.B. Sparte = ’Lebensmittel’)

Selektion

Bei dieser Selektion interessen welche Lebensmittel eingekauft wurden. Es werden also alle Datensätze in der bei Sparte "Lebensmittel" steht ausgegeben.

Eine Projektion wählt bestimmte Spalten in der Datentabelle aus (z. B. Kunde und Warenbezeichnung)

Projektion

Bei dieser Projektion werden nur die Spalten Kunde und Warenbezeichnung ausgegeben, wenn einen interessiert was welcher Kunde gekauft hat.


Eine Abfragefuntkion besteht aus drei Teilen und ist immer gleich aufgebaut.

Abfrage


Eine Abfrage startet immer mit SELECT. Dahinter stehen die Spalten, die einen interessieren (Projektion). Danach kommt WHERE mit der Tabelle in der man nachschaut. Und zum Schluss WHERE mit den Bedingungen, die man wissen will (Selektion).


1. Beispiel:
SELECT *
FROM einkauf
WHERE Geschäft = ‘Imagi‘

In OpenOfficeBase schreibt man dies in einer Zeile

SELECT * FROM einkauf WHERE Geschäft = ‘Imagi‘
.

Beachte dabei:
Nach SELECT bedeutet *, dass alle Spalten, also ein vollständiger Datensatz ausgegeben wird. Man kann hier auch nur einzelne Spalten, die einen interessieren schreiben.
Nach WHERE steht die Tabelle einkauf, die wir erzeugt hatten und in der alle unsere Datensätze stehen.
Geschäft = 'Imagi' nach WHERE ist die Bedingung, dass nur Einkäufe im Geschäft 'Imagi' ausgegeben werden sollen. Dabei ist der Geschäftsname in einfache Anführungszeichen (OpenOffice! Das kann in anderen SQL-Systemen anders sein) zu schreiben.


In OpenOffice Base startet man eine Abfrage, indem man in der linken Spalte Abfragen auswählt und dann in der Mitte Abfrage in SQL-Ansicht erstellen ... anklicken.
Abfrage in OO
Dann öffnet sich ein neues Fenster in das man die Abfrage schreibt.


2. Beispiel:
In das gerade geöffnete Fenster schreibt man: SELECT Warenbezeichnung, Preis FROM einkauf WHERE Preis > 5
Abfrage
Um die Abfrage zu starten tippe auf die F5-Taste oder klicke auf der Seite oben bei den Icons auf "Abfrage aisführen (F5)".
Du erhältst dann dieses Bild:

Abfragetabelle

In dieser Abfrage erkennt man schön den Unterschied von Selektion und Projektion.
</center>Abfrage</center>
Nach SELECT stehen die Spalten der Projektion (Es werden die Spalten Warenbezeichnung und Preis ausgewählt) und nach WHERE steht die Selektion, die Bedingung zur Auswahl der Datensätze (Es interessieren nur die Datensätze mit Preis über 5€).