System zarządzania bazą danych SZBD (ang. DBMS -Database Management System)



Podobne dokumenty
Technologia informacyjna

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

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

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

Bazy danych 2. Wykład 1

Wykład 2. Relacyjny model danych

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

Baza danych. Baza danych to:

Alicja Marszałek Różne rodzaje baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Baza danych. Modele danych

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

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

Bazy danych - 1. Doc. dr inż. Tadeusz Jeleniewski t.jeleniewski@neostrada.pl lub tadeusz.jeleniewski@pwr.wroc.pl

Wykład 5 Charakterystyka języka SQL. Elementy obliczeń relacyjnych.

Bazy danych - wykład wstępny

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Projektowanie relacyjnych baz danych

PRZEWODNIK PO PRZEDMIOCIE

Wykład I. Wprowadzenie do baz danych

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

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

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

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

PRZEWODNIK PO PRZEDMIOCIE

Przestrzenne bazy danych Podstawy języka SQL

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

1 Wstęp do modelu relacyjnego

Autor: Joanna Karwowska

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

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

Wprowadzenie do Hurtowni Danych

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

Relacyjny model baz danych, model związków encji, normalizacje

Modelowanie danych, projektowanie systemu informatycznego

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

Bazy Danych 2008 Część 1 Egzamin Pisemny

Relacyjne bazy danych

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Bazy danych 1. Podstawowe pojęcia

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

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

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

2017/2018 WGGiOS AGH. LibreOffice Base

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Wprowadzenie do baz danych

KURS ACCESS 2003 Wiadomości wstępne

Model relacyjny. Wykład II

Oracle11g: Wprowadzenie do SQL

SZKOLENIE: Administrator baz danych. Cel szkolenia

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

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

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

Systemy informatyczne. Modelowanie danych systemów informatycznych

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Agnieszka Ptaszek Michał Chojecki

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Internetowe bazy danych

Program nauczania. Systemy baz danych. technik informatyk

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

Bazy danych. Algebra relacji

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

P o d s t a w y j ę z y k a S Q L

S y s t e m y. B a z D a n y c h

Model relacyjny. Wykład II

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Pojęcie systemu informacyjnego i informatycznego

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

WPROWADZENIE DO BAZ DANYCH

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Paweł Kurzawa, Delfina Kongo

Spis treści. Przedmowa

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

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

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

KARTA PRZEDMIOTU 1,5 1,5

Systemy GIS Tworzenie zapytań w bazach danych

Podstawowe zagadnienia z zakresu baz danych

Podstawy Systemów Zarządzania Baz Danych

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Systemy GIS Systemy baz danych

Bazy danych. Dr inż. Paweł Kasprowski

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Transkrypt:

Podstawowe pojęcia Baza danych Baza danych jest logicznie spójnym zbiorem danych posiadających określone znaczenie. Precyzyjniej będzie jednak powiedzieć, Ŝe baza danych jest informatycznym odwzorowaniem danego fragmentu rzeczywistości, odzwierciedlającym stan tego fragmentu w postaci danych komputerowych. Przykładowo - baza danych, w której są ewidencjonowani pracownicy przedsiębiorstwa nie moŝe zawierać informacji o osobach, które w danym przedsiębiorstwie nie pracują. Baza danych jest projektowana, budowana i zapełniana danymi dla określonego celu. UŜytkownicy bazy danych: uŝytkownicy (którzy korzystają z danych, tworząc formularze, zestawienia, itp.) projektanci (definiują oni strukturę bazy oraz opracowują programy umoŝliwiające korzystanie z bazy danych) procesy (proces to najogólniej wykonywany aktualnie program). System zarządzania bazą danych SZBD (ang. DBMS -Database Management System) Jest to oprogramowanie umoŝliwiające tworzenie, eksploatację bazy danych oraz obsługujące uŝytkowników bazy. Definiowanie bazy danych polega na specyfikacji typów przechowywanych w niej danych, określeniu uŝytkowników i ich praw dostępu do danych. Specyfikacja ta zapamiętywana jest na nośniku kontrolowanym przez SZBD. Przetwarzanie bazy danych polega na generowaniu zapytań w celu wyszukania potrzebnych danych, aktualizacji danych zgodnie ze zmianami zachodzącymi w odwzorowanym świecie i wydawaniu raportów o danych interesujących uŝytkownika. Podstawowe funkcje jakie musi spełniać SZBD to: optymalizacja zapytań - takie przekształcanie zapytań kierowanych do bazy przez jej uŝytkowników aby czas oczekiwania na odpowiedź był moŝliwie najkrótszy, zapewnienie integralności danych - uniemoŝliwienie przejścia bazy do stanu, który nie istnieje w modelowanej rzeczywistości (jeśli baza danych przyjęła stanu, którego nie da się osiągnąć w modelowanej rzeczywistości, to mówimy, Ŝe jest ona w stanie niespójnym). zapewnienie wielodostępu do bazy danych umoŝliwienie korzystania z bazy danych wielu uŝytkownikom w taki sposób, aby kaŝdy uŝytkownik był przekonany, Ŝe jest wyłącznym właścicielem danych (współbieŝność), odporność na awarie (niezawodność bazy danych) - moŝliwość odtworzenia poprawnego stanu bazy danych sprzed awarii, ochrona danych - uniemoŝliwienie dostępu nieuprawnionych uŝytkowników do poufnych danych innych uŝytkowników.

System bazy danych Jest to, w uproszczeniu, baza danych plus system zarządzania bazą danych. UŜytkownicy Transakcje SZBD Moduł zarządzania transakcjami Moduł sterowania dostępem do danych Schemat bazy danych Baza danych System bazy danych Rys.1. Schemat funkcjonalny systemu bazy danych Transakcja Transakcja jest pewną sekwencją instrukcji, po wykonaniu której baza danych z jednego stanu spójnego przechodzi w inny stan spójny. Transakcja jest operacją atomową, co oznacza, Ŝe SZBD powinien wykonać wszystkie instrukcje wchodzące w jej skład lub Ŝadną. W praktyce SZBD wykonuje instrukcje transakcji po kolei, a w przypadku niepowodzenia którejś z nich wycofuje poprzednio wykonane instrukcje (jest to tzw. wycofanie transakcji, ang. rollback). Moduł zarządzania transakcjami UmoŜliwia jednoczesne korzystanie z bazy danych wielu uŝytkownikom. Moduł zarządzania dostępem do danych UmoŜliwia właściwą interpretację danych przechowywanych w pamięciach zewnętrznych, wprowadzanie nowych danych oraz modyfikację i aktualizację istniejących danych. Schemat bazy danych Dane zawarte w bazie opisują cechy modelowanych obiektów rzeczywistych. Schemat jest opisem struktury (formatu) przechowywanych danych oraz ich wzajemnych powiązań. Schemat bazy danych pozwala nam wyciągnąć z bazy interesujące nas informacje.

Cechy charakterystyczne baz danych NiezaleŜność aplikacji i danych Dane mogą być wprowadzane do bazy bez konieczności modyfikacji korzystających z nich programów czy systemów uŝytkowych, a z drugiej strony aplikacje mogą być modyfikowane niezaleŝnie od stanu baz danych. Abstrakcyjna reprezentacja danych. Programy i systemy uŝytkowe (aplikacje) są tworzone przy uŝyciu tzw. deklaratywnych języków programowania (w odróŝnieniu od języków imperatywnych). Twórca aplikacji nie musi np. interesować się kolejnością danych w bazie, ani sposobem ich reprezentacji i wyszukiwania. Precyzuje jedynie warunki selekcji informacji. Inaczej mówiąc: decyduje co zrobić, a nie jak zrobić. RóŜnorodność sposobów widzenia danych. Te same dane zawarte w bazie mogą być widziane w róŝny sposób przez róŝnych uŝytkowników. Efekt ten uzyskuje się przez stosowanie róŝnych filtrów (perspektyw) nakładanych na te same dane. Fizyczna i logiczna niezaleŝność danych. Fizyczna niezaleŝność danych polega na tym, Ŝe rozszerzenie systemu komputerowego, na którym pracuje SZBD o nowy sprzęt nie narusza danych w bazie. Logiczna niezaleŝność danych polega na tym, Ŝe - po pierwsze wprowadzanie nowych danych do bazy nie deaktualizuje starych, po drugie - dane, które nie są wzajemnie powiązane tzw. więzami integralności mogą być usuwane z bazy niezaleŝnie od siebie. Języki baz danych Do operowania na bazach danych słuŝą następujące języki: język definiowania danych (ang. DDL - Data Definition Language) umoŝliwiający definiowanie struktury danych przechowywanych w bazie, czyli schematu bazy danych język manipulowania danymi (ang. DML - Data Manipulation Language) umoŝliwiający dodawanie, modyfikowanie i usuwanie informacji w bazie danych język sterowania danymi (ang. DCL - Data Control Language) umoŝliwiający sterowanie transakcjami język zapytań (ang. QL - Query Language) - umoŝliwiający pobieranie informacji z bazy danych. W praktyce te cztery języki są ze sobą zintegrowane. Takim zintegrowanym językiem jest m.in. SQL (ang. Structured Query Language). Do listy języków moŝna tu jeszcze dodać rozszerzenia proceduralne stosowane przez róŝne firmy produkujące SZBD: pl/pgsql w PostgreSQL, PL/SQL w Oracle i inne.

