WPROWADZENIE DO BAZ DANYCH



Podobne dokumenty
MS Access Projektowanie c.d. i kwerendy

Wprowadzenie do budowy systemów analitycznych

Baza danych. Baza danych to:

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

Wykład 2. Relacyjny model danych

WPROWADZENIE DO BAZ DANYCH

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

Baza danych. Modele danych

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Wykład I. Wprowadzenie do baz danych

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

Technologia informacyjna

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

Bazy danych - wykład wstępny

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

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

1 Wstęp do modelu relacyjnego

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

Model relacyjny bazy danych

Normalizacja baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Programowanie obiektowe

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Wprowadzenie do baz danych

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Relacyjne bazy danych

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

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

Program nauczania. Systemy baz danych. technik informatyk

Co to są relacyjne bazy danych?

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Technologia informacyjna

PRZEWODNIK PO PRZEDMIOCIE

Projektowanie Systemów Informacyjnych

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

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


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

Tworzenie projektu bazy danych z kreatorem odnośników - Filmoteka. Projekt tabel dla bazy Filmoteka

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

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Pojęcie systemu informacyjnego i informatycznego

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

2017/2018 WGGiOS AGH. LibreOffice Base

Bazy danych TERMINOLOGIA

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Podstawowe zagadnienia z zakresu baz danych

1 Przygotował: mgr inż. Maciej Lasota

Technologie baz danych

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

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Bazy danych. Zasady konstrukcji baz danych

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

Alicja Marszałek Różne rodzaje baz danych

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Tworzenie bazy danych na przykładzie Access

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Projektowanie relacyjnych baz danych

Bazy Danych i Usługi Sieciowe

Model relacyjny. Wykład II

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

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

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Agnieszka Ptaszek Michał Chojecki

INTERNETOWY KURS PODSTAW IT

Normalizacja baz danych

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

BAZY DANYCH Podstawowe pojęcia

Pojęcie zależności funkcyjnej

Związki pomiędzy tabelami

Bazy danych. Andrzej Łachwa, UJ, /14

Podstawowy Wykład z Systemów Baz Danych

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

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

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

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

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Pojęcie systemu baz danych

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

Normalizacja tabel POSTACIE NORMALNE TABEL

1. Mapowanie diagramu klas na model relacyjny.

Tworzenie bazy danych w środowisku OpenOffice.org Base tabela, formularz, kwerenda, raport

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Relacyjne bazy danych

KURS ACCESS 2003 Wiadomości wstępne

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Projektowanie baz danych

Transkrypt:

1 Technologie informacyjne WYKŁAD IV WPROWADZENIE DO BAZ DANYCH MAIL: WWW: a.dudek@pwr.edu.pl http://wgrit.ae.jgora.pl/ad

Bazy danych 2 Baza danych to zbiór danych o określonej strukturze. zapisany na zewnętrznym (trwałym) nośniku pamięci komputera. Zgodnie z tą definicją bazami danych są również systemy plików na dyskach komputera, jednak nowoczesne bazy danych są powiązane z wyspecjalizowanymi programami zarządzającymi określanymi często jako SZBD (system zarządzania bazą danych) takimi jak: ORACLE, MS SQL. POSTGRESQL, MYSQL, FIREBIRD, SAP DB, DB2, MS ACCESS. (i inne)

Bazy danych 3 Programy tego typu powinny: - Zapewniać odpowiednią organizację danych na poziomie fizycznym (w pamięci komputera); - Dbać o zachowanie integralności danych oraz umożliwiać definiowanie reguł integralności; - Dbać o poufność danych i umożliwiać dostęp do nich tylko autoryzowanym użytkownikom; - Zapewniać możliwość pracy współbieżnej wielu użytkownikom równocześnie i unikać tzn. zderzeń poprzez zaawansowane mechanizmy takie jak transakcje, blokowanie pesymistyczne czy blokowanie optymistyczne; - Zapewniać niezawodność danych i eliminować w miarę możliwości błędy związane z zapisem / odczytem danych z nośników pamięci poprzez mechanizm tzn. mirroringu oraz możliwość tworzenia kopii zapasowych; - Definiować język dostępu do danych. W przypadku zdecydowanej większości baz danych tym językiem jest strukturalny język zapytań SQL Structural Query Language

