Реализиране на многостойностен атрибут в MySQL
Здравейте на всички!
Имам следното питане, можете ли да ме насочете към литература в интернет където да описано как да се създаде многостойностен атрибут в MySQL база данни?
Трябва ми за да реализирам база от данни, в която да се съдържа на например следното:
1.Име на филм
2.Режисьор
3.Година на издаване
4.Актьори
Като може да се даде възможност на потребителя да въвежда например 1, 2, 3 и т.н актьори и режисьори. Само, че искам да се спазва правилото в едно поле от таблицата да се съдрържа само една стойност (т.е. да нямам поле Actors, в което да са разделени със запетая различните актьори и след това чрез клауза LIKE (или подобна) да ги извличам от полето) т.е. всеки актьор да е записан в отделно поле.
П.С. Питам ви защото не мога да дефинирам как да запиша многостойностен атрибут на английски (а пък знам, че тука се навъртат и спецове :)) , това което ми дойде на ума multivalue attribute не върна никакъв читав резултат в google.
Re: Реализиране на многостойностен атрибут в MySQL
За така зададения въпрос си правиш 2 таблици:
Табл. 1: Филм, Режисьор, Номер на филма*
Табл. 2: Актьор, Номер на филма
Така за всеки актьор записваш в кой филм играе.
На практика нещата би трябвало да са в 3 таблици:
Табл. 1: Филм, Режисьор, Номер на филма*
Табл. 2: Актьор, Номер на актьора*
Табл. 3: Номер на филма, Номер на актьора
Табл. 3 служи за връзка кои актьори в кои филми играят (може един актьор да играе в много фими, както и в един филм играят много актьори). Отбелязаните с * полета се наричат първичен ключ и служат за идентифициране на филма/актьора.
Това, което търсиш като информация се нарича "релационна база данни", "връзка много към много", "релации".
Re: Реализиране на многостойностен атрибут в MySQL