Autor Beitrag
cscp
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: So 09.01.05 23:22 
hallo...
ich hab hier mal ne datenbank entworfen... im paradox system.... kann mal jemand checken ob die so wie sie ist vernünftig aufgebaut ist und der 3. normalform entspricht??
hier bitte datei runter laden... da steht alles drinne...
danke!

www.abi2005-gymsta.de/db.xls

jeweils das id ist der primary key...

danke!!
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Mo 10.01.05 00:22 
hallo cscp!

dein entwurf sieht ja schon ganz brauchbar aus - nur ein paar kleinigkeiten solltest du nochmal überdenken:

beim autor solltest du 2 getrennte felder für vor- und zuname vorsehen. du wirst dir beim suchen leichter tun

wieso brauchst du in der tabelle 'books' einen verweis auf einen drucker?

in der tabelle 'lending' würde ich zusätzlich zum verleihdatum und das voraussichtliche rückgabedatum erfassen. somit hast du die möglichkeit, 'ewig' verliehene bücher zu finden

lässt sich die ticket_nr nicht gleich in die 'lending'-tabelle integrieren?
wenn ich die struktur richtig interpretiert habe, dann bekommt man ein ticket, wenn man ein buch ausleiht

bei den 'members' würde ich die felder anrede, titel und ortsteil aufnehmen - solltest du ihnen eine nachricht zukommen lassen wollen, brauchst du das bei der anschrift

zusätzlich würde ich eine tabelle mit den postleitzahlen und orten aufnehmen und in der members-tabelle nur eine PLZ_ID mitführen, da bestimmt viele mitglieder im selben ort wohnen

vielleicht wäre ein memo-feld angebracht, um kurznotizen zu den einzelnen mitgliedern vermerken zu können... zb: achtung: macht immer eselsohren in die bücher ;)

bei der tabelle 'printers' verstehe ich den hintergrund nicht, wofür sie gut sein könnte

Zitat:
jeweils das id ist der primary key

no na! ich hatte auch nicht angenommen, dass sich im feld ID memos befinden könnten ;)

na dann viel spass beim umsetzen deines entwurfes!

mfg, stefan
cscp Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 49



BeitragVerfasst: Mo 10.01.05 13:40 
vielen dank für deine hilfe! aber was hat es eigentlich mit den secondary keys auf sich? sollte ich noch noch sekundäre indizies machen? was bringen die bzw. wofür brauch ich die und wären sie hier sinnvoll?
danke!

achja und sorry: printer sollte eigentlich publisher also verlag heißen...
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Mo 10.01.05 17:41 
bitte, bitte, keine ursache! ;)
ok, wenn du 'publisher' meintest und nicht printer, dann versteh ich auch den sinn dahinter.

- primary indizes dienen zum eindeutigen identifizieren & ansprechen eines datensatzes
und in gewissen sinne auch um die tabelle in einer vorgegebenen reihenfolge anzeigen zu können

- secondary indizes zum anzeigen der datensätze in einer bestimmten reihenfolge
(zb sortiert nach zunamen, isbn_nr, usw) und zum schnelleren zugriff auf den datensatz.
die db-engine braucht nicht alle einträge der tabelle mit dem suchbegriff zu vergleichen, sondern verwendet dazu die viel kleinere index-datei.

aber wende die secondary indizes mit maß & ziel an, denn du erkaufst dir eine schnellere anzeige mit einem langsameren eintragen der datensätze in die tabelle. zumindest deine sekundaren ID-felder mußt du auf alle fälle indizieren, sonst klappt die verknüpfung nicht.

und verwende stets 'gewartete' indizes, das erspart dir die fehlermeldung, dass der von dir gewählte indizes nicht mehr gültig sei. falls diese meldung, wider erwarten, doch auftauchen sollte, dann einfach die indizes löschen & neu erstellen.

mfg, stefan