Beziehungen Personenrecords - URLs
Ohne Wissen über die Datenbank oder das Schema ist natürlich leicht rumhuren, aber ich habe in einem Chat mit erle den Eindruck gewonnen, dass die Beziehung Personenrecord -> URLs als 1:n angedacht ist und halte das für nicht zu Ende gedacht.
Da es ja nur um Behauptungen über Beziehungen und (Echtlebens)personen geht, sollte mMn für URLs und Personen-Records eine n:m Beziehung vorgesehen werden. Dass Person X und URL Y irgend etwas miteinander zu tun haben ist genauso eine Behauptung wie dass Person X und Person Y Schleimhautkontakte pflegen. Da es unrealistisch ist, eine 1:1-Beziehung zwischen Reallebenspersonen und Personenrecords vorzusehen, wird es relativ schnell dazu kommen, dass unterschiedliche Leute eine Person mehrfach in der DB eintragen wollen, der eine mit bürgerlichem Namen, der andere mit Nickname, der dritte als "fickstück 2010-11-23" als Erinnerungshilfe. Dadurch kann auch eine URL mehreren Records zugeordnet werden. Ich glaube, es ist wichtig, dass das DB-Design das ermöglicht und z.B. in SQL URLs als eigene Tabelle führt.
Und das ist der relevante Teil des Chats: erlehmann: die datenbank-person hat eine liste von namen und urls. das ist austauschbar, namen als informelle bezeichner, urls als formelle
iSnow: irgendwie kommt mir die Rolle der URL da komisch vor, entweder verstehe ich das noch nicht, oder es nicht nicht zuende gedacht. ich glaube, ich würde das weiter normalisieren und URLs als eigene Tabellen (in SQL) vorsehen dann kann eine URL auch eine n:m Relation auf Personen-UIDs haben und das hat hübsche Konsigwensen. ja, dann kann jemand "nicknameX" eintragen und mit einer URL versehen und jemand anderes kann "PersonX" mit der gleichen URL versehen und hey presto! hat man die Möglichkeit, zu dataminen, dass nicknameX und PersonX möglicherweise in der Realwelt das gleiche sind.
erlehmann: dann müsste aber diese behauptung auch noch ein eigener typ sein.
Das Datenbankschema befindet sich hier: https://github.com/erlehmann/fickileaks/blob/master/pylons/fickileaks/model/entities.py