Bazy danych - 1. Doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl lub tadeusz.jeleniewski@pwr.wroc.pl



Podobne dokumenty
Wykład I. Wprowadzenie do baz danych

Pojęcie bazy danych. Funkcje i możliwości.

System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy danych w sterowaniu

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

PRZEWODNIK PO PRZEDMIOCIE

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

SZKOLENIE: Administrator baz danych. Cel szkolenia

PRZEWODNIK PO PRZEDMIOCIE

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

KARTA PRZEDMIOTU 1,5 1,5

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Modelowanie danych, projektowanie systemu informatycznego

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Bazy danych 2. Wykład 1

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Literatura. Bazy danych s.1-1

Systemy baz danych. mgr inż. Sylwia Glińska

Egzamin / zaliczenie na ocenę* 0,5 0,5

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

Bazy danych i ich aplikacje

Baza danych. Modele danych

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Normalizacja baz danych

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Projektowanie Systemów Informacyjnych

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Projektowanie relacyjnych baz danych

KARTA PRZEDMIOTU. 1. Informacje ogólne. Nazwa przedmiotu i kod (wg planu studiów): Projektowanie baz danych D1_4

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

Bazy danych i usługi sieciowe

Opisy efektów kształcenia dla modułu

Podstawowy Wykład z Systemów Baz Danych

Bazy danych Podstawy teoretyczne

Wykład 2. Relacyjny model danych

Autor: Joanna Karwowska

Systemy GIS Systemy baz danych

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2011/2012

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

Program nauczania. Systemy baz danych. technik informatyk

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy danych Wykład zerowy. P. F. Góra

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

z tematyką związaną z gromadzeniem systemów informatycznych Bartman Jacek

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Adam Cankudis IFP UAM

Baza danych. Baza danych to:

Bazy danych i usługi sieciowe

E-1IZ s2. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

WPROWADZENIE DO BAZ DANYCH

1 Projektowanie systemu informatycznego

poziom: Core wersja: 2.6 moduł: B : Wytwarzanie SYLLABUS

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Podstawowe wiadomości z zakresu: architektury sprzętowo-programowej komputerów, dowolnych języków programowania, algebry

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Przestrzenne bazy danych Podstawy języka SQL

Technologia informacyjna

Mechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

S y s t e m y. B a z D a n y c h

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Relacyjny model baz danych, model związków encji, normalizacje

1 Wstęp do modelu relacyjnego

BAZY DANYCH Podstawowe pojęcia

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

E-I-0007-s3. Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

Systemy informatyczne. Modelowanie danych systemów informatycznych

Kod przedmiotu: PLPILA02-IEEKO-L-5s7-2012IWBIANS Pozycja planu: D7

Bazy danych w geomatyce Databases in Geomatics

Podstawowe wiadomości z zakresu: architektury sprzętowo-programowej komputerów, dowolnych języków programowania, algebry

Projektowanie baz danych

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

PRZEWODNIK PO PRZEDMIOCIE

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia. Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Bazy danych - wykład wstępny

Model relacyjny. Wykład II

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Transkrypt:

Bazy danych - 1 Doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl lub tadeusz.jeleniewski@pwr.wroc.pl http://www.wstt.edu.pl/dydaktyka/tjeleniewski/ 1

Treści kształcenia Systemy baz danych. Modelowanie danych. Relacyjne bazy danych. Języki zapytań do baz danych. Projektowanie relacyjnych baz danych. Przetwarzanie transakcji. Efekty kształcenia - umiejętności i kompetencje Formułowania zapytań w języku SQL (Structured Query Language); przygotowanie schematu relacyjnej bazy danych na podstawie modelu encja-związek; tworzenie zapytań w języku SQL; ocena różnych strategii wykonywania zapytań; warunki integralności danych; bezpieczeństwo danych w bazie. 2

Formy i terminy zajęć: -Forma wiodąca wykład: sobota B, godz.13:00 15:25 -Forma towarzysząca laboratorium: sobota B grupa 4IZ2 godz. 15:30 17:55 4IZ1 godz. 18:00 20:25 Kurs kończy się egzaminem. Ocena końcowa będzie średnią arytmetyczną oceny z egzaminu i oceny z laboratorium pod warunkiem, że obydwie te oceny będą pozytywne. 3

Literatura [1] C.Delobel, M.Adiba - Relacyjne bazy danych. Wydawnictwa Naukowo- Techniczne, Warszawa, 1989 [2] T.Pankowski - Podstawy baz danych. Państwowe Wydawnictwo Naukowe, Warszawa, 1992 [3] M.Chałon Systemy baz danych. Wprowadzenie. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 2001 [4] Garcia-Molina H., Ullman J.D., Widom J. Implementacja systemów baz danych. WN-T, Warszawa. 2003 [5] P. Beynon Davies - Systemy baz danych. WN T, Warszawa 1998 [6] J.D.Ullman, J.Widom Podstawowy wykład z systemów baz danych. WN-T, Warszawa, 2000 [7] T.Connolly, C. Begg Systemy baz danych. Praktyczne metody projektowania, implementacji i zarządzania. Wyd. RM, Warszawa, 2004 4

Wprowadzenie Wykład 1 Podstawowe pojęcia Projektowanie systemów baz danych Przykładowy model pojęciowy bazy danych 5

Wg C.Delobel a i M.Adib y [1]: Bazą danych nazywamy zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku pamięciowym komputera, mogący zaspokoić potrzeby wielu użytkowników korzystających z niego w sposób selektywny w dogodnym dla siebie czasie. 6

W bazie danych są zapisywane informacje o faktach i zdarzeniach dotyczących pewnego wycinka rzeczywistości, po to aby możliwe było ich odtworzenie i analiza w dowolnej chwili. Poprawne i efektywne działanie na bazie danych zależy od właściwej interpretacji zawartych w niej informacji. Wymaga to wiernego i pełnego opisu semantyki (semantyka - znaczenie) modelowanego wycinka świata rzeczywistego. W systemach baz danych narzędziem opisu semantyki odwzorowywanego fragmentu świata rzeczywistego jest model danych. 7

Modele konceptualne - najbardziej zbliżone do naturalnego sposobu analizy modelowanej rzeczywistości, jej obiektów i zależności między nimi, wykonywanej przez projektanta bazy danych. Najczęściej stosowanym modelem konceptualnym jest model związków i encji (encja, z ang. entity - jednostka, element). W modelu tym podstawowymi pojęciami są encje, atrybuty i związki. 8

Modele implementacyjne - służą do reprezentacji określonych na poziomie modelowania konceptualnego encji, atrybutów i związków w konkretnym systemie bazy danych. Najczęściej obecnie stosowanym modelem implementacyjnym w komercyjnych ( i nie tylko) systemach baz danych (Oracle, MSSQL, Ingres, Sybase, Progress, Isis, Informix, dbase4, MySQL, PostgreSQL i in.) jest model relacyjny. 1 2 3 4 5 6 t Ewolucja modeli danych: 1. Model hierarchiczny 2. Model sieciowy 3. Model relacyjny 4. Model relacyjno obiektowy 5. Model obiektowy 6. Model dedukcyjny 9

Użytkownicy Transakcje System bazy danych S Z B D Moduł zarządzania transakcjami Moduł sterowania Dostępem do danych Schemat bazy danych Baza danych 10

