On Wed, 17 Sep 2003 15:19:35 +0200, J. Nielsen wrote:
> Når jeg
> tidligere har implementeret noget lignende i Access, har jeg let kunnet
> oprette relationer, eks. (1-mange), (mange-mange). Umiddelbart kan jeg ikke
> se, hvordan det kan lade sig gøre med mySQL (eller SQL i det hele taget).
Jeg forstår ikke, hvad det er, du savner. Savner du et grafisk interface?
> Så forstår jeg, at oid i orgaddress refererer til oid i organisation. Men
> hvad får jeg egentlig ud af det? Hvilken type reference er det egentlig, jeg
> har oprettet?
I MySQL skal du vælge en særlig tabeltype for dine tabeller, for at
REFERENCES får nogen virkning, se
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#CREATE_TABLE
Hvis du til det udbryder "Jamen det er jo smadder forvirrende!" eller
"Det er jo noget biks!", så har du ret.
> Jeg skal vel selv (vha. PHP-kode) sikre, at den referentielle integritet
> bliver overholdt - eller hvad? Hvis jeg skal, så kan jeg ikke lige
> umiddelbart se, hvad det er referencen bidrager med.
Den bidrager ikke med noget, hvis dine tabeller ligger i en MySQL-database
og ikke er af InnoDB-typen.
> Desuden har jeg haft svært ved at finde frem til informationer på nettet om
> brugen af referencer i mySQL.
Overskriften for MySQL er "Hastighed frem for korrekthed", og i lang tid
har MySQL slet ikke haft fungerende integritetschecks i stil med det, du
ønsker. Det er nok forklaringen på, at det er så dårligt beskrevet.
> Koder I bare det hele selv i eksempelvis PHP?
Personligt vil jeg sige: Nej, vi vælger det rette værktøj til den rette
opgave: Hvis man ønsker understøttelse af REFERENCES, CHECK, osv.,
vælger man et andet DBMS end MySQL, fx. PostgreSQL (som kan
siges at have agendaen "Korrekthed før hastighed").
--
Greetings from Troels Arvin, Copenhagen, Denmark