ďťż
 
[mysql] projektowanie bazy i pytania... ďťż
 
[mysql] projektowanie bazy i pytania...
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

[mysql] projektowanie bazy i pytania...



DjAvX - 19-09-2007 00:08
[mysql] projektowanie bazy i pytania...
  Witam,
projektuje baze produktów i mam kilka pytan o optymalne rozwiazana moich
problemow ;)

### Pierwszy problem:
kazdy produkt ma nazwe i opis, nazwa varchar(255) opis(text),
czy jest sens pakowanie opisu i nazwy do jednej tabeli czy lepiej je
rozgraniczyc do innych tabel?
jak bedzie optymalniej dla bazy?

### Problem drugi:
kazdy produkt moze miec kilka obrazkow + miniaturki w kilku rozmiarach.
Pomysly mam takie:

* okreslic ile moze byc max obrazkow i jakie maja byc wymiary miniaturek i
ile ich bedzie i zrobic tabelke w stylu
idproduktu, obraz1, minobraz1, min2obraz2.... obraz2...obraz3...

albo
* zrobic 2 tabele
WYMIARY, OBRAZY i teraz w wymiarach bym mial idwymiaru, x, y.
a w obrazach idobrazu, idproduktu, idwymiaru, nazwapliku.
W tym rozwiazaniu jest lepsze to ze kazdy produkt moze miec n obrazkow + n
wymiarow miniaturek.

### Problem trzeci:
Kazdy produkt moze byc powiazany z innymi (jakas grupa produktow) np
długopis + wkład do długopisu.

dane o grupach dostaje w poztaci tekstowej np
111; NAZWA1; GRUPA1+GRUPA2
121; NAZWA2; GRUPA1+GRUPA3
234; NAZWA3; GRUPA3

jak najoptymalniej przechowywac takie informacjie w bazie? zeby szybko mozna
bylo sprawdzic z jakimi innymi produktami nasz produkt jest powiazany?
(jakie sa inne produkty w grupie naszego produktu)

Z góry dziekuje za pomoc
--
Pozdrawiam
DjAvX





wloochacz - 19-09-2007 00:08

  > Witam,
> projektuje baze produktów i mam kilka pytan o optymalne rozwiazana moich
> problemow ;)
>
> ### Pierwszy problem:
> kazdy produkt ma nazwe i opis, nazwa varchar(255) opis(text),
> czy jest sens pakowanie opisu i nazwy do jednej tabeli czy lepiej je
> rozgraniczyc do innych tabel?
> jak bedzie optymalniej dla bazy?
Każdy produkt jest unikalny, a więc ID i opis w jednej tabeli.

> ### Problem drugi:
[ciach]
"Relacja jeden-do-wielu"
http://web.pertus.com.pl/~stanley/ac...ka/Relacje.htm

> ### Problem trzeci:
[ciach]
"Relacja wiele-do-wielu"
http://web.pertus.com.pl/~stanley/ac...ka/Relacje.htm

> jak najoptymalniej przechowywac takie informacjie w bazie? zeby szybko
> mozna bylo sprawdzic z jakimi innymi produktami nasz produkt jest
> powiazany? (jakie sa inne produkty w grupie naszego produktu)
Zakup sobie jakąś książkę o relacyjnych bazach danych...
A Twoja baza może wyglądać tak:
http://www.dgbit.pl/files/dj/MImage.html
1 minuta... ;-)

--
wloochacz




DjAvX - 19-09-2007 00:08

  > A Twoja baza może wyglądać tak:
> http://www.dgbit.pl/files/dj/MImage.html
> 1 minuta... ;-)

No nie do konca, brakuje uwzglednienia miniaturek i ich rozmiaru, rozumiem
ze w obrazek(blob) mam trzymac binarke obrazka ale to chyba nie bedzie zbyt
optymalne dla bazy jesli tych obrazków będzie np 50tys... ?
--
DjAvX




xyrix - 19-09-2007 00:08

  DjAvX pisze:

> rozumiem ze w obrazek(blob) mam trzymac binarke obrazka ale to chyba nie
> bedzie zbyt optymalne dla bazy jesli tych obrazków będzie np 50tys... ?
Niech cię pan Bóg strzeże...
Ja robię to w ten sposób, że dane o adresie miniatur i dużych obrazków
trzymam w tabeli z id i opisem. Wszystko jest tu unikalne, więc "bytów
zbędnych nie tworzę" (tu kolejnych tabel z adresami grafik).
Rozwiązanie jest proste i u mnie się sprawdza.
A.





=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 19-09-2007 00:08

  xyrix wrote:
> DjAvX pisze:
>
>> rozumiem ze w obrazek(blob) mam trzymac binarke obrazka ale to chyba nie
>> bedzie zbyt optymalne dla bazy jesli tych obrazków będzie np 50tys... ?
> Niech cię pan Bóg strzeże...

Dlaczego? Świat nie ogranicza się do stron www!

--
P.M.




wloochacz - 20-09-2007 00:03

  Paweł Matejski pisze:
> xyrix wrote:
>> DjAvX pisze:
>>
>>> rozumiem ze w obrazek(blob) mam trzymac binarke obrazka ale to chyba nie
>>> bedzie zbyt optymalne dla bazy jesli tych obrazków będzie np 50tys... ?
>> Niech cię pan Bóg strzeże...
Bo?
Trzymanie obiektów w bazie danych nie jest takim złym pomysłem,
aczkolwiek wszystko zależy.
A pisanie, że coś takiego jest "niezbyt optymalne dla bazy", jest często
powtarzanym banałem, który ma niewiele wspólnego z rzeczywistością.
Wszystko zależy od projektu bazy i aplikacji, która z niej korzysta.
Trzymanie obrazków na dysku jest OK, dla PHP i innych ustrojstw
uruchamianych na serwerze.
W innych przypadkach (aplikacja desktop) to wprowadza więcej zamieszania
niż korzyści, no chyba że będzie coś na kształt serwera aplikacyjnego -
ale sądząc po poziomie pytania, to nie ta liga...

>
> Dlaczego? Świat nie ogranicza się do stron www!
Właśnie.

--
wloochacz




wloochacz - 20-09-2007 00:03

  DjAvX pisze:
>> A Twoja baza może wyglądać tak:
>> http://www.dgbit.pl/files/dj/MImage.html
>> 1 minuta... ;-)
>
> No nie do konca, brakuje uwzglednienia miniaturek i ich rozmiaru,
> rozumiem ze w obrazek(blob) mam trzymac binarke obrazka ale to chyba nie
> bedzie zbyt optymalne dla bazy jesli tych obrazków będzie np 50tys... ?
Jeśli liczyłeś na to że dostaniesz kompletny ERD, to się pomyliłeś.
To jest tylko PRZYKŁAD; przecież nikt Ci nie broni abyś dodał
odpowiednie atrybuty do tabeli TowaryObrazki (szeroksc int, wysokosc
int, id_ObrazkaDuzego int (tzw. Self Join)).
W takim układzie pole id_ObrazkaDuzego wskazuje na duży obrazek, którego
dany wiersz jest miniaturą.
Upraszczając, jeśli id_ObrazkaDuzego is null to jest to duży obrazek,
jeśli id_ObrazkaDuzego is not null to jest to miniatura obrazka, którego
id_obrazka = id_ObrazkaDuzego.

--
wloochacz




xyrix - 20-09-2007 00:03

  Paweł Matejski pisze:
> xyrix wrote:
>> DjAvX pisze:
>>
>>> rozumiem ze w obrazek(blob) mam trzymac binarke obrazka ale to chyba nie
>>> bedzie zbyt optymalne dla bazy jesli tych obrazków będzie np 50tys... ?
>> Niech cię pan Bóg strzeże...
>
> Dlaczego? Świat nie ogranicza się do stron www!
>
>
Cóż, założyłem, że o www właśnie idzie. Ale mam jakieś przeczucie, że
się nie pomyliłem.
A.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?= MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shutter.opx.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