Podstawowe funkcje jakie musi spełniać SZBD to: optymalizacja zapytań takie przekształcanie zapytań kierowanych do bazy przez jej użytkowników aby czas oczekiwania na odpowiedź był możliwie najkrótszy, zapewnienie integralności danych - uniemożliwienie przejścia bazy do stanu, który nie istnieje w modelowanej rzeczywistości, zarządzanie współbieżnym dostępem wielu użytkowników w taki sposób aby każdy z nich był niewidoczny ( przeźroczysty ) dla innych; każdy z użytkowników musi być przekonany o tym, że jest wyłącznym właścicielem danych, odporność na awarie (niezawodność bazy danych) - możliwość odtworzenia poprawnego stanu bazy danych sprzed awarii, ochrona danych - uniemożliwienie dostępu nieuprawnionych użytkowników do poufnych danych innych użytkowników. 11

Moduł zarządzania transakcjami umożliwia jednoczesne korzystanie z bazy danych wielu użytkownikom. Powinien on działać tak, aby każdy z nich miał wrażenie, że on i tylko on jest wyłącznym właścicielem i użytkownikiem danych. Moduł zarządzania dostępem do danych umożliwia właściwą interpretację danych przechowywanych w pamięciach zewnętrznych, wprowadzanie nowych danych oraz modyfikację i aktualizację istniejących danych. 12

Cechami charakterystycznymi baz danych są: Niezależność aplikacji i danych - dane mogą być wprowadzane do bazy bez konieczności modyfikacji korzystających z nich programów czy systemów użytkowych, a z drugiej strony aplikacje mogą być modyfikowane niezależnie od stanu baz danych. Abstrakcyjna reprezentacja danych. Programy i systemy użytkowe (aplikacje) są tworzone przy użyciu tzw. deklaratywnych języków programowania (w odróżnieniu od języków imperatywnych). Twórca aplikacji nie musi np. interesować się kolejnością danych w bazie, ani sposobem ich reprezentacji i wyszukiwania. Precyzuje jedynie warunki selekcji informacji. Twórca aplikacji decyduje zatem co zrobić, a nie jak zrobić. 13

Różnorodność sposobów widzenia danych. Te same dane zawarte w bazie mogą być widziane w różny sposób przez różnych użytkowników. Efekt ten uzyskuje się przez stosowanie różnych filtrów (perspektyw) nakładanych na te same dane. Fizyczna i logiczna niezależność danych. Fizyczna niezależność danych polega na tym, że rozszerzenie systemu komputerowego, na którym pracuje SZBD o nowy sprzęt nie narusza danych w bazie. Logiczna niezależność danych polega na tym, że - po pierwsze wprowadzanie nowych danych do bazy nie deaktualizuje starych, po drugie - dane, które nie są wzajemnie powiązane tzw. związkami integralnościowymi mogą być usuwane z bazy niezależnie od siebie. 14

Projektowanie systemów baz danych Modelowany fragment rzeczywistości Kostrukcja modelu konceptualnego fragmentu rzeczywistości Diagramy EER Transformacja modelu konceptualnego do modelu relacyjnego Relacje Normalizacja modelu relacyjnego Relacje znormalizowane W ybór struktur fizycznych i określenie ścieżek dostępu Fizyczne struktury danych Strojenie systemu 15

Procedura konstrukcji modelu konceptualnego fragmentu rzeczywistości składa się zwykle z trzech kroków: Określenie wymagań dla systemu informatycznego z punktu widzenia zamawiającego. Zdefiniowanie informacji o obiektach i ich wzajemnych związkach. Rezultatem jest kompletny diagram związków i encji. Określenie hierarchii funkcji realizowanych w systemie informatycznym 16

Nazwisko Adres Towar Cena Kowalski Parkowa 7 Deski 12,50 Kowalski Parkowa 7 Gwoździe 0,79 Kowalski Parkowa 7 Klej Wikol 7,77............ Zieliński Stacyjna 13 Pręt zbrojeniowy 45,91 Zieliński Stacyjna 13 Cement 123,80 Relacja Dostawca 17

Relacja ta nie została zaprojektowana właściwie. Niepożądane cechy tej relacji to: redundancja (nadmiar) danych - adresy dostawców występują wielokrotnie; pojawiają się problemy z zachowaniem spójności nadmiarowych danych; anomalia wprowadzania danych - nie można zapamiętać dostawcy i jego adresu wtedy, kiedy nie dostarcza on żadnych towarów; anomalia usuwania danych - usunięcie wszystkich towarów dostarczanych przez jednego dostawcę powoduje usunięcie również jego adresu; anomalia uaktualniania danych - w niektórych przypadkach konieczne jest wielokrotne wprowadzanie tych samych uaktualnień. 18

Nazwisko Adres Kowalski Parkowa 7 Kowalski Parkowa 7 Kowalski Parkowa 7...... Zieliński Stacyjna 13 Zieliński Stacyjna 13 Nazwisko Adres Kowalski Parkowa 7...... Zieliński Stacyjna 13 Nazwisko Towar Cena Kowalski Deski 12,50 Kowalski Gwoździe 0,79 Kowalski Klej Wikol 7,77......... Zieliński Pręt zbrojeniowy 45,91 Zieliński Cement 123,80 19

Celem normalizacji jest zapewnienie spójności bazy i usunięcie z niej informacji nadmiarowych. Normalizacja polega na dekompozycji relacji na mniejsze schematy relacji. Proces normalizacji musi spełniać następujące warunki: żaden atrybut nie zostanie zagubiony w trakcie procesu normalizacji, dekompozycja relacji nie prowadzi do utraty informacji, wszystkie zależności funkcyjne są reprezentowane w pojedynczych schematach relacji. 20

Na etapie doboru struktur fizycznych podstawowe struktury danych modelu implementacyjnego przekształca się do typowych struktur pamięci zewnętrznej (pliki, rekordy). Strojenie systemu polega na zwiększeniu jego efektywności za pomocą mechanizmów dostępnych w SZBD. Strojenie systemu jest zwykle realizowane przez administratorów bazy danych. 21

Podstawowym dla systemów baz danych pojęciem jest transakcja. Jej charakterystyczne cechy określa się często skrótem ACID A Atomicity niepodzielność transakcja może być wykonana w całości, od początku do końca, albo wcale C Consistency spójność - transakcja nie może naruszać więzów spójności bazy danych I - Isolation izolacja - każda transakcja musi przebiegać tak, jakby system w tym samym czasie nie realizował żadnej innej transakcji D Durability trwałość - wyniku przetwarzania kompletnie zakończonej transakcji system nie może utracić jej wyników 22

Każdy z obiektów odwzorowanych w bazie danych nazywa się encją (z ang. entity - jednostka). Rozróżnianie encji jest możliwe dzięki temu, że ich odpowiedniki - rzeczywiste obiekty mają tożsamość. Każda z encji jest jednoznacznie określona za pomocą nazwy. Encje tego samego typu można grupować w zbiory encji. Każdy zbiór encji w modelu otrzymuje unikalną nazwę. Przypisywanie nazw zbiorom encji jest jedną z podstawowych operacji w czasie tworzenia schematu pojęciowego. Inną ważną operacją jest definiowanie zbiorów encji. 23

Teoria mnogości dopuszcza różne sposoby definiowania zbiorów: (1) ekstensjonalnie, czyli przez wyliczenie elementów, np. {męski, żeński}; (2) intensjonalnie, czyli przez podanie własności, np. { x Osoba plec( x) meska} definicja ta określa zbiór osób płci męskiej; (3) za pomocą iloczynu kartezjańskiego; jeżeli X, Y, Z są nazwami zbiorów, to jest zbiorem elementów postaci takich, że X Y Z X, y Y, (4) za pomocą operatorów sumy, przecięcia i różnicy zbiorów postaci odpowiednio,, x z Z 24