Projektowanie systemów baz danych Modelowany fragment rzeczywistości Analiza wymagań Kostrukcja modelu konceptualnego fragmentu rzeczywistości Diagramy EER Transformacja modelu konceptualnego do modelu relacyjnego Relacje Normalizacja modelu relacyjnego Relacje znormalizowane Modelowanie fizyczne ilość danych integralność implementacja Strojenie systemu Rys.2. Schemat procesu projektowania systemu baz danych Etapy projektowania: 1. WyróŜnienie fragmentu rzeczywistości, który chcemy odwzorować w bazie danych. 2. Analizy tego fragmentu i budowa jego model konceptualnego reprezentowany przez tzw. diagramy związków i encji. Podstawowymi elementami diagramów tzw. modelu rozszerzonego (EER - Extended Entity Relationship) są encja, atrybut i związek. 3. Transformacji modelu konceptualnego do modelu relacyjnego, którego trzy podstawowe składowe to: relacyjne struktury danych, operatory algebry relacyjnej, które umoŝliwiają tworzenie, przeszukiwanie i modyfikowanie danych ograniczenia (więzy integralności), które jawnie lub niejawnie określają moŝliwe/dopuszczalne wartości danych. 4. Normalizacja modelu relacyjnego (wiąŝąca się z zapewnieniem optymalności i poprawności) 5. Modelowanie fizyczne, które obejmuje szczegóły związane z konkretną implementacją systemu baz danych Elementy modelu konceptualnego Encja Jest to pewna rzecz (obiekt), o której chcemy przechowywać informacje. Ogólnie moŝna wyróŝnić kilka rodzajów takich obiektów: obiekty materialne - osoba (imię, nazwisko, adres, numer PESEL), samochód (model, numer fabryczny, kolor, zuŝycie paliwa), obiekty koncepcyjne rachunek bankowy, stanowisko słuŝbowe, zdarzenia - wysłanie towaru (data wysłania, nazwa towaru, symbol, nazwa i adres odbiorcy), fakty - znajomość języka (nazwa języka, czas nauki, stopień znajomości). Odpowiednikiem obiektu w modelu EER jest encja (ang. entity). Encja posiada pewne charakterystyczne dla siebie cechy, które występują w modelu jako atrybuty.

