Primärschlüssel immer INTEGER ??

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Eupendiver
**
Beiträge: 22
Registriert: Mi, 02.03.2016 10:05

Primärschlüssel immer INTEGER ??

Beitrag von Eupendiver »

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
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Primärschlüssel immer INTEGER ??

Beitrag von Toxitom »

Hey Manny,
Geht es überhaupt als Primärschlüssel "Text (VarChar)" zu verwenden
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).

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
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Primärschlüssel immer INTEGER ??

Beitrag von RobertG »

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
Eupendiver
**
Beiträge: 22
Registriert: Mi, 02.03.2016 10:05

Re: Primärschlüssel immer INTEGER ??

Beitrag von Eupendiver »

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
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Primärschlüssel immer INTEGER ??

Beitrag von RobertG »

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
Antworten