bazydanych


Baza danych (BD) - uporządkowany zbiór elementów, informacji z określonej dziedziny lub tematyki zorganizowany w pewien logiczny i zestrukturalizowany sposób, które można w prosty sposób przetwarzać, aktualizować, dodawać, usuwać, przeznaczony do wyszukiwania informacji.

Zbiór danych = informacje elementarne + powiązania między nimi

Termin baza danych upowszechnił się wraz z rozwojem informatyki, umożliwiającym tworzenie baz danych na maszynowym nośniku informacji. Obecnie oznacza zazwyczaj kom­puterową bazę danych, zamienne stosowanie terminów: baza danych i system informacyjny (system informacyjno-wyszukiwawczy).

Baza danych = dane + program komputerowy (programy) wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program -> "System zarządzania bazą danych" SZBD (Database management system DBMS) krócej "baza danych".

BD operują głównie na danych tekstowych i liczbowych, lecz większość współczesnych baz umożliwia przechowywanie danych binarnych typu: grafika, muzyka itp.

Gdzie korzysta się z baz danych wszędzie! Korzyści z baz danych:

Cechy bazy danych:

- pamięć trwała danych (co nie znaczy, że dane się nie zmieniają - transakcje)

FUNKCJE BAZY DANYCH: aktualizujące (transakcje) i zapytań.

- Funkcje aktualizujące dokonują zmian na danych (projektowanie rekordów, edycja: dopisywanie, usuwanie rekordów, poprawianie rekordów)

- Funkcje zapytań wydobywają dane z bazy danych (bez modyfikacji): sortowanie, wyszukiwanie i selekcja danych, tworzenie zapytań, tworzenie raportów, drukowanie

Cechy systemu zarządzania bazą danych:

Podział SZBD: Lokalne / klient-serwer

Lokalne bazy danych: najprostsze, w całości na jednym komputerze. Wszelkie zmiany użytkownik nanosi bezpośrednio na tabelę np. dodawanie, usuwanie lub aktualizacja poszczególnych rekordów. Większość lokalnych baz danych opiera się na jednowarstwowej architekturze (wszelkiego rodzaju zmiany wykonuje się natychmiast). Program, który udostępnia użytkownikowi zawartość bazy ma z nią bezpośredni kontakt. Access firmy Microsoft.

Bazy danych typu klient-serwer: Główna baza przechowywana na serwerze (wydzielony osobny komputer). Dostęp do niego z innych komputerów - przez sieć. Użytkownicy korzystając z takiej bazy nie korzystają bezpośrednio z jej zasobów, ponieważ odbywa się to za pośrednictwem programów - klientów. Wielu użytkowników na raz może korzystać.

Zalety zastosowania architektury klient - serwer:

Architektura trójwarstwowa

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

BD można podzielić według struktur danych, których używają:

  1. bazy proste - każda tablica danych (plik) jest samodzielnym dokumentem i nie może współpracować z innymi tablicami, jednopoziomowe, płaskie. Plik ma jednostki składowe o jednolitej strukturze (rekordy), zawierają pola różnorodnych typów: numeryczne, znakowe, tekstowe, pola walut, pola wskaźnikowe odnoszące się do cyfrowych obrazów, animacji i dźwięków. Np.: książka telefoniczna, książka kucharska, spis książek, kaset lub płyt. Wspólna cecha - jeden wybrany cel.

  2. bazy obiektowe.

  3. model hierarchiczny - dane mają strukturę odwróconego drzewa. Jedna z tabel pełni rolę „korzenia” drzewa, a pozostałe mają postać „gałęzi” biorących swój początek w korzeniu. Relacje są reprezentowane w kategoriach ojciec/syn (tabela-ojciec może być powiązana z wieloma tabelami-synami, lecz pojedynczy syn może mieć tylko jednego ojca). Aby uzyskać dostęp do danych w modelu hierarchicznym, użytkownik zaczyna od korzenia i przedziera się przez całe drzewo danych, aż do interesującego go miejsca (musi dobrze znać strukturę bazy danych). GIS

  4. model sieciowy: struktura danych ma postać grafu (sieci), wierzchołki grafu - typy obiektów, łuki w grafie - wiązania między typami, opis obiektu (rekord) zbudowany z pól zawierających dane opisujące obiekt.

  5. strumieniowe bazy danych (dane są w postaci zbioru strumieni danych).

  6. bazy relacyjne (złożone) - wiele tablic danych może współpracować ze sobą. Bazy relacyjne posiadają wewnętrzne języki programowania (SQL), za pomocą których możemy tworzyć własne menu oraz zaawansowane funkcje obsługi danych. Relacyjne bazy danych (i przeznaczony dla nich SQL) oparte są na kilku zasadach:

    1. Wszystkie wartości danych oparte są na prostych typach danych. (dalej tabelka)

    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 ("atrybuty"). Na każdy wiersz składają się jednakowo ułożone kolumny wypełnione wartościami, które z kolei w każdym wierszu mogą być inne.

    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 logikę, bez względu na położenie wiersza tabeli. Nie można więc zapytać o wiersze, gdzie (x=3) bez wiersza pierwszego, trzeciego i piątego. 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. indeksy określające kolejność wyświetlenia

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ę jak "klucz podstawowy" (primary key) tabeli.

Typ danych

Zastosowanie

Rozmiar

Tekst

Tekst lub kombinacje tekstowo-liczbowe, jak na przykład adresy. Również liczby nie wymagające obliczeń, jak na przykład numery telefonów, katalogowe czy kody pocztowe.

Do 255 znaków. Przechowywane są tylko znaki wprowadzone do pola, nie zapisane miejsca nie są przechowywane.

Memo

Długie teksty i liczby, np. notatki czy opisy

Do 64 000 znaków.

Liczba

Dane liczbowe, na których będą przeprowadzane działania matematyczne, z wyjątkiem obliczeń finansowych (do tego celu służy typ danych Walutowy). Trzeba ustaw Rozmiar pola, aby określić odpowiedni rodzaj danych liczbowych.

1, 2, 4 lub 8 bajtów. 16 bajtów tylko dla Identyfikatora.

Data/ Godzina

Daty i godziny.

8 bajtów.

Walutowy

Wartości walutowe. Typu tego należy używać, aby zapobiec zaokrągleniom podczas obliczeń. Dokładność 15 cyfr dla części całkowitej i 4 cyfr dla części dziesiętnej liczby.

8 bajtów.

Autonumer

Unikatowe liczby kolejne (rosnące od 1) lub losowe, wpisywane automatycznie przy wprowadzaniu rekordu.

4 bajty (16 bajtów tylko dla identyfikatora ID replikacji (GUID)).

Tak/Nie

Pole zawierające jedną z dwóch wartości, jak na przykład Tak/Nie, Prawda/Fałsz, Wł./Wył.

1 bit.

Obiekt OLE

Obiekty (takie jak dokumenty Worda, arkusze Excel, rysunki, dźwięki lub inne dane binarne), utworzone w innych programach używających protokołu OLE, które mogą być połączone z tabelą lub osadzone w tabeli

Do 1 gigabajta (w zależności od pojemności dysku).

Hiperłącze

Pola do przechowywania hiperłączy. Hiperłączem może być ścieżka UNC lub URL.

Do 64 000 znaków.

Kreator odnośników

Tworzy pole pozwalające wybierać wartość z innej tabeli lub z listy wartości za pomocą pola kombi. Wybranie tej opcji w liście typów danych uruchamia Kreatora definiującego cały układ.

Taki sam jak rozmiar pola klucza podstawowego realizującego odniesienie, zwykle 4 bajty.