Encje same w sobie nie niosą żadnej informacji. Powiązania to relacje dwuczłonowe na zbiorach encji X oraz Y niekoniecznie różnych. Powiązanie takie oznaczać będziemy dalej symbolicznie jako: F X Y G gdzie F, G są odwzorowaniami na ogół wielowartościowymi, odwrotnymi względem siebie. Zbiór X jest zbiorem źródłowym, zbiór Y - zbiorem docelowym odwzorowania F. Na rysunku 1 pokazano przykładowy schemat powiązań między zbiorami STUDENT oraz KIERUNEK-I-ROK STUDENT zapis Studenci KIERUNEK I ROK 25

piotr rok-i-informatyki jerzy Semestr-dyplomowy-informatyki anna III-rok-e-elektroniki 26

Wyrażenie określa kierunek i rok studiów, na które zapisał się student Piotr. Wyrażenie Studenci rok zapis piotr I inf ormatyki i zarz ądza nia określa dwuelementowy zbiór encji {piotr, jan} 27

Odwzorowania F oraz G mogą być: (1) jednowartościowe lub wielowartościowe; odwzorowanie jednowartościowe (funkcyjne) przyporządkowuje encji ze zbioru źródłowego dokładnie jedną encję ze zbioru docelowego; odwzorowanie wielowartościowe przyporządkowuje encji ze zbioru źródłowego podzbiór encji ze zbioru docelowego, (2) całkowite lub częściowe; odwzorowanie jest częściowe jeżeli w zbiorze źródłowym istnieją takie encje, które nie mają swoich obrazów, odwzorowanie jest całkowite jeżeli wszystkie encje ze zbioru źródłowego mają swoje obrazy, (3) o określonej liczności minimalnej i maksymalnej zbioru wartości; odwzorowaniom wielowartościowym można przypisać parę liczb całkowitych określających minimalną i maksymalną liczność zbioru wartości. 28

Do zapisu nazw encji, nazw zbiorów encji, powiązań i odwzorowań zastosowano dalej następujące reguły: (1) nazwy encji rozpoczynają się małą literą lub cyfrą, (2) nazwy zbiorów zaczynają się od wielkiej litery, (3) funkcje (odwzorowania jednowartościowe) pisze się małymi literami (jak encje), (4) odwzorowania wielowartościowe rozpoczyna się od wielkiej litery, (5) po odwzorowaniu całkowitym pisze się cyfrę 1 w nawiasie, (6) po odwzorowaniu częściowym pisze się cyfrę 0 w nawiasie, (7) po odwzorowaniu z określoną licznością minimalną i maksymalną wartości pisze się w nawiasie parę liczb, z których pierwsza oznacza minimalną liczność, a druga liczność maksymalną, (8) w definicji powiązania nie muszą występować obydwa elementy F i G. 29

Kilka przykładów powiązań zapisanych z zastosowaniem podanych zasad notacji: płeć( 1) OSOBA { męska,żeńska} PARTIA ROK Kandydat( 0) OSOBA OSOBA wiek ( 1) LICZBA mąż( 0) żona( 0) x OSOBA płeć( x ) żeńska x OSOBA płeć( x ) męska OSOBA Rodzice( 2, 2 ) Dzieci( 0) OSOBA 30

Opis systemu informacyjnego (w tym również modelu konceptualnego bazy danych) powstaje w trzech etapach: (1) określenie zbiorów encji składających się na dany system informacji, (2) określenie powiązań między zbiorami encji - należy tutaj uwzględnić możliwie najwięcej powiązań mimo, że prowadzi to często do występowania redundancji (nadmiaru), (3) określenie warunków dotyczących powiązań. Jako przykład formułowania modelu pojęciowego rozważmy uniwersytecką bazę danych wspomagającą zarządzanie uczelnią. W stosunku do rzeczywistości - model ten stanowi znaczne uproszczenie 31

