Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Frage zu Primär und Fremdschlüssel

Empfohlene Antworten

Veröffentlicht

Hallo zusammen!

Ist es möglich, dass ein Fremdschlüssel in der gleichen Tabelle auch gleichzeitig der einfache (aus einem Attribut bestehende) Primärschlüssel ist???

Für Antworten wäre ich sehr dankbar!

Gruß honda

meiner Meinung tritt das nur auf, wenn du n:m-Bez. in zwei 1:n Beziehungen wandelst, sprich, wenn du statt n:m eine dritte tabelle einfügst

allerdingst hast du dann einen zusammengesetzten Schlüssel.

siehe Bild:

http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/rdbms06.gif

Hi,

wie arrayhunter schon sagte, würde das ziemlich sicher keinen Sinn machen.

Um sein Beispiel zu nehmen, müsstest du dann ja quasi in die Tabelle Liefermengen ein Feld "Lieferung" mit der ID packen, auf welche du in den anderen beiden Tabellen wieder verweisen musst.

Dann doch sinnigerweise über einen zusammengesetzten Schlüssel wie in arrayhunters" Beispiel...

Gruss

Michael

Wie meine Vorredner schon sagten, macht dies keinen Sinn.

Schon alleine deswegen nicht, weil ja dann eine 1:1 Beziehung bestehen muss,

da ja jeder Schlüssel x der Tabelle 1, welcher in der Tabelle 2 der Fremdschlüssel und Primäschlüssel sein soll, in der Tabelle 2 ja auch nur einmal vorkommen darf.

Und diese Attribute kann man mit in die Tabelle 1 aufnehmen.

Wobei man dadurch die Tabelle immer noch in der 3. NF vorliegen hat.

Sinn macht dies nur, wenn man Daten auslagern möchte, die eh selten gebraucht werden und/oder wo nur sehr wenige Datensätze diese Attribute enthalten. Dies dann aber primär nur aus Performancegründen.

Sind diese Attribute in jedem Datensatz enthalten und werden sie auch immer abgefragt, kann diese Aufteilung der Daten in zwei Tabellen eher zu Performanceeinbußen führen, da man ja immer zwei Tabellen abfragn muss, und dies auch meistens mit einem JOIN

Vielen dank erstmal für eure Antworten!

Da mich mir net sicher bin, ob ich des richtig verstanden hab und auch insgesamt sehr unsicher bin, ob ich die Aufgabe richtig gelöst hab, kopier ich hier mal meine gesamte Lösung rein, um die es geht... Vielleicht könnt ihr mir ja auch generell noch ein paar Tipps zur Bearbeitung geben.

Folgende Tabellen sollen in der 3. Normalform stehen

Fakturation

PS KundenNr PS RechnungsNr

Bestellung

RechnungsNr Bestelldatum Position ArtikelNr Gesamtpreis

Kann dieser Fremdschlüssel aus der Tabelle Fakturation hier auch gleichzeit einfacher Primärschlüssel sein?? Die Frage gilt natürlich auch analog für die weiteren Tabellen.

Artikel

ArtikelNr ArtikelName Einzelpreis

Kunde

KundenNr Vorname Nachname Str Hausnr PLZ

Wohnort

PLZ Ort

Preis

Gesamtpreis Menge Netto

Betrag

Netto Brutto

Danke schonmal im Voraus für eure Hilfe!!!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.