Temat:
Projektowanie i tworzenie relacyjnej bazy danych. Projektowanie tabel
i formularzy w bazach danych.
1. Czym są dane?
Najważniejszym obiektem bazy danych jest tabela bo to w niej przechowujemy wszystkie
informacje. Budowę tabeli poznamy na przykładzie:
Id_kontaktu
Kategoria
Imię
Nazwisko
Data urodzenia
1
Kolega
Adam
Kwiatkowski
19.05.1992
2
Rodzina
Anna
Kowalska
17.08.1989
3
Nauczyciel
Grzegorz
Nowak
14.02.1970
Pojęcia podstawowe:
Rekord – to pojedynczy wiersz w tabeli bazy danych, zwykle opisuje jeden obiekt lub fragment
obiektu. (kolor niebieski)
Pole rekordu – to element składowy rekordu, służący do przechowywania danych. W tabeli
danych to kolumna o określonej nazwie.
Klucz główny– pole lub kombinacja pól, która jednoznacznie identyfikuje rekord w tabeli. Klucz
jest unikatowy (niepowtarzalny).- w naszym przykładzie to Id_kontaktu
Klucz obcy– pole lub kombinacja pól, która odpowiada kluczowi głównemu w innej tabeli
Relacja – stanowi powiązanie pomiędzy dwoma tabelami. Istnieje wtedy, kiedy dwie tabele są
połączone poprzez pole kluczowe
Rozróżniamy następujące typy relacji:
•
relacja jeden do jeden – danemu rekordowi w tabeli A jest przypisany dokładnie jeden
rekord w tabeli B i odwrotnie (np. związek pomiędzy uczniem a przypisaną mu szafką w
szatni)
•
relacja jeden do wielu (1 do
∞
) oznacza, że jednemu rekordowi w tabeli A może
odpowiadać wiele rekordów w tabeli B (wiele tz. 0, 1, 2 ... nieskończenie wiele), ale każdemu
rekordowi w tabeli B odpowiada dokładnie jeden rekord w tabeli A (np. jedna firma może
produkować dowolną liczbę towarów, ale dany towar może zostać wyprodukowany tylko w
jednej firmie)
•
relacja wiele do wielu (
∞
do
∞
) oznacza, że dowolnemu rekordowi w tabeli A może
odpowiadać wiele rekordów w tabeli B i odwrotnie (np. związek pomiędzy filmami a aktorami,
w każdym filmie może zagrać dowolna liczba aktorów i każdy aktor może zagrać w dowolnej
liczbie filmów), uwaga ten typ relacji nie występuje w dobrze zaprojektowanej bazie danych
Przykład bazy danych
Przykład źle zaprojektowanej bazy danych (wszystkie dane znajdują się w jednej tabeli).
Imię
Nazwisko
Adres
Przedmiot
Ocena
Adam
Kwiatkowski
Krotoszyn
Biologia
3
Adam
Kwiatkowski
Krotoszyn
Biologia
4
Adam
Kwiatkowski
Krotoszyn
Biologia
5
Adam
Kwiatkowski
Krotoszyn
Biologia
3
Anna
Kowalska
Jarocin
Historia
4
Anna
Kowalska
Jarocin
Fizyka
5
Anna
Kowalska
Jarocin
Fizyka
3
Anna
Kowalska
Jarocin
Matematyka
5
Jacek
Borkiewicz
Zduny
Geografia
4
Bazy danych oprócz tabel mogą zawierać też inne obiekty, takie jak:
•
formularze – służą jako tak zwane elektroniczne formatki do wyświetlania, edycji,
dodawania danych,
•
kwerendy (ang. query) – czyli zapytania, wyszukanie i wyświetlenie danych według
kryteriów zawartych w pytaniu; jeżeli dane są usuwane dodawane lub aktualizowane,
mówimy o kwerendach funkcjonalnych
•
raporty – czyli odpowiednio zaprojektowane (zarówno pod względem wyglądu, jak i zakresu
umieszczonych danych) wydruki
Ćwiczenie 1
Zaprojektuj strukturę bazy danych przechowującej oceny uczniów.
Projekt powinien zawierać nazwy tabel, pól, typy danych, informacje na temat kluczy głównych i
obcych oraz rodzajach relacji.
Ćwiczenie 2
Utwórz tabelę przechowującą dane o uczniach z twojej szkoły, tabele nazwij tbUczniowie
Podstawowe typy danych
Boolean – typ logiczny (0 lub 1)
Tinyint – liczba całkowita z zakresu 0..255
Integer – liczba całkowita z zakresu -231...231-1
Decimal – liczba rzeczywista
Varchar – ciąg tekstowy dowolnej długości
Date – data
Longvarbinary – pole do przechowywania dowolnego pliku (obraz, dźwięk, wideo itp.)
Nazwa pola
Typ danych
Właściwości pola
IDUcznia – pole kluczowe,
stąd skrót ID
Integer
Wartość automatyczna: TAK – aby
możliwe było w przyszłości użycie pola
w relacji, identyfikator rekordu musi
być w 100% unikalny – może to
zapewnić automatyczne nadawanie
kolejnego numeru
Imię
Tekst [Varchar]
Długość: 30 znaków
Nazwisko
Tekst
Długość: 40 znaków
Płeć
Tak/Nie [Boolean] – pole
przyjmuje jedną z dwóch
wartości, np. zaznaczenie tego
pola oznacza kobietę, a
niezaznaczenie - mężczyznę
Data urodzenia
Date
Kod formatu YYYY-MM-DD
np. 1999-12-31
Awatar
Obraz [Longvarbinary]-
dowolna grafika
Egzamin
TinyInteger
Średnia ocen
Dziesiętny [Decimal]
Miejsca po przecinku: 2
Uwagi
Tekst [Varchar]
Długość: 1000