🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195120

Re: [mysql] Łączenie danych z wielu tabel

#195120
From: kamil.sobczyk
Date: Tue, 18 Oct 2016 11:04
40 lines
3444 bytes
W dniu wtorek, 18 października 2016 12:19:21 UTC+2 użytkownik geos napisał:
> On 18.10.2016 10:50, kamil.sobczyk@gmail.com wrote:
> > Ogólnie problem jest taki, że tych "konkurencji" jest wiele. Dzieciaki oprócz biegów rywalizują też w rzucie piłką lekarską, skoku w dal itp. A liczba tych konkurencji może się zmieniać (pól/kategorii oceniania w danej konkurencji może być wiele, choć w każdej jest pole SUMA/PUNKTY). I pomiary są robione raz na kwartał.
> >
> > Zastanawiam się czy nie będzie lepiej jak stworzę sobie dodatkową tabelę, powiedzmy:
> >
> > Wyniki
> > id_zawodnik (pk)
> > id_szkolka (pk)
> > rok (pk)
> > kwartal (pk)
> > punkty_b10 {default 0}
> > punkty_b20 {default 0}
> > punkty_b30 {default 0}
> > ...
> > punkty_skok {default 0}
> >
> > i w niej będę sobie na bieżąco aktualizował dane.
> 
> takie podejście jest podejściem hurtownianym. wydaje mi się, że narobisz 
> sobie w ten sposób więcej pracy, bo każde dodanie dyscypliny będzie 
> wymuszało dodanie kolumny dla odpowiednich punktów, tabela będzie się 
> rozrastać wszerz, wiele kolumn z punktami będzie pustych.
> 
> na Twoim miejscu kierowałbym się raczej w stronę postaci znormalizowanej 
> i zrobiłbym tak:
> 
> tabela zawodnicy(idz,...)
> tabela kluby(idk,...)
> tabela dyscypliny(idd,...)
> tabela przejścia z kluczami (idz,idk,idd,idsz,rok,kw) i kolumnami (pkt,...)
> 
> w takiej konfiguracji dodanie dyscypliny to byłby jeden insert do tabeli 
> dyscypliny. z tabeli przejściowej stosunkowo łatwo też będzie zrobić 
> odpowiedni widok aby prezentował dane tak jak powyżej.
> 
> pozdrawiam,
> geos

Teraz już wiem, że takie podejście byłoby najwłaściwsze. Muszę się z tym zmierzyć ;) Dzięki!
Technical Details
Message-ID: <35a25740-83ba-4cf9-862c-82cde53eb60b@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!cyclone03.ams2!voer-me.highwinds-media.com!peer03.am4!peer.am4.highwinds-media.com!peer03.fr7!futter-mich.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!g45no2079915qte.1!news-out.google.com!w143ni1840itb.0!nntp.google.com!e187no1782743itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <f97272db-262f-4f16-912e-f32dacc7518b@googlegroups.com> <580536ce$0$5152$65785112@news.neostrada.pl> <f54591f8-2697-4abb-ae25-3575f5645bd6@googlegroups.com> <5805f70b$0$642$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
X-Received: by 10.31.108.92 with SMTP id h89mr657830vkc.18.1476788667258;        Tue, 18 Oct 2016 04:04:27 -0700 (PDT)
X-Received: by 10.157.6.102 with SMTP id 93mr134911otn.11.1476788667199; Tue, 18 Oct 2016 04:04:27 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!cyclone03.ams2!voer-me.highwinds-media.com!peer03.am4!peer.am4.highwinds-media.com!peer03.fr7!futter-mich.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!g45no2079915qte.1!news-out.google.com!w143ni1840itb.0!nntp.google.com!e187no1782743itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych
Date: Tue, 18 Oct 2016 04:04:26 -0700 (PDT)
In-Reply-To: <5805f70b$0$642$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.238.28.151; posting-account=MZqKhQoAAAD5JCk5fBCRURrOJPrkLjus
NNTP-Posting-Host: 83.238.28.151
References: <f97272db-262f-4f16-912e-f32dacc7518b@googlegroups.com> <580536ce$0$5152$65785112@news.neostrada.pl> <f54591f8-2697-4abb-ae25-3575f5645bd6@googlegroups.com> <5805f70b$0$642$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <35a25740-83ba-4cf9-862c-82cde53eb60b@googlegroups.com>
Subject: Re: [mysql] Łączenie danych z wielu tabel
From: kamil.sobczyk@gmail.com
Injection-Date: Tue, 18 Oct 2016 11:04:27 +0000
X-Received-Body-CRC: 979519958
X-Received-Bytes: 3657
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit