ZASADY TWORZENIA BAZ DANYCH

7 GRZECHÓW GŁÓWNYCH POPOEŁNIANYCH PRZY BAZACH DANYCH

  1. Grzech obiektowości - brak określienia obiektu odwzorowanego w świetcie rzeczywistym
  2. Grzech przechowywania w tabel danych innej tabeli - unikać przechowywania redundantnych danych
  3. Grzech braku rozbijania danych - w każdym polu wiersza musi znajdować się tylko jedna wartość danego typu danych
  4. Grzech niewłasciwego dobory właściwych kluczy - klucze powinny się kojarzyć z nazwą obiektów oraz posiadać "ID"
  5. Grzech trudnych zapytań - pomośl o właściwie zadawanych zapytaniach podczas używania bazy danych
  6. Grzech braku wypełnienia - unikaj pustych pól
  7. Grzech złożonych tabel - należy tworzyć proste tabele łaczone innymii tabelami

1. OKREŚLANIE OBIEKTÓW

Budujemy zdanie zawierające podstawowe informacje. Np..: "Klient zamówił książkę"
Utworzymy obiekty:


Przykłady tabel:

KSIĄŻKI

ISBNTytułAutorCena
0-123-4567-8PHP i MYSQLWelling, Thomson99 zł.
0-123-5678-9Turbo Pascal 5.5Marciniak49 zł.
0-987-6543-2Java EE 6Rychlicki-Kicior37 zł.

ZAMÓWIENIA

ZamowienieIDKlientIDDataWartość
1.12014.02.14198 zł.
2.22014.02.1098 zł.
3.12014.01.1474 zł.

KLIENT

KlientIDNazwiskoImięAdres
1.NowakJanSosonowiec
2.KowalskiAdamKraków
3.SzeregowyAnnaSosonowiec

2. REDUNDANTNE DANE

Należy unikać przechwywania danych w jednej tabeli -stwarza to póżniej trudności w zarządaniu nimi

Przykład tabeli z redundantnymi danymi:

ZAMÓWIENIE

ZamowienieIDKlientIDNazwiskoImięAdres
1.1.NowakJanSosonowiec
2.1.NowakJanSosonowiec
3.1.NowakJanSosonowiec

W powyższej tabeli powinien być ujęty tylko numer klienta


3. ROZBIJAJ DANE

KlientID - źle

KlientIDNazwisko i ImięMiejscowość
1.Nowak JanSosnowiec
2.Kowalski AdamKatowice
3.Nowak AnnaSosnowiec

nie dowiemy się ilu Nowaków mieszka w Sosnowcu,
powieważ nie ma takich klientów


KlientID - dobrze

KlientIDNazwiskoImięMiejscowość
1.NowakJanSosnowiec
2.KowalskiAdamKatowice
3.NowakAnnaSosnowiec

W Sosnowcu mieszka 2 Nowaków



4. DOBÓR NAZW KLUCZY

Niewłaściwa nazwa klucza będzie nas wprowadzać w błąd lub będzie trudna do użycia (przykłady złych kluczy):


5. ZAPYTANIA

Np.. musimy mieć możliwość zapytania o samo nazwisko. Z tabeli (patrz 3. zła tabela) nie uzyskamy odpowiedzi gdyż nie ma w niej pola "Nowak" tylko jest "Nowak Jan".


6. PUSTE POLA

Ilość książek - źle

ISBNILOŚĆ
0-1234-567-8102
0-2345-678-999
0-1234-567-6

Nie każda książka musi być policzona w tej chwili

Ilość książek - dobrze

IloscIDISBNIlosc
1.0-1234-567-8102
2.0-2345-678-999

Mniejsza ilość rekordów



7. TABELE PROSTE

Ze wzgl. na zarządzanie danymi powinno się unikać tabel typu wiele do wielu. Tabele proste (1:1 oraz 1:∞) mogą zawierać klucze innych tabel


ARCHITEKTURA INTERNETOWYCH BAZ DANYCH

Klasyczny układ działania baz danych

Przeglądarka
1 ⇒
6 ⇐
Serwer WWW
2 ⇒
5 ⇐
Interpreter PHP
3 ⇒
4 ⇐
Serwer MySQL

⇒ Spis treści ⇐

⇐ PREV NEXT ⇒