#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 kou ksiケソki, zamiast na poczケtku. Pow jest prosty: teraz, kiedy wiesz juソ jak poprawnie zaprojektowa・baz・danych, moソesz zda・sobie spraw・z niebezpieczetw 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 rnieソ wiedzケ umoソliwiajケcケ radzenie sobie z tymi problemami. W tym rozdziale poznasz trzy najbardziej rozpowszechnione podej彡ia, kte prowadzケ do zウego konstruowania baz danych. Ich opisy b鹽ケ zwi黝ウe, poniewaソ naszym celem jest jedynie unaocznienie metod, ktych powiniene・unika・ Aby naprawi・nieefektywnケ baz・danych, naleソy przej懈 przez caウy proces projektowania, kty wウa從ie poznaウe・ Projekt plikowy Ten rodzaj projektu jest cz黌to spotykany w przypadku baz danych, kte 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. (Spruj sobie wyobrazi・struktury pozostaウych!) Jak widzisz, struktura ta cierpi z powodu niespnych 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 Zamienia Numer zamienia Telefon klienta Produkt 3 (zapウata) Data zウoソenia zamienia Produkt 1 Produkt 2 Data realizacji zamienia Ilo懈 1 Ilo懈 2 Ilo懈 zamionych 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懈 zamionych 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, kte mogウyby jednoznacznie identyfikowa・kaソdy rekord. Pole Нumer zamienia" nie moソe stanowi・klucza podstawowego; je徑i klient zami wi鹹ej niソ trzy produkty, wczas uソytkownik b鹽zie musiaウ wprowadzi・do tabeli kolejny rekord z tym samym numerem zamienia. ・ Tabela reprezentuje wi鹹ej niソ jeden temat. 慶i徑ej - trzy odr鹵ne tematy: klienci, zamienia i produkty. (Moソna rnieソ 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 ktych zostaウ stworzony. W przeciwietwie do ognie 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, wczas 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 poszczegnych 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 rnych 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 niepornanie wi麑szケ kontrole nad integralno彡iケ, spno彡iケ i poprawno彡iケ danych, umoソliwiajケc jednocze從ie odczytywanie informacji na wiele rnych 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 zarno 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 niespnymi lub bウ鹽nymi informacjami. Bez dogウ鹵nego zrozumienia zasad dobrego projektowania pr鹽zej czy pniej doprowadzisz do sytuacji, w ktej to program SZRBD - a nie twoja organizacja - zacznie dyktowa・struktur・tworzonej bazy. #308 Ostatnie przemy徑enie Przez lata nauczania zasad tworzenia projekt i wykorzystania rnorodnych program SZRBD, zaobserwowaウem interesujケce zjawisko: osoby, ktym 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ソケ rne opcje udost麪niane przez programy SZRBD i wiedzケ teソ, jak z nich korzysta・ Z tego powodu - jak rnieソ 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 pornuje 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...
sliwak