06. december 2008 - 13:19Der er
9 kommentarer og 2 løsninger
Et teoretisk spørgsmål
Et teoretisk spørgsmål:
Vil man bruge transaction i følgende eksempel eller ville det være nok at klare i SQL(med ”IF EXIST()…..”)?
Man har en e-handelsside hvor en kunde tilføjer vare til kurv hvilket betyder der bliver oprettet en række i en ordretabel i databasen med en fremmednøgle over til varen.
I nøjagtige samme splitsekund sletter backendbruger varen fra databasen dette betyder at fremmednøglen i ordretabellen peger på en række som ikke eksisterer.
if exist kan godt benyttes til at tjekke om en række eksistere.
ps. hvis du har oprettet relationer mellem tabellerne så kan din backend bruger ikke bare slette rækken uden at få en fejl! dvs. så skal den vare først slettes fra ordretabellen ellers får du en fejl.
Lige det sidste langt ude "dumme" teoretiske spørgsmål.
Jeg går ud fra at der ikke er noget som hedder ”admin samtidig med web shopper” eller?. Jeg mener hvordan fungere sådan en database egentlig: tager den en sqlkommando ad gangen eller samtidig??
Den er nødt til at lave en intern låsning som sikrer den referentielle integritet.
Det er ikke muligt at: admin sletter i vare & web shopper indsætter i ordre og at man derved ender i en situation hvor den referentielle integitet ikke er opretholdt.
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.