Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#8

AW: Datenbankschema - Tabellenverknüpfung

  Alt 17. Mär 2021, 14:18
Könnte man weglassen.

Wenn man das Programm aber mal ausbauen will, um damit auch CDs, DVDs, VHS-Vidokassetten (wir sind ja schon was älter), Musiknoten und was sonst noch ... verwalten will, dann könnte man diese Tabelle erweiteren und anhand der Auswahl dort auf unterschiedliche Programmteile verzweigen, könnte aber ggfls. auch Verknüpfungen unter den Tabellen zu den verschiedenen Themenbereichen erstellen. Z. B.: Haben wir zu dem Titel xy auch die passenden Noten und auf welchen CDs ... ist er ebenfalls zu finden, jedenfalls ist er in dem Liederbuch im Regal a, Fach b, sowie als MusicXML ... vorhanden.

Ok: Wäre dann erstmal nur Spielerei, aber wer weiß, was noch daraus wird.

Ließe sich ggfls. dann später "nachmodelieren". Momentan jedenfalls absolut entbehrlich.

Die ISBN ist eine Nummer und kein String (fällt mir gerade noch so ein). Es gibt sie in zwei Varianten, als 10-stellige Zahl oder als 13-stellige Zahl. String 42 ist da irgendwie seltsam.

https://de.wikipedia.org/wiki/Intern...dardbuchnummer

Die ISBN 10 ist die ISBN 13 abzüglich der ersten drei Ziffern zuzüglich der Neuberechnung der Prüfziffer an der letzten Stelle. Genaugenommen handelt es sich hier um eine Redundanz. Aus ISBN 13 bekommt man über definierte Regeln immer ISBN 10. Persönlich würd' ich nur die ISBN 13 speichern. Aus ISBN 13 bekommt man im Bedarfsfall immer ISBN 10. Ob man aus ISBN 10 immer auf die führende 978 bzw. 979 der ISBN 13 zurückschließen kann, weiß ich nicht.

Delphi-Quellcode:
{als reine Ziffernfolge} Copy(ISBN13,4,9) = Copy(ISBN10,1,9)
{nach ISO formatiert} Copy(ISBN13,4,14) = Copy(ISBN10,1,12)
Die Bindestriche, Leerzeichen, ... in den Nummern sind was für die Menschen, die das dann ggfls. besser lesen können, aber eigentlich nicht für die Abspeicherung erforderlich.
Zumal: Wenn man die Bindestriche korrekt setzen will, so sind sie abhängig davon zu setzen, zu welchem Land, zu welcher Gruppennummer, zu welchem Verlag sie gehört. Der Rest ist dann die Nummer des Titels, gefolgt von der einstelligen Prüfziffer. Bei der Beachtung der Formatierregeln für die Anzeige, wird eine ISBN 13 17 Zeichen lang. Wenn man dann noch das ISBN mit speichert, kommt man auf 22 Zeichen. Beim Speichern der Bindestriche muss man natürlich String als Datentyp wählen.
  Mit Zitat antworten Zitat