Jump to content
php.lv forumi

atdalīt datus? (3NF?)


anonīms

Recommended Posts

Jautājums sekojošs.

Ir nepieciešama tabula, kur tiks pieglabātas komandas un jautājums ir par kollonu `uid` (šajā gadījumā, kas izveidoja komandu tb kapteinis)


Vai labāk ir to visu darīt vienā tabulā (kollona `uid`), vai tomēr jauna tabula `team_captains` ar `uid` un `team_id`? (Kas, ja nemaldos skaitās 3NF princips) 

Edited by anonīms
Link to comment
Share on other sites

Ir lietotāji.

 

 

id
first_name
last_name

 

Ir komandas.

 

id
name
captain_id

 

Ir lietotāji komandā ( <-- šitas sux , nezinu kā tur pareizi viņu raksta :D )

 

 

id
team_id
user_id

 

Šādā veidā, lietotājs varēs būt 1 vai vairākās komandās.

Veidojot komandu, tiek izveidots tās nosaukums + attiecīgi captain_id ir lietotāja id, kurš ir šīs komandas kapteinis.

 

GOT IT?

Link to comment
Share on other sites

 

Ir lietotāji komandā ( <-- šitas sux , nezinu kā tur pareizi viņu raksta :D )

 

 

id

team_id

user_id

 

nu šis man tāpat skaidrs ir, man vairāk interesē 

 

 

Ir komandas.

 

id

name

captain_id

 

itkā jau tāds sīkums vien ir, bet tomēr vai nebūtu labāk to pašu `captain_id` aizvākt no `komandas` tabulas un `komandas_lietotaji` pielikt kaut vai to pašu kollonu papildus `captain` tinyint (0/1), kur arī glabāsies kapteinis. Šis viss ir tīri intereses pēc, jo gribu zināt cik liela nozīme ir tam 3NF kā tādam. 

Link to comment
Share on other sites

Nu stipri šaubos. ka tev būs gazilijons lietotāji.

Kavackijs man piesējās, tapēc "captain_id" pie izveidošanas nomaini uz "owner_id" vismaz, kurš to komandu ir izveidojis.

Un tad vari pie many-to-many fēčas, like klāt "role" papildus tabulu, kur attiecīgi pieseiņ klāt konkrēto "pozīciju" komandā.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...