Канали и техните линкове

sentenello

Registered
Здравейте,
Мисля да си направя таблица в базата данни и в нея да записвам кой мач по кой канал ще го дават, но и мисля да слагам линкове към livestream и затова реших да се допитам до вас как ще бъде най-добре, за да не се бави в бъдеще заявката.

Моята идея е да направя таблица с полета
id,matchid, kanal, link
и информацията ще стане нещо от рода на

Код:
1 1   kanal1   bnt.bg
2 1   kanal2  
3 1   kanal3
4 1   kanal4
5 1   kanal5
6 1   kanal6   tv.com
и т.н.

Моят въпрос към вас е: Така ли е най-добре да се направи или има и друг вариант който за в бъдеще няма да ми бави заявките (сайта)?
 
по - добре в една таблица всеки канал да си има ид и в другата таблица да ти е
1 1 ид на канала
2 1 ид на канала
[/i]
 
Незнам дали моето мнение е от значение , но за да не ти пренебрегвам темата , ще си кажа мнението.

Според мен така е най-добре да се направи.
Опростено ще е , не виждам кое да бави заявките.
Стига да не слагаш някакви проверки , но като гледам то няма какви проверки да ти трябват. ;)
 
Най-добре е по следния начин:

Примерно:

Код:
matchid | kanal | link

С тези трите си перфектен.
 
sentenello каза:
Здравейте,
Мисля да си направя таблица в базата данни и в нея да записвам кой мач по кой канал ще го дават, но и мисля да слагам линкове към livestream и затова реших да се допитам до вас как ще бъде най-добре, за да не се бави в бъдеще заявката.

Моята идея е да направя таблица с полета
id,matchid, kanal, link
и информацията ще стане нещо от рода на

Код:
1 1   kanal1   bnt.bg
2 1   kanal2  
3 1   kanal3
4 1   kanal4
5 1   kanal5
6 1   kanal6   tv.com
и т.н.

Моят въпрос към вас е: Така ли е най-добре да се направи или има и друг вариант който за в бъдеще няма да ми бави заявките (сайта)?

sentello, таблицата ти по принцип не отговаря на трета нормална форма от правилата за нормализация на базата данни. А тя гласи, че

Една таблица е в трета нормална форма, ако тя се намира във втора нормална форма и всичките й полета, които не са първични или външни ключове, са взаимно независими. С други думи, нейните полета зависят само от първичния ключ.

При теб link зависи от kanal, точно затова си направи нова таблица, която да има link_id и link полета и в твоята таблица, вместо да слагаш линка, даваш link_id от новата таблица.

Или иначе таблиците ти ще станат така:

id,matchid, kanal, linк_id
link_id, link

като matchid и link_id са ти външни ключове към съответните таблици :)

Предимствата на това са, че ако bnt примерно си сменят сайта ще трябва да смениш името само на едно място, а не във всички мачове, който са ги давали по bnt. :?:
 
adrian каза:
sentenello каза:
Здравейте,
Мисля да си направя таблица в базата данни и в нея да записвам кой мач по кой канал ще го дават, но и мисля да слагам линкове към livestream и затова реших да се допитам до вас как ще бъде най-добре, за да не се бави в бъдеще заявката.

Моята идея е да направя таблица с полета
id,matchid, kanal, link
и информацията ще стане нещо от рода на

Код:
1 1   kanal1   bnt.bg
2 1   kanal2  
3 1   kanal3
4 1   kanal4
5 1   kanal5
6 1   kanal6   tv.com
и т.н.

Моят въпрос към вас е: Така ли е най-добре да се направи или има и друг вариант който за в бъдеще няма да ми бави заявките (сайта)?

sentello, таблицата ти по принцип не отговаря на трета нормална форма от правилата за нормализация на базата данни. А тя гласи, че

Една таблица е в трета нормална форма, ако тя се намира във втора нормална форма и всичките й полета, които не са първични или външни ключове, са взаимно независими. С други думи, нейните полета зависят само от първичния ключ.

При теб link зависи от kanal, точно затова си направи нова таблица, която да има link_id и link полета и в твоята таблица, вместо да слагаш линка, даваш link_id от новата таблица.

Или иначе таблиците ти ще станат така:

id,matchid, kanal, linк_id
link_id, link

като matchid и link_id са ти външни ключове към съответните таблици :)

Предимствата на това са, че ако bnt примерно си сменят сайта ще трябва да смениш името само на едно място, а не във всички мачове, който са ги давали по bnt. :?:

Това е доста добра идея, но като се замисля това което смятах аз да направя ще е най-добре както казват и @proba и @phpclown.
Ще кажа и защо.
Ако примерно бнт предават мач на левски линка може да е bnt.bg/levsi-otbor2.live
,но на следващия мач който предават бнт може линка да е bnt.bg/cska-otbor2.live, затова и варианта който ми даваш ти според мен няма да ми свърши работа, иначе ти давам+1
 

Back
Горе