Avatar billede JJK1988 Nybegynder
05. november 2014 - 11:25 Der er 4 kommentarer og
1 løsning

transaktion .. how to ?

Hej

Tak for de du kigger på mit spørgsmål

Jeg har i min iver på at få kodet til noget til større projekt,
kommet ud i en tvivl omkring min opbygning af min Database.

Jeg har lavet i min database en samlingstabel(tabel3) mellem tabel 1 og tabel 2.

Men er meget usikker på hvordan jeg nu skal indsætte i tabel 1 og samtidig tilføje en relation til tabel2

Tænkte Eksempel
Tabel 1 : Prøve
Tabel 2 : Projekt
Tabel 3 : samling


1 prøve kan have 0..* projekter
1 projekt kan have 1..* prøver
(* = mange)

Så vidt hvis jeg husker min lærdom rigtig så er der følgende regler på multipliciteter,
sådan at jeg oprette holder en høj normalisering.

1..* eller 0..* : Indsæt PK som FK på mange siden.
1..* eller 0..* : Tag PK fra tabel1 og tabel2 og indsæt dem i en ny sammensat-tabel (tabel3)
(PK = Primary Key. FK = Foreign key)


Mine spørgsmål er så når jeg HAR oprette et projekt,
også vil tilføje en sample -

Hvad tænker folk om designet af Databasen? Er der en bedre måde at gør det på?
hvordan gør jeg så? Har hørt en transaktion kan klare det?


Tak fordi du læste mit spørgsmål, håber du kan hjælpe.
Avatar billede arne_v Ekspert
05. november 2014 - 15:17 #1
Hvis du har en M:M relation saa skal du ganske rigtigt have en samlings tabel.

Det er helt normalt.

Og naar du skal indsaette saa skal du lave 2 eller 3 INSERT.

Og det er en rigtig god ide at putte de 2 elelr 3 INSERT i en enkelt transaktion.
Avatar billede JJK1988 Nybegynder
06. november 2014 - 13:44 #2
Vil det sige at jeg skal lave en insert der indsætter data på min sample, en insert på mit projekt også en insert hvor indsætter ID fra de 2 i samlingstabellen?
Avatar billede arne_v Ekspert
06. november 2014 - 15:12 #3
Ja.

I en enkelt transaktion.
Avatar billede JJK1988 Nybegynder
17. november 2014 - 11:23 #4
Det er lige sat i hold da der er kommet noget andet i vejen, desværre. Så vælger bare at lukke den.
Avatar billede arne_v Ekspert
18. november 2014 - 04:17 #5
Hmmmmmmm
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