Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Paradox 7 - Referentielle Integrität (https://www.delphipraxis.net/166085-paradox-7-referentielle-integritaet.html)

OrgFreak 29. Jan 2012 15:27

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

Paradox 7 - Referentielle Integrität
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo zusmmen

Hab ein Problem: Bin nicht so geübt im Anlegen von relationalen DB's in Paradox 7.
Möchte einfach 5 Datenbanken, die jeweils über 1 Hauptschlüssel (Primärindex) verknüpft sind
verbinden.
Ein Foto wo ich nicht weiterkomme ist beigefügt. Weiss nicht wie der übergeordnete Schlüssel definiert wird.

Kann mir jemand weiterhelfen ?


Gruss

OrgFreak

shmia 30. Jan 2012 13:58

AW: Paradox 7 - Referentielle Integrität
 
Referentielle Integrität unter Paradox kannst du quasi vergessen,
weil eine Paradox Datenbank nur eine Ansammlung von Dateien im gleichen Verzeichnis ist.
Damit ist die Datenbank völlig ungesichert, weil man einfach Dateien (=Tabellen) löschen, umbenennen oder verändern kann.
Paradox ist schon seit Jahren tot, so dass es kaum noch Leute gibt, die dazu etwas wissen (ausser vereinzelte hardcore Masochisten).
Falls du mit deiner Delphi Version andere Datenbanken ausser Paradox und dBase öffnen kannst (sind ADO Komponenten an Bord?), solltest du umsteigen.

Uwe Raabe 30. Jan 2012 14:14

AW: Paradox 7 - Referentielle Integrität
 
Zitat:

Zitat von shmia (Beitrag 1148307)
Paradox ist schon seit Jahren tot, so dass es kaum noch Leute gibt, die dazu etwas wissen (ausser vereinzelte hardcore Masochisten).

Nur weil man sich noch mit einer veralteten Technik auskennt, muss man diese ja nicht auch noch aktuell einsetzen und ist somit noch lange kein "Hardcore Masochist"! Was glaubst du, wie froh manche Leute sind, daß ich mich noch mit Novell Netware auskenne (obwohl ich da manchmal schon sehr tief graben muss), wobei ich den letzten Server vor ich weiß nicht wieviel Jahren aufgesetzt habe. Dafür kann man dann aber auch ordentliche Stundensätze nehmen :wink:

shmia 30. Jan 2012 14:54

AW: Paradox 7 - Referentielle Integrität
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1148325)
...daß ich mich noch mit Novell Netware auskenne

Ich weiss ja nicht, wie du das machst.
Wenn ich vorne in mein Gehirn PHP, C#, Design Patterns, Phython, VMWare, ... reinschiebe, dann fällt zwangsläufig hinten MS-DOS, MC68k, Z80, Novell Netware, Paradox, BDE, usw. heraus.
Mich mit Novell Netware oder der BDE zu beschäftigen würde mir regelrechte Kopfschmerzen :gruebel: bereiten.

Uwe Raabe 30. Jan 2012 15:24

AW: Paradox 7 - Referentielle Integrität
 
Zitat:

Zitat von shmia (Beitrag 1148348)
Zitat:

Zitat von Uwe Raabe (Beitrag 1148325)
...daß ich mich noch mit Novell Netware auskenne

Ich weiss ja nicht, wie du das machst.
Wenn ich vorne in mein Gehirn PHP, C#, Design Patterns, Phython, VMWare, ... reinschiebe, dann fällt zwangsläufig hinten MS-DOS, MC68k, Z80, Novell Netware, Paradox, BDE, usw. heraus.
Mich mit Novell Netware oder der BDE zu beschäftigen würde mir regelrechte Kopfschmerzen :gruebel: bereiten.

Es fällt offenbar nicht hinten raus, es wird eben nur zugeschüttet oder komprimiert. Ich mache da auch nichts bewusst - es passiert einfach. Wenn ich mich vor einen Novell-Server setze, dann weiß ich nach zwei Minuten eben wieder, was die Einträge in der AutoExec.ncf bedeuten und was die Fehlermeldungen bedeuten, wenn ein Hal-Modul nicht startet. Ich kann eben schlecht was wegschmeißen (im Kopf) :)

OrgFreak 30. Jan 2012 17:01

AW: Paradox 7 - Referentielle Integrität
 
Hallo

Danke für Eure Antworten. Aber Ihr habt das Problem nicht verstanden. Vielleicht hab ich auch nicht ganz genau beschrieben, was ich meinte.
Vielleicht ist Referentielle Integrität nicht das richtige Stichwort.
Eigentlich möchte ich nur eine relationale Datenbank haben, welche über einen Primärschlüssel eindeutig verknüpft ist.

Also ich begann mit einer Datenbank mit 60-100 Feldern. Diese wurde aber zu gross, weil Grafikfelder dabei waren etc. (bei 1000 Datensätzen, hatte ich dann schon beinahe 2 GB des MB).
Nun möchte ich einfach die Tabelle aufsplitten, damit jeweils weniger Speicher pro Tabelle verbraucht wird.

Wieso ist Paradox tot ? Ich hab nur die Version 7. Ich kann mir nicht bei jedem Hokuspokus eine neue Software und Hardware kaufen.

Also ADO-Komponenten hab ich nicht bei der "Alten" - Delphi-Version.

Und Eure Stichwörter : PHP, Novell Netware ... sind mir nicht geläufig und bekannt !!!!

