Baza danych lecznicy dla zwierząt Marek Synoradzki, 164740 Marek Wiewiórski, 164751 Rok studiów: III Wydział Informatyki i Zarządzania Prowadzący: mgr Hanna Mazur
Spis treści Analiza wycinka rzeczywistości...1 Słownik pojęć...3 Analiza wymagań funkcjonalnych...3 Analiza wymagań niefunkcjonalnych...3 Definicje kategorii...4 Reguły funkcjonowania...5 Ograniczenia dziedzinowe...8 Transakcje...9 Definicje typów encji...14 Definicje typów związków...18 Definicje predykatowe typów encji...20 Definicje predykatowe typów związków...21 Transformacja modelu konceptualnego do modelu logicznego...21 Diagram związków-encji (ER)...24 Definicje schematów relacji...24 Słownik atrybutów...33 Perspektywy...35
Temat Tematem przewodnim bazy danych jest lecznica weterynaryjna i związane z nią dane. Aplikacja ma na celu poprawę funkcjonowania lecznicy weterynaryjnej. Dzięki niej weterynarz będzie mógł lepiej zarządzać danymi związanymi ze swoją działalnością i wydajniej obsługiwać klientów. Baza danych, do której interfejs dostarcza aplikacja WetKlinika to relacyjna baza przechowująca dane właścicieli zwierząt/klientów, zwierząt wizyt oraz każdego dokonanego zabiegu, szczepienia, czy badania. Analiza wycinka rzeczywistości Wycinek rzeczywistości, który ma modelować baza danych opisana w niniejszym projekcie obejmuje działanie lecznicy dla zwierząt prowadzonej przez weterynarza w niewielkim mieście. Zgodnie z ustawą o o zakładach leczniczych dla zwierząt (Dz. U. z dnia 27 stycznia 2004 r.) zakład leczniczy dla zwierząt jest placówką ochrony zdrowia i dobrostanu zwierząt utworzoną w celu świadczenia usług z zakresu medycyny weterynaryjnej (...), wyposażoną w środki majątkowe, a w szczególności w pomieszczenia, aparaturę i sprzęt dostosowane do zakresu świadczonych usług. W związku z nakładem pracy, którego wymaga katalogowanie danych związanych z funkcjonowaniem lecznicy, ze strony weterynarza występuje zapotrzebowanie na komputerowy system baz danych zarządzający najważniejszymi informacjami. Weterynarz pracował do tej pory opierając się wyłącznie na papierowej formie dokumentacji swojej działalności. Klientami weterynarza są wyłącznie właściciele małych zwierząt domowych, czyli grupy zwierząt udomowionych i trzymanych przez człowieka dla osobistej przyjemności, lub towarzystwa. Przykładami zwierząt przyjmowanych przez weterynarza są psy, koty i papużki trzymane w klatkach. Każdy klient weterynarza przy rejestracji w lecznicy dostaje swój osobisty kod, dzięki któremu może szybko zarejestrować się telefonicznie (w innym wypadku musiałby podawać bardziej szczegółowe dane osobowe). Dane wprowadzone do bazy danych, z wyjątkiem zaplanowanych wizyt nie będą usuwane z bazy. Jeśli zwierzę zdechnie, informacja o nim pozostaje w bazie danych. Również zmiana właściciela przez zwierzę nie powoduje skasowania poprzedniego właściciela, pojawia się natomiast konieczność modyfikacji kartoteki zwierzęcia. Dla zachowania małej złożoności, a co za tym idzie mniejszych nakładów finansowych ze strony weterynarza, zlecona i projektowana w tym dokumencie baza danych obejmuje wyłącznie funkcjonalność związaną z obsługą klientów tj. rejestrację nowych właścicieli i ich zwierząt, dorejestrowywanie nowych zwierząt dla istniejących właścicieli, informację (przypominanie) o umówionych wizytach. Obejmuje również działalność weterynarza tj. ewidencję zabiegów, badań oraz szczepień. Do modelowanej rzeczywistości nie należą elementy takie jak: informacje o wyposażeniu lecznicy, zamówieniach wykonywanych przez weterynarza na sprzęt, leki i szczegółach działalności finansowej lecznicy. Nie jest brana również pod uwagę możliwość katalogowania sprzedaży detalicznej ani hurtowej leków, pożywienia i dodatkowych akcesoriów dla zwierząt. Ponieważ poszerzenie działalności lecznicy wiązałoby się z potrzebą przekształcenia działalności (np. na klinikę dla zwierząt), weterynarz planuje obsługiwać docelowo nie więcej niż 350 klientów. 1
Rejestracja nowego właściciela W godzinach przyjęć lecznicy sekretarka przyjmuje zgłoszenia rejestracji w lecznicy. Każdy właściciel może zarejestrować swoje zwierzę w lecznicy. Jeżeli dany właściciel nie zarejestrował żadnych zwierząt w lecznicy, on sam nie figuruje również w aktach lecznicy. W związku z tym, musi odpowiedzieć na pytania dotyczącego jego nazwiska, imienia, miejscowości, w której zamieszkuje, kodu pocztowego, adresu oraz numeru telefonicznego. Jeśli chce, może również podać swój adres poczty internetowej, dzięki czemu będzie mógł otrzymywać dodatkowe informacje. Musi podać również dane swojego zwierzęcia: jego nazwę (w znaczeniu imię nadane zwierzęciu), płeć, datę urodzenia, gatunek i informację o tym, czy było kastrowane (jeśli jest to adekwatne do gatunku zwierzęcia zwierzęta nie wszystkich gatunków podlegają kastracji). Dodatkowo, może podać również znaki szczególne zwierzęcia, ułatwiające jego identyfikację i dostarczające wskazówek, np. blizny, szczególne zachowanie (agresywność itp.). Na końcu całego procesu właściciel dostaje swój unikalny kod identyfikujący go jako właściciela zwierząt leczonych w lecznicy. Rejestracja nowego zwierzęcia właściciela Właściciel może posiadać wiele zwierząt, dlatego prędzej czy później może zajść potrzeba rejestracji nowego zwierzęcia. Właściciel podaje swój kod, a następnie dostarcza tych danych, które dotyczą nowego zwierzęcia. Dane te zostały opisane w poprzedniej sekcji. Rejestracja wizyty Umawiając się na wizytę, właściciel zostaje zapytany czy zarejestrował się już wraz ze zwierzęciem w lecznicy. Jeżeli sam nie jest zarejestrowany, realizowany jest cały opis z punktu Rejestracja nowego właściciela, jeżeli tylko zwierzę nie jest zarejestrowane, realizowany jest opis z punktu Rejestracja nowego zwierzęcia właściciela. Po stwierdzeniu, że dane właściciela i zwierzęcia umawianego na wizytę figurują w bazie danych, właściciel uzgadnia termin wizyty, (dzień, miesiąc, rok, godzinę i minutę) w którym może spotkać się z weterynarzem w jego gabinecie. Przekładanie wizyt Jest ryzyko, że zaistnieje konieczność przełożenia wizyty, lub wręcz jej anulowania. Źródłem takiej sytuacji może być weterynarz, lub właściciel. W obydwu przypadkach sprawa jest załatwiana telefonicznie. Właściciel może poinformować o konieczności przełożenia wizyty, lub sekretarka może poinformować o tym samym właściciela. Ewidencja działalności Weterynarz chce przechowywać informacje o przeprowadzonych badaniach, zabiegach oraz szczepieniach. Ponieważ właściciel może spóźnić się na umówioną wizytę, przesuwając w ten sposób wizyty innych klientów, weterynarz zapisuje informację o faktycznych datach badań, zabiegów i szczepień niezależnie od umówionych terminów. Ewidencja badań Oprócz daty badania, weterynarz chce przechowywać informacje o wywiadzie (informacji o problemach zdrowotnych i warunkach środowiskowych zwierzęcia), ewentualnych lekach przepisanych podczas badania, postawionej diagnozie i wyznaczonej cenie (brutto). Leki przepisywane przez weterynarza są przechowywane również w bazie danych, tak by mógł szybko 2
wybrać z listy określony lek. Ważnych informacjami podczas przepisywania leku jest ilość leku w jaką ma zaopatrzyć się właściciel, by zapewnić optymalne efekty leczenia i dawkowanie leku. Oczywiście może się zdarzyć, że lekarz nie stwierdzi żadnych nieprawidłowości w związku z czym nie przepisze żadnych leków, nie dowie się żadnych ważnych faktów podczas wywiadu i nie wystawi diagnozy. Typowym przykładem takiej sytuacji jest rutynowe badanie, kontrola przed szczepieniem, lub zwyczajna nadwrażliwość właściciela na stan zwierzęcia. Ewidencja zabiegów Oprócz daty zabiegu, weterynarz chce przechowywać informacje o cenie wystawionej za zabieg, jego nazwę (przy czym liczba różnych typów zabiegów jest ograniczona, weterynarz nie jest w stanie wykonać niektórych skomplikowanych zabiegów, lub po prostu nie podejmuje się ich). Ewidencja szczepień Weterynarz przeprowadza szczepienia zwierząt. Posiada szczepionki (o których nie chce przechowywać informacji), które służą mu do wykonywania szczepień. W związku z tym liczba różnych typów szczepień jest ograniczona, a cena za szczepienie jest uzależniona głównie od typu szczepienia (na jaką chorobę), czyli między innymi od kosztu szczepionki. Słownik pojęć Właściciel klient weterynarza. Ponieważ klientami są wyłącznie właściciele zwierząt, pojęcie właściciel jest równoznaczne klientowi lecznicy. Jako właściciela zwierzęcia rozumiemy osobę, która zgłosiła się wraz ze zwierzęciem do rejestracji w lecznicy i na którą zostaje wystawiona książeczka zdrowia zwierzęcia. Badanie kontrola stanu zwierzęcia wraz z jej wynikami, tzn. przepisanymi lekami i diagnozą. Wywiad rozmowa weterynarza z właścicielem mająca na celu zebranie informacji o zdrowiu zwierzęcia. Zabieg działanie weterynarza mające na celu poprawę stanu zwierzęcia, lub jego pielęnację. Analiza wymagań funkcjonalnych dodawanie nowych właścicieli, modyfikacja i wyświetlanie istniejących dodawanie nowych zwierząt, modyfikacja i wyświetlanie istniejących dodawanie nowych gatunków zwierząt dodawanie, modyfikacja i usuwanie danych o umówionych wizytach w lecznicy wyświetlanie danych o umówionych wizytach w lecznicy dodawanie i wyświetlanie danych o przeprowadzanych badaniach dodawanie i wyświetlanie danych o przeprowadzonych zabiegach dodawanie danych o typach zabiegów dodawanie i wyświetlanie danych o szczepieniach dodawanie danych o typach szczepień dodawanie danych o lekach przepisywanych w lecznicy 3
Analiza wymagań niefunkcjonalnych Środowiskiem implementacyjnym jest Microsoft Access 2007 Baza danych jest bazą relacyjną W bazie danych przechowywane jest nie więcej niż 350 właścicieli zwierząt Definicje kategorii KAT/001 Właściciel Opis: Kategoria Właściciel przechowuje dane właścicieli posiadających zwierzęta. Atrybuty: KodWłaściciela unikalny kod przydzielany właścicielowi, z którego korzysta używając systemu internetowego. Nazwisko nazwisko właściciela. Imię pierwsze imię właściciela. Miejscowość miejsce zamieszkania KodPocztowy kod pocztowy Adres adres zamieszkania Telefon numer telefonu do właściciela Email adres skrzynki internetowej właściciela KAT/002 Zwierzę Opis: Kategoria Zwierzę opisuje zwierzę leczone w lecznicy. Zwierzę posiada właściciela, na którego jest zarejestrowane. Nazwa nazwa nadana zwierzęciu przez właściciela, Płeć płeć zwierzęcia, DataUrodzenia data urodzenia zwierzęcia, ZnakiSzczególne cechy charakterystyczne zwierzęcia, CzyWykastrowane informacja o kastracji zwierzęcia. KAT/003 Gatunek Opis: Kategoria Gatunek przechowuje dane gatunków zwierząt, które lecznica przyjmuje do leczenia. Nazwa nazwa gatunku CzyMożnaKastrować informacja o tym, czy zwierzę danego gatunku może podlegać kastracji KAT/004 Umówiona_wizyta Opis: Kategoria Umówiona_wizyta przechowuje informacje o zaplanowanych wizytach właścicieli ze zwierzętami. DataWizyty dzień, miesiąc i rok wizyty CzasWizyty godzina i minuta wizyty 4
KAT/005 Badanie Opis: Kategoria Badanie reprezentuje badanie jakie zostało przeprowadzone na zwierzęciu. W ramach badania weterynarz może udzielać porad I przepisywać leki. DataBadania dzień, miesiąc i rok badania CzasBadania godzina i minuta badania Wywiad informacje o tym, czego udało się dowiedzieć weterynarzowi podczas badania Diagnoza informarcje o rozpoznaniu dolegliwości Cena cena wystawiona przez weterynarza za badanie KAT/006 Lek Opis: Kategoria Lek przechowuje dane o znanych weterynarzowi lekach, którymi może leczyć swoich pacjentów. Nazwa nazwa leku Postać forma, w jakiej występuje lek KAT/007 Zabieg Opis: Kategoria Zabieg reprezentuje zabieg któremu zostało poddane zwierzę. DataZabiegu dzień, miesiąc i rok zabiegu CzasZabiegu godzina i minuta zabiegu Cena cena pobierana za dany rodzaj zabiegu KAT/008 Typ_zabiegu Opis: Kategoria TypZabiegu przechowuje dane dotyczące różnych rodzajów zabiegów przeprowadzanych w klinice. Nazwa nazwa rodzaju zabiegu KAT/009 Szczepienie Opis: Kategoria Szczepienie przechowuje dane o przeprowadzonych szczepieniach. DataSzczepienia dzień, miesiąc i rok szczepienia CzasSzczepienia godzina i minuta szczepienia KAT/010 Typ_szczepienia Opis: Kategoria TypSzczepienia przechowuje dane o rodzajach szczepień (przeciwko jakiej chorobie) przeprowadzanych w klinice. Informuje jakie leki są podawane przy danym typie szczepienia Nazwa nazwa typu szczepienia Cena cena pobierana za szczepienie tego typu Reguły funkcjonowania REG/001 Przyjmowane są wyłącznie zwierzęta domowe, zgodnie z gatunkami jakie zdecyduje się leczyć weterynarz. 5
REG/002 Każdy właściciel posiada zero lub więcej zwierząt REG/003 Każde zwierzę posiada dokładnie jednego właściciela. REG/004 Właściciel posiada zwierzęta o różnych nazwach (wynika to z charakteru lecznicy, właściciele domowych zwierząt nazywają różnie swoje zwierzęta). REG/005 Do bazy danych wpisywane jest tylko pierwsze imię właściciela. REG/006 Przy rejestracji właściciel musi podać swój telefon kontaktowy. REG/007 W przypadku gdy zwierzę zdechnie, jego dane pozostają w bazie danych. REG/008 Weterynarz klasyfikuje każde zarejestrowane w lecznicy zwierzę do jednego określonego gatunku. REG/009 Niektóre gatunki zwierząt podlegają kastracji, inne nie. REG/010 Nie jest brany pod uwagę podział zwierząt różnych gatunków na rasy. REG/011 Wszystkie ceny są cenami brutto. REG/012 W aktach zwierzęcia zaznaczana jest informacja o tym, czy zostało wykastrowane, czy nie, chyba że gatunek, do którego przynależy nie podlega kastracji. REG/013 Dopiero po zjawieniu się właściciela na umówionej wizycie weterynarz wypełnia protokół odpowiednio zabiegu, badania, lub szczepienia (w zależności od tego na czym polegała wizyta) biorąc pod uwagę spóźnienie właściciela i podobne przypadki. REG/014 Właściciel zostaje zarejestrowany w katalogu lecznicy wraz ze zwierzęciem przez sekretarkę przy rejestracji swojej pierwszej wizyty w lecznicy, lub może zgłosić chęć rejestracji wcześniej dla zaoszczędzenia czasu. REG/015 Za rejestrację, dodawanie nowych właścicieli i ich zwierząt oraz ewidencją badań itd. odpowiedzialny jest lekarz weterynarii. REG/016 Właściciel dostaje przy rejestracji unikalny kod właściciela, z którego może korzysta w kontaktach z lecznicą. REG/017 Właściciel ma możliwość zarejestrowania wizyty telefonicznie z wyprzedzeniem. REG/018 Właściciel ma możliwość anulowania telefonicznie swojej wizyty. REG/019 Weterynarz po przeprowadzeniu każdego badania, szczepienia, lub zabiegu zapisuje o nich informacje w swoich aktach. REG/020 Weterynarz może przeprowadzić dowolną ilość (na ile pozwolą ograniczenia czasowe) badań, szczepień i zabiegów w ciągu dnia. 6
REG/021 Weterynarz ma możliwość przesunięcia, lub anulowania wizyty dowolnego pacjenta. REG/022 Weterynarz przepisując leki zwierzęciu zapisuje właścicielowi na kartce w jaką liczbę opakowań leku ma się zaopatrzyć właściciel oraz ile razy dziennie należy zastosować lek. Sens jednego zastosowania (ile maści nałożyć, ile tabletek podać) weterynarz tłumaczy właścicielowi słownie. REG/023 Podczas jednej wizyty weterynarz wykonuje jedno badanie, jeden zabieg, albo jedno szczepienie. REG/024 Informacje o właścicielach i ich zwierzętach nie są usuwane z bazy danych. REG/025 W wypadku właściciela przez zwierzę, zwierzęciu zakładana jest nowa kartoteka, stare dane o zwierzęciu związanym ze starym właścicielem zostają w bazie danych. REG/026 Badanie dotyczy jednego zwierzęcia. REG/027 Zwierzę może być poddane zeru, lub więcej liczbie badań. REG/028 Podczas badania może zostać przepisane zero, lub więcej leków. REG/029 Zabieg dotyczy jednego zwierzęcia. REG/030 Zwierzę może być poddane zeru, lub więcej liczbie zabiegów. REG/031 Weterynarz przy wypełnianiu informacji o przeprowadzonym zabiegu wybiera ze skończonego zbioru (wynika to z wyposażenia lecznicy) dokładnie jeden typ zabiegu. REG/032 Weterynarz zna typy zabiegów jakich się podejmuje, ale może również z czasem dodać nowe (wzbogacając wyposażenie lecznicy). REG/033 Szczepienie dotyczy jednego zwierzęcia. REG/034 Zwierzę może być szczepione zeru, lub więcej ilość razy. REG/035 Weterynarz przy wypełnianiu informacji o przeprowadzonym szczepieniu wybiera ze skończonego zbioru (wynika to z wyposażenia lecznicy w szczepionki) dokładnie jeden typ szczepienia. REG/036 Weterynarz zna typy szczepień jakie przeprowadza, ale może również z czasem dodać nowe (wzbogacając wyposażenie lecznicy w nowe szczepionki). REG/037 Podczas szczepienia zwierzę szczepi się na jedną chorobę, tzn. przy szczepieniu zaznaczany jest dokładnie jeden typ. REG/038 Weterynarz określa cenę szczepienia na podstawie jego typu (wynika to z ceny szczepionek jakie zamawia do różnych typów szczepień). REG/039 Weterynarz wie jakiego typu szczepienia będzie przeprowadzał 7
REG/040 Weterynarz wylicza cenę pojedynczego badania, lub zabiegu indywidualnie, biorąc pod uwagę zajęty czas, włożony wysiłek etc. REG/041 Podczas szczepienia podawany jest jeden lek (szczepionka). REG/042 Weterynarz zamierza obsługiwać w swojej klinice docelowo maksymalnie 200 klientów. Ograniczenia dziedzinowe OGR/001 KodWłaściciela składa się z cyfr. OGR/002 Imię właściciela zaczyna się od wielkiej litery oraz składa się z liter i opcjonalnie z myślnika, odstępu, lub apostrofu. OGR/003 Nazwisko właściciela zaczyna się od litery oraz składa się z liter i opcjonalnie z myślnika, odstępu, lub apostrofu. OGR/004 Nazwa miasta jest ciągiem znaków zaczynającym się od dużej litery OGR/005 Kod pocztowy jest ciągiem pięciu cyfr OGR/006 Numer telefonu składa się wyłącznie z cyfr. Może być to numer telefonu komórkowego, lub domowego OGR/007 Telefon właściciela składa się z samych cyfr OGR/008 Nazwa zwierzęcia zaczyna się od wielkiej litery oraz składa się z liter i opcjonalnie z odstępu. OGR/009 Data urodzenia zwierzęcia jest postaci RRRRMMDD OGR/010 Data urodzenia zwierzęcia nie może być późniejsza niż obecna OGR/011 Znaki szczególne zwierzęcia to pole tekstowe maksymalnie 256 znaków. OGR/012 Nazwa gatunku składa się z małych liter i opcjonalnie z odstępu. OGR/013 Data wizyty jest w postaci RRRRMMDD OGR/014 Czas wizyty jest w postaci GGMM OGR/015 Data badania jest w postaci RRRRMMDD OGR/016 Czas badania jest w postaci GGMM OGR/017 Wywiad jest ciągiem znaków o nieograniczonej długości OGR/018 Wszystkie ceny są wyrażone w złotych i groszach. OGR/019 Cena musi być liczbą nieujemną 8
OGR/020 Ilość leku jest liczbą dodatnią OGR/021 Czas zabiegu jest w postaci GGMM OGR/022 Data zabiegu jest w postaci RRRRMMDD OGR/023 Czas szczepienia jest w postaci GGMM OGR/024 Data szczepienia jest w postaci RRRRMMDD Transakcje Uwaga: jak wspomniano wcześniej, właściciel może wykonywać transakcje związane z wyświetlaniem danych. Odczyt jest jednak możliwy wyłącznie dla tych danych, które są związane z jego kodem właściciela i jego zwierzętami. Nie jest możliwe dla właściciela, by przeglądał informacje innych właścicieli i zwierząt. Warunek ten będzie realizowany przez logikę aplikacji bazodanowej. TRA/001 Wprowadzenie danych właściciela ze zwierzęciem. Opis: Transakcja realizuje operację dodawania właścicieli zwierząt. Transakcję może wykonać wyłącznie sekretarka. Uwagi: Wraz z dodawaniem nowego właściciela muszą zostać wprowadzone wszystkie potrzebne dane jego zwierzęcia, nie można wprowadzić właściciela nie wprowadzając jego zwierzęcia. Na początku dodane zostaje jedno zwierzę, pozostałe można dodać przez transakcję TRA/004. Uwarunkowania: Brak (system sam generuje kod klienta, więc nie istnieje ryzyko powtórzeń) Użytkownik WEJŚCIE Dane nowego właściciela i zwierzęcia WYJŚCIE Baza danych Dane istniejących właścicieli Dane właściciela, dane zwierzęcia - TRA/002 Edycja danych właściciela. Opis: Transakcja realizuje operację edycji właścicieli zwierząt. Transakcję może wykonać wyłącznie weterynarz. Uwarunkowania: Właściciel musi istnieć w bazie danych WEJŚCIE Użytkownik Kod właściciela - WYJŚCIE Baza danych Dane właściciela Dane właściciela 9
TRA/003 Wyświetlenie danych właściciela. Opis: Transakcja realizuje operację wyszukiwania właściciela. Transakcję może wykonać tylko weterynarz. Uwarunkowania: Dane właściciela muszą istnieć w bazie. WEJŚCIE WYJŚCIE Użytkownik Kod właściciela Komunikat / dane właściciela Baza danych Dane właściciela - TRA/004 Wprowadzenie danych zwierzęcia. Opis: Transakcja realizuje operację dodawania zwierząt dla istniejących właścicieli. Transakcję może wykonać wyłącznie weterynarz. Uwarunkowania: Właściciel, do którego należy zwierzę musi istnieć w bazie danych. Użytkownik WEJŚCIE Dane nowego zwierzęcia, kod właściciela WYJŚCIE Baza danych Dane istniejących zwierząt Dane zwierzęcia System Generator liczb losowych - - TRA/005 Edycja danych zwierzęcia. Opis: Transakcja realizuje operację edycji zwierząt. Transakcję może wykonać tylko weterynarz. Uwarunkowania: Dane zwierzęcia muszą istnieć w bazie. Użytkownik WEJŚCIE Dane zwierzęcia, kod właściciela WYJŚCIE Baza danych Dane zwierzęcia Dane zwierzęcia - TRA/006 Wyświetlenie danych zwierzęcia. Opis: Transakcja realizuje operację wyświetlania zwierząt. Transakcję może wykonać tylko weterynarz. Uwarunkowania: Dane zwierzęcia muszą istnieć w bazie. Użytkownik Baza danych WEJŚCIE Kod właściciela oraz nazwa zwierzęcia Dane właściciela, dane zwierzęcia WYJŚCIE Komunikat / dane zwierzęcia - 10
TRA/007 Wprowadzenie danych gatunku. Opis: Transakcja realizuje operację dodawania nowych gatunków zwierząt leczonych w lecznicy. Transakcję może wykonać tylko weterynarz. Uwarunkowania: Gatunek o podanej nazwie nie może istnieć w bazie danych. WEJŚCIE WYJŚCIE Użytkownik Dane nowego gatunku - Baza danych Dane istniejących gatunków Dane gatunku TRA/008 Wprowadzenie danych umówionej wizyty. Opis: Transakcja realizuje operację rejestrowania nowych wizyt. Transakcję może wykonać wyłącznie weterynarz. WEJŚCIE Użytkownik Dane nowej wizyty - WYJŚCIE Baza danych Dane istniejących wizyt Dane wizyty TRA/009 Wyświetlenie danych umówionej wizyty. Opis: Transakcja realizuje operację wyświetlania wizyt. Transakcję może wykonać weterynarz,. Uwarunkowania: Dane wizyty o podanym terminie muszą istnieć w bazie. Użytkownik WEJŚCIE Kod właściciela oraz nazwa zwierzęcia Baza danych Dane wizyt - WYJŚCIE Komunikat / dane wizyty TRA/010 Edycja danych umówionej wizyty. Opis: Transakcja realizuje operację edycji danych umówionych wizyt. Transakcję może wykonać weterynarz. WEJŚCIE WYJŚCIE Użytkownik Termin wizyty - Baza danych Dane umówionych wizyt Dane umówionych wizyt TRA/011 Usunięcie danych umówionej wizyty. Opis: Transakcja realizuje operację anulowania zaplanowanych na przyszłość wizyt. Transakcję może wykonać wyłącznie sekretarka. 11
Uwarunkowania: Wizyta na dany termin musi istnieć w systemie. WEJŚCIE WYJŚCIE Użytkownik Dane nowej wizyty - Baza danych Dane wizyt Dane wizyt System Data - TRA/012 Wprowadzenie danych badania. Opis: Transakcja realizuje operację dodawania przeprowadzonych badań. Transakcję realizować może wyłącznie weterynarz. Uwarunkowania: Nie może istnieć badanie o tej samej dacie przeprowadzenia, co dodawane. WEJŚCIE WYJŚCIE Użytkownik Dane badania Komunikat Baza danych Dane badań Danie badań System Data - TRA/013 Wyświetlenie danych badania. Opis: Transakcja realizuje operację wyświetlania badań i przepisanych podczas nich leków. Transakcję może wykonać tylko weterynarz. Użytkownik WEJŚCIE Kod właściciela oraz nazwa zwierzęcia Baza danych Dane badań - WYJŚCIE Komunikat / dane badań TRA/014 Wprowadzenie danych szczepienia. Opis: Transakcja realizuje operację dodawania przeprowadzonych szczepień. Transakcję realizować może wyłącznie weterynarz. WEJŚCIE Użytkownik Dane nowego szczepienia - WYJŚCIE Baza danych Dane szczepień Dane szczepień System Data - TRA/015 Wyświetlenie danych szczepienia Opis: Transakcja realizuje operację wyświetlania szczepień. Transakcję może wykonać weterynarz, właściciel, lub sekretarka. 12
Użytkownik WEJŚCIE Kod właściciela oraz nazwa zwierzęcia Baza danych Dane szczepień - WYJŚCIE - TRA/016 Wprowadzenie danych typu szczepienia Opis: Transakcja realizuje operację dodawania nowych typów szczepień obsługiwanych przez lecznicę. Transakcję realizować może wyłącznie weterynarz. WEJŚCIE Użytkownik Dane nowego typu szczepienia - WYJŚCIE Baza danych Dane typów szczepień Dane typów szczepień System Data - TRA/017 Wprowadzenie danych zabiegu. Opis: Transakcja realizuje operację dodawania przeprowadzonych zabiegów. Transakcję realizować może wyłącznie weterynarz. Uwarunkowania: Nie może istnieć zabieg o tej samej dacie przeprowadzenia, co dodawane. WEJŚCIE Użytkownik Dane nowego zabiegu - Baza danych Dane zabiegów Dane zabiegów WYJŚCIE System Data - TRA/018 Wyświetlenie danych zabiegu. Opis: Transakcja realizuje operację wyświetlania szczepień. Transakcję może wykonać tylko weterynarz. Uwarunkowania: Dane szczepienia dotyczące danego właściciela i zwierzęcia muszą istnieć w bazie. WEJŚCIE WYJŚCIE Użytkownik Kod właścicela i nazwa zwierzęcia Baza danych Dane zabiegów - Komunikat / dane szczepień 13
TRA/019 Wprowadzenie danych typu zabiegu. Opis: Transakcja realizuje operację dodawania nowego typu zabiegu możliwego do przeprowadzenia w klinice. Transakcje realizować może wyłącznie weterynarz. Uwarunkowania: Nie może istnieć typ zabiegu o tej samej nazwie. WEJŚCIE WYJŚCIE Użytkownik Dane nowego typu zabiegu - Baza danych Dane typów zabiegów Dane typów zabiegów TRA/020 Wprowadzenie danych leku. Opis: Transakcja realizuje operację dodawania nowego leku, którym mogą być leczone zwierzęta. Transakcję realizować może wyłącznie weterynarz. Uwarunkowania: Nie może istnieć lek o tej samej postaci i nazwie. WEJŚCIE WYJŚCIE Użytkownik Dane nowego leku - Baza danych Dane leków Dane leków Definicje typów encji ENC/001 BADANIE Semantyka encji encja zawiera dane dotyczące zarejestrowanych wizyt. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrBadania Identyfikator badania Liczba naturalna + DataBadania CzasBadania Wywiad Rok, miesiąc i dzień wizyty Godzina i minuta wizyty Informacje zebrane o zwierzęciu od właściciela Pole numeryczne 8 cyfr + Pole numeryczne 4 cyfry Pole tekstowe o nieograniczonej długości Diagnoza Ocena stanu zwierzęcia Pole tekstowe o nieograniczonej długości Klucze kandydujące: NrBadania, {DataBadania, CzasBadania} Klucz główny: NrBadania Charakter encji: encja słaba + - - 14
ENC/002 GATUNEK Semantyka encji encja zawiera dane dotyczące wszystkich gatunków zwierząt możliwych do leczenia w lecznicy. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) Nazwa CzyMożnaKastrować Klucze kandydujące: Nazwa Klucz główny: Nazwa Charakter encji: encja silna Nazwa gatunku zwierzęcia Informacja, czy można kastrować zwierzęta danego gatunku Max. 25 znaków + Wartość logiczna + ENC/003 LEK Semantyka encji encja zawiera dane dotyczące leków znanych weterynarzowi. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrLeku Identyfikator leku Liczba naturalna + Nazwa Nazwa leku Max. 25 znaków + Postać Forma występowania leku Klucze kandydujące: NrLeku, {Nazwa, Postać} Klucz główny: NrLeku Charakter encji: encja silna {tabletki, płyn, maść} + ENC/004 SZCZEPIENIE Semantyka encji encja zawiera dane dotyczące przeprowadzonych szczepień. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrSzczepienia DataSzczepienia Identyfikator szczepienia Rok, miesiąc i dzień szczepienia Liczba naturalna + Pole numeryczne 8 cyfr + CzasSzczepienia Godzina i minuta Pole numeryczne 4 + 15
szczepienia cyfry Klucze kandydujące: NrSzczepienia, {DataSzczepienia, CzasSzczepienia} Klucz główny: NrSzczepienia Charakter encji: encja słaba ENC/005 TYP_SZCZEPIENIA Semantyka encji encja zawiera dane dotyczące typów szczepień przeprowadzanych w lecznicy. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrTypuSzczepienia Nazwa Cena Klucze kandydujące: Nazwa Klucz główny: Nazwa Charakter encji: encja silna Identyfikator typu zabiegu Nazwa typu szczepienia Cena danego typu szczepienia Liczba naturalna + Max. 25 znaków + Liczba zmiennoprzecinkowa + ENC/006 TYP_ZABIEGU Semantyka encji encja zawiera dane dotyczące typów zabiegów przeprowadzanych w lecznicy. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrTypuZabiegu Identyfikator typu zabiegu Liczba naturalna + Nazwa Nazwa typu zabiegu Max. 25 znaków + Klucze kandydujące: Nazwa Klucz główny: Nazwa Charakter encji: encja silna ENC/007 UMÓWIONA_WIZYTA Semantyka encji encja zawiera dane dotyczące zarejestrowanych wizyt. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrWizyty Identyfikator wizyty Liczba naturalna + DataWizyty Rok, miesiąc i dzień Pole numeryczne 8 cyfr + 16
wizyty CzasWizyty Godzina i minuta wizyty Pole numeryczne 4 cyfry + Klucze kandydujące: NrWizyty, {DataWizyty, CzasWizyty} Klucz główny: NrWizyty Charakter encji: encja słaba ENC/008 WŁAŚCICIEL Semantyka encji encja zawiera dane dotyczące właściciela zwierzęcia. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) KodWłaściciela Identyfikator właściciela Znakowy postaci [0-1] [0-9][0-9] Nazwisko Nazwisko właściciela Max. 25 znaków + Imię Imię właściciela Max. 15 znaków + Miejscowość KodPocztowy Adres Telefon Email Klucze kandydujące: KodWłaściciela Klucz główny: KodWłaściciela Charakter encji: encja słaba Miejsce zameldowania właściciela Kod pocztowy właściciela Ulica i numer mieszkania właściciela Numer telefonu właściciela Adres skrzynki internetowej właściciela Max. 25 znaków + Pole numeryczne 5 cyfr + Max. 15 znaków + Pole numeryczne max. 9 cyfr Max. 30 znaków - + + ENC/009 ZABIEG Semantyka encji encja zawiera dane dotyczące przeprowadzonych zabiegów. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrZabiegu Identyfikator zabiegu Liczba naturalna + DataZabiegu Rok, miesiąc i dzień zabiegu Pole numeryczne 8 cyfr + 17
CzasZabiegu Godzina i minuta wizyty Pole numeryczne 4 cyfry Cena Cena zabiegu Liczba zmiennoprzecinkowa + + Klucze kandydujące: NrBadania, {DataBadania, CzasBadania} Klucz główny: NrBadania Charakter encji: encja słaba ENC/010 ZWIERZĘ Semantyka encji encja zawiera dane dotyczące przyjmowanych i leczonych zwierząt. Wykaz atrybutów: Nazwa atrybutu Opis atrybutu Typ OBL(+) / OPC(-) NrZwierzęcia Identyfikator zwierzęcia Liczba naturalna + Nazwa Nazwa zwierzęcia Max. 25 znaków + Płeć Płeć zwierzęcia Wyliczniowy {samiec, samica} DataUrodzenia ZnakiSczególne CzyWykastrowane Klucze kandydujące: NrZwierzęcia Klucz główny: NrZwierzęcia Charakter encji: encja słaba Data urodzenia zwierzęcia Cechy charakterystyczne zwierzęcia Czy zwierzę zostało wykastrowane Pole numeryczne 8 cyfr + Max. 256 znaków - Wartość logiczna - + Definicje typów związków ZWI/001 JestPrzepisany Opis: Związek łączy każdy lek z badaniami podczas których zostały przepisane. Atrybuty: Ilość liczba opakowań, w jaką ma zaopatrzyć się właściciel Dawkowanie informacje o stosowaniu leku na zwierzęciu tj. ile razy w ciągu dnia należy zastosować lek. Nazwa encji Krotność Lek (0, N) 18
Badanie (0, N) ZWI/002 JestZarejestrowane Opis: Związek łączy każde zwierzę z wizytami na które zostało zarejestrowane. Atrybuty: brak Nazwa encji Krotność Zwierzę (1, 1) Umówiona_wizyta (0, N) ZWI/003 Poddano Opis: Związek łączy każde zwierzę z zabiegami, którym je poddano. Atrybuty: brak Nazwa encji Krotność Zwierzę (1, 1) Zabieg (0, N) ZWI/004 Posiada Opis: Związek łączy każdego właściciela z jego zwierzętami. Atrybuty: brak Nazwa encji Krotność Właściciel 1,1 Zwierzę (0, N) ZWI/004 Przebadano Opis: Związek łączy każde zwierzę z badaniami, w których je przebadano. Atrybuty: brak Nazwa encji Krotność Zwierzę (1, 1) Badanie (0, N) ZWI/006 Przynależy Opis: Związek przyporządkowuje każdemu zwierzęciu gatunek, do którego przynależy. Atrybuty: brak 19
Nazwa encji Krotność Zwierzę (0, N) Gatunek (1, 1) ZWI/007 SzczepJest Opis: Związek przyporządkowuje każdemu szczepieniu jego typ. Atrybuty: brak Nazwa encji Krotność Szczepienie (0, N) Typ_szczepienia (1, 1) ZWI/008 ZabJest Opis: Związek przyporządkowuje każdemu zabiegowi jego typ. Atrybuty: brak Nazwa encji Krotność Zabieg (0, N) Typ_zabiegu (1, 1) ZWI/009 Zaszczepiono Opis: Związek przyporządkowuje każdemu szczepieniu jego typ. Atrybuty: brak Nazwa encji Krotność Zwierzę (1, 1) Szczepienie (0, N) Definicje predykatowe typów encji ENC/001 BADANIE(NrBadania, DataBadania, CzasBadania, Wywiad, Diagnoza) ENC/002 GATUNEK(Nazwa, CzyMożnaKastrować) ENC/003 LEK(NrLeku, Nazwa, Postać) ENC/004 SZCZEPIENIE(NrSzczepienia, DataSzczepienia, CzasSzczepienia) ENC/005 TYP_SZCZEPIENIA(Nazwa, Cena) ENC/006 TYP_ZABIEGU(Nazwa) ENC/007 UMÓWIONA_WIZYTA(NrWizyty, DataWizyty, CzasWizyty) ENC/008 WŁAŚCICIEL(KodWłaściciela, Nazwisko, Imię, Miejscowość, KodPocztowy, Adres, 20
Telefon, Email) ENC/009 ZABIEG(NrZabiegu, DataZabiegu, CzasZabiegu, Cena) ENC/010 ZWIERZĘ(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Definicje predykatowe typów związków ZWI/001 JestPrzepisany(LEK(0, N), BADANIE(0, N), Ilość, Dawkowanie) ZWI/002 JestZarejestrowane(ZWIERZĘ(1, 1), UMÓWIONA_WIZYTA(0, N)) ZWI/003 Poddano(ZWIERZĘ(1, 1), ZABIEG(0, N)) ZWI/004 Posiada(WŁAŚCICIEL(1, 1), ZWIERZĘ(1, N)) ZWI/005 Przebadano(ZWIERZĘ(1, 1), BADANIE(0, N)) ZWI/006 Przynależy(ZWIERZĘ(0, N), GATUNEK(1, 1)) ZWI/007 SzczepJest(SZCZEPIENIE(0, N), TYP_SZCZEPIENIA(1, 1)) ZWI/008 ZabJest(ZABIEG(0, N), TYP_ZABIEGU(1, 1)) ZWI/009 Zaszczepiono(ZWIERZĘ(1, 1), SZCZEPIENIE(0, N)) Transformacja modelu konceptualnego do modelu logicznego Transformacje przeprowadza się zgodnie z określonymi regułami. Dla poniższych związków można wyszczególnić następujące etapy: ZWI/001 JestPrzepisany(LEK(0, N), BADANIE(0, N), Ilość, Dawkowanie) Mamy następujące encje Badanie(NrBadania, DataBadania, Wywiad, Cena, Diagnoza) Lek(NrLeku, Nazwa, Postać) Obserwujemy związek postaci (0, N)-(0, N) Jest to związek wiele do wielu, opcjonalny dla obu stron. Ten sam lek może być przepisany podczas wielu badań. Podczas jednego badania może być przepisane zero lub kilka lekarstw. Wynik: Badania(NrBadania, DataBadania, Wywiad, Cena, Diagnoza, NrZwierzęcia) Leki(NrLeku, Nazwa, Postać) Przepisane_leki(NrPrzepisanegoLeku, Ilość, Dawkowanie, NrLeku, NrBadania) ZWI/002 JestZarejestrowane(ZWIERZĘ(1, 1), UMÓWIONA_WIZYTA(0, N)) Mamy następujące encje Zwierzę(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Umówiona_wizyta(NrWizyty, DataWizyty, CzasWizyty) Obserwujemy związek postaci (1, 1)-(0, N) Jest to związek jednego zwierzęcia z zero do wielu wizytami. Każda wizyta musi mieć przypisane 21
zwierzę, zwierzę przez pewien czas może nie mieć żadnych wizyt u weterynarza. Wynik: Zwierzęta(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Umówione_wizyty(NrWizyty, DataWizyty, CzasWizyty, #NrZwierzęcia) ZWI/003 Poddano(ZWIERZĘ(1, 1), ZABIEG(0, N)) Mamy następujące encje Zwierzę(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Zabieg(NrZabiegu, DataZabiegu, CzasZabiegu, Cena) Obserwujemy związek postaci (1, 1)-(0, N) Jest to związek jednego zwierzęcia z zero do wielu zabiegami. Każdy zabieg musi mieć przypisane zwierzę, zwierzę przez pewien czas może nie być poddane żadnym zabiegom w lecznicy. Wynik: Zwierzęta(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Zabiegi(NrZabiegu, DataZabiegu, CzasZabiegu, Cena, #NrZwierzęcia) ZWI/004 Posiada(WŁAŚCICIEL(1, 1), ZWIERZĘ(0, N)) Mamy następujące encje Właściciel(KodWłaściciela, Nazwisko, Imię, Miejscowość, KodPocztowy, Adres, Telefon, Email) Zwierzę(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Obserwujemy związek postaci (1, 1) (1, N) Każde zwierzę musi posiadać dokładnie jednego właściciela. Każdy właściciel musi posiadać co najmniej jedno zwierzę, inaczej nie ma sensu przechowywanie jego danych w lecznicy najważniejszym obiektem w lecznicy jest zwierzę. Wynik: Właściciele(KodWłaściciela, Nazwisko, Imię, Miejscowość, KodPocztowy, Adres, Telefon, Email) Zwierzęta(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane, #KodWłaściciela) ZWI/005 Przebadano(ZWIERZĘ(1, 1), BADANIE(0, N)) Mamy następujące encje Zwierzę(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Badanie(NrBadania, DataBadania, CzasBadania, Wywiad, Diagnoza) Obserwujemy związek postaci (1, 1)-(0, N) Jest to związek jednego zwierzęcia z zero do wielu badaniami. Każde badanie musi mieć przypisane zwierzę, zwierzę przez pewien czas może nie być poddane żadnym badaniom w lecznicy. Wynik: Zwierzęta(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) 22
Badania(NrBadania, DataBadania, CzasBadania, Wywiad, Diagnoza, #NrZwierzęcia) ZWI/006 Przynależy(ZWIERZĘ(0, N), GATUNEK(1, 1)) Mamy następujące encje Zwierzę(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Gatunek(NrGatunku, Nazwa, CzyMożnaKastrować) Obserwujemy związek postaci (0, N)-(1, 1) Każde zwierzę przynależy do dokładnie jednego gatunku. Przez pewien czas weterynarz może nie przyjmować żadnych zwierząt gatunku, który jest w stanie przyjąć. Dlatego gatunek może nie wiązać się z żadnym zwierzęciem. Wynik: Gatunki(NrGatunku, Nazwa, CzyMożnaKastrować) Zwierzęta(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane, #NrGatunku) ZWI/007 SzczepJest(SZCZEPIENIE(0, N), TYP_SZCZEPIENIA(1, 1)) Mamy następujące encje SZCZEPIENIE(NrSzczepienia, DataSzczepienia, CzasSzczepienia) TYP_SZCZEPIENIA(Nazwa, Cena) Obserwujemy związek postaci (0, N)-(1, 1) Każde szczepienie posiada swój typ. Typ może nie być związany z żadnym szczepieniem, tzn. może nie zostać wykonane żadne szczepienie określonego typu. Wynik: Szczepienia(NrSzczepienia, DataSzczepienia, CzasSzczepienia, #NrTypuSzczepienia) Typy_szczepień(NrTypuSzczepienia,Nazwa, Cena) ZWI/008 ZabJest(ZABIEG(0, N), TYP_ZABIEGU(1, 1)) Mamy następujące encje ZABIEG(NrZabiegu, DataZabiegu, CzasZabiegu, Cena) TYP_ZABIEGU(Nazwa) Obserwujemy związek postaci (0, N)-(1, 1) Każdy zabieg posiada swój typ. Typ może nie być związany z żadnym zabiegiem, tzn. może nie zostać wykonany żaden zabieg określonego typu. Zabiegi(NrZabiegu, DataZabiegu, CzasZabiegu, Cena, #NrTypuZabiegu) Typy_zabiegów(NrTypuZabiegu, Nazwa) ZWI/009 Zaszczepiono(ZWIERZĘ(1, 1), SZCZEPIENIE(0, N)) ZWIERZĘ(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) SZCZEPIENIE(NrSzczepienia, DataSzczepienia, CzasSzczepienia) Obserwujemy związek postaci (1, 1)-(0, N) 23
Jest to związek jednego zwierzęcia z zero do wielu szczepieniami. Każde szczepienie musi mieć przypisane zwierzę, zwierzę przez pewien czas może nie być poddane żadnym szczepieniom w lecznicy. Wynik: Zwierzęta(NrZwierzęcia, Nazwa, Płeć, DataUrodzenia, ZnakiSczególne, CzyWykastrowane) Szczepienia(NrSzczepienia, DataSzczepienia, CzasSzczepienia, #NrZwierzęcia) 24
25
Definicje schematów relacji Konwencja int[n] - ciąg n cyfr char[n] - ciąg n znaków alfanumerycznych String ciąg znaków nieograniczonej długości boolean wartość logiczna enum typ wyliczniowy PK klucz główny (primary key) FK klucz obcy (foreign key) REL/001 Badania/BADANIE Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrBadania Int+ + + PK SZBD DataBadania int[8] RRRRMM DD + USER CzasBadania int[4] GGMM + USER Wywiad String - USER Cena Double+ USER Diagnoza String - USER NrZwierzęcia Int+ + FK Zwierzęta SZBD Znaczenie atrybutów w schemacie relacji Badania Nazwa atrybutu NrBadania DataBadania CzasBadania Wywiad Cena Diagnoza NrZwierzęcia Znaczenie Unikalny identyfikator badania, automatczynie nadawany przez system, klucz głowny Data badania zwierzęcia Godzina badania zwierzęcia Informacje o tym, czego udało się dowiedzieć weterynarzowi podczas badania, dowolny ciąg znaków, dozwolone litery polskie Cena badania Informarcje o rozpoznaniu dolegliwości, dowolny ciąg znaków, dozwolone litery polskie Kod zwierzęcia, klucz obcy z tabeli Zwierzęta Przykładowe dane: 26
NrBadania DataBadania CzasBadania Wywiad Diagnoza NrZwierzęcia Cena 1 20081201 1220 Zwierzę ma wysoką gorączkę i nagle schudło 2 kg 2 20090215 1500 Brak żadnych poważnych objawów 3 20090218 0900 Objawy zatrucia, wysypka na pysku Toskoplaz moza Zwierzę zdrowe Zatrucie pokarmo we 1 50.00 2 30.00 4 40.00 REL/002 Gatunki/GATUNEK Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrGatunku Int+ + + PK SZBD Nazwa String[25] + USER CzyMożnaKastro wać boolean + USER Znaczenie atrybutów w schemacie relacji Gatunki Nazwa atrybutu NrGatunku Nazwa CzyMożnaKastrować Znaczenie Unikalny identyfikator gatunku, automatczynie nadawany przez system, klucz głowny Nazwa gatunku, dowolny ciąg znaków, dozwolone litery polskie Informacja o tym, czy zwierzę danego gatunku może podlegać kastracji Przykładowe dane: NrGatunku Nazwa CzyMożnaKastrować 1 pies true 2 kot true 3 papuga false 4 chomik false 27
REL/003 Leki/LEK Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrLeku Int+ + + PK SZBD Nazwa String[25 ] + USER Postać enum + USER Znaczenie atrybutów w schemacie relacji Lek Nazwa atrybutu NrLeku Nazwa Postać Znaczenie Unikalny identyfikator leku, automatczynie nadawany przez system, klucz główny Nazwa leku, dowolny ciąg znaków, dozwolone litery polskie Forma, w jakiej występuje lek, typ wyliczeniowy Przykładowe dane: NrLeku Nazwa Postać 1 Agalin płyn 2 Adrenalina maść 3 Dervet tabletki REL/004 Przepisane_leki/PRZEPISANY_LEK Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrPrzepisanegoL eku Int+ + + PK SZBD Ilość Int+ + USER Dawkowanie String + USER NrLeku Int+ + FK Leki SZBD NrBadania Int+ + FK Badania SZBD Znaczenie atrybutów w schemacie relacji Przepisane_leki 28
Nazwa atrybutu NrPrzepisanegoLeku Ilość Dawkowanie NrLeku NrBadania Znaczenie Unikalny identyfikator przepisanego leku, automatycznie nadawany przez system, klucz głowny ilośc leku, w jaką ma zaopatrzyć się właściciel informacje o stosowaniu leku na zwierzęciu Identyfikator leku, klucz obcy z tabeli Leki Identyfikator badania, klucz obcy z tabeli Badania Przykładowe dane: NrPrzepisanegoLeku Ilość Dawkowanie NrLeku NrBadania 1 3 2 tabletki wieczroem 1 1 2 1 1 dozowanie co 2 dni 2 1 REL/005 Szczepienia/SZCZEPIENIE Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrSzczepienia Int+ + + PK SZBD DataSzczepienia int[8] RRRRMM DD + USER CzasSzczepienia int[4] GGMM + USER NrTypuSzczepie nia Int+ + FK SZBD NrZwierzęcia Int+ + FK Zwierzęta SZBD Znaczenie atrybutów w schemacie relacji Szczepienia Nazwa atrybutu NrSzczepienia DataSzczepienia CzasSzczepienia NrTypuSzczepienia NrZwierzęcia Znaczenie Unikalny identyfikator szczepienia, automatczynie nadawany przez system, klucz głowny Data szczepienia Godzina szczepienia Identyfikator typu sczepenia, klucz obcy z tabeli Typy_szczepień Identyfikator zwierzęcia, klucz obcy z tabeli Zwierzęta Przykładowe dane: 29
NrSzczepienia DataSzczepienia CzasSzczepienia NrTypuSzczepienia NrZwierzęcia 1 20090220 1100 1 1 2 20090211 0900 1 2 3 20090420 1140 2 2 4 20090501 1758 1 4 REL/006 Typy_szczepień/TYP_SZCZEPIENIA Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrTypuSzczepie nia Nazwa Int+ + + PK SZBD String[25 ] + USER Cena Double+ + USER Znaczenie atrybutów w schemacie relacji Typy_szczepień Nazwa atrybutu NrTypuSzczepienia Nazwa Znaczenie Unikalny identyfikator typu szczepienia, automatczynie nadawany przez system, klucz głowny Nazwa typu szczepienia, dowolny ciąg znaków, dozwolone litery polskie Przykładowe dane: NrTypuSzczepienia Nazwa Cena 1 Ochronne przeciw Warrozie 30,00 2 Przeciw wściekliźnie 40,00 30
REL/007 Typy_zabiegów/TYP_ZABIEGU Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrTypuZabiegu Int+ + + PK SZBD Nazwa String[25] + USER Znaczenie atrybutów w schemacie relacji Typy_zabiegów Nazwa atrybutu NrTypuZabiegu Nazwa Znaczenie Unikalny identyfikator typu zabiegu, automatczynie nadawany przez system, klucz głowny Nazwa rodzaju zabiegu, dowolny ciąg znaków, dozwolone litery polskie Przykładowe dane: NrTypuZabiegu Nazwa 1 Odrobaczanie 2 Opatrunek na łapę 3 Czyszczenie uszu 4 Antykoncepcja REL/008 Umówione_wizyty/UMÓWIONA_WIZYTA Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrWizyty Int+ + + PK SZBD DataWizyty int[8] RRRRMM DD + USER CzasWizyty int[4] GGMM + USER NrZwierzęcia Int+ + FK Zwierzęta SZBD Znaczenie atrybutów w schemacie relacji Umówione_wizyty 31
Nazwa atrybutu NrWizyty DataWizyty CzasWizyty NrZwierzęcia Znaczenie Unikalny identyfikator umówionej wizyty, automatczynie nadawany przez system, klucz głowny Data wizyty Czas wizyty Kod zwierzęcia, klucz obcy z tabeli Zwierzęta Przykładowe dane: NrWizyty DataWizyty CzasWizyty NrZwierzęcia 1 20081201 1220 1 2 20090215 1500 2 3 20090218 0900 4 REL/009 Właściciele/WŁAŚCICIEL Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych KodWłaściciela Int+ + + PK SZBD Nazwisko String[25] + USER Imię String[15] + USER Miejscowość String[25] + USER KodPocztowy int[5] + USER Adres String[30] + USER Telefon int[9] + USER Email String[30] - USER Znaczenie atrybutów w schemacie relacji Właściciele Nazwa atrybutu Kod właściciela Nazwisko Imię Miejscowość KodPocztowy Adres Znaczenie Unikalny kod właściciela, automatycznie nadawany przez system, klucz głowny Nazwisko właściciela, dowolny ciąg znaków, dozwolone litery polskie Pierwszę imię właściciela, dowolny ciąg znaków, dozwolone litery polskie Miejsce zamieszkania właściciela, dowolny ciąg znaków, dozwolone litery polskie Kod pocztowy właściciela, ciąg pięciu cyfr Ares zamieszkania właściciela, dowolny ciąg znaków, dozwolone litery polskie 32
Telefon Email Numer telefonu do właściciela, ciąg dziewięciu cyfr Adres skrzynki internetowej właściciela, atrybut opcjonalny, Przykładowe dane: KodWłaściciela Nazwisko Imię Miejscowość KodPocztow y Adres Telefon Email 001 Konarowski Krzysztof Kowary 58170 1 Maja 5/12 386754907 marek@onet. pl 002 Abacki Wiesław Wrocław 56280 Skłodowskiej 20/3 003 Szymborski Adam Wrocław 58233 Mickiewicza 1/7a 346346345 60645454 sa@o2.pl REL/010 Zabiegi/ZABIEG Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrZabiegu Int+ + + PK SZBD DataZabiegu int[8] RRRRMM DD + USER CzasZabiegu int[4] GGMM + USER Cena Double+ + USER NrTypuZabiegu Int+ + FK Typy_zabi egów SZBD NrZwierzęcia Int+ + FK Zwierzęta SZBD Znaczenie atrybutów w schemacie relacji Zabiegi Nazwa atrybutu NrZabiegu DataZabiegu CzasZabiegu Cena NrTypuZabiegu NrZwierzęcia Znaczenie Unikalny identyfikator Zabiegu, automatczynie nadawany przez system, klucz głowny Data zabiegu Godzina zabiegu Cena zabiegu Identyfikator typu zabiegu, klucz obcy z tabeli Typy_Zabiegów Kod zwierzęcia, klucz obcy z tabeli Zwierzęta 33
Przykładowe dane: NrZabiegu DataZabiegu CzasZabiegu Cena NrTypuZabiegu NrZwierzęcia 1 20090120 1715 20 Kuleje na jedną łapę false 2 20090311 1200 20060301 false 3 20090320 1350 20080120 true 4 20090401 1800 20000404 Blizna na uchu false REL/011 Zwierzęta/ZWIERZĘ Nazwa atrybutu Dziedzina Maska OPC-OBL+ Wartość domyślna Ograniczenia Unikalność Klucz Referencje Źródło danych NrZwierzęcia Int+ + + PK SZBD Nazwa String[25] + USER Płeć enum + USER DataUrodzenia int[8] RRRRMM DD + USER ZnakiSzczególne String[25] - USER CzyWykastrowa ne boolean - USER KodWłaściciela Int+ + FK Właściciel e SZBD NrGatunku Int+ + FK Gatunki SZBD Znaczenie atrybutów w schemacie relacji Zwierzęta Nazwa atrybutu NrZwierzęcia Nazwa Płeć DataUrodzenia ZnakiSzczególne CzyWykastrowane KodWłaściciela NrGatunku Znaczenie Unikalny kod zwierzęcia, automatycznie nadawany przez system, klucz głowny Nazwa nadana zwierzęciu przez właściciela, dowolny ciąg znaków, dozwolone litery polskie Płeć zwierzęcia Data urodzenia zwierzęcia, dowolny ciąg znaków, dozwolone litery polskie Cechy charakterystyczne zwierzęcia, dowolny ciąg znaków, dozwolone litery polskie Informacja o kastracji zwierzęcia. Unikalny kod właścicielowi, klucz obcy z tabeli Właściciele. Indentyfikator gatunku, klucz z tabeli Gatunki 34
Przykładowe dane: NrZwierzęcia Nazwa Płeć DataUrod zenia ZnakiSzcz ególne CzyWyka strowane KodWłaściciela NrGatunku 1 Filemon samiec 19990218 Kuleje na jedną łapę false 003 1 2 Bonifacy samiec 20060301 false 003 1 3 Reksio samiec 20080120 true 001 2 4 Sara samica 20000404 Blizna na uchu Słownik atrybutów false 002 2 Nazwa atrybutu Dziedziana atrybutu Przynależność do relacji Adres String[30] Właściciele Cena Double+ Zabiegi Cena Double+ Badania Cena Double+ Typy_szczepień CzasBadania int[4] Badania CzasSzczepienia int[4] Szczepienia CzasWizyty int[4] Umówione_wizyty CzasZabiegu int[4] Zabiegi CzyMożnaKastrować Boolean Gatunki CzyWykastrowane Boolean Zwierzęta DataBadania int[8] Badania DataSzczepienia int[8] Szczepienia DataUrodzenia int[8] Zwierzęta DataWizyty int[4] Umówione_wizyty DataZabiegu Int[8] Zabiegi Dawkowanie String Przepisane_leki Diagnoza String Badania Email String[30] Właściciele Ilość Int+ Przepisane_leki Imię String[15] Właściciele KodPocztowy int[5] Właściciele KodWłaściciela Int+ Właściciele Zwierzęta 35
Miejscowość String[25] Właściciele Nazwa String[25] Zwierzęta Nazwa String[25] Gatunki Nazwa String[25] Typy_zabiegów Nazwa String[25] Typy_szczepień Nazwa String[25] Leki Nazwisko String[25] Właściciele NrBadania Int+ Badania NrGatunku Int+ Gatunki Zwierzęta NrLeku Int+ Leki NrPrzepisanegoLeku Int+ Przepisane_leki NrSzczepienia Int+ Szczepienia NrTypuSzczepienia Int+ Typy_szczepień NrTypuZabiegu Int+ Typy_zabiegów NrWizyty Int+ Umówione_wizyty NrZabiegu Int+ Zabiegi NrZwierzęcia Int+ Zwierzęta Umowione_wizyty Badania Zabiegi Szczepienia Płeć Enum Zwierzęta Postać Enum Leki Telefon int[9] Właściciele Wywiad String Badania ZnakiSzczególne String[25] Zwierzęta Perspektywy PER/001 Dane właściciela Użytkownik: Weterynarz Transakcje: TRA/001, TRA/002, TRA/003 TRA/001 - Wprowadzenie danych właściciela ze zwierzęciem Nazwa Atrybut Zapis Odczyt Modyfikacja Właściciele KodWłaściciela + Właściciele Nazwisko + 36