| Autor | Správa |
DeeJay3
 Užívateľ
 Založený: 28.02.2009 Príspevky: 196
 | Zaslal: St 09.11.11 20:32 |   |
cawte poradte mi ako vyhladavate v databaze napriklad mam zariadenie ktore ma v stlpci "tovar" string napriklad 1,2,5,10 (druhy tovaru).
uzivatel zasrktne 2 a 5 checkbox a ja potrebujem spravit query ...ako to robite ?...vytiahnete vsetky a potom si to napriklad hodite do kontrolnych poli a skontrolujete ci sa jedno(ktore pride zo stranky) nachadza v druhom(ktore je v db) alebo priamo v selecte ??...nvm... poradte nejaku moznost |
| |
  |
 |
shaggy
 Moderátor
 Založený: 21.02.2006 Príspevky: 4627 Bydlisko: Bratislava
 | Zaslal: St 09.11.11 23:34 |   |
Zlý návrh databázy - druhy tovaru by nemali byť v jednom stĺpci (a k tomu ešte string). |
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. | |
    |
 |
DeeJay3
 Užívateľ
 Založený: 28.02.2009 Príspevky: 196
 | Zaslal: St 09.11.11 23:37 |   |
priklad: mas 1 predajnu a chces k nej vlozit aky druh tovaru v nej predavas ... ako to spravis ?...
ja to mam
id_predajna nazov kraj druhy_tovarov
44 obchod u mna 4 1,2,5,6
v inej tabulke mam
id_tovar nazov
1 drogeria
2 potraviny
ako by si to spravil ty ? |
| |
  |
 |
shaggy
 Moderátor
 Založený: 21.02.2006 Príspevky: 4627 Bydlisko: Bratislava
 | Zaslal: St 09.11.11 23:42 |   |
Na to slúži napríklad prepojovacia tabuľka.
V nej budeš mať id_predajne a id_tovaru a potom iba vytiahneš všetky id_predajne, ktoré majú priradený id_tovaru.
Napríklad by ma zaujímalo, ako riešiš editáciu? V tom tvojom príklade, ako by si odobral z predajne č. 44 druh tovaru č. 5? |
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. | |
    |
 |
DeeJay3
 Užívateľ
 Založený: 28.02.2009 Príspevky: 196
 | Zaslal: St 09.11.11 23:51 |   |
editaciu ?.. otvoris si profil predajne a z formualara zoberies checkboxy druhy-tovaru[] a spojis ich do jedneho stringu .. nic viac (len tie ktore su checked) teda su v poli $_POST ['druhy-tovaru '] |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
shaggy, dá sa to aj tak, ako to robí DeeJay3, akurát je to prasácke riešenie, ktoré nemá s relačnými datábazami nič spoločné
DJ3, prečo sa nedoučíš dačo o databázach, ich návrhu atď? Ušetríš si do budúcnosti veľa problémov. |
| |
  |
 |
DeeJay3
 Užívateľ
 Založený: 28.02.2009 Príspevky: 196
 |
uz bez tychto prepojovacih tabuliek mam v databaze 106 tabuliek chcel som len zmensit ich mnozstvo ... o databazach viem da sa povedat 90% .. lenze proste chcel som to riesit takto |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
106 tabuliek takýmto spôsobom? A to vieš o databázach 90% a pýtaš sa na takéto základné veci "ako by si to riešil ty shaggy?" ???
To ako vážne, hej?
Teraz vážne, ak by si vedel o db toľko, čo vravíš, takéto riešenie by ťa ani napadnúť nemalo.
Čo to je prosím ťa za databáza? Začínam mať tušáka, že celá db bude na  |
| |
  |
 |
DeeJay3
 Užívateľ
 Založený: 28.02.2009 Príspevky: 196
 |
mam 36 tabuliek v ktorych su preklady vynasob si to x2 a vyjde ti pocet tabuliek LEN K DRUHOM ZARIADENI...
hotely (id_hotel, pocet_hviezdiciek ...)
hotely_preklady (id_preklad, id_hotel, jazyk, nazov ...)
chaty (id_hotel, kapacita ...)
chaty_preklady (id_preklad, id_chata, jazyk, nazov ...)
.. .. ..
.. .. ..
spolu to je 72 a to neviem ci som to dobre spocital .. k tomu mam plno dalsich tabuliek ktore potrebujem..prepojenia zariadeni ..a tak dalej a tak dalej...vysvetli mi co je tu na ?? |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
No minimálne z tohto tvojho popisu vidím duplicitu, ktorá je totálne nezmyselná.
Hotely a chaty vyzerajú, že majú rovnaké "vlastnosti". Líšia sa len "typom". Inými slovami, miesto tabuliek "chaty, hotely, ..." by pravdepodobne stačila jediná tabuľka s názvom povedzme "zariadenia".
Ťažko povedať podľa informácií, ktoré si zatiaľ dodal, ale 106 tabuliek je neskutočne premrštené množstvo a by som sa s tebou aj stavil, že zbytočne. |
| |
  |
 |