Gruss

OrgFreak

DeddyH 30. Jan 2012 17:10

AW: Paradox 7 - Referentielle Integrität
 
Nun, wenn es den Primärschlüssel bereits gibt, dann definiere Dir in den abhängigen Tabellen ein Feld vom selben Typ. Das richtest Du dann als Fremdschlüssel auf den existierenden Primärschlüssel der "Haupttabelle" ein. Wie das in der Datenbankoberfläche gemacht wird, habe ich leider vergessen :oops:
Andererseits ist das schon ein Haufen Zeugs für Paradox. Die angesprochenen ADO-Komponenten sollten bei TurboDelphi unter dbGo zu finden sein. Evtl. wäre ein Wechsel des DBMS tatsächlich eine Option? Die Express von MSSQL z.B. ist komplett kostenfrei und kommt mit Datenbanken bis 10 GB zurecht. Der Zugriff über ADO geht relativ simpel. Wäre zumindest eine Überlegung wert.

Sir Rufo 30. Jan 2012 18:10

AW: Paradox 7 - Referentielle Integrität
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1148359)
Zitat:

Zitat von shmia (Beitrag 1148348)
Zitat:

Zitat von Uwe Raabe (Beitrag 1148325)
...daß ich mich noch mit Novell Netware auskenne

Ich weiss ja nicht, wie du das machst.
Wenn ich vorne in mein Gehirn PHP, C#, Design Patterns, Phython, VMWare, ... reinschiebe, dann fällt zwangsläufig hinten MS-DOS, MC68k, Z80, Novell Netware, Paradox, BDE, usw. heraus.
Mich mit Novell Netware oder der BDE zu beschäftigen würde mir regelrechte Kopfschmerzen :gruebel: bereiten.

Es fällt offenbar nicht hinten raus, es wird eben nur zugeschüttet oder komprimiert. Ich mache da auch nichts bewusst - es passiert einfach. Wenn ich mich vor einen Novell-Server setze, dann weiß ich nach zwei Minuten eben wieder, was die Einträge in der AutoExec.ncf bedeuten und was die Fehlermeldungen bedeuten, wenn ein Hal-Modul nicht startet. Ich kann eben schlecht was wegschmeißen (im Kopf) :)

Nur weil man jetzt Auto fährt, muss man das Fahrradfahren ja nicht verlernen ;)

hoika 30. Jan 2012 20:27

AW: Paradox 7 - Referentielle Integrität
 
Hallo,

Zitat:

Möchte einfach 5 Datenbanken, die jeweils über 1 Hauptschlüssel (Primärindex) verknüpft sind
verbinden.
Das geht nicht ...

Was du meinst, sind Tabellen.
Unter Paradox ist eine Datenbank ein Verzeichnis (mit Tabellen).
Unter Paradox würde ich in der Tat pro Detailtabelle ein Feld anlegen,
dann einen Index drauf (per DBD32.Exe).
Das ganze Thema Foreign Key kannst du unter Pdx vergessen, klappt eh nicht.

Das Argument mit "kann nicht immer was neues kaufen" zieht bei mir nicht.
Ich habe bei Delphi mit D1 (+Paradox+Novell3.11 angefangen),
nach Problemen kam dann der Umstieg auf BDE/Interbase.

Auf dem freieen Markt wäre z.B. ZEOS+Firebird verfügbar.


Heiko

Bernhard Geyer 30. Jan 2012 20:32

AW: Paradox 7 - Referentielle Integrität
 
Zitat:

Zitat von OrgFreak (Beitrag 1148370)
Danke für Eure Antworten. Aber Ihr habt das Problem nicht verstanden. Vielleicht hab ich auch nicht ganz genau beschrieben, was ich meinte.
Vielleicht ist Referentielle Integrität nicht das richtige Stichwort.
Eigentlich möchte ich nur eine relationale Datenbank haben, welche über einen Primärschlüssel eindeutig verknüpft ist.

Das hat was mit Referenzielle Integrität zu tun.

Zitat:

Zitat von OrgFreak (Beitrag 1148370)
Also ich begann mit einer Datenbank mit 60-100 Feldern. Diese wurde aber zu gross, weil Grafikfelder dabei waren etc. (bei 1000 Datensätzen, hatte ich dann schon beinahe 2 GB des MB).

2 GB des MB? Festplatte oder nötiger RAM das das Programm zieht?

Zitat:

Zitat von OrgFreak (Beitrag 1148370)
Nun möchte ich einfach die Tabelle aufsplitten, damit jeweils weniger Speicher pro Tabelle verbraucht wird.

Solche Partionierung ist heut eher im Bereich nötig wenn die GB x*100GB benötigt.

Zitat:

Zitat von OrgFreak (Beitrag 1148370)
Wieso ist Paradox tot ?

Weil seit ca. 10 Jahren nichts mehr an dieser Datenbank gemacht wurde. Und in kombination mit BDE und neuen Windows-Versionen es eher einem Glückspiel gleich kommt die Datenbankdateien nicht permanent zu schrotten.

Zitat:

Zitat von OrgFreak (Beitrag 1148370)
Ich kann mir nicht bei jedem Hokuspokus eine neue Software und Hardware kaufen.

Ist auch nicht nötig. Mit Zeos gibt es z.B. ein kostenlose Alternative um z.B. auch MySQL, MS-SQL Server und andere nicht gepflegte und entwickelte DBMS zuzugreifen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz