ďťż
 
Pytanie teoretyczne ďťż
 
Pytanie teoretyczne
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Pytanie teoretyczne



`ronin - 25-10-2007 00:01
Pytanie teoretyczne
  Witam,

Przyszło mi zaprojektować bazę danych a że nie mam w tej materii większego
doświadczenia pojawiają się dość często dziwne pytania w mojej głowie. Jedno
z nich dotyczy sytuacji, w której mam tabelę i pewną liczbę kolumn, z
których część jest ze sobą dość ściśle powiązana tematycznie (jak np.
informacje o konkretnym samochodzie). Zastanawiam się czy jest sens rozbić
te "grupy tematyczne" na osobnej tabeli i wykonywać powiązanie jeden do
jednego.

Czyli zamiast:

id | data_zakupu | cena_zakupu | marka_samochodu | rocznik_samochodu |
nr_rejestracji_samochodu |...

zrobić osobną tabelę dla "samochod" a w poprzedniej tabeli dać pole
"id_samochodu"

Z uwagi na charakter relacji (jeden do jednego) obie tabele powinny mieć
identyczną liczbę wierszy, zatem czy to ma sens takie rozbijanie
(szczególnie od strony wydajnościowej)?

Możliwe, że moje pytanie jest mało rzeczowe i bez sensu, ale to z powodu
braku wiedzy i doświadczenia z zakresu baz danych ;-). Proszę zatem o
wyrozumiałość.

Za wszelką poradę z góry dziękuję!
--
Marcin





=?ISO-8859-2?Q?Cezary_Gr=B1dys?= - 25-10-2007 00:02

  `ronin napisał(a):

> id | data_zakupu | cena_zakupu | marka_samochodu | rocznik_samochodu |
> nr_rejestracji_samochodu |...
>
> zrobić osobną tabelę dla "samochod" a w poprzedniej tabeli dać pole
> "id_samochodu"
>

Napewno numer_rejestracji musi być w odzielnej tabeli, ja mam ten sam
samochód, a rejestracja jest inna, bo mi ukradli tablice. Czyli już w
tym przypadku jest związek 1 do wielu , podobnie może być z kolorem,
numerem silnika itp. A historia co się zmieniało może być czasami potrzebna.
Jako markę samochodu najlepiej dać klucz obcy powiązany z tabelą
zawierającą marki samochodów, żeby nie okazało się, że ta sama marka
występuje pod kilkoma nazwami :) Czasem tak bywa z miastami 'Warszawa',
'Wawa', 'Warszwa', 'Wa-wa' tylko kilka przykładów. Dla człowieka może to
oznaczać to samo, dla bazy to są różne teksty.

--

Cezary Grądys <czarek.gradys@cartalia.com>




Andrzej Dąbrowski - 25-10-2007 00:02

 
Użytkownik "`ronin" <ronin@wp.pl> napisał w wiadomości
news:ffndul$e6d$1@opal.futuro.pl...
>
> Przyszło mi zaprojektować bazę danych a że nie mam w tej materii większego
> doświadczenia pojawiają się dość często dziwne pytania w mojej głowie.
> Jedno z nich dotyczy sytuacji, w której mam tabelę i pewną liczbę kolumn,
> z których część jest ze sobą dość ściśle powiązana tematycznie (jak np.
> informacje o konkretnym samochodzie). Zastanawiam się czy jest sens rozbić
> te "grupy tematyczne" na osobnej tabeli i wykonywać powiązanie jeden do
> jednego.
>
Pewien profesor na wykladach mawiał, że robienie powiązań jeden do jednego
jest z założenia złe i jeśli ktoś ma takąpotrzebę to niech to premyśli 3
razy zanim zrobi. Jednak jeśli przemyślał sprawę, proadziłsie dwóch innych
kolegów i nadal widzi potrzebę użycia powiązania jeden do jednego to niech
je zrobi, bo właśnei awansował do grona zaawansowanych.
Bez całej bazy trudno orzec, czy warto robić jeden do jednego, czy nie
warto. W Twojej sytuacji za takim rozwiazaniem przemawiałoby gdyby twoja
tabela "samochód" była wykorzystywana w kilku meijscach, a tylko w jednym
byłoby powiazanie jeden do jednego. Przykladem może być numer rejestracyjny
samochodu, poniewaz z zasady jest jeden dla każdego samochodu, choć z
drugiej strony samochód nei musi mieć numeru rejestracyjnego. Jesli za
samochód przyjmniemy konkretny fizyczny egzemplarz, to dane o rejestracji
mogą nas jeden do jednego odzylac do samochodu. Z inne strony jeśli o tym
samochodzie bedzie my przechowywali informacje o włascicielach (mzoe byc
naraz kilku), a oprocz tego o parkowaniu i ubezpieczeniach to ma sporo sensu
wydzielenie danych pojazdu do osobnej tabeli. Jednak jesli to tylko jedna
tabela to nie ma sensu dzielic. Jeśli danych jest relatywnie mało to
wydajnościowo nie bedzie problemu, jesli duzo to takie rozwiazanie bedzie
wolniejsze.
Trzeba wiedziec calosc by doradzic
Sir Daban - Andrzej Dąbrowski
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [OT?] Monitory dla =?ISO-8859-2?Q?grafik=F3w_-_pytanie_o_?==?ISO-8859-2?Q?przej=B6ci=F3wki?= =?ISO-8859-2?Q?kr=F3tkie_pytanie_-_gdzie_forum_grafik=F3?==?ISO-8859-2?Q?w_=28Corel_Painter=29_=3F?= Pytanie -Papier Nalepka - =?ISO-8859-2?Q?p=B3ytka_w_kszta=B3?==?ISO-8859-2?Q?cie_wizyt=F3wki?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Pytanie o =?ISO-8859-2?Q?kas=EA=2E=2E=2E?= pytanie o zapytanie z having count = count z innej kolumny =?iso-8859-2?q?Kr=F3tkie_pytanie_-_PostgreSQL_8=2E2=2E2_i_CREATE_ASSERTION?= =?iso-8859-2?q?Pytanie_SQL__spe=B3niaj=B1ce_wiecej_jak_jeden_ warunek_na_jednej_kolumnie=2E?= CA nr 1/2007 - pytanie do tych co =?ISO-8859-2?Q?maj=B1?= ten numer Re: MS SQL 2000 - Wadliwy optymalizator? (dlugie pytanie...)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kfia-tek.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com