Technologia informacyjna Politechnika Białostocka - Wydział Elektryczny semestr I, studia stacjonarne I stopnia Rok akademicki 2009/2010 Pracownia nr 11 (23.12.2009) (23.12.2009) dr inż. Jarosław Forenc Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela, rekord, pole formularz, kwerenda, raport klucz podstawowy (główny), klucz obcy, relacja Projektowanie bazy danych (tabele, klucze) Relacje między tabelami dr inŜ. Jarosław Forenc 2/16 Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 3/16 Bazy danych - Podstawowe pojęcia Baza danych - zbiór informacji i obiektów związanych z pewnym tematem lub zadaniem Baza danych - zbiór powiązanych ze sobą informacji Baza danych - zbiór informacji, które można przetwarzać za pomocą odpowiednich programów komputerowych Baza danych - zbiór danych zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych (wikipedia) Przykłady baz danych: książka adresowa lista płac pracowników firmy katalog z kartami pacjentów przychodni zasoby biblioteki ewidencja kierowców i pojazdów Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 Bazy danych - System informatyczny Schemat bazy danych opisuje strukturę danych i powiązania między nimi Zarządzanie bazą danych odbywa się poprzez System Zarządzania Bazą Danych - SZBD (ang. DataBase Management System - DBMS) Baza danych i SZBD nazywane są systemem bazy danych Z systemem bazy danych współpracują programy użytkowników przetwarzające dane (aplikacje): wstawianie nowych danych modyfikowanie danych już istniejących usuwanie danych nieaktualnych wyszukiwanie danych i tworzenie unikatowych zestawów danych porządkowanie danych wg różnych kryteriów dr inŜ. Jarosław Forenc 4/16 Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 5/16 Bazy danych - Podstawowe pojęcia tabela - podstawowa jednostka organizacyjna bazy przechowująca dane pole - kolumna tabeli zawierająca dane jednego typu (np. imię, adres) każde pole ma swoją nazwę każde pole ma przyporządkowany określony typ (tekst, liczba, data, godzina) dla pola o określonym typie można określić dodatkowe parametry, np. maksymalną długość danej przechowywanej w polu pola nazywane są także atrybutami Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 6/16 Bazy danych - Podstawowe pojęcia tabela - podstawowa jednostka organizacyjna bazy przechowująca dane rekord - pojedynczy wiersz tabeli z zestawem unikatowych danych pochodzących od różnych pól (rekord nazywany bywa także krotką) Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 7/16 Bazy danych - Podstawowe pojęcia formularz - narzędzie służące do wprowadzania danych i prezentacji ich w innej formie niż tabelaryczna występuje najczęściej w postaci okna z polami edycyjnymi użytkownik może określić szatę graficzną formularza oraz położenie wyświetlanych danych kwerenda - (ang. query) narzędzie służące do: wybierania z tabel rekordów według określonych kryteriów łączenia pól z różnych powiązanych ze sobą tabel dokonywania obliczeń na polach liczbowych uzupełniania, dołączania i usuwania rekordów kwerendy mogą być tworzone na podstawie tabel lub innych kwerend przykłady kwerend: osoby mieszkające w danym mieście studenci otrzymujący stypendium Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 8/16 Bazy danych - Podstawowe pojęcia raport - zestawienie wybranych z bazy informacji, w formie gotowej do wydruku, np. spis numerów telefonów lista tytułów książek z biblioteki klucz podstawowy (główny) - pole (lub zbiór pól) jednoznacznie identyfikujących każdy rekord informacja zawarta w polu klucza nie może powtarzać się w rekordach (kluczem nie może być np. imię, nazwisko, miasto, itp.) jako klucz podstawowy najczęściej stosuje się dodatkowe pole zawierające numer rekordu, którego wartość ustawiana jest w programie automatycznie klucz obcy - pole odwołujące się do klucza podstawowego innej tabeli Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc Bazy danych - Podstawowe pojęcia relacja - związek dwóch tabel oparty na parze klucz podstawowy klucz obcy relacje umożliwiają takie zaprojektowanie bazy danych, aby dane niepotrzebnie nie powtarzały się w rekordach baza danych, w której między tabelami tworzy się relacje nazywana jest relacyjną bazą danych 9/16 Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc Bazy danych - Etapy projektowania bazy danych Określenie celu, któremu ma służyć baza danych określenie celu oraz sposobu użytkowania bazy określenie analizowanych zagadnień (tabele) oraz informacji związanych z zagadnieniami (pola w tabeli) Projektowanie tabel Określenie relacji między tabelami Stworzenie formularzy, kwerend, raportów Testowanie bazy 10/16 Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 11/16 Bazy danych - Projektowanie tabel (Zasady) Ta sama informacja nie powinna być wielokrotnie wprowadzana do jednej lub kilku tabel uaktualnienie danych wymaga ich zmiany tylko w jednym miejscu unikamy wystąpienia niezgodności danych zapisanych w różnych miejscach Każda tabela powinna zawierać informacje tylko na jeden temat umożliwia to przetwarzanie danych dotyczących jednego zagadnienia niezależnie od danych dotyczących innych zagadnień Należy powiązać każde pole bezpośrednio z zagadnieniem, którego dotyczy tabela Nie należy wprowadzać danych pośrednich lub obliczonych Trzeba uwzględnić wszystkie potrzebne informacje Informacje należy przechowywać w możliwie najmniejszych jednostkach logicznych (np. oddzielnie imię i nazwisko) Trzeba ustalić pola kluczowe tabeli Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 12/16 Bazy danych - Projektowanie relacyjnej bazy danych Reguły projektowania relacyjnej bazy danych sformułował E.F. Codd (1970) Codd określił tzw. trzy postacie normalne modelu relacyjnego: pierwsza postać normalna (1NF), NF - ang. Normal Form druga postać normalna (2NF) trzecia postać normalna (3NF) Obecnie stosowane są także: czwarta postać normalna piąta postać normalna postać normalna Boyca-Codda postać normalna klucza-domeny Postać normalna jest zbiorem kryteriów, jakie musi spełniać tabela w relacyjnej bazie danych Proces sprowadzania tabeli do postaci normalnych nazywa się normalizacją Obecnie zamiast normalizacji stosuje się projektowanie metodą modelowania danych przy pomocy diagramów związków encji Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 13/16 Bazy danych - Normalizacja Normalizacja - proces identyfikowania logicznych związków pomiędzy elementami danych w posiadanym zbiorze danych i projektowania bazy danych, która związki te będzie reprezentować Wyróżnia się dwa główne etapy normalizacji: Cel normalizacji: ustalenie zbioru danych, które maja być przechowywane w bazie danych (dane należy zebrać w jednej tabeli, która w drugim etapie będzie dzielona na mniejsze tabele) przekształcenie zbioru danych do kolejnych postaci normalnych usunięcie nadmiarowości powodującej wzrost objętości danych oraz problemy z utrzymaniem spójności bazy danych, prowadząc do tzw. anomalii Wady normalizacji: wydłużenie czasu wyszukiwania (np. stan magazynu) matematyka a rzeczywistość (nie zawsze 2 + 2 = 4) nadmiarowość na osi czasu (np. zmiana algorytmu) Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 14/16 Bazy danych - Pierwsza postać normalna (1NF) relacja jest w pierwszej postaci normalnej jeśli wartości atrybutów są elementarne (niepodzielne), tzn. pojedyncze wartości określonego typu, a nie zbiory danych tabela reprezentująca tę relację nie zawiera powtarzających się grup informacji, każda kolumna jest wartością skalarną, a nie macierzą lub listą czy też czymkolwiek co posiada własną strukturę Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc 15/16 Bazy danych - Druga postać normalna (2NF) polega na utworzeniu oddzielnych tabel dla zestawów wartości odnoszących się do wielu rekordów i powiązaniu tabel za pomocą klucza obcego Technologia informacyjna - Pracownia nr 11 Rok akademicki 2009/2010 dr inŜ. Jarosław Forenc Bazy danych - Trzecia postać normalna (3NF) polega na eliminacji pól, które nie zależą od klucza (wartości rekordu, które nie są częścią jego klucza, nie należą do tabeli) 16/16