Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Projektowanie bazy danych. Przykład tworzenia aplikacji bazodanowej Problem: –Stwórz system śledzący nieobecności uczniów na poszczególnych lekcjach w.

Podobne prezentacje


Prezentacja na temat: "Projektowanie bazy danych. Przykład tworzenia aplikacji bazodanowej Problem: –Stwórz system śledzący nieobecności uczniów na poszczególnych lekcjach w."— Zapis prezentacji:

1 Projektowanie bazy danych

2 Przykład tworzenia aplikacji bazodanowej Problem: –Stwórz system śledzący nieobecności uczniów na poszczególnych lekcjach w szkole.

3 Typowe kroki w projektowaniu aplikacji bazodanowej Krok1 – Identyfikacja celów Krok 2 – Wyznaczenie zadań i funkcji Krok 3 – Wyznaczenie elementów danych Krok 4 – Organizacja danych Krok 5 – Projektowanie interfejsu użytkownika Krok 6 – Tworzenie aplikacji Krok 7 – Testowanie i ulepszanie

4 Identyfikacja celów Ewidencja nieobecności uczniów Statystyka frekwencji uczniów w ogóle Wykaz nieobecności konkretnego ucznia Analiza liczby odbytych zajęć –Ile było lekcji ? –Kto rzeczywiście prowadził ? –Którzy uczniowie przekroczyli dozwoloną liczbe nieobecności ? ???.. Inne cele

5 Identyfikacja przepływu zadań Stworzenie listy przedmiotów –Administrator dopisuje nowy przedmiot –Administrator usuwa przedmiot Stworzenie listy uczniów –Nauczyciel dopisuje dane personalne ucznia –Nauczyciel modyfikuje dane personalne ucznia –… Nauczyciel wpisuje dane o nowych zajęciach –Zajęcia w konkretnym dniu na konkretnej lekcji Nauczyciel sprawdza obecność –Nauczyciel odnotowuje nieobecność ucznia.

6 Wyznaczenie elementów danych Uczniowie –Id_ucznia –Nazwisko –Imię Nauczyciele –Id_nauczyciele –Nazwisko –Imię Przedmioty –Id_przedmiotu –Nazwa –Nauczyciel ???

7 Przykład – nieobecności uczniów ZAJECIA Id_zajecia234 Data Lekcja3 PrzedmiotWF odwołanie do PRZEDMIOTY id_nauczyciela12odwołanie do NAUCZYCIELE PRZEDMIOTY SymbolWF NazwaWychowanie fizyczne Nauczyciel12odwołanie do NAUCZYCIELE NAUCZYCIELE Id_nauczyciela12 NazwiskoKowalski ImięJan UCZNIOWIE Id_ucznia123 NazwiskoNowak ImięPiotr NIEOBECNOSCI Id_ucznia123odwołanie do UCZNIOWIE Id_zajecia234odwołanie do ZAJĘCIA // związek między UCZNIEAMI i ZAJĘCIAMI typu wiele do wielu – tabela NIEOBECNOSCI pokazuje taki związek

8 Idea Atrybuty (pola relacji) Krotki (wiersze, rekordy relacji)

9 Atrybuty Jeżeli na relacje popatrzymy jak na tabele, to nagłówek takiej tabeli zawiera wykaz atrybutów czyli kolumn tabeli. Każdy atrybut ma unikatową w ramach relacji nazwę W przykładzie tabeli kontrahenci atrybutami są: SYMBOL, NAZWA, ADRES, NIP Zbiór D(A) dopuszczalnych wartości atrybutu A nazywamy dziedziną atrybutu A (lub domeną atrybutu) Specjalna wartość NULL jest elementem każdej domeny. Oznacza ona, że wartość atrybutu nie została określona (jest nieznana). Zbiór dopuszczalnych wartości jest ograniczany przez wskazanie typu atrybutu (istnieją predefiniowane standardowe typy atrybutów).

10 Schematy relacji Nazwę relacji oraz zbiór jej atrybutów nazywamy schematem relacji. Przykład schematu relacji Kontrahent( symbol, nazwa, adres, nip ) Model relacyjny składa się zwykle z jednego lub kilku schematów relacji.

