Wprowadzenie do baz danych. Przedmiot: Oprogramowanie Biurowe mgr Władysław Czaja Zespół Szkół Łączności w Gdańsku, Klasa 2 Czym są bazy danych? Baza danych - zbiór informacji związanych z pewnym tematem lub zadaniem. Baza danych - zbiór danych zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. Przykłady baz danych z życia codziennego książka telefoniczna, katalog z kartami pacjentów, analiza zamówień klientów, ewidencja kolekcji nagrań, dziennik lekcyjny, katalog biblioteczny, system ewidencji ludności PESEL, zestawienie towarów w magazynie hurtowni, rozkład jazdy, segregator zawierający dane osobowe pracowników firmy, Wady „papierowych” baz danych Przechowywanie danych na papierze jest nieefektywne, bo organizowanie i koordynowanie pochodzących z nich informacji zajmuje dużo czasu, pracy i pieniędzy. W przypadku dużej ilości informacji lepiej jest przechowywać je w komputerach. Komputerowe bazy danych Komputerowa baza danych obejmuje dane oraz program komputerowy (często pakiet programów) wyspecjalizowany do gromadzenia i przetwarzania tych danych. nazywany jest "Systemem zarządzania bazą danych, SZBD" (ang. DataBase Management System, DBMS). Baza danych oznacza zbiór danych, który zarządzany jest przez system SZDB (ang. DBMS). Tabela bazy danych Tabela bazy danych to zorganizowany zbiór danych, który tak, jak kartoteka składa się z pojedynczych “kartek” o tej samej strukturze, na których, w tych samych miejscach, jest zapisany komplet informacji o pojedynczej danej. Każdą “kartkę” tabeli danych nazywa się rekordem lub krotką. Rekord składa się z pól, czyli miejsc przeznaczonych do zapisywania konkretnych danych; każde pole ma swoją nazwę. Czym może być tabela w bazie danych? reprezentacja pewnej encji (np. książek, mieszkań, ludzi), relacji między nimi, albo może stanowić zawartość całej bazy danych. Pojedynczy wiersz tabeli nazywany jest rekordem i stanowi najczęściej zbiór danych o pojedynczym obiekcie (ewentualnie grupie obiektów). Encje Encje to abstrakcyjne obiekty , które mogą być reprezentowane w bazie danych. Encja reprezentuje zbiór obiektów opisany tymi samymi cechami (atrybutami, własnościami). Konkretny obiekt świata rzeczywistego jest reprezentowany jako wystąpienie encji (rekord bazy danych) Reguły modelowania encji 1. Każda encja posiada unikalną nazwę. 2. Każda encja posiada zbiór cech (atrybutów). 3. Dowolna rzecz lub obiekt może być reprezentowana tylko przez jedną encję. 4. Nazwa encji powinna być rzeczownikiem w liczbie pojedynczej. Klucz podstawowy Klucz podstawowy (ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli. Taka cecha klucza nazywana jest unikatowością. Klucz podstawowy służy do powiązania rekordów w jednej tabeli z rekordami z innej tabeli. Klucz podstawowy jest nazywany kluczem obcym, jeśli odwołuje się do innej tabeli. Na przykład, w bazie pracowników kluczem podstawowym może być numer ewidencyjny pracownika. Podstawowe operacje systemu zarządzania bazą danych czytanie, przeglądanie informacji zapisanych w poszczególnych rekordach dodawanie nowego rekordu do bazy, usuwanie istniejącego rekordu z bazy, zmienianie informacji zapisanych w polach rekordu, sortowanie rekordów według określonego kryteriów, wyszukiwanie rekordów według określonych kryteriów sporządzanie zestawień, list , raportów. Podział baz danych Ze względu na model danych systemy baz danych dzieli się na: relacyjne, obiektowe, obiektowo - relacyjne, semistrukturalne, hierarchiczne, sieciowe Ze względu na liczbę wykorzystywanych baz danych wyróżnia się systemy scentralizowane z jedną bazą danych i systemy rozproszone z więcej niż jedną bazą wchodzącą w skład systemu. Ogólny schemat logiczny bazy danych Baza danych składa się z tabel, tabele składają się z rekordów, rekordy składają się z pól. Pola mogą przechowywać elementarne dane, które są niepodzielne, czyli zakładamy, że mniejszych jednostek danych nie ma Sortowanie Sortowaniem rekordów nazywamy ich porządkowanie według jakiegoś kryterium. Kryterium to nazwa lub nazwy pól według których odbywa się sortowanie. Przykładowo może być to sortowanie rosnące (sortuje wartości w porządku rosnącym (od A do Z, od 0 do 9) lub sortowanie malejące (sortuje wartości w porządku malejącym od Z do A, od 9 do 0). Zapytanie (kwerenda) Zapytanie, czyli kwerenda to taka konstrukcja językowa, która pozwala na wyszukiwanie danych z bazy danych za pomocą zadawania pytań. Kwerendą może być: specjalna konstrukcja języka programowania (SQL) okno graficzne w którym należy podać parametry poszukiwanych danych. W zaawansowanych systemach baz danych kwerend można używać także do wyświetlania, zmiany i analizy danych. Kwerenda wybierająca Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetlania wyników w arkuszu danych, w którym można je następnie przeglądać. Kwerendy wybierające mogą być również używane do grupowania rekordów i obliczania sum, zliczeń, wyliczania średnich i przeprowadzania innych obliczeń. Typy relacji w bazach danych relacja 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. relacja jeden-do-wielu jest najbardziej powszechnym typem relacji. W relacji jeden-do-wielu rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B, ale rekord w tabeli B ma tylko jeden dopasowany rekord w tabeli A. relacja wiele-do-wielu - rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B i tak samo rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A. Jest to możliwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabelą łącza), której klucz podstawowy składa się z dwóch pól z kluczy obcych z tabel A i B. Relacja wiele-do-wielu jest w istocie dwiema relacjami jeden-do-wielu z trzecią tabelą. Na przykład, tabele "Zamówienia" i "Produkty" są powiązane relacją wiele-do-wielu zdefiniowaną przez utworzenie dwóch relacji jeden-do-wielu z tabelą "Opisy zamówień". Relacyjne bazy danych 1. Wszystkie wartości danych oparte są na prostych typach danych. 2. Wszystkie dane w bazie relacyjnej przedstawiane są w formie dwuwymiarowych tabel (relacji). Każda tabela zawiera zero lub więcej wierszy (krotki) i jedną lub więcej kolumn (atrybutów). 3. Po wprowadzeniu danych do bazy, możliwe jest porównywanie wartości z różnych kolumn, zazwyczaj również z różnych tabel, i scalanie wierszy, gdy pochodzące z nich wartości są zgodne. Umożliwia to wiązanie danych i wykonywanie stosunkowo złożonych operacji w granicach całej bazy danych. 4. Wszystkie operacje wykonywane są w oparciu o algebrę relacji, bez względu na położenie wiersza tabeli. Wiersze w relacyjnej bazie danych przechowywane są w porządku zupełnie dowolnym - nie musi on odzwierciedlać ani kolejności ich wprowadzania, ani kolejności ich przechowywania. 5. Z braku możliwości identyfikacji wiersza przez jego pozycję pojawia się potrzeba obecności jednej lub więcej kolumn niepowtarzalnych w granicach całej tabeli, pozwalających odnaleźć konkretny wiersz. Kolumny te określa się jako "klucz podstawowy" (ang. primary key) tabeli. Inne pojęcia związane z bazami danych Filtr - pozwala na wyszukiwanie rekordów spełniające pojedyncze kryterium lub wiele kryteriów albo sortować rekordy w porządku rosnącym lub malejącym. Formularz (ang. screen form) - służy do wygodnego wprowadzania, edytowania i usuwania danych w tabeli. Wymienione operacje wykonuje się za pomocą okna w którym użytkownik obsługuje pola. Znaczenie pól opisane jest za pomocą etykiet, czyli nazw pól. Raport (ang. report) - Raportem nazywamy konstrukcję systemu bazy danych, która służy do definiowania postaci i zawartości danych pobieranych z tabel, a następnie umieszczanych na wydruku. Procedura (ang. procedure) - seria poleceń zapisaną w języku programowania baz danych, służącą do wykonywania obsługi na elementach bazy: tabelach, formularzach, raportach, kwerendach. Makro (ang. macro) - ciąg akcji wykonywanych na tabelach, formularzach, raportach, kwerendach uruchamianych przyciskami umieszczonymi w oknie np. formularza lub gdy wystąpi jakieś zdarzenie np. kasowanie rekordu. Typy danych znakowy (ang. character) dana może przybierać tylko wartości znaków liczbowy (ang. number) dana może przechowywać tylko liczby logiczny (ang. logical) dana może przybierać tylko dwie wartości: prawda, fałsz (tak, nie) data (ang. date) dana może przyjmować postać daty i czasu np. rok.miesiąc.dzień godz:min:sek alfanumeryczny (ang. alphanumeric) dana może przybierać wartości znaków ASCII oraz cyfry numeryczny (ang. numeric) wartościami danej mogą być tylko cyfry i znaki: + (plus), - (minus). walutowy (ang. currency) dana może przyjmować wartości liczbowe razem z symbolem waluty notatnikowy (ang. memo) dana może być oddzielnym zbiorem tekstowym służącym do przechowywania dowolnych opisów. binarny (ang. binary) dana może być np. plikiem dźwiękowym lub filmowym. graficzny (ang. graphic) dana przechowuje grafikę np. rysunki. obiektowy (ang. OLE) dana przechowuje obiekty do których dostęp dokonuje się za pomocą techniki OLE (ang. object linking and embleding), czyli obiektów tworzonych przez inne aplikacje. Zasady projektowania baz danych Projektuj zawsze z planem Stwórz wstępną listę danych, jakie mają być przechowywane w bazie Poszukanie użytecznych informacji Rozszerzanie listy o użyteczne informacje Określenie funkcjonalności bazy danych