Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Definition "Schlüssel" in einer Datenbank (https://www.delphipraxis.net/82709-definition-schluessel-einer-datenbank.html)

alzaimar 19. Dez 2006 13:47

Re: Definition "Schlüssel" in einer Datenbank
 
Reinhard: Ich verstehe immer noch nicht, was du mir sagen willst. Offenkundig ignorierst oder mißverstehst Du mich. Da ich mich mehrfach klar geäußert habe, bleibt nur ersters.

Ich denke auch nicht kompliziert, sondern zitiere eigentlich nur, was nunmal eine Tatsache ist: Nämlich wie eine DB intern funktioniert. Dafür kann ich Nichts.

Ich verwende "mehrdeutige" Schlüssel auch, weil ich doch, auch wenn Du es nicht glaubst, schon mal ein Programm geschrieben habe. Ich habe auch studiert und weiss, wie man DBMS schreibt und warum die 3.Normalform etwas umständlich ist. Ich habe auch schon mal ein SQL-DBMS entwickelt, falls Dich das interessiert. Aber sonst habe ich vielleicht ja doch keine Ahnung von Softwareentwicklung, Tabellen und so.

Aber das hier ist schon grenzwertig:
Zitat:

Zitat von Reinhard Kern
...Dann enthält die Indexdatei eben 5 Einträge nacheinander, jeder besteht genau aus der Kunden-ID und der absoluten Position des entsprechenden Auftrags in der Datei.

Ich schrieb (was du so vehement als Theorie und an der Realität vorbei bezeichnet hast)
Zitat:

Zitat von alzaimar
daneben gibt es dann eine Reihe weiterer (zusammengesetzter) Schlüssel, die aber eines gemeinsam haben: Sie sind eindeutig! ... Selbst ein scheinbar mehrdeutiger Schlüssel ist intern eindeutig, weil die Datensatz-ID (Record-ID) mit abgespeichert wird. ..

Nachdem Du meine erste Frage nicht beantwortet hast
Zitat:

Zitat von Ich
Wenn Du den B-Baum (oder welche Struktur auch immer Du meinst) auf Binärebene kennst, und dann keine (logische?) Zuordnung zum Datensatz siehst, dann erkläre mir bitte, wie die DB-Engine beim Suchen nach dem 'Sekundärindex' "Müller" auf die Datensätze 1234, 5678 und 98765 kommt? Wie schafft sie das nur?

magst du vielleicht diese Frage beantworten:
Zitat:

Zitat von Ich
Wie kannst Du eine Behauptung von mir erst anzweifeln, um Sie dann selbst zu äußern?

Das einzige, was ich gewagt habe, anzuzweifeln (oh, es waren zwei Dinge) sind:
1. 'Sekundärschlüssel'. Diese Bezeichnung ist mir DBMS-technisch nicht bekannt, sondern nur Paradox-seitig untergekommen. Es tut mir leid, wenn meine Kenntnisse hier bescheiden sind.
2. 'Schlüssel' können auch mehrdeutig sein und werden zum Suchen verwendet... Hmm Vielleicht meine Ich "Index" und Du "Schlüssel" oder umgekehrt.


Zitat:

Zitat von Reinhard Kern
Auch wenn das aus deiner Sicht alles Mist ist

Wo sage ich das? Zeig mal oder sei ruhig.
Zitat:

Zitat von Reinhard Kern
allerdings hast du offensichtlich die Funktion von Datenbanken wie DBase, Clipper, Fox usw. (auch Paradox)überhaupt nicht verstanden.

Ach? Wieso habe ich diese Frickelprogrämmchen nicht verstanden?
Zitat:

Zitat von Reinhard Kern
Es waren ja auch nicht alle blöd, die schon im letzten Jahrtausend programmiert haben.

Nee, nicht Alle (ich z.B.) aber Einige schon.
Zitat:

Zitat von Reinhard Kern
Wenn ein grosser Teil der Software an der Theorie vorbei geschrieben ist, so spricht das im übrigen nicht sehr für Nutzen und Konsistenz der Theorie; dazu kommt noch, dass oft rechtliche Grundsätze dazu zwingen, von der Theorie abzuweichen,

Klar. Fresst Sch***, denn 10.000.000 Fliegen können nicht irren.
Oder: Wenn alle Windows verwenden, MUSS es ja gut sein.

Mmmppf.

Ich würde den Satz so formulieren:
Zitat:

Wenn ein grosser Teil der Software an der Theorie vorbei geschrieben ist, so spricht das im übrigen nicht sehr für Nutzen und Fähigkeiten der Programmierer; dazu kommt noch, dass oft zelebrale Grundsätze dazu zwingen, von der Theorie abzuweichen...
Reinhard: Bitte unterlasse Unterstellungen oder Behauptungen, die Du nicht belegen kannst. Das wird sehr schnell albern. Und beantworte bitte meine Fragen

Reinhard Kern 19. Dez 2006 15:03

Re: Definition "Schlüssel" in einer Datenbank
 
Hallo,

Zitat aus der aktuellen Oracle-Dokumentation:

Zitat:
A SecondaryConfig object is used to configure the secondary database. The SecondaryConfig class extends the DatabaseConfig class, and most steps for configuring a secondary database are the same as for configuring a primary database. The main difference in the example above is that the SecondaryConfig.setSortedDuplicates() method is called to allow duplicate index keys. This is how more than one Supplier may be in the same City. If this property is not specified, the default is that the index keys of all records must be unique.

For a primary database, duplicate keys are not normally used since a primary database with duplicate keys may not have any associated secondary indices. If primary database keys are not unique, there is no way for a secondary key to reference a specific record in the primary database.
Zitat Ende

Wenn Oracle das offiziell so dokumentiert, kann meine Ausdrucksweise so unsinnig nicht sein. Wer englisch lesen kann, findet im Zitat eindeutige und mehrdeutige Schlüssel erwähnt ebenso wie die deiner Meinung nach unbekannten Sekundärschlüssel. Sogar die Möglichkeit nicht eindeutiger Primaärschlüssel wird erwähnt. Vielleicht wendest du dich ja mal an Oracle und bringst deren Kenntnisse auf den neuesten Stand?

Gruss Reinhard

alzaimar 19. Dez 2006 15:28

Re: Definition "Schlüssel" in einer Datenbank
 
Den Begriff "Sekundärschlüssel" habe ich nie verwendet, und immer nur im Zusammenhang mit Paradox und der leidigen "Datenbankoberfläche" gesehen.

Alternativ zum wenig hilfreichen Oracle-Zitat einfach mal bei Wiki vorbeischauen.

Na gut, überzeugt :mrgreen: . Ich erkenne die Daseinsberechtigung von Sekundärschlüsseln außerhalb einer Paradoxtabelle ausdrücklich an und beuge mich der Fachwelt. Ich hatte ja auch nur behauptet, den Begriff nicht zu kennen, gell?

Bleiben noch die beiden bisher unbeantworteten Fragen...

marabu 19. Dez 2006 17:01

Re: Definition "Schlüssel" in einer Datenbank
 
Mit Verlaub,

ich verurteile den Begriff Sekundärschlüssel. Auch wenn auf der Wikipedia-Seite jemand eine Begriffserklärung zu geben versucht, bleibe ich bei meiner Auffassung, die ich in Beitrag #9 mit einem Zitat von Chris Date belegt habe: Sekundärschlüssel ist ein terminus technicus, der nicht aus der Relational Theory stammt. Der Versuch dort, ihn als Schwester des wohldefinierten Begriffes Primärschlüssel zu etablieren, ist hemdsärmelig. Der Autor benutzt die Beschreibung eines candidate key für einen Sortierbegriff und nennt das dann einen Sekundärschlüssel. Dieser Artikel muss zweifellos noch reifen. Ich rate euch einstweilen Primärquellen zur Begriffsdefinition heranzuziehen.

Entsetzte Grüße vom marabu

alzaimar 19. Dez 2006 17:12

Re: Definition "Schlüssel" in einer Datenbank
 
Oh. :lol: War ich mit meinem Gefühl und alterndem Wissen doch nicht allein auf weiter Flur?

Also muß ich mich nicht beugen und hinnehmen, das sich Sekundärschlüssel breit machen?

Andererseits: Lass sie doch. Wer damit glücklich(er) wird.

Aber ich kann jetzt beruhigt nach Hause gehen und die Skundärschlüssel dort lassen, wo sie sind. :mrgreen:

Peinhard 3. Jan 2007 19:10

Re: Definition "Schlüssel" in einer Datenbank
 
Hier noch etwas zum Schmunzeln aus einer Seminarbeschreibung des bfi Steiermark:

Zitat:

Grundlagen Programmierung und Datenbankdesign

Inhalt:
Grundlagen Programmierung: Programmierlogik, Konstrukte, einfache Befehle, Variablen, Operatoren, Ein-, Mehrfachverzweigungen, Schleifen, Arrays, grafische Darstellung von Programmen; Datenbank-Design: Normalisieren von Tabellen (1., 2., 3. Normalform); Beziehungen (1:1, 1:N, N:1,M:N); Primär-, Fremd-, Sekundär- und KandidatInnenschlüssel; referentielle Integrität (Quelle)
Sehr PC... :mrgreen:
.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.
Seite 3 von 3     123   

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