Na pierwszym etapie określamy zbiory encji: 1. STUDENT - zbiór wszystkich studentów, którzy studiują aktualnie lub studiowali w przeszłości, np. 10 lub mniej lat temu. 2. WYKŁADOWCA - zbiór wykładowców aktualnie współpracujących z uniwersytetem. 3. KIERUNEK-I-ROK - zbiór wszystkich kierunków i lat studiów prowadzonych na uniwersytecie. 4. PRZEDMIOT - zbiór przedmiotów stanowiących elementy programu nauczania na określonym kierunku i roku studiów. 5. SALA - zbiór sal, w których odbywają się zajęcia. 6. NAZWISKO - zbiór nazwisk stanowiących łańcuchy znaków. 7. ADRES - zbiór łańcuchów znaków odpowiadających adresom. 8. ROK - zbiór lat akademickich w postaci np. 9697 (rok akademicki 1996/1997) 32

9. STANOWISKO - zbiór stanowisk akademickich wykładowców, np. {profesor, adiunkt, starszy asystent, asystent}. 10. GODZINA. 11. DZIEŃ={poniedziałek, wtorek, środa, czwartek, piątek, sobota, niedziela} 12. LICZBA - zbiór liczb całkowitych. 13. BUDYNEK - zbiór budynków uniwersyteckich. 14. BOOL={prawda, fałsz} 33

Drugi etap polega na określeniu powiązań pomiędzy zbiorami encji 15. nazwiskostudenta( 1) STUDENT NAZWISKO Studentonazwisku( 0) 16. STUDENT adresstude nta( 1) ADRES 17. KIERUNEK I ROK Pr zedmiot( 1) PRZEDMIOT Kierunekgdzieprzedmiot( 1) 18. STUDENT nazwiskost udenta( 1) NAZWISKO Studentona zwisku( 0 ) 19. lokalizacj a( 1) SALA BUDYNEK Salawbudyn ku( 1) 20. KIERUNEK I ROK odpowiedzi a ln y ( 1) WYK Ł ADOWCA 21.. STUDENT zapisany( 1) KIERUNEK Studentzapisany( 0) I ROK 34

22. Uczęszczał ( 1) STUDENT KIERUNEK I ROKROKBOOL student uczęszczał w danym roku akademickim na określony kierunek i rok studiów, który zaliczył albo nie. 23. KIERUNEK I ROK Wymagany ( 0 ) KIERUNEK I ROK BOOL powiązanie określa zaliczenia, jakie powinien mieć student, który chce się zapisać na określony kierunek i rok studiów. 24. 25. 26. 27. Rozkładzajęć( 1) PRZEDMIOT GODZINA DZIEŃ SALA WYK Ł ADOWCA Zajęaj(1) WYK Ł ADOWCA GODZINA DZIEŃ SALA PRZEDMIOT Zajęta( 0) SALA GODZINA DZIEŃ PRZEDMIOT zaliczenie( 1) STUDENT BOOL powiązanie to mówi, czy dany student zaliczył rok/semestr studiów, czy nie. 35

Trzeci etap projektowania modelu polega na określeniu warunków dotyczących powiązań 28. g GODZINA, d DZIEN, s SALA, w WYKLADOWCA, p PRZEDMIOT g, d, s, w Rozkladzaj ec p g, d, s, p Zajety w 29. Jeśli g,d,p Zajęta( s) to istnieje w takie, że g,d,s, p Zajętyw co zapisuje się formalnie jako: g,d,p Zajętas w WYKŁ ADOWCA g,d,s, p Zajęty w 36

30. Dla danego studenta s STUDENT zdefiniujmy zbiór kierunków i lat studiów, które ten student zaliczył. Zbiór ten zapiszemy w następującej postaci: ZAL k KIERUNEK I ROK r ROK k,r, prawda UCZĘSZCZAŁ s Student s może może zapisać się na kierunek i rok k tylko wtedy, gdy Wymagany( k ) ZAL co zapisuje się formalnie jako: k zapisany ( s ) Wymagany(k ) ZAL 37