-
Myšlenkou návrhu databáze je ponechat každý datový prvek oddělený. A každý prvek má svůj vlastní datový typ, omezení a pravidla. To
c0002není jedno pole, ale dvě. Totéž sXXXnnnnebo cokoli jiného. Je to nesprávné a vážně to omezí vaši schopnost používat data a používat databázové funkce a zařízení.Rozdělte jej na dvě samostatné datové položky:
column_1 CHAR(1)
column_2 INTEGERPoté nastavte AUTOINCREMENT na
column_2A ano, váš primární klíč může být
(column_1, column_2), takže jste neztratili žádný významc0002má pro vás. -
Nikdy neumisťujte dodavatele a zákazníky (bez ohledu na to, co znamená „c“ a „s“) do stejné tabulky. Pokud to uděláte, nebudete mít databázovou tabulku, budete mít plochý soubor. A z toho plynoucí různé problémy a omezení.
To znamená, normalizovat data. Skončíte s:
- jedna tabulka pro
PersonneboOrganisationobsahující společná data (Name, Address...) - jedna tabulka pro
Customerobsahující údaje specifické pro zákazníka (CreditLimit...) - jeden stůl pro
Supplierobsahující údaje specifické pro dodavatele (PaymentTerms...) - žádné nejednoznačné nebo volitelné sloupce, tudíž žádné hodnoty Null
- žádná omezení použití nebo funkcí SQL
.
A když potřebujete přidat sloupce, uděláte to pouze tam, kde je to požadováno, aniž by to ovlivnilo všechny ostatní problémy plochého souboru. Rozsah účinku je omezen na rozsah změn.
- jedna tabulka pro