DeeJay3
 Užívateľ
 Založený: 28.02.2009 Príspevky: 196
 |
aj by som sa s tebou stavil ze nie ..
povedz mi ake informacie maju spolocne aqupark hotel hrad jaskyna ?..hmmmmmmmmmm ??? |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
To ti mám toto všetko NAOZAJ začať vysvetľovať? hmmmmmmmmm ???
shaggy má pravdu, že ide o zlý návrh databázy a ty ma v tom názore zatiaľ len utvrdzuješ.
Nerozumiem, prečo to musíš za každú cenu takto urputne (a nehnevaj sa, zároveň aj komicky) obhajovať. Koľkí ti tu musíme povedať, že to nerobíš správne?
Aby sme ti tu vedeli konkrétne poradiť, ako tabuľky zoptimalizovať, musel by si to tu všetko vypísať a mám silné pochybnosti, že by sa tu dakomu chcelo refaktorovať 100 tabuliek. Sadni si k tomu v kľude, naštuduj si princípy návrhu databázy, fungovaniu relácií atď, a pozri sa na to znovu. Takto na fóre to nemá zmysel všetko vypisovať, to je učivo na niekoľko kníh. |
| |
  |
 |
chrono
 Skúsený užívateľ
 Založený: 13.11.2007 Príspevky: 808
 |
Je otázne, či je na niečo také najvhodnejšie SQL (keďže tie kategórie sú príliš rozdielne; v podstate aj samotná adresa je na ukladanie do "normálnych" tabuliek príliš zložitá).
Ak ale na serveri musí použiť nejakú SQL databázu, tak sa kopcu tabuliek asi nevyhne a DB server si s nimi bez problémov poradí.
Tie tabuľky s prekladmi sú tam ale, podľa mňa, úplne zbytočné (netuším, prečo tam nestačí jediná taká tabuľka). |
| |
  |
 |
DeeJay3
 Užívateľ
 Založený: 28.02.2009 Príspevky: 196
 |
pretoze chata ma stlpce: ubytovanie, popis izieb, marketingovy profil, pre_deti, vybavenie,
a jaskyna ma: akcie prostredie okolie druh velkost kvapli ...co to ma spolu spolocne ???...
ma jaskyna vybavenie alebo popis kuchyne ?...tak mi to niekto vysvetlite ako inak to mam spravit ..co mam spravit jednu maximalne obrovsku tabulku v ktorej bude milion zaznamov a po **** (velmi vela) prazdnych buniek ??
// pridané po 2 minútach od posledného príspevku
a ABSOLUTNE NECHAPEM AKO SOM TA V TOM UTVRDIL ZREJME NECITAS CO SOM TI HNED ZA TYM NAPISAL ZE MAJU UPLNE ODLISNE STLPCE TIE TABULKY ...TAK SI SKUS TAKU TABULKU NAVRHNUT TY V 5 JAZYKOVYCH VARIACIACH 20 DRUHOM ZARIADENI A VSETKO V JEDNOM ..SOM ZVEDAVY CO NA TO POTOM POVIES POTOM |
| |
  |
 |
walther
 Užívateľ
 Založený: 24.01.2008 Príspevky: 10194 Bydlisko: Bratislava Vek: 24
 |
porovnávaš vkuse jaskyňu s hotelom. FAJN, to sú dve tabuľky. To ale nevysvetľuje ďalších 105. Ako písal chrono, tabuľky s prekladom sú takisto zbytočnosť. To už zráža počet tabuliek takmer na polovicu atď.
ad1: capslock? Naozaj? Nestačí, že tu nezmyselne obhajuješ zlý databázový návrh, ešte sa budeš aj rozkrikovať ?
ad2: ako súvisí táto téma s php/asp? |
Naposledy upravil walther dňa Št 10.11.11 1:19, celkom upravené 1 krát. | |
  |
 |
|