Pojęcie bazy danych funkcje i możliwości



Podobne dokumenty
Wykład I. Wprowadzenie do baz danych

Alicja Marszałek Różne rodzaje baz danych

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych funkcje i możliwości Charakterystyka baz danych:

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

KURS ACCESS 2003 Wiadomości wstępne

Adam Cankudis IFP UAM

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

TI - Bazy TECHNOLOGIE INFORMACYJNE

2017/2018 WGGiOS AGH. LibreOffice Base

Baza danych. Modele danych

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Bazy danych 2. Wykład 1

Oracle11g: Wprowadzenie do SQL

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

PRZEWODNIK PO PRZEDMIOCIE

Bazy danych - wykład wstępny

Wprowadzenie do problematyki baz danych

71. Kolejki priorytetowe i metody ich realizacji

Porównanie systemów zarządzania relacyjnymi bazami danych

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Usługi sieciowe i bazy danych w ochronie zdrowia z elementami telemedycyny. Dr hab. Jacek Pniewski 2017/18, semestr letni, piątki około 14:00

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

Systemy baz danych. mgr inż. Sylwia Glińska

Zaawansowane Systemy Baz Danych

Pojęcie systemu informacyjnego i informatycznego

Technologia informacyjna

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy danych Wykład zerowy. P. F. Góra

Wykład 2. Relacyjny model danych

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Wykład XII. optymalizacja w relacyjnych bazach danych

Transformacja wiedzy w budowie i eksploatacji maszyn

PRZEWODNIK PO PRZEDMIOCIE

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Paweł Kurzawa, Delfina Kongo

Tomasz Grześ. Systemy zarządzania treścią

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

SZKOLENIE: Administrator baz danych. Cel szkolenia

Systemy GIS Systemy baz danych

Baza danych. Baza danych to:

Tabela wewnętrzna - definicja

USTAWA O OCHRONIE BAZ DANYCH

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Roman Mocek Zabrze Opracowanie zbiorcze ze źródeł Scholaris i CKE

Informacje i zalecenia dla zdających egzamin maturalny z informatyki 1. Część pierwsza egzaminu z informatyki polega na rozwiązaniu zadań

WPROWADZENIE DO BAZ DANYCH

DEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Czym jest baza danych?

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Wprowadzenie do Hurtowni Danych

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

RELACYJNE BAZY DANYCH

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Część I. Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Zadanie 1.1. (0 3)

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz

Podstawy Systemów Zarządzania Baz Danych

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Wymagania edukacyjne na ocenę z informatyki klasa 3

PODSTAWOWE POJĘCIA BAZ DANYCH

KARTA PRZEDMIOTU 1,5 1,5

Bazy danych w geomatyce Databases in Geomatics

Spis treści. Przedmowa

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

010 BAZY DANYCH. Prof. dr hab. Marek Wisła

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Technologia informacyjna

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Przestrzenne bazy danych Podstawy języka SQL

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Zastosowanie relacyjnych baz danych w Systemach Informacji Geograficznej

Logika Temporalna i Automaty Czasowe

Specjalizacja magisterska Bazy danych

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Program nauczania. Systemy baz danych. technik informatyk

PRZEWODNIK PO PRZEDMIOCIE

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Transkrypt:

Pojęcie bazy danych funkcje i możliwości

Baza danych to zbiór informacji zapisanych w ściśle określony sposób w strukturach odpowiadających założonemu modelowi danych. W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program taki (często zestaw programów) nazywany jest Systemem zarządzania bazą danych (ang. DataBase Management System, DBMS). W ścisłej nomenklaturze baza danych oznacza zbiór danych, opisujący pewien wybrany fragment rzeczywistości. Przykładowo bazą danych może być zbiór danych banku na temat klientów, ich rachunków, operacji na rachunkach, udzielanych kredytach.

Dane w bazie danych posiadają dwie podstawowe cechy. Po pierwsze, odzwierciedlają rzeczywistość w sposób z nią zgodny (prawidłowy). Po drugie, są zorganizowane w specyficzny sposób, zgodnie z tzw. modelem danych. Struktura danych i powiązania między nimi są opisane przez tzw. schemat bazy danych. Z DBMS współpracują programy użytkowników, zwane aplikacjami. Zadaniem tych programów jest przetwarzanie danych, tj. wstawianie nowych danych, modyfikowanie danych już istniejących, usuwanie danych nieaktualnych, wyszukiwanie danych.

