14. Pozostałe zagadnienia projektowe - Złe projekty - czego.txt

(10 KB) Pobierz
#301
CZハ姑 III
Pozostaウe zagadnienia projektowe

#303
14. Zウe projekty - czego nie robi・

Zawsze zaczyna si・od bウ鹽
Cesare Pavese
=========================

By・moソe zdziwi Ci・fakt, iソ rozdziaウ ten pojawia si・na kou ksiケソki, zamiast na poczケtku. Pow jest prosty: teraz, kiedy wiesz juソ jak poprawnie zaprojektowa・baz・danych, moソesz zda・sobie spraw・z niebezpieczetw zwiケzanych ze zウymi metodami projektowania. Co wi鹹ej, sam juソ jeste・w stanie okre徑i・ dlaczego dany projekt jest niepoprawny i jakie niesie ze sobケ problemy. Dysponujesz rnieソ wiedzケ umoソliwiajケcケ radzenie sobie z tymi problemami.
W tym rozdziale poznasz trzy najbardziej rozpowszechnione podej彡ia, kte prowadzケ do zウego konstruowania baz danych. Ich opisy b鹽ケ zwi黝ウe, poniewaソ naszym celem jest jedynie unaocznienie metod, ktych powiniene・unika・ Aby naprawi・nieefektywnケ baz・danych, naleソy przej懈 przez caウy proces projektowania, kty wウa從ie poznaウe・

Projekt plikowy

Ten rodzaj projektu jest cz黌to spotykany w przypadku baz danych, kte nie zostaウy stworzone z my徑ケ o implementacji za pomocケ program SZRBD. Z projektem plikowym wiケソe si・wiele problem, co wida・na rysunku 14.1.
Diagram ten przedstawia struktur・pojedynczej tabeli. (Spruj sobie wyobrazi・struktury pozostaウych!) Jak widzisz, struktura ta cierpi z powodu niespnych i nadmiarowych danych. Oto peウna lista problem zwiケzanych z tak zaprojektowanケ tabelケ:
・Pola segmentowe. Иmi・i nazwisko pracownika" moソna podzieli・na dwie cz龕ci; podobnie Иmi・i nazwisko klienta". Z kolei pole Бdres klienta" skウada si・aソ z czterech cz龕ci: adresu miejskiego, miasta, stanu oraz kodu pocztowego.
#304
Struktury tabel

Zamienia

Numer zamienia	Telefon klienta	Produkt 3 (zapウata)
Data zウoソenia zamienia	Produkt 1	Produkt 2
Data realizacji zamienia	Ilo懈 1	Ilo懈 2
Ilo懈 zamionych produkt	Cena 1	Cena 2
Imi・i nazwisko pracownika	Produkt 1 (zaplata)	Produkt 2 (zapウata)
Numer klienta	Produkt 3
Imi・i nazwisko klienta	Ilo懈 3
Adres klienta	Cena 3

Rysunek 14.1. Przykウad struktury plikowej

