Relacyjne bazy danych



Podobne dokumenty
WPROWADZENIE DO BAZ DANYCH

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych - wykład wstępny

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

Bazy danych TERMINOLOGIA

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Technologia informacyjna

Krzysztof Kluza proste ćwiczenia z baz danych

Baza danych. Baza danych to:

Bazy danych. Wykład III Tabele. Copyrights by Arkadiusz Rzucidło 1

Pojęciowy model danych etap 1 (identyfikacja obiektów) Pojęciowy model danych etap 2A (powiązania obiektów)

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

2017/2018 WGGiOS AGH. LibreOffice Base

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Microsoft Access zajęcia 1 2 Pojęcia bazy, projektowanie tabel, ustawianie relacji

OPRACOWANIE: SŁAWOMIR APANOWICZ

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Projektowanie relacyjnych baz danych

Zwróćmy uwagę w jakiej lokalizacji i pod jaką nazwą zostanie zapisana baza (plik z rozszerzeniem *.accdb). Nazywamy

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

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

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Autor: Joanna Karwowska

Bazy danych Access KWERENDY

Autor: dr inż. Katarzyna Rudnik

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

T A B E L E i K W E R E N D Y

Model relacyjny bazy danych

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Wykład 4. SQL praca z tabelami 1

Przykłady normalizacji

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

I. Interfejs użytkownika.

Wprowadzenie do baz danych

Microsoft Access 2003 tworzenie i praktyczne wykorzystanie baz danych

Wykład 2. Relacyjny model danych

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Tworzenie bazy danych na przykładzie Access

Wykład II. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Egzamin zawodowy: Technik Informatyk 312[01] Oprogramowanie biurowe pytania i odpowiedzi

Moduł 5 - Bazy danych

Baza danych. Modele danych

Wykład I. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Pojęcie systemu informacyjnego i informatycznego

PODSTAWOWE POJĘCIA BAZ DANYCH

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

1 Przygotował: mgr inż. Maciej Lasota

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

WPROWADZENIE DO OBSŁUGI BAZ DANYCH MS ACCESS 2007(2010)

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Projektowanie baz danych

Podstawowe zagadnienia z zakresu baz danych

PTI S1 Tabele. Tabele. Tabele

Tworzenie i edycja tabel w programie MS Access

Transformacja modelu ER do modelu relacyjnego

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.

Przykład, który rozpatrujemy to układ Lekarz- Pacjent. Pierwszą czynnością jaką trzeba wykonać jest odpowiedź na kilka pytań

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

Dr Michał Tanaś(

WPROWADZENIE DO BAZ DANYCH

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

CAL Access 2 zajęcia 5. Relacje Kwerendy Relacje w bazie danych. 1) Określenie relacji (sprzężeń) między tabelami

Bazy danych i systemy informatyczne materiały laboratorium

1. Zarządzanie informacją w programie Access

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Spis treści 3. Spis treści

Co to są relacyjne bazy danych?

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

Wprowadzenie do baz danych

Normalizacja. Pojęcie klucza. Cel normalizacji

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Cel normalizacji. Tadeusz Pankowski

ECDL/ICDL Zaawansowane użytkowanie baz danych Moduł A3 Sylabus, wersja 2.0

BAZY DANYCH Panel sterujący

Połączenie AutoCad'a z bazą danych

Bazy danych Access KWERENDY

Laboratorium nr 5. Bazy danych OpenOffice Base.

Projektowanie baz danych

1. MS Access opis programu.

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Technologia Informacyjna

ECDL. Moduł nr 5. Użytkowanie bazy danych

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

Projektowanie bazy danych przykład

Instrukcja CREATE TABLE

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Pierwsza postać normalna

Projektowanie relacyjnych baz danych

RELACYJNE BAZY DANYCH

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

3. Tabele. Tabele Projektowanie tabel

5. Arkusz kalkulacyjny Excel 205

Transkrypt:

Relacyjne bazy danych 1

2 Relacyjny model baz danych Zawdzięcza nazwę pojęciu relacji w teorii mnogości. W relacyjnym modelu dane przechowywane są w relacjach (tabelach). Każda relacja składa się z wierszy i wartości atrybutów (kolumn). Baza danych składa się z relacji (tabel) połączonych ze sobą za pomocą atrybutów kluczowych. Połączenia te określają, które wiersze w poszczególnych tabelach są ze sobą związane.

