Hallo,
nachdem ich einige erste Schritte mit Base (OOo 2.2.0) hinter mir habe und versucht habe mir mit Hilfe der Beschreibungen im Forum zu helfen, stehe ich nun doch auf dem Schlauch.
Würde mich sehr freuen, wenn mir jemand vom Schlauch helfen würde.
Wenn ich eine neue Tabelle ohne Primärschlüssel in Base anlegen, dann kann ich in die Tabelle keine Daten eingeben. Laut einiger Postings soll dies daran liegen, daß ich beim Anlegen der DB ausgewählt habe, daß die DB registriert werden soll. Wenn ich dies nicht auswähle, kann ich die Tabelle aber auch nicht mit Daten füllen.
Vergebe ich jedoch beim Anlegen der Tabelle einen Primärschlüssel, dann kann ich Daten eingeben? Wo ist da der Sinn des Primärschlüssels?
Wenn ich nun bei einer bereits angelegten, aber leeren Tabelle versuche nachträglich einem Feld einen Schlüssel zuzuordnen, dann erhalte ich die Fehlermeldung "Warnung. Die Spalte feld1 konnte nicht geändert werden. Soll sie statt dessen gelöscht und das neue Format angehängt werden"?
Unterscheidet sich die Verwendung des Primärschlüssels in Base so sehr von jener in z.B. MS Access oder MySQL? Schließlich muß ich dort auch nicht eine Schlüssel anlegen, damit ich Daten eingeben kann.
Danke für jeden Hinweis & Tipp.
Stefan
Grundlegende Frage zur Verwendung von Primärschlüsseln
Moderator: Moderatoren
-
- **
- Beiträge: 23
- Registriert: So, 22.04.2007 14:07
-
- Beiträge: 6
- Registriert: Mi, 02.05.2007 13:00
Hallo Stefan,
Ein Primärschlüssel ist der einzige eindeutige Kennzeichen zur Identifikation des Datensatzes. In relationalen Datenbanken werden die Datensätze intern nicht "untereinander" gespeichert, so dass sie eine eindeutige Zeilennummer haben - insofern braucht man andere Kriterien.

Du könntest auch folgendes Versuchen: Die ganze Tabelle kopieren (in der normalen Base-Ansicht ) und neu einfügen. Dann wird in der Regel ein Dialog angezeigt, cer alle Spalten darstellt und Dir die Möglichkeit biertet, einzelne nicht zu übernehmen etc. Dabei kannst du dann meist auch eine vorhandene Spalte als Primärschlüssel definieren
), macht aber dennoch Sinn. Access indiziert intern automatisch - und belastet den Nutzer nicht mit solchen "Kleinigkeiten" 
Bei relationalen DB aber ist das Verhalten gleich.
Viele Grüße
Thomas
Der erste Satz ist korrekt, der zweite nicht. Um Daten eingenen zu können, brauchst du eine Primärschlüssel - das ist aber unabhängig von der Registrierung oder ähnlichem.Wenn ich eine neue Tabelle ohne Primärschlüssel in Base anlegen, dann kann ich in die Tabelle keine Daten eingeben. Laut einiger Postings soll dies daran liegen, daß ich beim Anlegen der DB ausgewählt habe, daß die DB registriert werden soll. Wenn ich dies nicht auswähle, kann ich die Tabelle aber auch nicht mit Daten füllen.
Ein Primärschlüssel ist der einzige eindeutige Kennzeichen zur Identifikation des Datensatzes. In relationalen Datenbanken werden die Datensätze intern nicht "untereinander" gespeichert, so dass sie eine eindeutige Zeilennummer haben - insofern braucht man andere Kriterien.
Das ist sicher noch eine Schwäche von Base - man kann aber damit lebenversuche nachträglich einem Feld einen Schlüssel zuzuordnen, dann erhalte ich die Fehlermeldung

Du könntest auch folgendes Versuchen: Die ganze Tabelle kopieren (in der normalen Base-Ansicht ) und neu einfügen. Dann wird in der Regel ein Dialog angezeigt, cer alle Spalten darstellt und Dir die Möglichkeit biertet, einzelne nicht zu übernehmen etc. Dabei kannst du dann meist auch eine vorhandene Spalte als Primärschlüssel definieren

Nein, nicht wirklich. Access ist da sicher eine Ausnahmen - dort ist das nicht nötig (bei DBase übrigens auch nichtUnterscheidet sich die Verwendung des Primärschlüssels in Base so sehr von jener in z.B. MS Access oder MySQL


Bei relationalen DB aber ist das Verhalten gleich.
Viele Grüße
Thomas
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
-
- **
- Beiträge: 23
- Registriert: So, 22.04.2007 14:07