- Jakie wartości będą dozwolone dla pola? Nie można np. zapisać tekstu w polu o typie danych Liczba.

- Ile miejsca mogą zająć dane zapisywane w polu.

- Jakie operacje będą wykonywane na wartościach pola? Można na przykład sumować wartości z pól typu Liczba czy Walutowy, lecz nie da się sumować pól typu Tekst czy Obiekt OLE.

- Czy wartości pola będą sortowane lub indeksowane? Pól typu Memo, Hiperłącze lub Obiekt OLE nie da się sortować ani indeksować.

- Czy pole będzie używane do grupowania rekordów w kwerendach lub raportach? Obiekty Memo, Hiperłącze i OLE nie mogą być użyte do grupowania rekordów.

- W jaki sposób wartości pola będą sortowane, w polu typu Tekst liczby są sortowane jako ciągi znaków (1, 10, 100, 2, 20, 200, itd.), a nie jako wartości liczbowe. Aby poprawnie sortować liczby, należy je zapisywać w polu typu Liczba lub Walutowy. Podobny problem z sortowaniem może wystąpić dla dat zapisanych w polu typu Tekst, aby go uniknąć, należy daty zapisywać w polu typu Data/Godzina.

SQL - Structured Query Language (strukturalny język zapytań), opracowany w latach siedemdziesiątych w firmie IBM, standard w komunikacji z serwerami relacyjnych BD, (DB2, SQL/DS, MySQL, MySQL, PostgreSQL InterbaseSQL, Oracle, MS SQL Server, MS Access i inne. -> korzystanie z relacyjnych baz danych, to korzystanie z SQLa.

Produkty związane z relacyjnymi bazami danych to nie tylko serwery. Sam serwer to "back end", "engine", czy też "motor bazy danych". Przechowuje on dane oraz zapewnia ich pobieranie i aktualizacje w odpowiedzi na pobierane instrukcje w SQLu.

Uzupełnieniem serwera jest zazwyczaj "front end", "middleware" czy też "fronton" - narzędzia upraszczające komunikację z serwerem i wyposażone w mechanizmy pozwalające wykorzystać pobrane dane. Należą do nich mechanizmy generowania i obsługi formularzy oraz raportów, języki czwartej generacji (4GL), graficzne języki zapytań, narzędzia konstrukcyjne użytkownika, oprogramowanie do prezentacji multimedialnych, systemy tworzenia hipertekstu, systemy CAD/CAM, arkusze kalkulacyjne, jak również interfejsy dostępu bezpośredniego. Wszystkie one wykorzystują do komunikacji z serwerem i wykonywania za jego pośrednictwem różnych operacji, język SQL. Serwer odpowiada za przechowywanie, porządkowanie i pobieranie danych, zapewnia ich integralność, bezpieczeństwo oraz zabezpiecza przed ewentualnymi konfliktami między użytkownikami.

Z technicznego punktu widzenia, SQL jest podjęzykiem danych. Oznacza to, że jest on wykorzystywany wyłącznie do komunikacji z bazą danych. Nie posiada on cech pozwalających na tworzenie kompletnych programów. Wykorzystywane formy:

Zapytania (SELECT) - najbardziej charakterystyczne dla SQLa:

Najprostsza postać zapytania w języku SQL służy do wybierania krotek pewnej relacji, które spełniają określone w zapytaniu warunki, co stanowi odpowiednik operatora selekcji w algebrze relacji. Prawie wszystkie zapytania w tym języku, konstruuje się za pomocą trzech charakterystycznych dla SQLa słów kluczowych: SELECT, FROM i WHERE.

Instrukcją wykorzystywaną do wyprowadzania informacji umieszczonych w tablicach jest instrukcja SELECT.  Należy stosować składnię:

SELECT <klauzula>
[INTO <klauzula>] FROM <klauzula> [WHERE <klauzula>]
[GROUP BY <klauzula>] [HAVING <klauzula>]
[UNION <instrukcja SELECT>...]
[ORDER BY <klauzula>/FOR UPDATE OF <klauzula>]
[SAVE TO TEMP <klauzula>];

Przykład pozwala wyprowadzić wszystkie wpisy z tabeli status, które posiadają ID większe od 0 w kolejności rosnącej.

SELECT * From status WHERE status_id > 0 ORDER BY status_id ASC;

Projektowanie baz danych - relacyjnych, konstruowanie BD i aplikacji - 3 etapy:

PROJEKT BAZY DANYCH stworzenie diagramu ER (Entity Relationship Diagram - diagram związków encji)

♦Identyfikacja obiektów bazy (encji).

♦Określenie cech obiektów (atrybutów).

♦Identyfikacja związków pomiędzy obiektami bazy danych (związki encji, relacje).

Relacje:

jeden do jeden” - jeden obiekt wykazuje zależność funkcyjną od drugiego.

jeden do wielu” - jeden obiekt powiązany jest z wieloma innymi. Obiekty te umieszcza się w osobnych tabelach powiązanych parą klucz główny (w tabeli, gdzie znajduje się element, który jest “jeden”) - klucz obcy (w tabeli gdzie znajduje się “wiele” elementów). Np. W bazie ze studentami: student - oceny - każdy student ma wiele ocen, jednak każda ocena jest przyporządkowana jednemu, konkretnemu studentowi. (linia 1 i M lub 1 i N).

wiele do wielu” - gdy istnieją dwie grupy obiektów, które mogą łączyć się ze sobą w taki sposób, że zarówno dowolny obiekt z pierwszej grupy może łączyć się z wieloma obiektami grupy drugiej, jak również dowolny obiekt grupy drugiej może łączyć się z wieloma obiektami grupy pierwszej.

W bazie z wynikami studenckimi np. jeśli wydzielimy obiekt “forma sprawdzania wiedzy” (kolokwium, praca domowa, projekt itp.). Wtedy powiązanie studentów z “formą sprawdzania wiedzy” jest relacją “wiele do wiele”: każdy student brał udział w wielu formach sprawdzania wiedzy, ale też w danej formie sprawdzania wiedzy badano umiejętności wielu studentów.

Związki „wiele do wielu” są złożone, aby unikać takiego związku tworzy się tzw. tabelę pośredniczącą, umieszczaną między pierwotnymi tabelami, której klucz podstawowy składa się z dwóch pól kluczy obcych z tabel A i B. Relacja „wiele do wielu” jest w istocie dwiema relacjami „jeden do wielu” z trzecią tabelą. (linia M i N).

6

Internet

INTERNET

Warstwa klienta

----------------------------

----------------------------

----------------------------

----------------------------

Mechanizm

skryptowy

Serwer WWW

Skrypty

Warstwa środkowa

System zarządzania

bazą danych

(SZBD)

Baza

danych

Warstwa bazy danych



Wyszukiwarka

Podobne podstrony:
WYK6 BazyDanych
Microsoft PowerPoint IP5 bazydanych tryb zgodnosci
BazyDanychFINALL
BazyDanychCw2
BazyDanychFINALL id 81765 Nieznany
BazyDanych MySQL 4
ITA 101 BazyDanych podręcznik kursuMSSQL
bazydanych zbiorcze pyt i odp
Microsoft PowerPoint IP5 bazydanych [tryb zgodnosci]
Bazydanych Manual
BazyDanych KM wykłady Normalizacja 1 2x1
bazydanych, WAT, semestr VI, Hurtownie danych
BazyDanychCw3
BazyDanych KM przeglad SQL v2
01a Anomalie BazyDanych
bazydanych
bazydanychHurtownie2011v 2
BazyDanychCw2
BazyDanych - MySQL - 3, Nauka, studia infa, Semestr 3, Bazy danych, 1 MYSQL

więcej podobnych podstron