3 Podstawowe pojęcia Rekord (zapis) - podstawowa jednostka informacji z bazie danych zawierająca pełny zestaw informacji o gromadzonych obiektach (np. opis bibliograficzny, dane teleadresowe itp.) Tabele podstawowe obiekty bazy danych w programie Access służące do przechowywania danych. Składają się one z wierszy (rekordów) i kolumn (pól). Relacja skojarzenie ustanowione między wspólnymi polami (kolumnami) w dwóch tabelach. Relacja może być typu jeden-dojednego, jeden-do-wielu lub wiele-do-wielu. Relacja działa poprzez dopasowywanie danych w polach klucza. Klucz podstawowy - jedno lub większa liczba pól (kolumn), których wartości jednoznacznie identyfikują każdy rekord w tabeli. Klucz podstawowy służy do wiązania tabeli z kluczami obcymi w innych tabelach. Klucz obcy - jedno lub większa liczba pól tabeli (kolumn), które odwołują się do pola lub pól klucza podstawowego w innej tabeli. Klucz obcy wskazuje, w jaki sposób tabele są powiązane.

Kwerendy wyrażone w formalnym języku zapytania do bazy danych, które zależnie od typu mogą wyświetlać określone dane, modyfikować je, tworzyć lub usuwać. Kwerendy pozwalają automatyzować operacje na bazach danych. Formularze elementy interfejsu SZBD, za pomocą których Użytkownik może przeglądać i modyfikować przechowywane w tabelach dane, uruchamiać raporty czy wykonywać zadania administracyjne. Raporty pozwalają na wyświetlanie oraz drukowanie sformatowanych danych wraz z obliczeniami oraz podsumowaniami. Strony pozwalają na publikowanie interaktywnych formularzy w sieci lokalnej Makra (Makropolecenia) grupy poleceń, które mogą zostać automatycznie wykonane jak jedna instrukcja. Moduły pozwalają na tworzenie programów w języku VBA 4

5 Typy rekordów Jednostopniowe, rekord dzieli się na pola. W schemacie tym rekordy symbolizują wiersze tabeli, zaś polami są kolumny Wielostopniowe, rekord dzieli się na pola, pola zaś na podpola. Bazy tego typu mają własne, zróżnicowane interfejsy (nie są to tabele, lecz wyświetlane sekwencyjnie formularze)

6 Tabele Zbiór danych dotyczących określonego tematu. Używanie oddzielnych tabel dla każdego tematu eliminuje duplikowanie danych (redundancję), przechowywanie danych jest bardziej efektywne i eliminuje błędy wprowadzania danych. Tabele organizują dane w kolumnach (zwanych polami) i w wierszach (zwanych rekordami).

7

8 Typy danych w tabelach Tekst Pól typu Tekst należy używać do przechowywania takich danych, jak nazwy czy adresy oraz danych liczbowych, na których nie będą dokonywane żadne obliczenia (na przykład numery telefonów, numery części, czy kody pocztowe). Pole tekstowe może zawierać do 255 znaków. Domyślnie pola mieści 50 znaków. Aby umożliwić wprowadzenie do pola większej ilości danych, należy zmienić ustawienie właściwości Rozmiar pola. Memo Pola typu Memo są używane do przechowywania danych dłuższych niż 255 znaków może zawierać do 64 000 znaków nie mogą być indeksowane ani sortowane. Do przechowywania sformatowanych tekstów i długich dokumentów, zamiast pola Memo należy użyć pola OLE. Liczba Używany dla danych liczbowych, które mogą być używane w obliczeniach matematycznych

9 Typy danych w tabelach Data/Godzina Używany dla dat i godzin. Walutowy Używany dla wartości pieniężnych. Autonumer Typ danych pola przechowujący unikatową liczbę automatycznie przyporządkowaną każdemu rekordowi w chwili jego dołączenia do tabeli. Można generować trzy rodzaje liczb: kolejne (rosnące o 1), losowe oraz identyfikator replikacji (używany przez Menedżera replikacji w celu zapewnienia integralności danych w replikowanej bazie danych). Liczby generowane przez pole typu Autonumer nie mogą być usuwane ani modyfikowane. Tak/Nie Właściwość Format można ustawić na jeden z predefiniowanych formatów: Tak/Nie, True/Falselub Wł/Wył lub na format niestandardowy

10 Typy danych w tabelach Obiekt OLE Używany dla obiektów, takich jak np. dokumenty programu Microsoft Word i rysunki, utworzonych w innych programach przy użyciu protokołu OLE. Hiperłącze Kolorowy i podkreślony tekst lub grafika, który można kliknąć, aby skoczyć do pliku, określonego miejsca w pliku, strony HTML w sieci WWW lub strony HTML w internecie. Hiperłącza mogą również prowadzić do miejsc Gopher, Telnet, grup dyskusyjnych i FTP.

11 Podstawowe cechy relacji Relacja musi się składać przynajmniej z jednej kolumny i może zawierać zero, jeden lub więcej wierszy danych Każdy wiersz relacji musi mieć wartości unikalne, musi różnić się wartością przynajmniej w jednej kolumnie od innych wierszy Kolejność wierszy i kolumn w tabeli jest dowolna Dane umieszczone w kolumnie należą do domeny tej kolumny, czyli zbioru jej dopuszczalnych wartości. Każda relacja w relacyjnej bazie danych posiada klucz podstawowy, który składa się z jednej lub większej liczby kolumn, o wartościach jednoznacznie identyfikujących każdy jej wiersz

12 Atrybuty Charakteryzują cechy abstrakcyjnych obiektów umieszczonych w poszczególnych wierszach relacji (tabeli). Jest to opis poszczególnych kolumn relacji. Zakres wartości jakie mogą przyjmować atrybuty (kolumny) nazywa się ich typem, domeną lub dziedziną

13 Typy atrybutów Typy atrybutu CHAR VARCHAR BLOB Opis atrybutu Dowolny tekst o stałej długości n-znaków Ciąg znaków zmiennej długości, max n znaków Pole binarne o zmiennej długości, służy do pamiętania grafiki i danych multimedialnych INTEGER Liczba całkowita, zakres wartości ±2147483648 SMALL INT Liczba całkowita, zakres wartości ± 32768 DATA DATATIME DECIMAL (p, s) Data Data i czas Liczby dziesiętne, p oznacza liczbę cyfr (razem z kropka i znakiem), s<6 oznacza liczbę cyfr po kropce dziesiętnej

14 Typ atrybutu NUMERIC (p, s) FLOAT DOUBLE PRECISION Opis atrybutu Liczby dziesiętne, p oznacza liczbę cyfr (razem z kropką i znakiem), s oznacza liczbę cyfr po kropce dziesiętnej Liczba zmiennoprzecinkowa siedem cyfr znaczących Liczba zmiennoprzecinkowa podwójnej precyzji

15 Węzły nałożone na atrybuty Na atrybuty w bazach danych można nałożyć dodatkowe ograniczenia zwane węzłami. Podstawowe węzły NAZWA NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY OPIS Nazwa atrybutu nie może być pusta Wartości atrybutów w danej kolumnie muszą być unikalne Dany atrybut jest kluczem podstawowym określonej relacji, co również oznacza, że musi być unikalny Dany klucz jest kluczem obcym

16 Klucze Klucz kolumna lub zestaw kolumn, który w jednoznaczny sposób identyfikuje resztę danych w dowolnie zadanym wierszu Obcy klucz jest atrybutem (kolumną) w obcej tabeli, gdzie ten atrybut jest podstawowym kluczem. Dowolne dane w kolumnie obcego klucza muszą mieć odpowiedniki w odpowiadającej tabeli, w której ten klucz jest kluczem podstawowym

17 Rodzaje kluczy Atrybuty relacji dzielimy na 2 grupy: Atrybuty podstawowe należą do któregokolwiek z kluczy Atrybuty opisowe nie należą do żadnego z kluczy Klucze: Proste - klucz, którego zbiór identyfikujący jest jednoelementowy Złożone - klucz, którego zbiór identyfikujący jest kilkuelementowy

18 Relacje między tabelami Powiązanie między tabelami nazywamy relacją. Relacja istnieje wtedy, gdy dwie tabele są połączone przez klucz podstawowy i klucz obcy lub, gdy istnieje dodatkowa, łącząca je tabela, zwana tabelą łączącą. Każdej relacji między dwiema tabelami można przypisać konkretny typ. Istnieją trzy typy relacji określające typ powiązania między wierszami tabel: Jeden do jednego Jeden do wielu Wiele do wielu

19 Relacja jeden-do-jednego W relacji jeden-do-jednego każdy rekord w tabeli A może mieć tylko jeden dopasowany rekord z tabeli B, i tak samo każdy rekord w tabeli B może mieć tylko jeden dopasowany rekord z tabeli A. Ten typ relacji spotyka się rzadko, ponieważ większość informacji powiązanych w ten sposób byłoby zawartych w jednej tabeli. Relacji jeden-do-jednego można używać do podziału tabeli z wieloma polami, do odizolowania części tabeli ze względów bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do podzbioru tabeli głównej.

20 Relacja jeden-do jednego id_pracownika imię nazwisko 100 Jan Kowalski 101 Jan Nowak 1:1 Id pracownika stawka 100 5.5 101 6.6

21 Relacje relacja jeden-do-wielu Między tabelami istnieje relacja jeden do wielu, jeżeli z każdym rekordem z pierwszej tabeli jest związany jeden lub kilka rekordów z drugiej tabeli, natomiast każdemu rekordowi z drugiej tabeli odpowiada jeden rekord z pierwszej tabeli.

22 Relacja jeden-do-wielu Id_pracownika Imię nazwisko 100 Jan Kowalski 101 Jan Nowak 1:n Id_pracownika Nazwa narzędzia 100 Klucze nasadowe 100 Młotek 101 Piłka 101 Klucz M12

23 Relacja wiele-do-wielu Między dwiema tabelami występuje relacja wiele do wielu, jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadać jeden lub więcej rekordów z drugiej tabeli i na odwrót pojedynczy rekord z drugiej tabeli może być powiązany z jednym lub większą liczbą rekordów z pierwszej

24 Relacje wiele-do-wielu Wyroby Id_wyrobu Nazwa_wyrobu 34/A Plecak RYSY 36/B Plecak ALASKA 12/A Kurtka POLAR Części m:n Id_części N-12-13 N-12-14 N-08-17 P-16-03 Nazwa_części Zapinka wtyk Zapinka gniazdo Zamek M12x60 Pas mocujący

25 Zastąpienie relacji wiele-do-wielu dwiema relacjami jeden-do-wielu Id_wyrobu Nazwa_wyrobu Id_części- Nazwa_części 34/A Plecak RYSY 36/B Plecak ALASKA 12/A Kurtka POLAR N-12-13 N-12-14 N-08-17 P-16-03 Zapinka wtyk Zapinka gniazdo Zamek M12x60 Pas mocujący Id_wyrobu Id_części liczba 12/A N-08-17 1 1:n 34/A N-12-13 4 1:n 34/A N-12-14 4 34/A N-08-17 2 34/A P-16-03 1 36/B N-12-13 5 36/B N-12-14 5

26 Normalizacja Proces, podczas którego schematy relacji posiadające niepożądane cechy są przekształcone na mniejsze schematy relacji o pożądanych własnościach. Celem normalizacji jest uzyskanie optymalnej struktury bazy danych.

27 Warunki procesu normalizacji Żaden atrybut nie zostanie zgubiony w czasie normalizacji Dekompozycja relacji nie prowadzi do utraty informacji Wszystkie zależności funkcjonalne są reprezentowane w pojedynczych schematach relacji Relacje między tabelami mogą być tylko typu jeden do jeden lub jeden do wielu

28 Tabela nieznormalizowana Id_klienta Id_zamówienia wyroby 5 7 5 łożysk, 18 wiertarek, 3 pilniki 6 8 3 młotki, 2 pilniki 5 9 7 młotków, 2 mlotki

29 Pierwsza postać normalna 1 PN wymaga, aby wszystkie wartości jej kolumn były elementarne (niepodzielne). Kolumna Nr_pozycji określa kolejność towaru na zamówieniu. Kluczem głównym tej tabeli jest klucz złożony z pary kolumn id_zamówienia i nr_pozycji. Kluczem obcym id_kilenta Id_kienta Id_zam Nr_ poz ilość wyroby 5 7 1 5 Łożysko 5 7 2 18 Wiertło 5 7 3 3 Pilnik 6 8 1 3 Młotek 6 8 2 2 Pilnik 5 9 1 7 Młotek 5 9 2 2 pilnik

30 Druga postać normalna Aby tabela przyjęła drugą postać normalną, musi być w pierwszej postaci normalnej i każda z jej kolumn musi być w pełni zależna od klucza głównego i od każdego atrybutu klucz głównego, jeśli ten klucz składa się z wielu kolumn. Elementy każdej kolumny tabeli, nie będącej kluczem muszą być jednoznacznie identyfikowane przez klucz główny tabeli

31 Id_klienta Id_zamówienia data 5 7 1999-04-15 6 8 1999-04-16 5 9 1999-04-20 Id_zamówie nia Nr_pozycji Ilość Id_wyrobu wyrobu 7 1 5 33 Łożysko 7 2 18 44 Wiertło 7 3 3 15 Pilnik 8 1 3 17 Młotek 8 2 2 15 Pilnik 9 1 7 17 Młotek 9 2 2 15 pilnik Relacja w drugiej postaci normalnej

32 Trzecia postać Każda z kolumn musi być zależna od klucza głównego i niezależna od pozostałych kolumn. Tabela musi spełniać warunki drugiej postaci normalnej, a ponadto każda kolumna nie będąca kluczem, musi być niezależna od pozostałych kolumn niekluczowych

33 Id_zamówienia Nr pozycji Ilość Id_wyrobu 7 1 5 33 7 2 18 44 7 3 3 15 8 1 3 17 8 2 2 15 9 1 7 17 9 2 2 15 Id_wyrobu Nazwa_wyrobu 33 Łożysko 44 Wiertło 15 Pilnik 17 Młotek

Projektowanie baz danych 34

35 Określenie celu, któremu ma służyć baza danych jakich informacji ma dostarczyć baza danych, jakie zagadnienia będą analizowane w bazie danych (tabele) jakie informacje mają określać każde zagadnienie (pola w tabelach)

36 Określenie tabel, które znajdą się w bazie danych Projektując tabele należy mieć na uwadze przedstawione poniżej podstawowe zasady projektowania: Ta sama informacja nie powinna być wielokrotnie wprowadzona do jednej lub kilku tabel. Jeżeli informacja jest przechowywana tylko w jednej tabeli, można ją uaktualnić zmieniając dane tylko w jednym miejscu. Każda tabela powinna zawierać informacje tylko na jeden temat. Jeżeli tabela zawiera dane na temat jednego zagadnienia można przetwarzać je niezależnie od danych dotyczących innych zagadnień.

37 Określenie pól, które znajdą się w tabelach Każda tabela zawiera informacje na temat jednego zagadnienia, a każde pole w tabeli zawiera jedną daną dotyczącą tego zagadnienia, któremu poświęcona jest tabela. Zabierając się do projektowania pól w tabelach dobrze jest pamiętać o następujących wskazówkach: Należy powiązać każde pole bezpośrednio z zagadnieniem, którego dotyczy tabela. Nie należy wprowadzać danych pośrednich lub obliczonych (danych, które są wynikiem wyrażenia). Należy uwzględnić wszystkie potrzebne informacje. Informacje należy przechowywać w możliwie najmniejszych jednostkach logicznych (na przykład Imię oraz Nazwisko, a nie Dane personalne).

38 Przypisanie polom jednoznacznych wartości Aby można było powiązać informacje przechowywane w różnych tabelach. Na przykład, aby powiązać klienta ze wszystkimi jego zamówieniami każda tabela w bazie danych musi zawierać pole lub zbiór pól, które jednoznacznie określają każdy rekord. Takie pole lub zbiór pól nazywany jest kluczem podstawowym.

39 Określenie relacji (sprzężeń) między tabelami Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do programu Microsoft Access informacje na temat sposobu poprawnego łączenia powiązanych danych w logiczną całość. W tym celu definiuje się relacje między tabelami.

40 Wprowadzenie danych i utworzenie innych obiektów bazy danych Kiedy okaże się, że struktura tabel spełnia opisane powyżej kryteria, można wprowadzić wszystkie dane do tabel i utworzyć dowolne kwerendy, formularze, raporty, makra i moduły.

41 Bibliografia Józef Kukuczka, Relacyjne bazy danych http://ultra.ap.krakow.pl/~wmkolasa/bazy/101f ull.html