Primärschlüssel, Referentielle Integrität

Hallo,

ich habe mal eine Frage. Kann mir bitte jemand folgende Begriffe an einem Beispiel einfach erklären?

Primärschlüssel, Referentielle Integrität, (Gleichheits)Verknüpfung und Outer Join und es gibt doc noch ein Join begriff oder?

Bsp. zum Primärschlüssel:

Eine Großhandlung hat 100.000 Kunden. Es kommt vor, dass in der Kundentabelle Vor- und Nachnahmen doppelt vergeben werden, da es den namen halt des öfteren gibt. So setzt man einen Primärschlüssel. Der Primärschlüssel sorgt dafür, dass der Kunde eindeutig identifiziert wird.

Ist das richtig? Kann mir jemand ein anderes Bsp. geben?

Bei den anderen weiß ich leider nicht bescheid.

Viele vielen Dank im Voraus.

Wäre dringend, weil wir Montag EDV schreiben.

Gruß Jan

Hi -

Primärschlüssel, Referentielle Integrität,
(Gleichheits)Verknüpfung und Outer Join und es gibt doc noch
ein Join begriff oder?

Primärschlüssel: Jeder Datensatz in einer Datenbank muß eine einzigartige (unique), unverwechselbare Identität haben - Das nennt man Primärschlüssel oder primary key. Dieser soll auf keinen Fall andere Informationen enthalten. Häufige Beispiele sind zB. die ISBN-Nummer eines Buches oder die Krankenversicherungsnummer einer Person. Beide setzen sich aus mehreren verschiedenen Informationen zusammen und sind somit nicht als Primärschlüssel verwendbar. In Österreich zB. wurden in den vergangen Jahrzehnten aufgrund von Fehlern manche Sozialversicherungsnummern doppelt vergeben - Das wiederspricht der Eindeutigkeit und würde einem auf der Sozialversicherungsnummer als Primärschlüssel basierenden System ziemliche Probleme bereiten.

Üblicherweise wird eine fortlaufende Zahl (auto increment) als primary key hergenommen.

Referenzielle Integrität: Du kannst zwischen zwei Tabellen eine Verknüpfung herstellen. Zb. Tabelle Zeitung und Tabelle Artikel. Dh. Ein oder mehrere Artikel werden einer Zeitung zugewiesen (1 zu n Verbindung). Referenzielle Integrität bedeutet zB.:

  • Das du keinen Artikeldatensatz für eine Zeitung anlegen kannst, die nicht in der Tabelle Zeitung vorhanden ist.
  • Oder dass alle zu einer Zeitung gehörenden Artikel gelöscht werden, wenn du den zugehörigen Zeitungsdatensatz löscht (Das aber nur, wenn du das beim erstellen der Datenbank so geplant hast).
  • usw.

JOINS:

Es gibt mehrer Joins (je nach Datenbank):

  • Inner Joins
  • Outer Joins
  • Straight Joins

Zu allen drein wirst du locker ein paar beschreibende Artikel über Google finden. Ein kleines Beispiel (Die Zeitungen und Artikel von vorhin):

select * from newspaper n
left join article a
on n.id = a.zeitungs_id
where n.name = ‚Bildzeitung‘
order by a.date

würde dir beim vorigem Beispiel alle Artikel der Bildzeitung nach Datum sortiert liefern. Mit einem Join kannst du die Informationen von zwei Tabellen verknüpfen und ein verknüpftes Ergebnis abrufen. Ist auf jeden Fall einer der wichtigsten Mechanismen, die dir ein relationales Datenbanksystem zr Verfügung stellen kann.

mfG,

J.P.Jarolim

vielen Dank für die Hilfe, aber ganz verstanden habe ich es nicht…

Ich habe folgende Tabellen: Oelauftrag, Oelkunden, Oelprodukte

Oelauftrag hat folgende Feldnamen: Auftragsnummer, Kundennummer, Produktkürzel, Auftragsmenge, Erledigt

Oelkunde hat folgende Feldnamen: Kundennummer, Kundenname, Kunden-PLZ, Kundenort, Kundenstraße

Oelprodukte hat folgende Felnamen: Produktkürzel, Produktname, Produktpreis

Ich verstehe diese Begriffe Datensatz etc. nicht… Kann mir jemand für Leute die keine Ahnung von den PC Begriffen irgendwie ganz einfach erklären? Ich möchte nur wissen, wo ich die Schlüssel setze bei den Tabellen und warum, ganz einfach erklärt für Grundschüler :smile:.

Das andere habe ich verstanden, nur nicht, wo ich da die Primärschlüssel setzen muss und warum…

Viele vielen Dank nochmals…

Hallo Jan,

da kommst du ja reichlich früh mit deinen Fragen…

vielen Dank für die Hilfe, aber ganz verstanden habe ich es
nicht…

da sehe ich schwarz für morgen. :smile:

Ich habe folgende Tabellen: Oelauftrag, Oelkunden, Oelprodukte

Oelauftrag hat folgende Feldnamen: Auftragsnummer,
Kundennummer, Produktkürzel, Auftragsmenge, Erledigt

Oelkunde hat folgende Feldnamen: Kundennummer, Kundenname,
Kunden-PLZ, Kundenort, Kundenstraße

Oelprodukte hat folgende Felnamen: Produktkürzel, Produktname,
Produktpreis

Ich verstehe diese Begriffe Datensatz etc. nicht…

ein Datensatz ist wie eine Karteikarte anzusehen, auf der entsprechende Daten stehen, z.B. Vorname, Name, Straße usw.

Kann mir jemand für Leute die keine Ahnung von den PC Begriffen
irgendwie ganz einfach erklären?

s.o.

Ich möchte nur wissen, wo ich die Schlüssel setze bei den Tabellen
und warum, ganz einfach erklärt für Grundschüler :smile:.

Ok, ich will es mal probieren:

Ein Primärschlüssel wird auf ein Feld gesetzt um

  1. zu verhindern, das in dem Feld doppelte Einträge entstehen
  2. dieses Feld als Verküpfungsfeld zu einer anderen Tabelle dienen soll.

Beispiel: du hast viele Kunden. Die haben unterschiedliche, oder auch gleiche Namen. Was jeder Kunde nur einmal auf der Karteikarte hat: seine Kundennummer. Die darf es nur einmal geben! Also ist die Kundennummer das Primär(Haupt)-Feld.

Tabelle:Kunden Tabelle:Artikel
**Kundennummer ------------> Kundennummer
Vorname Artikelnummer
Name Artikelbezeichnug
Straße Preis
PLZ MwSt
Ort Rabatt

Die Kundennummer in Kunden hat den Primär(Haupt)-Schlüssel, die Kundennummer in Artikel nicht, da dort ja unterschiedliche Kunden ihre Artikel gespeichert haben.

Ist nun der Primär(Haupt)schlüssel beim Kunden und in der Artikeltabelle gleich, werden nur die Artikel angezeigt, die auch zu dem Kunden mit der Kundennummer gehören.

Verstanden?

Grüße aus Essen
Wolfgang**