Charakterystyka baz danych: Do głównych cech charakteryzujących bazę danych zalicza się: trwałość danych rozmiar wolumenu danych złożoność danych

Trwałość danych oznacza, że dane przechowywane w bazie danych nie są ulotne. W konsekwencji, okres przechowywania danych jest ograniczony wyłącznie okresem żywotności nośnika danych. "Czas życia" danych, po ich zapisaniu do bazy danych jest niezależny od istnienia i działania bądź niedziałania aplikacji. Trwałość danych jest również niezależna od platformy sprzętowo-programowej. W ogromnej większości zastosowań, dane zgromadzone w bazie danych nie mieszczą się w pamięci operacyjnej, więc do ich składowania jest wymagana pamięć zewnętrzna (dyskowa, optyczna, taśmowa). Tak duże ilości danych nie mogą być przeglądane liniowo ze względu na niewielką efektywność tej techniki. W konsekwencji konieczne jest wykorzystanie innych zaawansowanych mechanizmów efektywnego dostępu do danych.

Dane gromadzone w bazie danych często są złożone ze względu na: złożoność ich struktur i zależności pomiędzy danymi (np. projekt samochodu, złożony z tysięcy elementów), złożoność semantyczną danych (np. fakt przyznania kredytu mieszkaniowego jest uzależniony od spełnienia lub niespełnienia wielu wymagań przez petenta). Ponadto, na dane są często nakładane tzw. ograniczenia integralnościowe gwarantujące, że w bazie danych pojawią się wyłącznie dane spełniające te ograniczenia.

Bazie danych stawia się 6 podstawowych wymagań: Spójność bazy danych jest definiowana jako poprawność danych z punktu widzenia pewnych przyjętych kryteriów. Definiując spójność wymienia się trzy takie kryteria, tj.: wierne odzwierciedlenie danych rzeczywistych - dane przechowywane w bazie danych są takie jak w świecie rzeczywistym, który ta baza reprezentuje. Przykładowo, w bazie danych dziekanatu są przechowywane dane tylko tych studentów, którzy kiedykolwiek ukończyli studia i dane tylko studentów aktualnie studiujących. Innymi słowy, baza ta nie zawiera danych studentów nieistniejących. Ponadto, zależności między danymi wiernie odzwierciedlają zależności pomiędzy obiektami świata rzeczywistego. Przykładowo, grupa studencka G1 w bazie danych dziekanatu składa się ze studentów należących do tej grupy w świecie rzeczywistym.

- spełnienie ograniczeń nałożonych przez użytkowników - wszystkie dane w bazie, na które nałożono pewne ograniczenia integralnościowe muszą te ograniczenia spełniać. Przykładowo, w bazie danych dziekanatu zdefiniowano ograniczenie na możliwe wartości oceny i określono, zbiór dozwolonych ocen jako {2, 3, 4, 5}. Oznacza to, że w bazie danych nie pojawi się żadna inna ocena niż dozwolona.,

- brak anomalii wynikających ze współbieżnego dostępu do danych - w przypadku baz danych, z których korzysta przynajmniej dwóch użytkowników mogą powstać dane niepoprawne na skutek równoczesnego modyfikowania tego samego zbioru danych. Baza danych musi być odporna na takie sytuacje niepoprawne..

Drugim wymaganiem stawianym bazie danych jest zapewnienie efektywnego przetwarzania danych, tj. wstawiania nowych danych, modyfikowania istniejących, usuwania i wyszukiwania danych. W tym celu koniecznej jest wykorzystywanie efektywnych metod dostępu do danych z wykorzystaniem specjalizowanych struktur i optymalizacja metod dostępu. Ponadto, program, czy użytkownik korzystający z bazy danych nie zna fizycznej organizacji danych na nośniku. W związku z tym, optymalizacja dostępu powinna być realizowana przez wyspecjalizowany moduł programowy i powinna być niewidoczna dla użytkownika.

Trzecim wymaganiem stawianym bazie danych jest poprawne modelowanie świata rzeczywistego. Oznacza to, że struktura bazy danych musi odzwierciedlać we właściwy/poprawny sposób obiekty świata rzeczywistego i powiązania pomiędzy tymi obiektami. Przykładowo, jeżeli dealer samochodowy sprzedaje samochody osobowe i dostawcze w różnych konfiguracjach, to baza danych dla tego dealera musi umożliwiać przechowywanie danych na temat samochodów i osobowych i dostawczych, oraz konfiguracji poszczególnych modeli. Producenci systemów zarządzania bazami danych oferują narzędzia wspomagające procesy modelowania danych, projektowania bazy danych i transformacje pomiędzy różnymi modelami.

