• Nie Znaleziono Wyników

BAZY DANYCH. Lekcja 3: Modele baz danych przygotowała: inż. Lidia Mamet. 1 Wprowadzenie do modeli baz danych. 2 Podział modeli i ich reprezentanci

N/A
N/A
Protected

Academic year: 2022

Share "BAZY DANYCH. Lekcja 3: Modele baz danych przygotowała: inż. Lidia Mamet. 1 Wprowadzenie do modeli baz danych. 2 Podział modeli i ich reprezentanci"

Copied!
6
0
0

Pełen tekst

(1)

1

BAZY DANYCH

Lekcja 3: Modele baz danych przygotowała: inż. Lidia Mamet

Celem lekcji jest zapoznanie z tematyką modelowania baz danych. Poruszone zostaną tematy takie jak podział modeli, ich najważniejsze różnice. Następnie objaśnione zostaną pojęcia związane z relacyjnymi bazami danych.

1 Wprowadzenie do modeli baz danych

Model danych – sposób zapisu za pomocą określonych symboli służący do opisu informacji Założenia wprowadzenia modeli danych:

• Łatwość obsługi przez użytkownika (nie musi być specjalistą baz danych, aby móc obsługiwać system)

• Potrzeba projektu, który określi sposób gromadzenia, przechowywania i przetwarzania danych

Składowe modelu danych:

• Struktura danych - określa jak obiekty będą przedstawiane inaczej fizyczny model danych – tablice, struktury, klasy

• Ograniczenia – określa reguły poprawności i spójności danych, np. dzień to liczba całkowita z zakresu 1-31

• Operacje na danych – działania umożliwiające uzyskanie dostępu do struktur, np. działania arytmetyczne

2 Podział modeli i ich reprezentanci

Modele pojęciowe konceptualne (ang. conceptual model)

• Model związków encji ERM (ang. Enity-Relationship Model)

• Zunifikowany język modelowania UML (Unified Modeling Language) – zunifikowany czyli połączony w jednolitą całość

(2)

2

• Język definicji obiektów ODL (Object Definition Language) Modele logiczne (ang. logical model)

• Model hierarchiczny

• Model sieciowy

• Model obiektowy

• Model relacyjny

2.1 Model hierarchiczny - właściwości

• Organizacja danych w postaci odwróconego drzewa. Obiekt podrzędny jest Wyszukiwanie danych rozpoczyna się od obiektu podstawowego i dzięki rozgałęzieniom kończy na szukanym obiekcie poprzez wszystkie inne w drzewie.

• Usunięcie obiektu nadrzędnego powoduje usunięcie obiektów podrzędnych

• połączony z jednym obiektem nadrzędnym

Źródło: J. Pokorska: Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

2.2 Model sieciowy (CODASTYL)

• Podobny do modelu hierarchicznego z możliwością połączeń na tym samym poziomie drzewa danych

• Sposób dostępu do rekordu wg łańcucha powiązań tzw. ścieżki dostępu

• Ustandaryzowany przez komitet CODASTYL (Conference on Data Systems Lanuguages)

(3)

3

2.3 MODEL OBIEKTOWY

• Oparty na językach programowania.

• Dane istnieją w formie obiektów

• Obiekty opisywane są za pomocą narzędzi charakterystycznych dla języków programowania obiektowego (metody, klasy itp.)

2.4 MODEL RELACYJNY!!!!!!

Jest oparty na tabelach (relacjach), która musi spełniać określone kryteria:

• tabela powinna mieć taką nazwę, która odzwierciedla jej zawartość np. Uczniowie, Książki

• w jednej tabeli nie może być dwóch identycznych wierszy

• wiersze i kolumny nie muszą być uporządkowane

• kolumna tabeli ma unikatową nazwę, która określa cechy np. imię, nazwisko, pesel

• w nazwach tabel i kolumn nie używa się spacji ani znaków diakrytycznych

• każde pole tabeli (miejsce przecięcia kolumn i wierszy) jest wartością atomową, czyli niepodzielną

• nazwy tabeli pisze się wielką literą, zaś atrybutów (kolumn) małą

• nazwy tabel powinny być zapisane w liczbie mnogiej i mieć formę rzeczownika

• każdy rekord może mieć jeden komponent dla danej kolumny

(4)

4

2.5 Podstawowe pojęcia modelu relacyjnego

Rekord – wiersz w tabeli z wyjątkiem wiersza nagłówkowego Liczebność tabeli – ilość rekordów w tabeli

Stopień tabeli – liczba kolumn Komponent – wartość pola w tabeli Dziedzina – typ danych w tabeli

Schemat tabeli – nazwa tabeli wraz z polami

Schemat relacyjnej bazy danych – zbiór wszystkich tabel razem z polami

Superklucz tabeli (ang. superkey) – kolumna lub zestaw kolumn, który jednoznacznie identyfikuje dany rekord w tabeli. Oznacza to, że dwa rekordy tabeli nie mogą mieć takich samych wartości w każdym polu

Klucz tabeli – minimalny superklucz, który powstaje przez usuwanie z superklucza nadmiarowych kolumny tak, żeby zachować unikatowość rekordu.

Np. niech dana będzie tabela Uczniowie

id_ucznia imie nazwisko

1 Jan Nowak

2 Lidia Nowak

3 Katarzyna Kowalska

Zestaw kolumn id_ucznia i nazwisko będzie suparkluczem. Atrybut id_ucznia gwarantuje, że dwa rekordy tabeli nie mają dwóch tych samych kompotentów we wszystkich kolumnach klucza, gdyż wartość w polu id_ucznia się zmienia, chociaż nazwisko może się powtarzać.

Ponieważ id_ucznia jest niepowtarzalny i zachowuje unikatowość rekordów będzie on minimalnym superkluczem czyli kluczem tabeli.

Klucz kandydujący (ang. cadcidate key) – każdy klucz danej tabeli, spośród których wybiera się klucz podstawowy

(5)

5

Klucz podstawowy (ang. primary key) – kolumna tabeli, która zapewnia unikatowość rekordu, np. PESEL, NIP. Np. niech dana będzie tabela Uczniowie

id_ucznia imie nazwisko

1 Jan Nowak

2 Lidia Nowak

3 Katarzyna Kowalska

Zestaw kolumn id_ucznia i nazwisko będzie suparkluczem. Atrybut id_ucznia gwarantuje, że dwa rekordy tabeli nie mają dwóch tych samych kompotentów we wszystkich kolumnach klucza, gdyż wartość w polu id_ucznia się zmienia, chociaż nazwisko może się powtarzać.

Ponieważ id_ucznia jest niepowtarzalny i zachowuje unikatowość rekordów będzie on minimalnym superkluczem czyli kluczem tabeli.

Klucz kandydujący (ang. cadcidate key) – każdy klucz danej tabeli, spośród których wybiera się klucz podstawowy

Klucz podstawowy (ang. primary key) – kolumna tabeli, która zapewnia unikatowość rekordu, np. PESEL, NIP

Klucz obcy – kolumna wskazująca na klucz podstawowy z innej tabeli. Dzięki niemu definiowane są połączenia (więzy) między tabelami.

Tabela Uczniowie

id_ucznia imie nazwisko

1 Jan Nowak

2 Lidia Nowak

3 Katarzyna Kowalska

Tabela klasy id_ucznia klasa

1 2pt3 2 2pt3 3 3ts Klucz podstawowy

Klucz obcy

(6)

6

3 PYTANIA KONTROLNE

1. Wymień konceptualne modele danych

2. Czym się różni model sieciowy od hierarchicznego?

3. Wymień logiczne modele danych

4. Wyjaśnij pojęcia: rekord, liczebność tabeli, komponent, stopień tabeli 5. Wyjaśnij pojęcia: klucz minimalny (główny), superklucz

6. Co to jest klucz kandydujący?

7. Czym się różni schemat tabeli od schematu bazy danych 8. Wymień cechy jakie powinna mieć tabela.

9. Wymień i opisz składowe modelu danych.

Cytaty

Powiązane dokumenty

Model danych, architektura systemu bazy danych, funkcje systemu zarządzania bazą danych, relacyjny model danych, język SQL... Architektura systemu

Wyświetl wszystkie unikalne rodzaje zasobów, których nazwa zaczyna się od 'Ba' lub kończy się na 'os'. Dane

Podaj imiona i daty urodzenia dziewczynek, które odziedziczyły imię po matce.. Bliźnięta można rozpoznad po tej samej dacie urodzenia i tym samym

W okienku kreatora wybierz opcję Kreator kwerend wyszukujących duplikaty i kliknij przycisk OK.. W tym okienku musisz wybrad tabelę, w której kwerenda będzie poszukiwała duplikatów

b) w którym dniu urodziło się najwięcej dzieci? Podaj datę i liczbę dzieci. c) imiona kobiet w wieku poniżej 25 lat, które urodziły dzieci o wadze powyżej 4000 g. W zapytaniu

Utwórz zestawienie uporządkowane alfabetycznie według nazwisk zawierające wykaz osób z klasy 2c, które w kwietniu 2009 roku otrzymały oceny niedostateczne (imię,

Podaj nazwisko, imię, klasę oraz średnią ocen osoby, która osiągnęła najwyższą średnią ocen w całej szkole (jest tylko jedna taka osoba).. Podstawy

Wyszukiwanie SELECT Wstawianie INSERT Aktualizacja UPDATE Usuwanie