[ Pobierz całość w formacie PDF ]
.JeÅ›li jedynym Å›rodkiem poprawy wydajnoÅ›ci ma być w tym przypadkumodyfikacja projektu bazy danych, to należaÅ‚oby rozważyć przechowywanie datyważnoÅ›ci razem z każdym dowodem transakcji.OczywiÅ›cie prowadzi to dowystÄ…pienia w bazie nadmiarowoÅ›ci danych.Jest to jednak nadmiarowośćkontrolowana, bÄ™dÄ…ca wynikiem przemyÅ›lanej decyzji projektanta.PowyższyprzykÅ‚ad ilustruje możliwe do zaakceptowania odstÄ™pstwo od Å›cisÅ‚ych reguÅ‚182 Część Iprojektowania relacyjnych baz danych, a także wpÅ‚yw wymagaÅ„ operacyjnychaplikacji na projekt.DecydujÄ…c siÄ™ na wprowadzenie kontrolowanej nadmiarowoÅ›ci należy kierowaćsiÄ™ jednÄ…, podstawowÄ… zasadÄ…: najpierw caÅ‚kowicie znormalizować bazÄ™ danych,a dopiero potem wprowadzać nadmiarowość, jeÅ›li wystÄ™puje taka potrzeba.Niewolno ulegać pokusie naruszania reguÅ‚ normalizacji już w pierwszej wersjiprojektu.Ponadto wzglÄ™dy wydajnoÅ›ci nie mogÄ… stanowić wymówki dlanieprawidÅ‚owo sporzÄ…dzonego projektu bazy danych.OdstÄ™pstwa od normalizacjirzadko znajdujÄ… uzasadnienie - wyjÄ…tek stanowiÄ… systemy przetwarzajÄ…cerzeczywiÅ›cie bardzo duże zbiory danych.Weryfikacja i uzupeÅ‚nienie modelu E-RModel jest formalnie znormalizowany, wymaga jednak jeszcze wielu uzupeÅ‚nieÅ„.Przede wszystkim nie zdefiniowano w nim identyfikatorów encji (kluczygłównych).Ponadto nie zweryfikowano poprawnoÅ›ci informacji o asocjacjach,wygenerowanych automatycznie przez eksperta normalizacji.Weryfikacja asocjacjiDalszÄ… pracÄ™ nad projektem rozpoczniemy od sprawdzenia, czy ekspertnormalizacji prawidÅ‚owo okreÅ›liÅ‚ warunki asocjacji encji.Aby dokonać takiejweryfikacji, należy:1.Wybraæ opcjê menu Expert\Verify Connectivities.Na ekranie pojawi siÄ™ oknodialogowe Verify Connectivities.Należy wybrać opcjÄ™ all connectivitiesi upewnić siÄ™, czy opcja for selected relationships pozostaje nieaktywna, poczym kliknąć przycisk Verify.2.Program zada teraz szereg pytaÅ„, dziÄ™ki którym ekspert normalizacji uzyskadodatkowe informacje o zwiÄ…zkach, zachodzÄ…cych miÄ™dzy encjami.Poniższalista zawiera odpowiedzi, których należy udzielić na kolejno zadawane pytania:In general, is it necessary for a CALL to have a PROPERTY to exist?(Czy z każdym zgÅ‚oszeniem telefonicznym musi być skojarzonanieruchomość?) - odpowiedz No (Nie).general, can one CALL have many PROPERTY ? (Czy z jednymInzgÅ‚oszeniem telefonicznym może być skojarzona wiÄ™cej niż jednanieruchomość?) - odpowiedz No (Nie).In general, is it necessary for a PROPERTY to have a CALL to exist?(Czy z każdÄ… nieruchomoÅ›ciÄ… musi być skojarzone zgÅ‚oszenie telefoniczne?)- odpowiedz No (Nie). Projektowanie baz danych w modelu klient/serwer 183general, can one PROPERTY have many CALL ? (Czy jednejInnieruchomoÅ›ci może dotyczyć wiele zgÅ‚oszeÅ„ telefonicznych?) - odpowiedzYes (Tak).In general, is it necessary for a LEASE to have a PROPERTY to exist?(Czy z każdÄ… umowÄ… najmu musi być skojarzona nieruchomość?) -odpowiedz Yes (Tak).general, can one LEASE have many PROPERTY ? (Czy jednaInumowa najmu może dotyczyć wielu nieruchomoÅ›ci?) - odpowiedz No (Nie).In general, is it necessary for a PROPERTY to have a LEASE to exist?(Czy każda nieruchomość musi mieć umowÄ™ najmu?) - odpowiedz No (Nie).general, can one PROPERTY have many LEASE ? (Czy jednejInnieruchomoÅ›ci może dotyczyć wiele umów najmu?) - odpowiedz Yes (Tak).general, is it necessary for a LEASE to have a TENANT to exist?In(Czy z każdÄ… umowÄ… najmu musi być skojarzony najemca?) - odpowiedzYes (Tak).In general, can one LEASE have many TENANT ? (Czy jedna umowanajmu może dotyczyć wielu najemców?) - odpowiedz No (Nie).general, is it necessary for a TENANT to have a LEASE to exist?In(Czy z każdym najemcÄ… musi być skojarzona umowa najmu?) - odpowiedzNo (Nie).In general, can one TENANT have many LEASE ? (Czy jeden najemcamoże mieć wiele umów najmu?) - odpowiedz Yes (Tak).Ekspert normalizacji programu ERX zmodyfikuje teraz model, zgodniez uzyskanymi odpowiedziami.W prezentowanym przykÅ‚adzie tylko jednoz zaÅ‚ożeÅ„, przyjÄ™tych pierwotnie przez eksperta, okazaÅ‚o siÄ™ bÅ‚Ä™dne.Na rysunku6.18 przedstawiono zmodyfikowany, prawidÅ‚owy model.Porównanie tego rysunkuz rysunkiem 6.17 wykaże, że zmianie ulegÅ‚ zwiÄ…zek pomiÄ™dzy encjami CALLi PROPERTY.184 Część IRysunek 6.18.Model pozweryfikowaniuasocjacji.OkreÅ›lenie licznoÅ›ciPo uruchomieniu eksperta normalizacji, asocjacja encji CALL i PROPERTYzmieniÅ‚a siÄ™ z 1,1 na 0,1.Jak należy interpretować liczby na diagramie?OznaczajÄ… one minimalnÄ… i maksymalnÄ… liczność encji, wchodzÄ…cych w zwiÄ…zek.Liczność 1,1 miÄ™dzy encjami CALL i PROPERTY oznacza, że dla każdegowystÄ…pienia encji CALL musi istnieć przynajmniej jedno wystÄ…pienie encjiPROPERTY.W kategoriach bazy danych można ten warunek interpretowaćnastÄ™pujÄ…co: w każdym wierszu tabeli CALL musi znajdować siÄ™ poprawny numernieruchomoÅ›ci (kolumna PropertyNo), pochodzÄ…cy z tabeli PROPERTY; kolumnaPropertyNo nie może pozostać pusta.Odpowiedz, udzielona na pytanie ekspertanormalizacji, zmieniÅ‚a ten warunek - stwierdzaÅ‚a bowiem, że nieprawdÄ… jest, iżz każdym zgÅ‚oszeniem telefonicznym musi być skojarzona nieruchomość (zob.pierwsze pytanie).Dlatego ekspert normalizacji zredukowaÅ‚ minimalnÄ… liczność dozera.Zerowa liczność umożliwia w tym przypadku rejestrowanie telefonów, którenie dotyczÄ… konkretnych nieruchomoÅ›ci, np.zapytaÅ„ potencjalnych najemców -pozwala na niewpisywanie wartoÅ›ci do kolumny PropertyNo.Z kolei maksymalna liczność równa 1 oznacza, że z każdym wystÄ…pieniem encjiCALL może być skojarzone najwyżej jedno wystÄ…pienie encji PROPERTY.A zatem jeden wiersz w tabeli CALL może zawierać odnoÅ›nik do jednej tylkonieruchomoÅ›ci - nie może być skojarzony z wieloma nieruchomoÅ›ciami
[ Pobierz całość w formacie PDF ]