Podstawowe pojęcia z teorii budowy baz danych. Komputerowa baza danych to system dla strukturalnego przechowywania różnych spisów, np.: studentów Nr indeksu 53 55 : Nazwisko Małysz Michałek : Imie Adam Gosia : Tabela jest podstawową jednostką strukturalną współczesnych baz danych. Współczesne bazy danych składają się z kilku tabel ( od 3 do 25 ) np.: baza danych uczelni składa się z tabel: studenci, wykładowcy, zajęcia, itd. Każda tabela ma informacje o konkretnych obiektach. Pojedyncza tabela posiada informacje o obiektach określonej dziedziny np.: tabela studenci posiada informacje o pojedynczych studentach. Ilość tabel w bazie danych jest uzależniona od projektanta, gdyż musi on mieć na uwadze przeznaczenie bazy danych. Baza danych spełnia swoje funkcje w oparciu o oprogramowanie, zwane systemem zarządzania bazą danych ( Data Base Managment System ). W ten sposób komputerowa baza danych składa się z dwóch części: a) danych lub informacji b) systemu zarządzania bazą danych Dane są wartościami statycznymi w bazie danych, tzn. zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces. System zarządzania bazą danych pełni następujące funkcje: 1) tworzy bazy danych ( tworzenie pliku lub plików bazy danych ) 2) tworzy tabele 3) wprowadza i modyfikuje ( zmienia wartości ) dane 4) pobiera informacje ( wybiera dane ) np.: użytkownik ma uzyskać informacje o studentach pierwszego roku SI 5) usuwa dane 6) usuwa całe tabele i bazy danych Dla spełnienia tego systemu stworzony został język zapytań. Najczęściej wykorzystywany jest tutaj język SQL ( Structured Query Language – język zapytań strukturalnych ). Ten język wypełnia funkcje w oparciu o standardowe operacje: - Create – stwórz - Update – zmodyfikuj - Select – wybierz dane - Delete – usuń informację Informacje w bazie danych powinny mieć taki wygląd, aby czas pobierania danych był minimalny. Dlatego podstawowymi operacjami wykonywanymi przez bazy danych są: sortowanie i wyszukiwanie danych. Sortowanie to kolejność rozmieszczenia obiektu w tabeli. Aby to rozmieszczenie uzyskać trzeba obowiązkowo podać kryterium sortowania np.: od minimalnego do maksymalnego numeru indeksu. 1 Podstawowe metody sortowania danych: 1) metoda kolejnych minimów ( maksimów ) 2) metoda bąbelkowa 3) metoda kubełkowa 4) metoda QuickSort Głównym parametrem charakteryzującym każdą z tych metod jest ilość porównań elementów ze sobą i ilość przestawień liczb. Metoda kolejnych minimów polega na porównaniu ze sobą wszystkich elementów tablicy. Pierwsza pętla tych porównań skończy się tym, że pod numerem 1 będzie umieszczony minimalny element. Druga pętla tych porównań skończy się tym, że pod numerem 2 będzie umieszczony minimalny element wśród pozostałych, itd. Załóżmy zbiór A = {30, 2, 345, 8, 53, 120 } I pętla – wykonamy n – 1 porównań i zamienimy 1 element { 2, 30, 345, 8, 53, 120 } II pętla – wykonamy n – 2 porównań i zamienimy 1 element { 2, 8, 30, 345, 53, 120 } Suma wszystkich porównań wynosi n – 1 + n – 2 + ... + 1 = n 1 i i 1 Metoda bąbelkowa polega na porównaniu par sąsiednich elementów ze sobą i przestawieniu elementów według podanego kryterium. Załóżmy zbiór A = {30, 2, 345, 8, 53,120 } I pętla 30 porównujemy z 2 i przestawiamy {2, 30, 345, 8, 53, 120 } II pętla 30 porównujemy z 345 i pozostawiamy {2, 30, 345, 8, 53, 120 } Metoda bąbelkowa charakteryzuje się taką samą ilością porównań ( n – 1 ) jak metoda kolejnych minimów, lecz ma ona większą ilość przestawień elementów. Tak więc im większa liczba elementów, tym większa różnica w wielkości przestawień. Metoda kubełkowa polega na utworzeniu wirtualnych kieszeniu do umieszczania w nich odpowiednich danych. Dla każdego rzędu liczby ( jednostek, dziesiątek, itd. ) powinno być utworzonych 10 kubełków. Zastosowanie tej metody jest efektywne, jeżeli liczby po sortowaniu mają mocno różniące się ilości cyfr. Załóżmy zbiór A = {30, 2, 345, 8, 53,120 } I 0 1 120 30 II 0 1 08 02 III 0 053,030 002,008 2 3 2 53 2 3 120 1 120 2 30 3 4 5 6 7 345 4 5 9 8 345 4 8 6 7 8 9 6 7 8 9 53 5 345 2 Spis treści: Podstawowe pojęcia z teorii budowy baz danych. ..................................................................... 1 Metody wyszukiwania danych i typy baz danych. ................... Error! Bookmark not defined. Elementy strukturalne i logiczne baz danych. .......................... Error! Bookmark not defined. Modele baz danych................................................................... Error! Bookmark not defined. Architektura systemu baz danych. ........................................... Error! Bookmark not defined. Podstawy algebry relacyjnej..................................................... Error! Bookmark not defined. Bazy danych w środowiskach Delphi i C++ Builder. .............. Error! Bookmark not defined. Definiowanie relacji pomiędzy tabelami.................................. Error! Bookmark not defined. Projektowanie baz danych. ....................................................... Error! Bookmark not defined. Analiza praktycznych projektów baz danych. .......................... Error! Bookmark not defined. Tworzenie tabel i formularzy autorskich w środowisku Delphi i C++ Builder. ............... Error! Bookmark not defined. Sposoby podłączenia do baz danych. ....................................... Error! Bookmark not defined. Opracowanie informacji na bazie języka SQL. ........................ Error! Bookmark not defined. Funkcje w SQL......................................................................... Error! Bookmark not defined. Frazy w SQL. ........................................................................... Error! Bookmark not defined. Połączenia zewnętrzne i wewnętrzne w języku SQL. .............. Error! Bookmark not defined. Podzapytania w SQL. ............................................................... Error! Bookmark not defined. Modyfikacja danych za pomocą SQL. ..................................... Error! Bookmark not defined. Tworzenie obiektów bazo – danowych i zarządzanie nimi za pomocą SQL. Error! Bookmark not defined. Tworzenie baz danych, dodawanie informacji i rejestracje baz danych w InterBase. ...... Error! Bookmark not defined. Bezpieczeństwo bazy danych. .................................................. Error! Bookmark not defined. Alfabetyczny indeks haseł. ....................................................... Error! Bookmark not defined. 3