Bazy danych 4 Można wyróżnić cztery najważniejsze modele baz danych (choć należy nadmienić, iż praktycznie wszystkie programy typu SZBD funkcjonują w modelu relacyjnym): Model hierarchiczny Baza danych w tym modelu reprezentuję strukturę drzewiastą z jednym wydzielonym obiektem głównym i powiązaniami jednokierunkowymi z pozostałymi obiektami. Zgodnie z nazwą w tym modelu zakłada się, iż pomiędzy modelowanymi obiektami opisującymi fragmenty rzeczywistości zawsze zachodzi związek typu obiekt nadrzędny obiekt podrzędny Szybko okazało się, iż to założenie zbyt mocno ogranicza proces modelowania i aktualnie ten model jest tylko modelem historycznym. Model sieciowy Model sieciowy usuwał ograniczenia modelu hierarchicznego umożliwiając definiowanie dowolnych powiązań pomiędzy modelowanymi obiektami. Został zastąpiony przez model relacyjny, gdyż ten ostatni okazał się bardziej efektywny i łatwiejszy do implementacji.

Bazy danych 5 Model obiektowy Model, w którym do opisu danych wykorzystywane są pojęcia z zakresu programowania obiektowego takie jak dziedziczenie, enkapsulacja, polimorfizm itp. Model ten powstał mniej więcej na początku lat osiemdziesiątych i nie doczekał się żadnych istotnych realizacji praktycznych. Zamiast tego w ostatnich kilku standardem latach stało się podejście mieszane, mapujące relacyjne bazy danych na obiekty języka Java czy C#, wykorzystujące technologie typu ORM/ORB (Object Relational Mapping/ Object Relational Broker) takie jak Hibernate czy Java Persistence API Model relacyjny Model ten jest rozszerzeniem matematycznego pojęcia relacji (czyli podzbioru iloczynu Kartezjańskiego). Został on opracowany przez E. F. Codda, i mniej więcej od lat osiemdziesiątych poprzedniego stulecia zdecydowana większość SZBD jest oparta właśnie o ten model. Relacja jest pewnym uogólnieniem pojęcia tabeli, przy czym w przeciwieństwie do tabel znanych z MS Excel czy MS Word tabela ta jest zapisywana bezpośrednio w pamięci trwałej komputera a ponadto musi spełniać warunki:

Bazy danych relacja w modelu relacyjnym baz danych musi spełniać warunki: Tabela musi mieć określoną jednoznaczną nazwę; Każda kolumna tabeli (pole, atrybut) musi posiadać jednoznaczną nazwę; 6 Każda kolumna tabeli musi zawierać dane określonego typu (np. tekst, liczbę, wartość logiczną, datę, format waluty, itp.); Nie jest istotna kolejność kolumn; Nie jest (nie powinna być) istotna kolejność wierszy (rekordów); Dane w poszczególnych polach (na przecięciu kolumn i wierszy) na są niepodzielne (atomowe); Każda tabela powinna mieć zdefiniowany klucz główny (pole/a niepuste, niepowtarzalne, jednoznacznie identyfikujące rekord). Poprawnie zaprojektowane relacyjne bazy danych powinny spełniać postulaty tzw. III postaci normalnej, co zazwyczaj jest osiągane poprzez proces normalizacji bazy.

Normalizacja Model logiczny Encja, krotka, atrybut Model fizyczny Tabela, rekord, pole 7 Bazy danych składają się z dużej ilości tabel połączonych ze sobą i spełniających warunki trzeciej postaci normalnej Pierwsza postać normalna Dane w poszczególnych polach są niepodzielne (np. nie powinno być pola Imię_i_nazwisko tylko dwa osobne pola) oraz nie występuje wielowymiarowość (np. w tabeli faktura pola pozycja1, pozycja2, pozycja3 itp). Jedynym wyjątkiem od reguły w niektórych sytuacjach jest umieszczenie w tabeli dwóch pól opisujących podobne dane (imię, drugie_imię). Unikanie wielowymiarowości jest związane z rozdzieleniem tabel. W przykładzie z fakturą powinno się zaprojektować dwie osobne tabele: faktura i pozycje faktury połączone sprzężone ze sobą. Każda tabela ma w I postaci normalnej zdefiniowany klucz główny (pole/a niepuste, niepowtarzalne, jednoznacznie identyfikujące rekord)

Normalizacja 8 Druga postać normalna Żaden podzbiór klucza głównego składającego się z wielu pól nie może sam stanowić klucza (+ pierwsza postać normalna). Najprostszym sposobem spełnienia tego postulatu jest zdefiniowanie wszędzie kluczy składających się z jednego pola. Trzecia postać normalna Brak zależności przechodnich pomiędzy polami tabeli innymi niż klucz (+ druga postać normalna). Zależności przechodnie powodują powtarzanie się danych (redundancję) oraz są zagrożeniem dla integralności bazy, bo to samo pole w jednym rekordzie może mieć inną wartość a w drugim omyłkowo wpisaną inną. Sposobem uniknięcia zależności przechodnich jest rozdzielenie tabel i utworzenie nowej tabeli z polami zależnymi przechodnio.

Normalizacja 9 Aby postulaty trzeciej postaci normalnej były spełnione należy w większości przypadków rozdzielić projektowaną tabele na szereg tabel połączonych. Możliwe jest to dzięki mechanizmowi sprzężeń błędnie nazywanych czasami relacjami. Sprzężenie to para pól w dwóch tabelach z których jedno pełni rolę klucza głównego w pierwszej tabeli. Pole w drugiej tabeli nosi nazwę klucza obcego. Przykładowo, jeśli tworzymy bazę danych dotyczącą kolekcji płyt CD, to poprawnie zaprojektowana baza powinna rozdzielać informacje o samej płycie od informacji o utworach. Tabela Płyty mogłaby mieć następujące pola

Normalizacja 10 Id_płyty Wykonawca Tytuł Gatunek... 1 U2 Joshua Tree Rock 2 U2 Achtung Baby Rock 3 Kaliber 44 3:44 Hip-Hop 4 Cypress Hill Black Sunday Hip-Hop 5 Vavamuffin Vabang Reggae............ Natomiast tabela Utwory może zawierać: Id_Utworu Id_Płyty Tytuł Czas_odtw... 1 1 With or without you 2 1 I still haven t found 3 2 One 4 3 Wena 5 3 Konfrontacje 6 3 Masz albo myślisz o nich 7 3 Litery 8 4 I wanna get high 9 4 Insane In The Brain 10 5 Smokin in Jamaica

Wprowadzenie do budowy systemów analitycznych Normalizacja 11 Tabele te są sprzężone polem Id_płyty, które w tabeli Płyty jest kluczem głównym a w tabeli Utwory kluczem obcym. Zwróćmy uwagę, że o ile wartości klucza głównego są unikalne, to wartości odpowiadającego mu w tabeli Utwory klucza obcego mogą się powtarzać. Interpretacja sprzężenia tabel w tym wypadku jest dość prosta. Utwór One pochodzi z płyty o id=2 czyli z płyty U2 Achtung Baby, utwór Wena z płyty o id=3 czyli z płyty Kalibra 44 3:44 a utwór Insane in the Brain z płyty Cypress Hill Black Sunday itd.

12 DZIĘKUJĘ ZA UWAGĘ!