Ich kann Dir erklären, wie Oracle arbeitet, wie es SQL Server macht, keine Ahung, interessiert mich auch herzlich wenig. Wird aber auch halbwegs änlich sein.
Also, ein Beispiel: Du hast vier Tabellen:
1. Patient (id*, Geschlecht, Name, Vorname, GB-Datum)
2. Anschrift (id*, PLZ, Wohnort, Straße, Hausnummer, patient_id**)
3. Arztbesuch (id*, Datum, patient_id**)
4. Befund (id*, Diagnose, patient_id**)
*: Ist PrimaryKey der Tabelle, eindeutig, identifiziert den Datensatz
**: ForeignKey, damit wird der Datensatz der Parent-Tabelle referenziert.
Abfrage:
1. Jetzt willst Du wissen, wo die Frau Müller, geboren am 18.02.1979 wohnt:
Du greifst auf die Tabelle Patient zu, holst Dir die id und greifst mit der id dann in die Tabelle Anschrift rein (patient_id = id) oder in SQL ausgedrückt:
Code:
select pat.*, ansch.*
from
patient pat
, anschrift ansch
where
pat.id = ansch.patient_id
and pat.geschlecht = 'Frau'
and pat.Name = 'Müller'
and gb-datum = '18.02.1979';
So, jetzt hast Du keinerlei Indexes auf den Tabellen. Oracle führt dabei ein FTS (FullTableScan) durch. Dabei wird jedes einzelne Datensatz der Tabelle angeschaut, bis der Richtige gefunden wird. Ist die Tabelle indixiert, sagen wir mal auf der Spalte gb-datum liegt ein Index. So kann die DB in den Index reingreifen und kann direkt die Datensätze finden, die der Bedienung (gb-datum = '18.02.1979') genügen. Das geht wesentlich schneller. Nun hat die DB einen Subset der Tabelle und muss sie noch nachfiltern, nach Name beispielsweise. So geht es dann mit den Indexes.
2. Angenommen, die Frau Müller ist von Müchen nach Mannheim umgezogen und wird nicht mehr von dem Arzt beobachtet. Die Patientenakte soll dabei gelöscht werden. Stehen die alle Constraints (diese sichern die Zusammengehörigkeit der Datensätze über die Tabellen hinweg oder auch in der Tabelle selber) rein ein delete auf die Haupttabelle, über die Kaskaden werden die drunterhängende Datensätze mit weggelöscht.
So funktioiert es, sehr vereinfacht gesprochen. Bei Oracle kommt da noch der Optimizer mit ins Spiel, aber davon erzähle ich jetzt nicht, das ist zu hoch dann.