Article View: pl.comp.lang.delphi.bazy-danych
Article #89Re: Bylo: podwojne filtrowanie -- przyklad [SQL]
From: Janusz Dziadoń
Date: Fri, 02 Apr 1999 08:08
Date: Fri, 02 Apr 1999 08:08
97 lines
4182 bytes
4182 bytes
Maciej "MACiAS" Pilichowski napisał(a) w wiadomości: <37023079.4932281@rymunda.torun.pdi.net>... >>IdCechy >Czyli mialbym jedna baze samochodowo-rowerowo-jakastam. No tak, ale >jesli tam od razu zaczne wpisywac cechy, to bede mial problemy z >nadawaniem IdPojazdu /nie moge zastosowac autoincrement, bo pare cech >musi byc od jednego pojazdu, a znowu jak dam integera, to sie boje, >czy podolam pracy w sieci/. Jak wyrzuce to do zewnetrznej bazy, co >likwiduje problem z IdPojazdu, to w zasadzie wracam do sytuacji >wejsciowej. Tak to wlasnie powinno byc. Móglbys miec tabele nazw cech (slownik), oraz tabele cech poszczególnych typów pojazdów. Wówczas np. tabela scechy.dbf (pola idscecha, nazwa) (s jak slownik) 1, kolor 2, dlugosc 3, kabrio 4, czytorower 5, masa 6, liczbaosob 7. numer rejestr tabela spojazdy.dbf (pola idspojazdu,nazwa) 1, Trek 2, Giant 3, FiatPunto 4, VWPolo 5, Motor Yamaha750 tabela dcechy.dbf (pola iddcechy, idspojazdu, idscechy) (d jak dopuszczalne cechy dla danego pojazdu) 1, 1, 2 (Trek ma dlugosc) 2, 1, 1 (kolor ramy tez jakis jest) 3, 1, 5 (masa treka) 4, 2, 2 (dlugos gianta) 5, 1, 6 (liczba osób na treka) 6, 2, 1 (dlug gianta) 7, 2, 6 (liczba osób na gianta) 8, 4, 5 (liczba osob do polo) 9, 3, 2 (kolor punciaka) 10, 3, 7 (numer rej punto) 11, 4, 7 (numer rej polo) 12, 5, 7 (numer rej yamaha) itd. W tej tabeli zdefiniujesz jakie cechy kazdy pojazd posiadac moze. Jesli jakies cechy sa oczywiste i dla wszystkich pojazdów to mozna je wrzucic do tabeli spojazdy jako kolejne pola np. idpojazdu,nazwa, dlugosc, kolor, masa, liczbaosob, liczbakol I teraz potrzebna ci bedzie w bazie pojazdow tylko wpis o wartosci danej cechy a juz nie pojazdu (a poprzez cechy sie do niego dostaniesz), choc redundantnie mozna to zostawic dla przyspieszenia dzialania tabela cechy.dbf (pola idpojazd, iddcechy, wartosc) (wartosc najlepiej jako string i robic konwersje) 1, 1, 2 (trek - dlug, 2 m) 1, 2, $FF002345 - (trek, kolor- kosc sloniowa) 1, 3, 2.4 2, 9, $00043 (punciak piasek pustyni) 2, 10, KWO 2947 chyba jasne 3, 11, KXX 4300 pierwszy samochod VWPolo 4, 12, WGB 4560 5, 12, ZGB 8790 drugi samochod VWpolo bo inny idpojazdu Zakladam, ze edycje wartosci cech pojazdu przeprowadzisz tak, ze niemozliwym bedzie wprowadzenie cech niedopuszczalnych tzn dla pojazdu np treka nie mozna wprowadzac cech innych niz dopuszcza. Teraz pozostaje jeszcze tylko baza pojazdy (pola idpojazdu, wlasciciel, rok prod). Tu wlasnie mozesz dodac redundantnie typ pojazdu z bazy typow dla przyspieszenia dzialania (pola idpojazdu, wlasciciel, rok prod, idspojazdu) 1, Józek, 1999 2, Kasia, 1998 3, Rysio, 1998 4, Jerzy, 1970 5, Edyta, 1990 Koniec. Chcesz wiedziec jaki pojazd ma Kasia prosze bardzo: idpojazdu - 2 -> z tabelki chechy ->cecha 9 lub 10 jest zwiazana z samochodem Punto. Tu sie az prosi zeby typpojazdu byl w tej ostatniej bazie ale on tez musi byc w bazie dopuszczalnych cech, zeby dalo sie je okreslic. Troche to zawile, ale szybciej by sie zrobilo na rysunku niz tekstem, ew. telefon. Dodam jeszcze ze sam korzystam z podobnej bazy - mam baze analiz dla pewnych probek - typow analiz jest wiele ale rozne typy probki dopuszczaja tylko pewne analizy. I jakos sie kreci. Roboty wiecej ale uzytkownik wniebowziety. -- Janusz Dziadon j.dziadon@bph.krakow.pl
Technical Details
Message-ID:
<7e1ttj$kg9$1@info.cyf-kr.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!cyfronet!not-for-mailReferences:
<3707caae.3342053@rymunda.torun.pdi.net> <3701F329.2A565377@ajax.umcs.lublin.pl> <37023079.4932281@rymunda.torun.pdi.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!cyfronet!not-for-mail From: Janusz Dziadoń <jdziadon@bph.krakow.pl> Newsgroups: pl.comp.lang.delphi.bazy-danych Subject: Re: Bylo: podwojne filtrowanie -- przyklad [SQL] Date: Fri, 2 Apr 1999 10:08:47 +0200 Organization: Academic Computer Centre CYFRONET - Krakow Lines: 100 Message-ID: <7e1ttj$kg9$1@info.cyf-kr.edu.pl> References: <3707caae.3342053@rymunda.torun.pdi.net> <3701F329.2A565377@ajax.umcs.lublin.pl> <37023079.4932281@rymunda.torun.pdi.net> NNTP-Posting-Host: dziadon.bph.krakow.pl X-Newsreader: Microsoft Outlook Express 4.71.1712.3 X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit