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 Nauczyciel Grzegorz Nowak 14.02.1970 3 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 zle 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, dzwięk, wideo itp.) Nazwa pola Typ danych Właściwości pola IDUcznia pole kluczowe, Integer Wartość automatyczna: TAK aby stąd skrót ID 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