Forum Webscript.Ru
Общие => Базы данных => Тема начата: chaif от 15 Ноября 2001, 22:19:20
-
Я сейчас стал разрабатывать базу шахматных турниров, т.е. человек, например ищет турнир, вводит что-нибудь и все ок:-)
Как я это делаю?
CREATE TABLE turnir
(
strana VARCHAR (100) NOT NULL,
gorod VARCHAR (100) NOT NULL,
sistema VARCHAR(100) NOT NULL,
site VARCHAR(100) NULL,
author VARCHAR(50) NOT NULL,
e-mail_author(100) NULL,
date_begin DATE NOT NULL,
date_end DATE NOT NULL,
phone VARCHAR(20) NULL,
comment TEXT NOT NULL,
state VARCHAR (100) NULL
)
strana - это страна проведения
gorod - город проведения
sistema - система проведения
site - сайт турнира
author - человек приславший инфу
e-mail-author - его мыло
date-begin, data-end - даты начала и конца соответственно
phone- контактный телефон
comment - дополнение
state - область
-
И в чем вапрос заключается?
-
Правильно ли я делаю? Может надо разбить эту таблицу на несколько, может поля какие-то добавить...
-
Hi.
strana, gorod, state 100 ne mnogo? Konechno esli mesta valom, to ..., t.k. ya dumayu baza ne budet bol\'shoy, i vsetaki ya schitayu mnogovato. A stranu voobshe luchshe sdelat\' spravochnikom, t.k. ya dumayu u tebya budet ne tol\'ko baza, no i interface, togda budet gorazdo udobney stranu vi\'birat\' iz spiska. Tak moz\'no sdelat\' i s drugimi polyami, gorod i state, t.e. konechno ne zapihivat\' tuda goroda i oblasti vsego mira, a delat\' tak: tot kto dobavlyaet zapis\' smotrit v spisok, esli tam net, to vpisi\'vaet ruchkami, a tvoya programma dobavlyaet dlya sleduyushego raza. Tak ti\' ubivaesh eshe odnogo zayca, pri poiske chelovek smoz\'et vi\'brat\' iz spiska, eto budet nadez\'ney!!!
A nazvaniya u shahmatni\'h turniro est\'? Esli est\' vot tebe eshe odin spravochnik!
Udachi!
-
Правильно ли я делаю? Может надо разбить эту таблицу на несколько, может поля какие-то добавить...
Что значит правильно ?
Напишите ТЗ, определите приоритит выборок, какие чаще, какие реже, почитайте о нормализации, подумайте...
Не поможет, повторите.
А потом поробуйте сформулировать (sic!) задачу.
-
Vladsu, а как сделать справочник стран?
А с городами и областями у меня идея, может выводить те, которые внесены в базу?
Спасибо за название шахматных турниров, что-то я сразу не подумал:-)
Насчет базы не знаю про ее размеры, но как мне кажется со временем должна стать большой... Если все предстоящие турниры со всех стран мира вносить:-)
-
а как сделать справочник стран?
Spravochnik - eto obi\'knovennaya tablica v kotoroy, obi\'chno, vsego dva polya ID i Name ili Discription. ID est\' Primary Key, a v osnovnoy tablice sozdaesh pole, obi\'chno s imenem nazvaniya spravochnika, kak Foren Key ... A vzyat\' spisok stran moz\'no na lyubom sayte gde est\' forma registracii. Otkri\'t\' source v Explorer\'e i skopirovat\'!
А с городами и областями у меня идея, может выводить те, которые внесены в базу?
A chto delat\' s temi kotori\'h net? Luchshe sdelat\' dve voz\'moz\'nosti vi\'brat\' iz sposka, spravochnika, i vvod ruchkami, t.e. postavit\' proverku esli net v spravochnike, to dobavit\'!
как мне кажется со временем должна стать большой...
Nu togda tem bolee neobhodimo dumat\' o razmere poley. Gde ti\' videl stranu iz 100 simvolov, ya dumayu i dvadcati hvatit!!!
I o drugih polyah podumay!!
Esli voznikaet vopros: A kak eto svyazanno s razmerom? I nakoy ... nuz\'ni\' eti spravochniki?
Otvet: K primeru u tebya tabliza "turnir" vney 100 zapisey, gde strana VARCHAR (100) itogo 100*100=10 000 Byte, a esli u tebya espol\'zuetsya vsego 10 stran ix poloz\'it\' v spravochnik, gde ID VARCHAR (3) i name VARCHAR (20) i v osnovnoy table strana VARCHAR (3), i poluchaem 3*10+20*10+3*100=530 Byte.
Chuvstvuesh raznicu!!! 10 000 <=> 530. I eto tol\'ko dlya odnogo polya i vsego 100 zapisey! Konechno eto vse utrirovanno, no ne doleko ot istini\'!
Ya rekomenduyu tebe pochitat\' kniri po poektirovaniyu DB. Esli nuz\'na doka svyaz\'is\', po mi\'lu vladsu@mail.ru, ya podkinu. No na dannom etape eto ne ochen\' vaz\'no. Kak ya sebe predstavlyayu baza dostatochno plosraya, odna osn. tab. i neskol\'ko spravochnikov. Moz\'et ya i oshibayus\' :)
-
Я считаю что если эта база действительно где-то будет работать то ёё лучше розбить на несколько таблиц і полей мало!
-
vladsu, спасибо, над размером подумаю!
Если я правильно понял справочник - это просто еще одна таблица, просто содержащая 2 поля.
Igor Dyrda, поконкретней
-
Obi\'chno 2, redko bol\'she.
ID - moz\'no sdelat\' serial ili VARCHAR (3) ili ... , chto sam zahochesh, ne dumaya chto stran budet bol\'she 999 :)
i v turnir pole strana kak ID.
a potom :
select s.name, t.pole1, t.pole2 .......
from turnir t, strana s ..........
where s.ID = t.strana .......
"........" - oznachaet drugie varianti\'!
Udachi!
-
vladsu, а почему редко больше?
-
vladsuок спасибо, большое
Obi\'chno 2, redko bol\'she.
а почему редко больше?
-
Nu k primeru spravochnik c polyami ID, Active, Name
Active soderz\'it "1", "0", ili "Y" "N", kak dushe ugodno,
select s.name, t.pole1, t.pole2 .......
from turnir t, strana s ..........
where s.ID = t.strana
and s.Active != "0" (ili "N") .......
eto znachit, chto dannaya strana v danni\'y momunt ne aktivna.
Takie spravochniki vstrechayutsya rez\'e, no poymi ponyatie spravochnik (ili "Code Table") eto psevdo, a real\'no eto obi\'chnaya tablica!!!
-
ясно, большое спасибо:-)
-
нормально?
CREATE TABLE turnir
(
state VARCHAR(50) NULL,
gorod VARCHAR(30) NOT NULL,
sistema VARCHAR(30) NOT NULL,
site VARCHAR(50) NULL,
e-mail VARCHAR(40) NULL,
date_begin DATE NOT NULL,
date_end DATE NOT NULL,
phone VARCHAR(20) NULL,
comment TEXT NOT NULL,
name VARCHAR(60) NULL,
)
CREATE TABLE author
(
author VARCHAR(50) NOT NULL,
e-mail_author(40) NULL,
site_author(40)
)
CREATE TABLE mesto
(
id INT NOT NULL,
strana VARCHAR (30) NOT NULL,
active ENUM(\'Y\',\'N\') NOT NULL
)
-
Net!!!!!!! :(
A gde polya dlya svyazey mez\'du tablicami turnir i autor, turnir i mesto????? A na koy ... tebe nuz\'no active???? Ya ego privel dlya primera. A pochemu ti\' ne sdelal spravochniki dlya state, gorod??
:(
Perechitay eshe raz vnimatel\'no vse, chto ya pisal!!!!!!
I voz\'mi kakuyu-libo knigu, k primeru "Oracle Design" izdatel\'stava O\'Reilly+Simbol, ona na Russkom. Kupit\' moz\'no zdes\': http://www.books.ru/shop/books/2724
Ona hot\' i po Oracle, no tam primeri\' dlya Oracle, a teoriya podoydet dlya vseh RDBMS!!! Tem bolee, chto vse stremyatsya za Oracle.
a vot vtoraya kniga: http://www.books.ru/shop/books/5872
eto MySQL
kaz\'daya stoit ~150 rub. esli konechno eto tebe po kormanu.
no mne kaz\'etsya ti\' menya ne sovsem ponimaesh :(
ya dumayu eta boltavnya ne interesna ni komu vot tebe moya as\'ka na vi\'hodni\'h 136706625, zahodi po boltaem, postarayus\' pomoch!
-
там девушка:-)
мой 120154426
-
A v chem problema? Ya z\'e napisal, chto na vi\'hadni\'h.
-
ok