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.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich verstehe nicht so ganz was das sein soll.

Wenn ID 1,2,3,4,5 der Primärschlüssel sind dann sind dies Schlüsselattribute und alle anderen Werte in der Tabelle sind dann Nichtschlüsselattribute, wäre mein Verständnis so korrekt?

Ist der Fremdschlüssel in einer Tabelle dann auch ein Schlüsselattribut?

Vielen Dank

vor 4 Stunden schrieb MichaelKreil:

Wenn ID 1,2,3,4,5 der Primärschlüssel sind dann sind dies Schlüsselattribute und alle anderen Werte in der Tabelle sind dann Nichtschlüsselattribute, wäre mein Verständnis so korrekt?

Ich verstehe deine Frage nicht so richtig.

Die Schlüsselattribute identifizieren ein Tupel (= Zeile) eindeutig. Daraus wird dann der Primärschlüssel erzeugt.

vor 4 Stunden schrieb MichaelKreil:

Ist der Fremdschlüssel in einer Tabelle dann auch ein Schlüsselattribut?

Nein, ein Fremschlüssel stellt eine Relation zu einer anderen Tabelle dar. Der Fremdschlüssel hat aber die Form des Primärschlüssels der in Relation stehenden Tabelle.

In der Berufsschule wird immer versucht auf künstliche Schlüssel zu verzichten und die Identifizierung eines Datensatzes über ein oder mehrere Attribute hinzukriegen. Das sehe ich in der Praxis aber so gut wie nicht hier gibt es immer ein Feld ID und gut ist es

Auch in den IHK Prüfungen wird sowohl in der Aufgabenstellung und auch in den Lösungshinweisen häufig von einem Kombinierten PK ausgegangen. Bestes Beispiel sind hier die Verknüpfungstabellen wo die beiden FK´s als kombinierter PK genommen werden. Für die Prüfung sollte man das also drauf haben.

In realen Datenbanken lehne ich es ab den PK aus den vorhandenen Attributen zu bilden. Ich habe schon erlebt, dass Schreibweise einer eindeutige Kennung die PK war, geändert wurde. Da wurde einfach ein Bindestrich bei allen Datensätzen eingefügt und so mussten alle Fremdschlüsselverknüpfunge überarbeitet werden. Deshalb trenne ich die Daten des Kunden und die Infrastruktur der Datenbank und füge generell in jede Tabelle ne Intgerspalte als PK hinzu.

Ich weiß nicht ganz genau, was du mit ID 1,2,3,4,5 meinst. Aber gehen wir es mal durch. Eine Datenbank besteht aus einer oder mehrerer Tabellen/Relationen. In einer Relation hast du mehrere Spalten/Attribute. Nehmen wir als Beispiel die Relation "Kunde", mit den Attributen/Spalten ("KdNr", "KdName", "KdVorname", ..).

Du kannst in diese Tabelle nun reale Kunden als Datensätze eintragen. Jeder dieser Datensätze muss aber eindeutig durch einen geigneten Primärschlüssel identifiziert sein. Der Primärschlüssel besteht nun aus einem oder mehreren Attributen (Es gilt das Minimalprinzip, d. h. man nimmt nur so viele wie wirklich nötig sind).

Die Attribute, welche den Primärschlüssel ausmachen, nennt man Schlüsselattribute. Der Fremdschlüssel zählt hier, also in dieser Tabelle, nicht zu den Schlüsselattributen (der Fremdschlüssel ist aber in seiner "Heimattabelle" ein Primärschlüssel und dort bilden die verknüpften Tabellen die Schlüsselattribute).

(Im obigen Beispiel wäre KdNr ein Schlüsselkandidat, d. h. es würde sich als Primärschlüssel eignen. Es handelt sich hierbei um ein künstlich erzeugtes Attribut, also einen  "künstlichen" Schlüssel, ein sogenanntes  Surrogat.)

Am 21.10.2022 um 16:34 schrieb gabrielinc:

Die Attribute, welche den Primärschlüssel ausmachen, nennt man Schlüsselattribute. Der Fremdschlüssel zählt hier, also in dieser Tabelle, nicht zu den Schlüsselattributen (der Fremdschlüssel ist aber in seiner "Heimattabelle" ein Primärschlüssel und dort bilden die verknüpften Tabellen die Schlüsselattribute).

Was ist denn, wenn ich der Tabelle ein Attribut als Fremdschlüssel (foreign key) deklariere:

CREATE TABLE Test (
    ID int NOT NULL,
    PRIMARY KEY (ID),
);

CREATE TABLE Test2 (
    ID int NOT NULL,
    TEST_FK int NOT NULL,
    PRIMARY KEY (ID),
    FOREIGN KEY (TEST_FK) REFERENCES TEST(ID)
);

 

1960252033_Bildschirmfoto2022-10-24um6_05_02PM.png.08816e1edc4b2c3fe5919b92f13301d5.png

 

Ist "TEST_FK" dann nicht auch ein Schlüsselattribut?

Nein, denn die Schlüsselattribute sind die Attribute, die in ihrer Gesamtheit die Datenzeile eindeutig identifizieren. Sprich, den Primärschlüssel bilden. Du schreibst aber selber

vor 6 Stunden schrieb pr0gg3r:
    PRIMARY KEY (ID),

 

und definierst damit ID als einzigen Schlüsselattribut.

Oder einfacher ausgedrückt: Was in der Klammerung steht, sind die Schlüsselattribute.

Fremdschlüssel definieren nicht eindeutig eine Datenzeile, sondern sie sind ein Verweis auf eine andere Tabelle. Sie haben aber in der Regel die Form der Schlüsselattribute der auf die verwiesenden Tabelle.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

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.