Encje tego samego typu moŝna grupować w zbiory encji. KaŜda z encji jest jednoznacznie określona za pomocą nazwy. Encje pochodzące z róŝnych zbiorów róŝnią się nazwami, a przede wszystkim własnościami. Encje niosą ze sobą niepełną informację o modelowanym wycinku rzeczywistości. Niech np. Pracownicy to zbiór zawierający m.in. encje Kazimierz i Anna Stanowiska to zbiór zawierający encje kierownik, pracownik, zaopatrzeniowiec. Sam fakt przynaleŝności encji do określonych zbiorów nie opisuje wystarczająco dokładnie sytuacji w modelowanym przedsiębiorstwie. W systemie naleŝałoby zapisać m.in. informację o stanowiskach, jakie zajmują poszczególni pracownicy. JeŜeli Kazimierz jest zatrudniony na etacie kierownik, a Anna - na etacie zaopatrzeniowca, to do umieszczenia tej informacji w bazie danych naleŝy wprowadzić związek o nazwie pracuje_na_etacie pomiędzy zbiorami encji Pracownicy a Stanowiska. Procedura konstrukcji modelu konceptualnego fragmentu rzeczywistości składa się zwykle z trzech kroków: Określenie wymagań dla systemu informatycznego z punktu widzenia zamawiającego. Zdefiniowanie informacji o obiektach i ich wzajemnych związkach. Rezultatem jest kompletny diagram związków i encji. Określenie hierarchii funkcji realizowanych w systemie informatycznym. Po opracowaniu zbioru diagramów następuje przekształcenie modelu konceptualnego w model implementacyjny - najczęściej jest to model relacyjny. Wynikiem tego przekształcenia są tzw. schematy relacji. Projektowanie logicznej struktury relacyjnej bazy danych polega na zdefiniowaniu schematu logicznego bazy danych, czyli na zdefiniowaniu schematów relacji tworzących tą bazę w taki sposób, aby posiadały one poŝądane własności ułatwiające eksploatację bazy danych. Relacyjny model danych Relacyjny model danych posiada trzy podstawowe składowe: relacyjne struktury danych operatory algebry relacyjnej, które umoŝliwiają tworzenie, przeszukiwanie i modyfikowanie danych ograniczenia (więzy) integralnościowe jawnie lub niejawnie określającymi moŝliwe/dopuszczalne wartości danych. Podstawową strukturą danych modelu relacyjnego jest relacja, będąca podzbiorem iloczynu kartezjańskiego wybranych domen i przedstawiana w postaci dwuwymiarowej tabeli. W tym ujęciu pojęcia relacji (ang. relation) i tabeli (ang. table) są synonimami. Pojęcie relacji uŝywane jest na poziomie teorii baz relacyjnych i modelu konceptualnego, a pojęcie tabeli na poziomie realizacji fizycznej. Relację, nieformalnie rzecz biorąc, definiuje się za pomocą predykatu jako pewien zbiór krotek (ang. tuples) (rekordów) posiadających taką samą strukturę (schemat) i róŝne wartości. Zbiór ten jest przedstawiany w postaci wierszy tablicy, tzn. na poziomie fizycznym krotka jest przedstawiana jako wiersz tabeli, zawierający wartość co najmniej jednego atrybutu o określonej dziedzinie (kolumny tablicy). Inaczej mówiąc: kaŝda krotka danej relacji ma dokładnie taką samą strukturę, zgodą ze schematem relacji. KaŜda krotka posiada przynajmniej jeden atrybut (ang. attribute), który jest przedstawiany w postaci kolumny. Relacja posiada następujące właściwości: wszystkie jej krotki są róŝne wszystkie jej atrybuty są róŝne kolejność krotek nie ma znaczenia i w ogólności nie jest ona znana kolejność atrybutów nie ma znaczenia wartości atrybutów są niepodzielne (atomowe), tj. nie mogą być zbiorem wartości.

relacja atrybut NIP Nazwisko Imię Pesel schemat 123-00-00-234 Nowak Jan 75103987437 222-00-23-923 Kowalski Adam 72030197430 433-98-99-10 Jankowski Albert 691120875640 krotka pole wartość Z punktu widzenia semantyki (znaczenia) rozróŝnia się dwa pojęcia - pojęcie intensji relacji oraz ekstensji relacji. Intensja relacji odpowiada znaczeniu relacji - predykat związany z relacją stanowi element jej intensji. Na intensję relacji mogą poza tym składać się inne jej własności. Ekstensja relacji jest zbiorem krotek spełniających własności, które stanowią intensję relacji. Własności te nazywa się warunkami integralności. Dla relacji R(PRZEDMIOT, DZIEŃ, GODZINA, SALA, WYKŁADOWCA): - intensję relacji wyraŝają następujące warunki integralności: 1. predykat związany z relacją R mówi o tym, Ŝe wykładowca w prowadzi zajęcia z przedmiotu p w dniu d, o godzinie g, w sali s ; 2. dziedzina atrybutu GODZINA jest zbiorem liczb całkowitych z przedziału <7, 24>; 3. dany wykładowca moŝe znajdować się o określonej godzinie tylko w jednej sali. - ekstensję relacji R stanowi zbiór krotek spełniających własności (1), (2), (3). Schematy relacji definiuje projektant bazy danych, natomiast relacje składają się na bieŝącą realizację bazy danych. Szczególnie istotnymi warunkami integralności są zaleŝności funkcyjne. Pojęcie zaleŝności funkcyjnej wiąŝe się z pojęciem klucza relacji. Klucz relacji stanowi najmniejszy zbiór atrybutów relacji, których wartości pozwalają wskazać jednoznacznie kaŝdą z krotek relacji.