Das Suchen und Zurückliefern von Daten aus einer Datenbank sind in der Regel die häufigsten Operationen, die in einem Datenbestand durchgeführt werden.
Die grundsätzliche Vorgehensweise dabei ist wie folgt:
Als Ergebnis einer Anfrage oder Suchoperation an eine relationale Datenbank wird eine Menge von Objekten zurückgeliefert, welche nur die angefragten Attribute haben und deren Werte die in der Anfrage genannten Einschränkungen erfüllen.
Beispiel
Gegeben sind die in den Tabellen KUNDE, ADRESSE und RECHNUNGSADRESSE gespeicherten Daten.
| KUNDE | ||||||
|---|---|---|---|---|---|---|
| KUNDEID | KUNDENNR | ANREDE | NAME | VORNAME | ADRESSEID | |
| 094904 | 00100 | Herr | Schwarz | David | david.schwarz@hkf-online.de | 2 |
| 112536 | 00300 | Frau | Bauer | Silke | silke334@byom.de | 3 |
| 348902 | 00700 | Frau | Wagner | Lisa | lisa-wagner@posteo.de | 7 |
| ADRESSE | ||||||
|---|---|---|---|---|---|---|
| ADRESSEID | STRASSE | HAUSNUMMER | PLZ | ORT | LAND | KUNDEID |
| 2 | Berliner Str. | 55b | 60311 | Frankfurt | Deutschland | 094904 |
| 3 | Marienstr. | 25 | 10117 | Berlin | Deutschland | 094904 |
| 4 | Alte Str. | 49 | 53123 | Bonn | Deutschland | 112536 |
| 5 | Salzburger Straße | 27 | 93047 | Regensburg | Deutschland | 112536 |
| 6 | Bahnhofstr. | 5 | 69115 | Heidelberg | Deutschland | 112536 |
| 7 | Domstr. | 18 | 20095 | Hamburg | Deutschland | 348902 |
| 8 | Stuttgarter Straße | 73 | 01189 | Dresden | Deutschland | 348902 |
| RECHNUNGSADRESSE | |
|---|---|
| ADRESSEID | KUNDEID |
| 2 | 094904 |
| 2 | 112536 |
| 4 | 094904 |
| 7 | 348902 |
| 8 | 348902 |
Ermitteln Sie alle Orte und deren Postleitzahlen, an welche der Kunde David Schwarz bereits Sendungen hat liefern lassen.
Schritt 1: KUNDE und ADRESSE sind die relevanten Relationen, die Beziehung LIEFERADRESSE zwischen KUNDE und ADRESSE ist im Attribut KUNDEID in der Relation ADRESSE gespeichert.
Schritt 2: Ermitteln der KUNDEID von Hr. Schwarz, Ermitteln aller Adressen, deren Wert in KUNDEID mit der KUNDEID von Hr. Schwarz übereinstimmt.
Schritt 3: Einschränken der gefundenen Adressen auf die Attribute PLZ und ORT.
Ergebnis: (60311 Frankfurt), (10117 Berlin).
Offensichtlich ist für die Formulierung von Suchanfragen an eine Datenbank eine genaue Kenntnis des Datenmodells nötig. Insbesondere die fachliche Bedeutung von Fremdschlüsseln ist oft nicht direkt aus dem Datenmodell erkennbar, sondern nur in der Dokumentation zu finden. So ist nicht direkt aus den Relationen ablesbar, dass beispielsweise das Attribut ADRESSEID in KUNDE die Wohnanschrift ist. Ebenso ist nicht klar aus der Tabelle ersichtlich, welche Bedeutung der Fremdschlüssel KUNDEID in der Relation ADRESSE hat.
| KUNDE | ||||||
|---|---|---|---|---|---|---|
| KUNDEID | KUNDENNR | ANREDE | NAME | VORNAME | ADRESSEID | |
| 094904 | 00100 | Herr | Schwarz | David | david.schwarz@hkf-online.de | 2 |
| 112536 | 00300 | Frau | Bauer | Silke | silke334@byom.de | 3 |
| 348902 | 00700 | Frau | Wagner | Lisa | lisa-wagner@posteo.de | 7 |
| ADRESSE | ||||||
|---|---|---|---|---|---|---|
| ADRESSEID | STRASSE | HAUSNUMMER | PLZ | ORT | LAND | KUNDEID |
| 2 | Berliner Str. | 55b | 60311 | Frankfurt | Deutschland | 094904 |
| 3 | Marienstr. | 25 | 10117 | Berlin | Deutschland | 094904 |
| 4 | Alte Str. | 49 | 53123 | Bonn | Deutschland | 112536 |
| 5 | Salzburger Straße | 27 | 93047 | Regensburg | Deutschland | 112536 |
| 6 | Bahnhofstr. | 5 | 69115 | Heidelberg | Deutschland | 112536 |
| 7 | Domstr. | 18 | 20095 | Hamburg | Deutschland | 348902 |
| 8 | Stuttgarter Straße | 73 | 01189 | Dresden | Deutschland | 348902 |
| RECHNUNGSADRESSE | |
|---|---|
| ADRESSEID | KUNDEID |
| 2 | 094904 |
| 2 | 112536 |
| 4 | 094904 |
| 7 | 348902 |
| 8 | 348902 |