Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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 Przedmioty Id_przedmiotu Nazwa Nauczyciel ???
7
Przykład – nieobecności uczniów
ZAJECIA Id_zajecia 234 Data Lekcja 3 Przedmiot WF odwołanie do PRZEDMIOTY id_nauczyciela 12 odwołanie do NAUCZYCIELE PRZEDMIOTY Symbol WF Nazwa Wychowanie fizyczne Nauczyciel odwołanie do NAUCZYCIELE NAUCZYCIELE Id_nauczyciela 12 Nazwisko Kowalski Imię Jan UCZNIOWIE Id_ucznia 123 Nazwisko Nowak Imię Piotr NIEOBECNOSCI Id_ucznia odwołanie do UCZNIOWIE Id_zajecia odwoł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) Zbiór dopuszczalnych wartości jest ograniczany przez wskazanie typu atrybutu (istnieją predefiniowane standardowe typy atrybutów). Specjalna wartość NULL jest elementem każdej domeny. Oznacza ona, że wartość atrybutu nie została określona (jest nieznana).
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 :
create table r (A1 D1, A2 D2, ..., An Dn, (warunek integralnosci1), , (warunek integralnoscik)) r jest nazwą relacji każde Ai jest nazwą atrybutu relacji r Di jest typem wartości – nazwą domeny atrybutu Ai 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 klucza 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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.