Czwartym wymaganiem jest autoryzacja dostępu do danych. Oznacza to, że dostęp do bazy danych mają tylko jej użytkownicy identyfikowani unikalną nazwą i hasłem. Ponadto, każdy użytkownik posiada określone uprawnienia w bazie danych.

Piątym wymaganiem jest zagwarantowanie możliwości równoczesnej pracy wielu użytkownikom tej samej bazy danych. Co więcej, użytkownicy ci mogą jednocześnie pracować z tym samym zbiorem danych. W takim przypadku mogą powstać konflikty w dostępie do danych, gdy jeden użytkownik modyfikuje zbiór danych, a drugi próbuje ten sam zbiór odczytać lub zmodyfikować. Baza danych musi zapewnić poprawne rozwiązanie tego typu konfliktów.

Szóstym wymaganiem jest wsparcie dla tzw. metadanych. Metadane to najprościej mówiąc dane o bazie danych. Dane te opisują m.in.: dane przechowywane w bazie, struktury danych, użytkowników i ich uprawnienia.

Technologie baz danych: Omówione wymagania odnośnie baz danych są zapewniane w ramach tzw. technologii baz danych. Oferuje ona m.in. fizyczne struktury i metody dostępu. Do fizycznych struktur wykorzystywanych w bazach danych zalicza się pliki uporządkowane, pliki haszowe, pliki zgrupowane, indeksy drzewiaste i indeksy bitmapowe. Do metod dostępu zalicza się: połowienie binarne, haszowanie statyczne i dynamiczne, algorytmy łączenia, sortowania i grupowania.

Dostęp do danych z wykorzystaniem struktur fizycznych i metod dostępuj jest optymalizowany za pomocą zaawansowanych technik optymalizacji składniowej i kosztowej. Ponadto, fizyczna organizacja danych na dysku nie ma wpływu na działanie aplikacji/programów użytkowników korzystających z bazy danych. Oznacza to, że zmiana fizycznej organizacji danych np. o klientach banku, po pierwsze, jest niewidoczna dla użytkownika i po drugie, nie wymaga zmiany kodu aplikacji. Innymi słowy aplikacja działa tak samo dobrze jak poprzednio.

Jednym z komponentów systemu bazy danych jest tzw. System Zarządzania Bazą Danych (DBMS). Z technologicznego punktu widzenia jest to moduł programowy, którego zadaniem jest zarządzanie całą bazą danych oraz realizowanie żądań aplikacji użytkowników.

Podstawowa funkcjonalność DBMS obejmuje: wsparcie dla języka bazy danych, który umożliwia m.in. wstawianie, modyfikowanie, usuwanie i wyszukiwanie danych oraz tworzenie, modyfikowanie i usuwanie struktur danych; wsparcie dla struktur danych zapewniających efektywne składowanie i przetwarzanie dużych wolumenów danych;

optymalizację dostępu do danych; synchronizację współbieżnego dostępu do danych; zapewnienie bezpieczeństwa danych w przypadku awarii sprzętowo-programowej; autoryzację dostępu do danych; wielość interfejsów dostępu do bazy danych.

Interakcja z bazą danych Jakakolwiek interakcja programu użytkowego (aplikacji) z bazą danych odbywa się za pomocą języka SQL. Jest to jedyny sposób komunikowania się aplikacji z bazą danych. SQL jest językiem deklaratywnym. Oznacza to, że posługując się nim specyfikujemy tylko co chcemy otrzymać. Nie specyfikujemy sposobu (algorytmu) w jaki ma być zrealizowane zadanie. Przykładem polecenia SQL może być zapytanie do bazy danych poszukujące informacje o klientach banku z Poznania, którzy w ciągu ostatniego miesiąca wypłacili z bankomatu łącznie powyżej 8000 PLN. W tym zapytaniu specyfikujemy tylko jakie dane nas interesują. Sposób ich wyszukania jest automatycznie dobierany przez DBMS.

Podział baz danych: Podziału systemów BD można dokonać w oparciu o kilka kryteriów. Najważniejszymi są: wykorzystywany model danych, liczba węzłów, czyli liczba baz danych wchodzących w skład systemu i cel stosowania systemu bd.

Ze względu na model danych SBD dzieli się na: relacyjne, obiektowe, obiektoworelacyjne, strumieniowe bazy danych, temporalne bazy danych

Bazy relacyjne W bazach relacyjnych wiele tablic danych może współpracować ze sobą (są między sobą powiązane). Bazy relacyjne posiadają wewnętrzne języki programowania, wykorzystujące zwykle SQL do operowania na danych, za pomocą których tworzone są zaawansowane funkcje obsługi danych. Relacyjne bazy danych (jak również przeznaczony dla nich standard SQL) oparte są na kilku prostych zasadach:

Wszystkie wartości danych oparte są na prostych typach danych. Wszystkie dane w bazie relacyjnej przedstawiane są w formie dwuwymiarowych tabel (w matematycznym żargonie noszących nazwę "relacji"). Każda tabela zawiera zero lub więcej wierszy (w tymże żargonie "krotki") i jedną lub więcej kolumn ("atrybutów"). 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. 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. Wszystkie operacje wykonywane są w oparciu o algebrę relacji, 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. 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.

Bazy obiektowe W bazach obiektowych dane przechowywane są w strukturach obiektowych (zdefiniowanych jako klasy). Koncepcje akademickie dotyczące baz obiektowych były najbardziej popularne w latach 90. Współcześnie popularność tego tematu zmalała, choć prace badawcze nad nimi nadal trwają, a na rynku pojawiły się obiektowe SZBD (np. Versant, db4o, LoXiM). Prace nad obiektowymi bazami danych ponowiło międzynarodowe konsorcjum OMG.

Bazy relacyjno-obiektowe Bazy relacyjno-obiektowe pozwalają na manipulowanie danymi jako zestawem obiektów, posiadają jednak bazę relacyjną jako wewnętrzny mechanizm przechowywania danych.

Temporalna baza danych Temporalna baza danych jest odmianą bazy relacyjnej, w której każdy rekord posiada stempel czasowy, określający czas w jakim wartość jest prawdziwa. Posiada także operatory algebry relacyjnej, które pozwalają operować na danych temporalnych (wyciągać historię).

Ze względu na cel stosowania wyróżnia się : bazy danych przetwarzania transakcyjnego wspomagania projektowania BD przetwarzania analitycznego informacji geograficznej, wytwarzania oprogramowania.

Bazy danych przetwarzania transakcyjnego (OLTP) stosuje się w typowych zastosowaniach ewidencyjnych, np. w rezerwacji i sprzedaży biletów, w bibliotekach i wypożyczalniach, w systemach ewidencji ludności, pojazdów, mienia nieruchomego, w bankowości w obsłudze bieżącej, w systemach handlu internetowego i bankowości elektronicznej. Zastosowania tego typu charakteryzują się ogromną liczbą jednocześnie działających użytkowników (tysiące, dziesiątki tysięcy). Interakcja pojedynczego użytkownika z bazą danych jest krótka - kilka kilkanaście sekund.

Bazy danych przetwarzania analitycznego (OLAP) stosuje się w systemach wspomagania zarządzania. Zastosowania tego typu charakteryzują się niewielką liczbą użytkowników (kilku, kilkunastu), ale czas interakcji użytkownika z bazą danych jest długi (godziny, dziesiątki godzin).

Bazy danych dla wspomagania projektowania umożliwiają przechowywanie projektów złożonych obiektów, np. konstrukcji mostów, budynków, schematy urządzeń. W bazach danych informacji geograficznej przechowuje się zarówno dane tekstowe (np. opisy terenu) jak i dane przestrzenne (mapy). Tego typu systemy wymagają zaawansowanych technik przeszukiwania map i operacji na nich.

Bazy danych służące do wspomagania wytwarzania oprogramowania przechowują wyniki poszczególnych faz realizacji projektów. Wyniki te są najczęściej reprezentowane w postaci specjalizowanych modeli (diagramów), obiektów i ich własności, projektów i kodów oprogramowania. Tego typu systemy, oprócz standardowej funkcjonalności, wspierają wyszukiwanie zależności pomiędzy obiektami oraz wywodzenie wersji obiektów (np. oprogramowania) i zarządzanie tymi wersjami.