Avatar billede prom Nybegynder
01. september 2002 - 20:35 Der er 4 kommentarer og
1 løsning

Foreign key i MySql

Er det rigtigt at MySql ikke understøtter foreign keys (fremmednøgler)?

Hvis ja, hvorfor?

prom.
Avatar billede disky Nybegynder
01. september 2002 - 20:38 #1
ja, fordi de tror det giver dårlig performance.

Hvilket er lidt spøjs, eftersom Oracle understøtter det, og den er hurtigere.
Avatar billede prom Nybegynder
01. september 2002 - 22:11 #2
Disky:
Kan MySql så bruges til noget som helst seriøst? Er MySql overhodet en relations database?
For at data skal være persistente, må et felt der er fremmednøgle i en anden tabel, jo aldrig ændre sig... eller hvad... Opfrisk lige min relations database teori...

Kan du anbefale at bruge MySql, eller har du et andet produkt du sværger til... sådan lidt ligesom Tomcat vs Resin :)
Det må gerne være gratis.

prom.
Avatar billede disky Nybegynder
02. september 2002 - 07:36 #3
prom:
Selvfølgelig understøtter MySQL keys, MEN ikke foreign keys til at sikre data integritet.

Lad os sige du har 2 tabeller, hvor tabel A har en foreign key i tabel B.
Så forsøger du nu at slette en post i Tabel B, som en post i tabel A har en reference til, hvis MySQL havde understøttet det, havde det IKKE været muligt at slette posten i tabel B. Men det er MySQL totalt ligeglad med.

MySQL kan sagtens bruges til seriøse ting, så længe man ikke skal bruge avancerede database ting så som, stored procedures, triggers, views, foreign keys osv.

Så om man vil bruge MySQL er en vægtning af om man kan undvære disse ting eller ej, jeg bruger den selv, og kender flere store databaser der kører på MySQL, f.eks. flere dagblades artikel database. Men til f.eks. finansverdenen ville jeg ALDRIG bruge den, men derimod DB2 eller Oracle.

Hvis du vil have et gratis produkt som har de avancerede ting, er gratis, men underligt nok ikke særligt udbredt skal du kigge efter Postgres SQL, som oftest er en del af en standard linux installation.

p.s. Tomcat er noget lort, det er MySQL ikke :-)
Avatar billede prom Nybegynder
02. september 2002 - 10:31 #4
Prøv at se her: http://www.mysql.com/doc/en/SEC447.html

Med tabeller af typen innodb, er det åbenbart muligt at bruge foreign keys i MySql. Nu skal jeg bare lige finde ud af hvad innodb er for en fisk.

prom.
Avatar billede disky Nybegynder
02. september 2002 - 10:56 #5
Det var sgu da også på tide :)

Mange tak for tippet, så mangler vi bare den version ikke længere er beta.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester