150 likes | 345 Views
Relacyjne bazy danych Tworzenie bazy danych Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk p. 3.21 C dostęp do materiałów: http://kis.tu.kielce.pl/bazyzao/. Podstawowe pojęcia baz danych.
E N D
Relacyjne bazy danychTworzenie bazy danychMarzena NowakowskaKatedra Informatyki Stosowanej, WZiMK, PŚkp. 3.21 Cdostęp do materiałów: http://kis.tu.kielce.pl/bazyzao/
Podstawowe pojęcia baz danych Baza danych – zbiór różnego typu danych (tekstowe, liczbowe, ich podtypy) powiązanych ze sobą i przechowywanych na urządzeniach pamięciowych. Tabela = relacja – element bazy danych przechowujących dane przeznaczone do przetwarzania (definicja nieformalna). Relacyjna baza danych – system powiązanych ze sobą relacji (tabel). Struktura (projekt) bazy danych – zbiór tabel (projekty tabel) oraz powiązań między tymi tabelami. System Zarządzania Bazami Danych (SZBD) – program komputerowy do obsługi baz danych (tworzenie i modyfikacja struktury bazy, wprowadzanie, usuwanie i modyfikacja danych, tworzenie, usuwanie i modyfikacja powiązań, zestawianie informacji (definiowanie zapytań)). Klucz tabeli - minimalny zbiór atrybutów jednoznacznie identyfikujący rekordy tabeli. • klucz główny- jeden z kluczy tabeli wybrany do identyfikacji rekordów. W Ms Access - klucz podstawowy. • klucz zewnętrzny - atrybut tabeli, który jest kluczem głównym (podstawowym) innej tabeli. Inna nazwa: klucz obcy.
Klucz główny Pojęcia podstawowe w tabeli Atrybut=Kolumna=Pole Schemat (projekt, struktura) tabeli = zbiór atrybutów i przypisanych im własności Rekord=Wiersz=Krotka Tabela WYPOŻYCZALNIA BIBLIOTECZNA Klucze: {Nazwisko, Imię, Adres, Data_zap, Syg, Data_wyp} {Pesel, Syg, Data_wyp}
Proces normalizacji tabeli • Nieprawidłowo zaprojektowana tabela cechuje się anomaliami, które utrudniają (a czasami uniemożliwiają) pracę z bazą danych. • Aby doprowadzić tabelę do odpowiedniej postaci normalnej przeprowadza się proces normalizacji tabeli. • Proces normalizacji polega na odpowiednim podziale tabeli na mniejsze w wyższej postaci normalnej.
Pierwsza postać normalna tabeli Tabela jest w pierwszej postaci normalnej, jeśli każdy atrybut w każdym rekordzie tabeli ma co najwyżej jedną wartość ze swojej dziedziny. Tabela WYPOŻYCZALNIA BIBLIOTECZNA jest w pierwszej postaci normalnej. WYPOŻYCZALNIA BIBLIOTECZNA
Druga postać normalna tabeli Tabela jest w drugiej postaci normalnej, jeśli jest w pierwszej postaci normalnej i każdy atrybut nie będący kluczem tej tabeli jest w pełni zależny funkcyjnie od wszystkich kluczy tabeli. Tabela WYPOŻYCZALNIA BIBLIOTECZNA nie jest w drugiej postaci normalnej. Istnieje atrybut, który jest częściowo zależny od klucza głównego: Autor zależy częściowo od klucza {Pesel, Syg, Data_wyp}, bo zależy tylko od jednego składnika klucza Syg: {Pesel, Syg, Data_wyp} Nazwisko WYPOŻYCZALNIA BIBLIOTECZNA
Trzecia postać normalna tabeli Tabela jest w trzeciej postaci normalnej,jeśli jest w drugiej postaci normalnej i żaden z jej atrybutów nie będących kluczem nie jest przechodnio zależny od żadnego klucza tej tabeli. Tabela WYPOŻYCZALNIA BIBLIOTECZNA nie jest w trzeciej postaci normalnej, bo nie jest w drugiej. Występuje w tabeli przechodnia zależność od klucza. Pole LimitCz zależy od pola Status, które zależy od klucza {Pesel, Syg, Data_wyp}: {Pesel, Syg, Data_wyp}StatusLimit_cz WYPOŻYCZALNIA BIBLIOTECZNA
Normalizacja do trzeciej postaci normalnej tabeli WYPOŻYCZALNIA BIBLIOTECZNA tabela WYPOŻALNIA BIBLIOTECZNA Nazwisko Imię Adres Data_zap Pesel Tytuł Autor Syg Status Limit_cz Data_wyp Data_zw tabela KSIĄŻKI tabela WYPOŻYCZENIA tabela CZYTELNICY tabela ZWROTY Tytuł Autor Syg Status Id_czyt Nazwisko Imię Adres Data_zap Pesel Id_czyt Syg Data_wyp Data_zw Id_czyt Syg Data_wyp Klucz główny: Syg Klucz główny: Syg tabela KATEGORIE Klucz główny: ? Status Limit_cz Klucz główny: Id_czyt Klucz główny: Status
Ms Access – dane, operatory, funkcje • Okno bazy danych i jego elementy • Typy danych: Tekst, Nota, Liczba, Data/Godzina, Waluta, Autonumer, Tak/Nie, ObiektOLE, Hiperłącze • Operatory i ich priorytety: • tekstowe (&, +, like), • arytmetyczne (+, -, *, /, ^, Mod, \), • relacyjne (=, >, >=, <, <=, <>), • daty (+, -), • logiczne (not, and, or, xor) • Funkcje (typy – j.w.): Exp(x), Clng(x), Day(#2003-09-27#), Left(”programowanie”, 7), Date(), Now() • Symbole wieloznaczne stosowane tylko z typem tekstowym i operatorami właściwymi dla tekstów (like, relacyjne): ? (zastępuje jeden znak), * (zastępuje ciąg znaków), # (zastępuje cyfrę) • Wyrażenia = kombinacja symboli – identyfikatorów, funkcji, operatorów i stałych, której zastosowanie daje określony wynik, np. Fix([Cena]*[Liczba]*(1+[Marża]*100)/100+[Stała_opłata] • Właściwości pól
Ms Access – zarządzanie tabelami • Tworzenie bazy danych • Uruchomić program Ms Access. Wybrać ikonę w pozycji Nowa pusta baza danych. W pozycji Pusta baza danych podać nazwę pliku i jego położenie na dysku. • Otwieranie bazy danych • Ostrzeżenie o zabezpieczeniach → Opcje → Włącz tę zawartość • Okno nawigacji • Definiowanie struktury (projektu) tabeli w środowisku Ms Access • W oknie projektowym, poprzez menu: Tworzenie/Projekt tabeli • Zaprojektować tabelę ZWROTY do rejestracji zwrotu książki wypożyczonej z biblioteki. • Tabela będzie definiowana samodzielnie i zawierała dane o: • książce: Syg, tekst 5-znakowy, klucz obcy, tytuł: Książka • czytelniku: Id_czyt, tekst 5-znakowy,klucz obcy, tytuł: Czytelnik • dacie wypożyczenia: Data_wyp, Data/Godzina, tytuł: Data wypożyczenia • dacie zwrotu: Data_zw, Data/Godzina, tytuł: Data zwrotu, wartość domyśla: Date() • zabezpieczenie przed błędną daną: Data_zw <= Date() • Klucz podstawowy tworzą pola: {Id_czyt, Data_zw} • Wprowadzanie danych • W oknie widoku arkusza danych tabeli, poprzez menu podręczne (otwórz), lub z okna projektowego tabeli z menu głównego: Widok arkusza danych • Import z pliku zewnętrznego • Menu: Dane zewnętrzne/Importowanie, po czym wybrać właściwy format i plik do importu. • Formaty: Ms Access, xml, innej aplikacji (xls/xlsx, txt), innych systemów bazodanowych (ORACLE, Dbase, Paradox – wyższe wersje MsAccess nie mają tej funkcjonalności).
KOBIETY MĘŻCZYŹNI Kobieta_1 Kobieta_2 Kobieta_3 ... Kobieta_n Mężczyzna_1 Mężczyzna _2 ... Mężczyzna _m Rodzaj powiązania: jeden-do-jednego Powiązanie 1-1 występuje wtedy, gdy jednemu rekordowi z tabeli A odpowiada co najwyżej jeden rekord z tabeli B i odwrotnie. Relacja „związek małżeński” jest relacją typu 1-1
RODZINY DZIECI Rodzina_1 Rodzina _2 ... Rodzina_n Dziecko_1 Dziecko _2 Dziecko _3 ... Dziecko _m-1 Dziecko _m Rodzaj powiązania: jeden-do-wiele Powiązanie 1- występuje wtedy, gdy jednemu rekordowi z tabeli A może odpowiadać więcej niż jeden rekord z tabeli B, a jednemu rekordowi z tabeli B odpowiada co najwyżej jeden rekord z tabeli A. Relacja „dzieci w rodzinie” jest relacją typu 1-
DZIEWCZĘTA CHŁOPCY Dziewczyna_1 Dziewczyna _2 Dziewczyna_3 ... ... Dziewczyna_n Chłopiec_1 Chłopiec _2 Chłopiec _3 ... Chłopiec _m Rodzaj powiązania: wiele-do-wiele Powiązanie - występuje wtedy, gdy jednemu rekordowi z tabeli A może odpowiadać więcej niż jeden jeden rekord z tabeli B i jednemu rekordowi z tabeli B może odpowiadać więcej niż jeden rekord z tabeli A. Relacja „sympatyzowanie z osobnikiem płci przeciwnej” jest relacją typu -
Charakterystyka relacji między tabelami • Zalety: • możliwość wymuszenia więzów integralności między tabelami zapewnienie spójności bazy i częściowe zabezpieczenie przed wprowadzaniem błędnych danych, • automatyczne tworzenie powiązań w kwerendach, formularzach sprzężonych i raportach z podraportami. • Warunki tworzenia powiązań z wymuszeniem więzów integralności: • obecność klucza obcego w tabeli podrzędnej i klucza podstawowego w tabeli nadrzędnej, • ten sam typ danych w obu polach, • wartości klucza obcego w tabeli podrzędnej nie mogą wykraczać poza zbiór wartości odpowiedniego klucza głównego w tabeli nadrzędnej (dla więzów integralności), • obie tabele muszą należeć lub być przyłączone do tej samej bazy danych.
Tworzenie powiązań między tabelami w Ms Access • Metoda „ciągnij i upuść” • Wymuszenie więzów integralności i tego konsekwencje • Rodzaje sprzężeń: • wewnętrzne („wspólne” rekordy z nadrzędnej i podrzędnej), • zewnętrzne lewostronne (wszystkie rekordy z nadrzędnej i niektóre z podrzędnej), • zewnętrzne prawostronne (wszystkie rekordy z podrzędnej i niektóre z nadrzędnej)