Autor Zpráva
jtfcobra
Profil
Poradíte zda to mám správně
hlavně mně zajimají ceny,mnozstvi , prumernacena a vsude kde budou ceny a mnozstvi...(abych vse nemel v textu)

CREATE TABLE  `xxx`.`sklad_prijem` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `sukl` text,
  `sarze` text,
  `produkt` text,
  `nazev` text,
  `mnoztvi` int(200) DEFAULT NULL,
  `jednotka` text,
  `prumernacena` decimal(30,2) DEFAULT NULL,
  `celkemcena` decimal(30,2) DEFAULT NULL,
  `zeme` text,
  `mena` text,
  `carovykod` text,
  `vyrobnicisla` text,
  `expirace` text,
  `popis` text,
  `sklad` text,
  `vyrizeno` text,
  `idprijmu` text,
  `vlozil` text,
  `schvalil` text,
  `ikona` text,
  `doplnek` text,
  `cenasdph` text,
  `datum` datetime DEFAULT NULL,
  `naskladneni` text,
  `fyzicky` text,
  `poskozeno` text,
  `rozdil` text,
  `cenabezdph` text,
  `dph` text,
  PRIMARY KEY (`id`)
) 
Hando
Profil
Ahoj.

Bude to součástí nějakého většího funkčního celku, nebo si jen píšeš evidenci zboží?
Pokud to má být komplexnější, tak bych volil raději více menších tabulek, než tabulku s cca 25 sloupci.

Tabulky (pouze ilustrační příklad, takový nástřel...)
produkty - čistě evidence produktů - ke kterým se následně budou joinovat další tabulky:
detail_produktu - když upravíš popisek a budeš třeba používat nějaké generování faktur, stále musíš umět dohledat původní název.
produkty_sklad - zde již konkrétně eviduješ jednotlivé příchozí dodávky a třeba jejich stavy...
Keeehi
Profil
Ceny by měly čísla a ne texty. Taky cenasdph, cenabezdph a dph je lehce redundantní. Z jakýchkoli dvou jde dopočítat to třetí. Takováto denormalizace je vhodná, jen pokud víš proč ji děláš. Při prvotním návrhu bych to však viděl na předčasnou optimalizace.
jtfcobra
Profil
Takze nejak takle?

Na cisla pouzivate co nejlepe decimal nebo int.?

CREATE TABLE  `xxx`.`sklad_prijem` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `sukl` text,
  `sarze` text,
  `produkt` text,
  `nazev` text,
  `mnoztvi` int(200) DEFAULT NULL,
  `jednotka` text,
  `prumernacena` decimal(30,2) DEFAULT NULL,
  `celkemcena` decimal(30,2) DEFAULT NULL,
  `zeme` text,
  `mena` text,
  `carovykod` text,
  `vyrobnicisla` text,
  `expirace` text,
  `popis` text,
  `sklad` text,
  `vyrizeno` text,
  `idprijmu` text,
  `vlozil` text,
  `schvalil` text,
  `ikona` text,
  `doplnek` text,
  `cenasdph` , decimal(30,2) DEFAULT NULL,
  `datum` datetime DEFAULT NULL,
  `naskladneni` text,
  `fyzicky` int(200) DEFAULT NULL,
  `poskozeno` int(200) DEFAULT NULL,
  `rozdil` text,
  `cenabezdph` decimal(30,2) DEFAULT NULL,
  `dph` int(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) 
Tomášeek
Profil *
jtfcobra:
Proboha...

Copak bude někdy cena 20-30místná? Copak bude EAN kód delší než 13 znaků? Pro stringy existují i jiné (a vhodnější) datové typy než jen text. Naskladneni a expirace budou asi data, ne? Copak množství bude defaultně NULL? Nebyla by lepší nula? Atd.

Ještě bych se nad těmi sloupci zamyslel, s tím souvisí i nějaké studium problematiky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: