Habe in meiner DB eine Tabelle mit Lokomotiven und Wagen. Die Tabelle hat natürlich einen Primärschlüssel (INTEGER)
In dieser Tabelle ist auch eine Spalte mit der Bauart der Loks, z.b. 'BR 220', 'BR 01' usw. als "Text (VarChar)" vorhanden.
Ich will diese Tabelle mit einer anderen Tabelle "Technische Daten" verbinden.
Als Primärschlüssel sollte dann aber die Bauart der Lok zu finden sein, also als "Text (VarChar)" z.B. 'BR 220'.
Geht es überhaupt als Primärschlüssel "Text (VarChar)" zu verwenden oder muß es immer "INTEGER" sein ??
mfG
Manni Bartsch
Primärschlüssel immer INTEGER ??
Moderator: Moderatoren
-
- **
- Beiträge: 22
- Registriert: Mi, 02.03.2016 10:05
Re: Primärschlüssel immer INTEGER ??
Hey Manny,
Allerdings benötigst Du für Deine Tabellenverbindung keinesfalls die Primärschlüssel der Tabellen - Du kannst doch beliebige Spalten verknüpfen.
Also, wo ist die Problematik?
Viele Grüße
Tom
Das kommt auf Deine DatenbankManagement System an. Die "großen" Datenbanken können so etwas, üblich ist so etwas aber nicht. Nutzt Du die eingebaute HSQLDB dann ist der Primärschlüssel immer einen ganze Zahl (Int 10).Geht es überhaupt als Primärschlüssel "Text (VarChar)" zu verwenden
Allerdings benötigst Du für Deine Tabellenverbindung keinesfalls die Primärschlüssel der Tabellen - Du kannst doch beliebige Spalten verknüpfen.
Also, wo ist die Problematik?
Viele Grüße
Tom
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Re: Primärschlüssel immer INTEGER ??
Hallo Manni,
auch in der internen HSQLDB ist als Primärschlüssel ein Textfeld möglich. Das Integer-Feld wird lediglich für den AutoWert genutzt. In dem ersten Beispiel des Handbuches ist so der Schlüssel für Sportarten z.B. gesetzt: Maximal 5 Buchstaben, vielleicht geht's auch kürzer. Schau Dir einfach die Einführung zum Handbuch an.
Da die Bauart der Lok ein eindeutiges Zeichen ist steht dem nichts im Wege, dies auch als Primärschlüssel zu nutzen.
Gruß
Robert
auch in der internen HSQLDB ist als Primärschlüssel ein Textfeld möglich. Das Integer-Feld wird lediglich für den AutoWert genutzt. In dem ersten Beispiel des Handbuches ist so der Schlüssel für Sportarten z.B. gesetzt: Maximal 5 Buchstaben, vielleicht geht's auch kürzer. Schau Dir einfach die Einführung zum Handbuch an.
Da die Bauart der Lok ein eindeutiges Zeichen ist steht dem nichts im Wege, dies auch als Primärschlüssel zu nutzen.
Gruß
Robert
-
- **
- Beiträge: 22
- Registriert: Mi, 02.03.2016 10:05
Re: Primärschlüssel immer INTEGER ??
Hi,
hat sich glaub ich geklärt!!
Der Primärschlüssel kann auch Text(VarChar) sein. Ich kann nur keine "Beziehungen" erstellen.
Man kann aber trotzdem Verbindungen zwischen Tabellen erstellen.
Ich arbeite jetzt damit !!
Manni
hat sich glaub ich geklärt!!
Der Primärschlüssel kann auch Text(VarChar) sein. Ich kann nur keine "Beziehungen" erstellen.
Man kann aber trotzdem Verbindungen zwischen Tabellen erstellen.
Ich arbeite jetzt damit !!
Manni
Re: Primärschlüssel immer INTEGER ??
Hallo Manni,
auch Beziehungen sind problemlos möglich. Beliebter Fehler hier: Die zu verknüpfenden Felder sind zwar beide Varchar, aber die Textlänge bei den Feldern ist unterschiedlich. Beziehungen funktionieren nur mit gleichem Feldtyp und gleicher Länge, da sonst ja ein Feld etwas aufnehmen könnte, was in dem anderen Feld gar nicht möglich wäre.
Gruß
Robert
auch Beziehungen sind problemlos möglich. Beliebter Fehler hier: Die zu verknüpfenden Felder sind zwar beide Varchar, aber die Textlänge bei den Feldern ist unterschiedlich. Beziehungen funktionieren nur mit gleichem Feldtyp und gleicher Länge, da sonst ja ein Feld etwas aufnehmen könnte, was in dem anderen Feld gar nicht möglich wäre.
Gruß
Robert