11 Tworzenie tabeli W SQL-u relacje definiujemy poleceniem create table : W SQL-u relacje definiujemy poleceniem create table : create table r (A 1 D 1, A 2 D 2,..., A n D n, (warunek integralnosci 1 ),..., (warunek integralnosci k ))  r jest nazwą relacji  każde A i jest nazwą atrybutu relacji r  D i jest typem wartości – nazwą domeny atrybutu A i Warunek – węzeł integralności = integrity constraint

12 Tworzenie tabeli - przykład Create table UCZNIOWIE ( id_ucznia int, Nazwisko varchar(20) )

13 Więzy (ograniczenia) integralności Mechanizm (reguła), który gwarantuje że dane wpisane do relacji spełnią nałożone na nie warunki –czuwa nad tym SZBD Definiuje się na poziomie –pojedynczego atrybutu –całej relacji Rodzaje –klucz podstawowy (primary key) –klucz obcy (foreign key) –unikalność (unique) –zawężenie domeny/dziedziny (check) –wartość pusta/niepusta (NULL/NOT NULL)

14 Rodzaje integralności Integralność domeny ( kolumna ) Integralność rekordu (wiersz) Integralność referencyjna (między tabelami)

15 Klucze Niech A = { A1, A2,..., An } będzie zbiorem atrybutów relacji. Podzbiór K zbioru A nazywamy nadkluczem jeżeli dla dowolnej relacji r(A) każda krotka jest wyznaczona jednoznacznie poprzez wartości jakie przyjmuje na atrybutach należących do K. Jeżeli klucz K jest minimalny, tzn. nie jest nadkluczem właściwym żadnego innego innego klucza, to nazywamy go kluczem kandydującym. Zwykle w relacji wybieramy i ustalamy jeden klucz kandydujący. Taki wyszczególniony klucz nazywamy kluczem głównym relacji.

16 Tworzenie k lucza głównego Klucz główny relacji r(A1, a2,..., An) to zestaw atrybutów jednoznacznie identyfikujący każdą krotkę w relacji. ALTER TABLR NazwaTabeli ADD CONSTRAINT NazwaKlucza PRIMARY KEY (Ak1, Ak2,..., Akm) gdzie Ak1, Ak2,..., Akm są atrybutami relacj r ALTER TABLE UCZNIOWIE ADD CONSTRAINT PK_ID_UCZNIA PRIMARY KEY (ID_UCZNIA)

17 Klucze obce Klucz obcy relacji (foreign key) atrybut (lub zbiór atrybutów), który wskazuje na klucz podstawowy (główny) innej relacji Służy do reprezentowania powiązań między danymi (łączenia relacji)

18 Klucze obce - przykład

19 Klucze obce – cd. Dane są relacje R1 i R2. Podzbiór FK atrybutów relacji R1 nazywany jest kluczem obcym R1 jeżeli: –atrybuty w FK mają taką samą domenę jak atrybuty klucza podstawowego PK relacji R2 –dla każdej krotki t1 relacji R1 istnieje dokładnie jedna krotka t2 relacji R2, taka że t1 [FK] = t2 [PK], lub t1 [FK] = null Klucz obcy (ograniczenie referencyjne) gwarantuje, że rekordy z tabeli R1 występują w kontekście związanego z nim rekordu z tabeli R2

20 Referencyjne więzy integralności – klucze obce (cd.2) Można wskazać jak system będzie reagował na zmianę lub usuwanie wartości klucza głównego, do której istnieje odwołanie referencyjne ON DELETE | ON UPDATE NO ACTION (domyślnie): Nie ma wpływu na wartość klucza obcego; może powodować niemożność dokonania zmiany klucza głównego ze względu na integralność danych. CASCADE: Dla ON DELETE, usuwa rekordy z odpowiadającą mu wartością klucza obcego; dla ON UPDATE, uaktualnia odpowiednie klucze obce. SET NULL: Ustawia wartości na NULL SET DEFAULT


Pobierz ppt "Projektowanie bazy danych. Przykład tworzenia aplikacji bazodanowej Problem: –Stwórz system śledzący nieobecności uczniów na poszczególnych lekcjach w."

Podobne prezentacje


Reklamy Google