・      Pola wyliczone. Pole Иlo懈 zamionych produkt" zawiera warto懈 b鹽ケcケ najprawdopodobniej wynikiem r鹹znego obliczenia, zwウaszcza gdy dany klient zamawia wi鹹ej niソ trzy produkty. Pola Пrodukt # (zapウata)" opierajケ si・na wyraソeniu wymnaソajケcym warto彡i p Иlo懈 #" i Гena #".
・      Zb鹽ne duplikaty p. Wszystkie pola odnoszケce si・do konkretnych produkt (jak na przykウad Пrodukt 1", Пrodukt 2" i Пrodukt 3") sケ niepotrzebnie powielone.
・     Brak klucza podstawowego. W tabeli tej nie istnieje ソadne pole ani grupa p, kte mogウyby jednoznacznie identyfikowa・kaソdy rekord. Pole Нumer zamienia" nie moソe stanowi・klucza podstawowego; je徑i klient zami wi鹹ej niソ trzy produkty, wczas uソytkownik b鹽zie musiaウ wprowadzi・do tabeli kolejny rekord z tym samym numerem zamienia.
・      Tabela reprezentuje wi鹹ej niソ jeden temat. 慶i徑ej - trzy odr鹵ne tematy: klienci, zamienia i produkty. (Moソna rnieソ uzna・ ソe reprezentuje ona pracownik).
Znajケc cechy poprawnego projektu bazy danych, zdajesz sobie spraw・ ソe tak skonstruowanych tabel naleソy unika・

Projekt w arkuszu kalkulacyjnym

Arkusz kalkulacyjny jest poソytecznym narz鹽ziem, jeソeli wykorzystuje si・go do cel, dla ktych zostaウ stworzony. W przeciwietwie do ognie przyj黎ego ste-
#305
reotypu, arkusze kalkulacyjne nie stanowiケ dobrego 徨odowiska dla implementacji relacyjnych baz danych. Je徑i nasza organizacja musi przechowywa・i obrabia・duソe ilo彡i danych, wczas potrzebna jej jest baza danych z prawdziwego zdarzenia. Rozwaソmy przykウad z rysunku 14.2.
	A	B(pod B sケ puste miejsca)	C
1	Sklep 100 (344-0029)		Sklep 103 (554-2993)
2	Kierownik: Mik・Hernandez		Kierownik: Diannia Piercy
3	Z-cy kierownika: Bob McNeal oraz		Z-ca kierownika: Terri Sharpe
4	Suzi Thompson
5	Sklep 101 (445-3928)		Sklep 104 (773-1837)
6	Kierownik: Abe Hernandez		Kierownik: Gary Holcomb
7	Z-ca kierownika: Steve McMahn		Z-cy kierownika:	Barbara Cooper oraz
8										Jan Eckstadt
9	Sklep 102 (433-4872)		Sklep 105 (344-2883)
10	Kierownik: Susan McLain		Kierownik: Caroline Coie
11	Z-ca kierownika: Carol Schaeffer		Z-ca kierownika: Leroy Bonnicksen

Rysunek 14.2. Przykウad ・azy danych" w arkuszu kalkulacyjnym

Na rysunku tym widzimy fragment arkusza kalkulacyjnego, wykorzystywanego do przechowywania danych o sklepach naleソケcych do pewnej firmy. Od razu moソna zauwaソy・nast麪ujケce problemy:
・     Pola zwielokrotnione. Kaソde pole w tym arkuszu jest zwielokrotnione. Patrzケc na przykウadowe dane, moソna wyodr鹵ni・tylko trzy rodzaje p: Нumer sklepu", Иmi・i nazwisko kierownika", oraz Иmi・i nazwisko z-cy kierownika".
・     Pola segmentowe. Kaソde pole przechowuje dwie warto彡i. Pierwsze skウada si・z numeru sklepu oraz numeru telefonu; pozostaウe dwa - z imienia i nazwiska.
・     Pola wielowarto彡iowe. Pole Иmi・i nazwisko z-cy kierownika" jest polem wie-lowarto彡iowym, poniewaソ dany kierownik moソe mie・wi鹹ej niソ jednego zast麪c・
・     Z tej bazy danych trudno jest korzysta・ Operacje na danych, rutynowe w przypadku program SZRBD, sprawiajケ wielkie problemy w bazach danych opartych na arkuszach kalkulacyjnych. Przykウadowo, trudno byウoby zestawi・list・zawierajケcケ tylko nazwiska kierownik i telefony do poszczegnych sklep.
Widzケc, jakie problemy sprawia stosunkowo prosta ・aza danych" zaimplemen-towana w arkuszu kalkulacyjnym, moソesz sobie wyobrazi・ co dziaウoby si・w przypadku bardziej zウoソonych baz. Je徑i korzystasz z takiej bazy, a chciaウby・zwi麑szy・jej
#306
efektywno懈, szybko懈 i uソyteczno懈, zastosuj dla niej poznany proces projektowania, po czym zaimplementuj jケ w programie SZRBD.
Jak zerwa・z nawykami zwiケzanymi z wy忤ietlaniem danych w arkuszu kalkulacyjnym
Kiedy zaczynasz prac・z prawdziwケ relacyjnケ bazケ danych i prawdziwym programem SZRBD, musisz poソegna・si・z pewnymi przyzwyczajeniami wyniesionymi z wcze從iejszych do忤iadcze・z arkuszami kalkulacyjnymi. Innymi sウowy, musisz si・pogodzi・z tym, ソe pewne sposoby wy忤ietlania danych nie sケ juソ dost麪ne - nie moソna stosowa・typowych dla arkuszy kalkulacyjnych postaci raport. Rozwaソmy dla przykウadu raport pochodzケcy z arkusza kalkulacyjnego, przedstawiony na rysunku 14.3.

Sklepy

Bellevue
Sklep 201		|Sklep 211		||Sklep 118
Kierownik: Mik・Hernandez    |Kierownik: George Chavez	||Kierownik: Joyce Williams
Redmond
Sklep 322		|Sklep 27		||Sklep 75
Kierownik: Jose Aguilar		|Kierownik: Mark Rosales	||Kierownik: Chris Weber
Seattle
Sklep 105		|Sklep 187		||Sklep 200

Kierownik: Frank Lerum		|Kierownik: Susan McLain	||Kierownik: Linda Teller

Rysunek 14.3. Przykウad raportu wygenerowanego przez arkusz kalkulacyjny

Je徑i korzystasz z aplikacji bazy danych, nie moソesz wygenerowa・raportu o takiej strukturze, ze wzgl鹽u na spos przechowywania danych w bazie. W arkuszu kalkulacyjnym dane sケ zapisane dokウadnie tak, jak wida・na raporcie. W programach SZRBD te same dane znajdowaウyby si・w czterech rnych polach pewnej tabeli. Rysunek 14.4 przedstawia analogiczny raport pochodzケcy z aplikacji bazodanowej.
#307
Sklepy

Bellevue					|Seattle
Sklep 201 Kierownik: Mik・Hernandez	|Sklep 105  Kierownik: Frank Lerum
Sklep 211 Kierownik: George Chavez	|Sklep 187  Kierownik: Susan McLain
Sklep 118 Kierownik: Joyce Williams	|Sklep 200  Kierownik: Linda Teller
Redmond
Sklep 322 Kierownik: Jose Aguilar
Sklep 27  Kierownik: Mark Rosales
Sklep 7.5 Kierownik: Chris Weber

Rysunek 14.4. Przykウad raportu bazodanowego

Raport ten nie jest identyczny z przedstawionym wcze從iej dokumentem, jest jednak tak samo czytelny.
Powiniene・wiec zmieni・nieco sw spos patrzenia na baz・danych. Tak czy inaczej, wykorzystanie programu SZRBD jest o wiele efektywniejsze niソ tworzenie ・azy danych" za pomocケ arkusza kalkulacyjnego. Prawdziwa baza danych daje niepornanie wi麑szケ kontrole nad integralno彡iケ, spno彡iケ i poprawno彡iケ danych, umoソliwiajケc jednocze從ie odczytywanie informacji na wiele rnych sposob.

Projekty oparte na konkretnych systemach zarzケdzania

Programy SZRDB nie dostarczajケ procedur czy nawet powod do zaprojektowania bazy danych w jaki・konkretny spos - zawierajケ jedynie narz鹽zia umoソliwiajケce dokonanie implementacji. Tymczasem metodologia projektowania baz danych opisuje zarno sposoby, jak i uzasadnienie dla tworzenia poprawnego i efektywnego projektu.
Wiele os wpada w puウapk・tworzenia projekt dla konkretnego systemu zarzケdzania. Uソywajケc narz鹽zi dostarczanych przez taki system, moソesz oczywi彡ie skonstruowa・・ziaウajケcケ" baz・danych, lecz jej struktura b鹽zie prawdopodobnie nieefektywna, a Ty nie b鹽ziesz o tym wiedziaウ. Takie projektowanie prowadzi do nieprawidウowych struktur, sウabej integralno彡i danych oraz problem zwiケzanych z niespnymi lub bウ鹽nymi informacjami. Bez dogウ鹵nego zrozumienia zasad dobrego projektowania pr鹽zej czy pniej doprowadzisz do sytuacji, w ktej to program SZRBD - a nie twoja organizacja - zacznie dyktowa・struktur・tworzonej bazy.
#308
Ostatnie przemy徑enie

Przez lata nauczania zasad tworzenia projekt i wykorzystania rnorodnych program SZRBD, zaobserwowaウem interesujケce zjawisko: osoby, ktym znane sケ podstawy metod projektowania, majケ zazwyczaj lepsze zrozumienie program SZRBD i oferowanych przez nie narz鹽zi, niソ pozostali uソytkownicy. My徑・ ソe bierze si・to z faktu, iソ ludzie ci wiedzケ, do czego sウuソケ rne opcje udost麪niane przez programy SZRBD i wiedzケ teソ, jak z nich korzysta・ Z tego powodu - jak rnieソ z wielu innych - warto jest poznawa・wウa彡iwe metody projektowania. Droga opisywana przez t・ksiケソk・nie jest jedynym sウusznym szlakiem, my徑・jednak, ソe jest najprostsza, najbezpieczniejsza i najbardziej ucz黌zczana.

Podsumowanie

Rozdziaウ ten pornuje projekt relacyjnej bazy danych z innymi, mniej efektywnymi formatami. Najpierw przyjrzeli徇y si・projektowi plikowemu. Dowiedziaウe・si・ ソe zwiケzane jest z nim wiele powaソnych problem i ソe naleソy go za wszelkケ cen・unika・ Nast麪nie przea...
Zgłoś jeśli naruszono regulamin