BAZY DANYCH Podstawowe pojęcia Wykład 1 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) BD 1 / 26
Literatura 1. L. Banachowski, Bazy danych. Tworzenie aplikacji, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1998. 2. L. Banachwoski, E. Mrówka-Matejewska, K. Stencel, Systemy baz danych. Wykłady i ćwiczenia, PJWSTK 12/2004. 3. L. Banachwoski, A. Chądzyńska, K. Matejewski, Relacyjne bazy danych. Wykłady i ćwiczenia, PJWSTK 2004. 4. P. Beyon-Davies, Systemy baz danych, WNT Warszawa 2003. 5. C. J. Date, Wprowadzenie do systemów baz danych, WNT, Warszawa 2000. 6. J. D Ullman, J. Widom, Podstawowy wykład z systemów baz danych, WNT, Warszawa 2000. L. Stępień (AJD) BD 2 / 26
Historia baz danych 1961 - IDE (Integrated Data Store, Charles Bachman, General Electric), pierwszy SZBD, początek sieciowego modelu danych. 1965-70 - hierarchiczny model danych IMS (Information Management System, IBM). 1970 - Edgar Codd (1924-2003), IBM - relacyjny model danych. 1971 - CODASYL, standard sieciowego modelu danych. 1976 - Peter Chen - model związków encji (ERD, ERM). początek lat 70-tych - Sequel - prototyp języka SQL, IBM. 1973 - R - pierwszy SZRBD, IBM. 1979 - pierwsza komercyjna wersja SZRBD, Relational Software (później Oracle). 1987 - pierwszy standard języka SQL (ISO). lata 80-te - badania nad dedukcyjnymi i obiektowymi bazami danych. 1997 - standard obiektowych baz danych ODMG 2.0. lata 90-te do dzisiaj - rozszerzanie baz danych o nowe aspekty takie, jak: architektury wielowarstwowe, rozproszenie, równoległość, Internet, hurtownie danych, nierelacyjne bazy danych i inne. L. Stępień (AJD) BD 3 / 26
Obszar analizy Obszarem analizy (OA) nazywamy pewien wycinek rzeczywistości, dla którego baza danych jest modelem. L. Stępień (AJD) BD 4 / 26
Obszar analizy Obszarem analizy (OA) nazywamy pewien wycinek rzeczywistości, dla którego baza danych jest modelem. Przykład Instytucja: Akademia im. Jana Długosza. L. Stępień (AJD) BD 4 / 26
Obszar analizy Obszarem analizy (OA) nazywamy pewien wycinek rzeczywistości, dla którego baza danych jest modelem. Przykład Instytucja: Akademia im. Jana Długosza. OA: studenci, przedmioty, nauczyciele akademiccy. L. Stępień (AJD) BD 4 / 26
Obszar analizy Obszarem analizy (OA) nazywamy pewien wycinek rzeczywistości, dla którego baza danych jest modelem. Przykład Instytucja: Akademia im. Jana Długosza. OA: studenci, przedmioty, nauczyciele akademiccy. Studenci, przedmioty to klasy lub encje. L. Stępień (AJD) BD 4 / 26
Obszar analizy Obszarem analizy (OA) nazywamy pewien wycinek rzeczywistości, dla którego baza danych jest modelem. Przykład Instytucja: Akademia im. Jana Długosza. OA: studenci, przedmioty, nauczyciele akademiccy. Studenci, przedmioty to klasy lub encje. Klasy mają własności lub atrybuty, np. imię, nazwisko, nazwę. L. Stępień (AJD) BD 4 / 26
Obszar analizy Obszarem analizy (OA) nazywamy pewien wycinek rzeczywistości, dla którego baza danych jest modelem. Przykład Instytucja: Akademia im. Jana Długosza. OA: studenci, przedmioty, nauczyciele akademiccy. Studenci, przedmioty to klasy lub encje. Klasy mają własności lub atrybuty, np. imię, nazwisko, nazwę. Pomiędzy klasami zachodzą związki, np. studenci uczęszczają na przedmioty. L. Stępień (AJD) BD 4 / 26
Obszar analizy Obszarem analizy (OA) nazywamy pewien wycinek rzeczywistości, dla którego baza danych jest modelem. Przykład Instytucja: Akademia im. Jana Długosza. OA: studenci, przedmioty, nauczyciele akademiccy. Studenci, przedmioty to klasy lub encje. Klasy mają własności lub atrybuty, np. imię, nazwisko, nazwę. Pomiędzy klasami zachodzą związki, np. studenci uczęszczają na przedmioty. Baza danych to zbiór danych reprezentujących pewien OA. L. Stępień (AJD) BD 4 / 26
Bazy faktów Dana (fakt) jest jednym symbolem lub zbiorem symboli reprezentującym jakąś rzecz. L. Stępień (AJD) BD 5 / 26
Bazy faktów Dana (fakt) jest jednym symbolem lub zbiorem symboli reprezentującym jakąś rzecz. Zinterpretowane dane to informacje. L. Stępień (AJD) BD 5 / 26
Bazy faktów Dana (fakt) jest jednym symbolem lub zbiorem symboli reprezentującym jakąś rzecz. Zinterpretowane dane to informacje. Przykład Dana: 43 - składa się z dwóch symboli 4 i 3; L. Stępień (AJD) BD 5 / 26
Bazy faktów Dana (fakt) jest jednym symbolem lub zbiorem symboli reprezentującym jakąś rzecz. Zinterpretowane dane to informacje. Przykład Dana: 43 - składa się z dwóch symboli 4 i 3; Informacje: 43 - numer studenta lub L. Stępień (AJD) BD 5 / 26
Bazy faktów Dana (fakt) jest jednym symbolem lub zbiorem symboli reprezentującym jakąś rzecz. Zinterpretowane dane to informacje. Przykład Dana: 43 - składa się z dwóch symboli 4 i 3; Informacje: 43 - numer studenta lub 43 - wiek studenta lub L. Stępień (AJD) BD 5 / 26
Bazy faktów Dana (fakt) jest jednym symbolem lub zbiorem symboli reprezentującym jakąś rzecz. Zinterpretowane dane to informacje. Przykład Dana: 43 - składa się z dwóch symboli 4 i 3; Informacje: 43 - numer studenta lub 43 - wiek studenta lub 43 - liczba studentów uczęszczających na dany przedmiot. L. Stępień (AJD) BD 5 / 26
Bazy faktów Dana (fakt) jest jednym symbolem lub zbiorem symboli reprezentującym jakąś rzecz. Zinterpretowane dane to informacje. Przykład Dana: 43 - składa się z dwóch symboli 4 i 3; Informacje: 43 - numer studenta lub 43 - wiek studenta lub 43 - liczba studentów uczęszczających na dany przedmiot. System baz danych to baza faktów, która zmienia się w czasie. L. Stępień (AJD) BD 5 / 26
Części bazy danych intensjonalna zbiór definicji, które opisują strukturę danych L. Stępień (AJD) BD 6 / 26
Części bazy danych intensjonalna zbiór definicji, które opisują strukturę danych ekstensjonalna łączny zbiór danych. L. Stępień (AJD) BD 6 / 26
Części bazy danych intensjonalna zbiór definicji, które opisują strukturę danych ekstensjonalna łączny zbiór danych. Przykład Schemat: akademia Klasy: przedmioty, studenci Związki: studenci uczęszczają na przedmioty Atrybuty: nazwa przedmiotu, nazwisko studenta. L. Stępień (AJD) BD 6 / 26
Części bazy danych intensjonalna zbiór definicji, które opisują strukturę danych ekstensjonalna łączny zbiór danych. Przykład Schemat: akademia Klasy: przedmioty, studenci Związki: studenci uczęszczają na przedmioty Atrybuty: nazwa przedmiotu, nazwisko studenta. Zawartość: akademia Przedmioty: bazy danych, grafika Studenci: Jan Kowalski, Anna Nowak Uczęszczają: Jan Kowalski uczęszcza na bazy danych L. Stępień (AJD) BD 6 / 26
Własności bazy danych trwałość; L. Stępień (AJD) BD 7 / 26
Własności bazy danych trwałość; integralność - więzy integralności: L. Stępień (AJD) BD 7 / 26
Własności bazy danych trwałość; integralność - więzy integralności: statyczne ograniczenie nałożone na stan bazy danych, L. Stępień (AJD) BD 7 / 26
Własności bazy danych trwałość; integralność - więzy integralności: statyczne ograniczenie nałożone na stan bazy danych, przejść reguła, która dotyczy związku między stanami; L. Stępień (AJD) BD 7 / 26
Własności bazy danych trwałość; integralność - więzy integralności: statyczne ograniczenie nałożone na stan bazy danych, przejść reguła, która dotyczy związku między stanami; brak powtórzeń. L. Stępień (AJD) BD 7 / 26
Własności bazy danych trwałość; integralność - więzy integralności: statyczne ograniczenie nałożone na stan bazy danych, przejść reguła, która dotyczy związku między stanami; brak powtórzeń. Funkcje bazy danych: aktualizujące: wpisz, zmień, przenieś, anuluj; zapytań. L. Stępień (AJD) BD 7 / 26
Własności bazy danych współdzielenie danych, L. Stępień (AJD) BD 8 / 26
Własności bazy danych współdzielenie danych, integracja danych - w bazie danych jeden logiczny element danych winien być przechowywany tylko w jednym miejscu, L. Stępień (AJD) BD 8 / 26
Własności bazy danych współdzielenie danych, integracja danych - w bazie danych jeden logiczny element danych winien być przechowywany tylko w jednym miejscu, bezpieczeństwo danych - użytkownicy, L. Stępień (AJD) BD 8 / 26
Własności bazy danych współdzielenie danych, integracja danych - w bazie danych jeden logiczny element danych winien być przechowywany tylko w jednym miejscu, bezpieczeństwo danych - użytkownicy, abstrakcja danych, L. Stępień (AJD) BD 8 / 26
Własności bazy danych współdzielenie danych, integracja danych - w bazie danych jeden logiczny element danych winien być przechowywany tylko w jednym miejscu, bezpieczeństwo danych - użytkownicy, abstrakcja danych, niezależność danych. L. Stępień (AJD) BD 8 / 26
Własności bazy danych współdzielenie danych, integracja danych - w bazie danych jeden logiczny element danych winien być przechowywany tylko w jednym miejscu, bezpieczeństwo danych - użytkownicy, abstrakcja danych, niezależność danych. L. Stępień (AJD) BD 8 / 26
System Zarządzania Bazą Danych (SZDB) jest zorganizowanym zbiorem narzędzi umożliwiającym dostęp i zarządzanie jedną lub więcej bazami danych. L. Stępień (AJD) BD 9 / 26
System Zarządzania Bazą Danych (SZDB) jest zorganizowanym zbiorem narzędzi umożliwiającym dostęp i zarządzanie jedną lub więcej bazami danych. Funkcje realizowane przez SZDB to: L. Stępień (AJD) BD 9 / 26
System Zarządzania Bazą Danych (SZDB) jest zorganizowanym zbiorem narzędzi umożliwiającym dostęp i zarządzanie jedną lub więcej bazami danych. Funkcje realizowane przez SZDB to: zarządzanie plikami (dodawanie, usuwanie, modyfikowanie struktury, wstawianie nowych danych, aktualizowanie danych, usuwanie danych); L. Stępień (AJD) BD 9 / 26
System Zarządzania Bazą Danych (SZDB) jest zorganizowanym zbiorem narzędzi umożliwiającym dostęp i zarządzanie jedną lub więcej bazami danych. Funkcje realizowane przez SZDB to: zarządzanie plikami (dodawanie, usuwanie, modyfikowanie struktury, wstawianie nowych danych, aktualizowanie danych, usuwanie danych); wyszukiwanie informacji (wydobywanie danych z istniejących plików do stosowania przez użytkowników, wydobywanie danych do stosowania przez programy użytkowe); L. Stępień (AJD) BD 9 / 26
System Zarządzania Bazą Danych (SZDB) jest zorganizowanym zbiorem narzędzi umożliwiającym dostęp i zarządzanie jedną lub więcej bazami danych. Funkcje realizowane przez SZDB to: zarządzanie plikami (dodawanie, usuwanie, modyfikowanie struktury, wstawianie nowych danych, aktualizowanie danych, usuwanie danych); wyszukiwanie informacji (wydobywanie danych z istniejących plików do stosowania przez użytkowników, wydobywanie danych do stosowania przez programy użytkowe); zarządzanie bazą danych (tworzenie i monitorowanie użytkowników, ograniczanie dostępu do plików, monitorowanie działania bazy danych). L. Stępień (AJD) BD 9 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. Każda relacja w bazie danych ma jednoznaczną nazwę. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. Każda relacja w bazie danych ma jednoznaczną nazwę. Każda kolumna w relacji ma jednoznaczną nazwę. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. Każda relacja w bazie danych ma jednoznaczną nazwę. Każda kolumna w relacji ma jednoznaczną nazwę. Wszystkie wartości w kolumnie muszą być tego samego typu. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. Każda relacja w bazie danych ma jednoznaczną nazwę. Każda kolumna w relacji ma jednoznaczną nazwę. Wszystkie wartości w kolumnie muszą być tego samego typu. Porządek kolumn w relacji nie jest istotny. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. Każda relacja w bazie danych ma jednoznaczną nazwę. Każda kolumna w relacji ma jednoznaczną nazwę. Wszystkie wartości w kolumnie muszą być tego samego typu. Porządek kolumn w relacji nie jest istotny. Wiersze w obrębie relacji nie mogą się powtarzać. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. Każda relacja w bazie danych ma jednoznaczną nazwę. Każda kolumna w relacji ma jednoznaczną nazwę. Wszystkie wartości w kolumnie muszą być tego samego typu. Porządek kolumn w relacji nie jest istotny. Wiersze w obrębie relacji nie mogą się powtarzać. Porządek wierszy w relacji nie jest istotny. L. Stępień (AJD) BD 10 / 26
Relacyjna baza danych Podwaliny teorii relacyjnych baz danych położył w 1970 roku Edgar Frank Codd. Codd zaproponował model danych, w którym sposób posługiwania się danymi jest ściśle określony przez narzędzia matematyczne, zwłaszcza teorię zbiorów. Podstawowa i jedyna struktura danych to relacja (tabela) spełniająca następujące własności. Każda relacja w bazie danych ma jednoznaczną nazwę. Każda kolumna w relacji ma jednoznaczną nazwę. Wszystkie wartości w kolumnie muszą być tego samego typu. Porządek kolumn w relacji nie jest istotny. Wiersze w obrębie relacji nie mogą się powtarzać. Porządek wierszy w relacji nie jest istotny. Na przecięciu wiersza i kolumny musi znajdować się wartość atomowa (nierozkładalna). L. Stępień (AJD) BD 10 / 26
Przykład PRZEDMIOTY Przedmioty Semestr KodKursu NrPracownika Bazy danych 1 3 INF 123 Grafika 5 INF 234 Programowanie www 1 INF 123 WYKŁADOWCY NrPracownika Nazwisko Imię 123 Kowalski Jan 234 Nowak Anna 345 Nowak Zygmunt L. Stępień (AJD) BD 11 / 26
Poziomy relacyjnej bazy danych Poziom użytkowy widoki na dane i programy, którymi posługuje się użytkownik. L. Stępień (AJD) BD 12 / 26
Poziomy relacyjnej bazy danych Poziom użytkowy widoki na dane i programy, którymi posługuje się użytkownik. Poziom logiczny (koncepcyjny) zbiór tabel, perspektyw i indeksów. L. Stępień (AJD) BD 12 / 26
Poziomy relacyjnej bazy danych Poziom użytkowy widoki na dane i programy, którymi posługuje się użytkownik. Poziom logiczny (koncepcyjny) zbiór tabel, perspektyw i indeksów. Poziom fizyczny zbiór plików z danymi i z indeksami. L. Stępień (AJD) BD 12 / 26
Relacyjna baza danych Klucz kandydujący jedna lub więcej kolumn w tabeli (relacji), wartości których w sposób jednoznaczny identyfikują wiersz w tabeli. L. Stępień (AJD) BD 13 / 26
Relacyjna baza danych Klucz kandydujący jedna lub więcej kolumn w tabeli (relacji), wartości których w sposób jednoznaczny identyfikują wiersz w tabeli. Klucz główny jeden z kluczy kandydujących. L. Stępień (AJD) BD 13 / 26
Relacyjna baza danych Klucz kandydujący jedna lub więcej kolumn w tabeli (relacji), wartości których w sposób jednoznaczny identyfikują wiersz w tabeli. Klucz główny jeden z kluczy kandydujących. Dziedzina zbiór wartości, z którego pochodzą elementy pojawiające się w kolumnach tabeli. L. Stępień (AJD) BD 13 / 26
Relacyjna baza danych Klucz kandydujący jedna lub więcej kolumn w tabeli (relacji), wartości których w sposób jednoznaczny identyfikują wiersz w tabeli. Klucz główny jeden z kluczy kandydujących. Dziedzina zbiór wartości, z którego pochodzą elementy pojawiające się w kolumnach tabeli. Klucz obcy kolumna lub grupa kolumn, która czerpie wartości z tej samej dziedziny co klucz główny tabeli powiązanej z nią w bazie danych. L. Stępień (AJD) BD 13 / 26
Relacyjna baza danych Klucz kandydujący jedna lub więcej kolumn w tabeli (relacji), wartości których w sposób jednoznaczny identyfikują wiersz w tabeli. Klucz główny jeden z kluczy kandydujących. Dziedzina zbiór wartości, z którego pochodzą elementy pojawiające się w kolumnach tabeli. Klucz obcy kolumna lub grupa kolumn, która czerpie wartości z tej samej dziedziny co klucz główny tabeli powiązanej z nią w bazie danych. Wartość NULL specjalna wartość do wskazywania niepełnej lub nieznanej informacji. L. Stępień (AJD) BD 13 / 26
Tabele prawdy NOT TRUE FALSE NULL FALSE TRUE NULL AND TRUE FALSE NULL TRUE TRUE FALSE NULL FALSE FALSE FALSE FALSE NULL NULL FALSE NULL OR TRUE FALSE NULL TRUE TRUE TRUE TRUE FALSE TRUE FALSE NULL NULL TRUE NULL NULL L. Stępień (AJD) BD 14 / 26
Algebra relacyjna Selekcja RESTRICT <nazwa_tabeli> [WHERE <warunek>] <tabela_wynikowa> PRZYKŁAD RESTRICT Kina WHERE NazwaKina= Reks R1 L. Stępień (AJD) BD 15 / 26
Algebra relacyjna Selekcja RESTRICT <nazwa_tabeli> [WHERE <warunek>] <tabela_wynikowa> PRZYKŁAD RESTRICT Kina WHERE NazwaKina= Reks R1 Rzut PROJECT <nazwa_tabeli> [(<lista kolumn>)] <tabela_wynikowa> PRZYKŁAD PROJECT Kina (KodKina) R2 L. Stępień (AJD) BD 15 / 26
Algebra relacyjna Iloczyn kartezjański PRZYKŁAD PRODUCT <tabel1> WITH <tabela2> <tabela_wynikowa> PRODUCT Kina WITH Kierownicy R3 L. Stępień (AJD) BD 16 / 26
Algebra relacyjna Iloczyn kartezjański PRZYKŁAD PRODUCT <tabel1> WITH <tabela2> <tabela_wynikowa> PRODUCT Kina WITH Kierownicy R3 Równozłączenie EQUIJOIN <tabel1> WITH <tabela2> <tabela_wynikowa> PRZYKŁAD EQUIJOIN Kina WITH Kierownicy R4 L. Stępień (AJD) BD 16 / 26
Algebra relacyjna Złączenie naturalne PRZYKŁAD JOIN <tabel1> WITH <tabela2> <tabela_wynikowa> JOIN Kina WITH Kierownicy R5 L. Stępień (AJD) BD 17 / 26
Algebra relacyjna Złączenie naturalne PRZYKŁAD JOIN <tabel1> WITH <tabela2> <tabela_wynikowa> JOIN Kina WITH Kierownicy R5 Suma PRZYKŁAD <tabel1> UNION <tabela2> <tabela_wynikowa> Kierownicy UNION Pracownicy R6 L. Stępień (AJD) BD 17 / 26
Algebra relacyjna Przecięcie PRZYKŁAD <tabel1> INTERSECTION <tabela2> <tabela_wynikowa> Kierownicy INTERSECTION Pracownicy R7 L. Stępień (AJD) BD 18 / 26
Algebra relacyjna Przecięcie PRZYKŁAD <tabel1> INTERSECTION <tabela2> <tabela_wynikowa> Kierownicy INTERSECTION Pracownicy R7 Różnica PRZYKŁAD <tabel1> DIFFERENCE <tabela2> <tabela_wynikowa> Kierownicy DIFFERENCE Pracownicy R6 L. Stępień (AJD) BD 18 / 26
Proceduralny język zapytań Wypisać wszystkie nazwy kin, których kierownikiem jest A. L. Stępień (AJD) BD 19 / 26
Proceduralny język zapytań Wypisać wszystkie nazwy kin, których kierownikiem jest A. I RESTRICT Kierownicy WHERE Nazwisko= A R1 JOIN Kina WITH R1 R2 PROJECT R2(NazwaKina) R3 L. Stępień (AJD) BD 19 / 26
Proceduralny język zapytań Wypisać wszystkie nazwy kin, których kierownikiem jest A. I RESTRICT Kierownicy WHERE Nazwisko= A R1 JOIN Kina WITH R1 R2 PROJECT R2(NazwaKina) R3 II JOIN Kina WITH Kierownicy R1 RESTRICT R1 WHERE Nazwisko= A R2 PROJECT R2(NazwaKina) R3 L. Stępień (AJD) BD 19 / 26
Proceduralny język zapytań Wypisać wszystkie nazwy kin, których kierownikiem jest A. I RESTRICT Kierownicy WHERE Nazwisko= A R1 JOIN Kina WITH R1 R2 PROJECT R2(NazwaKina) R3 II JOIN Kina WITH Kierownicy R1 RESTRICT R1 WHERE Nazwisko= A R2 PROJECT R2(NazwaKina) R3 Zagnieżdżenie PROJECT(JOIN Kina WITH (RESTRICT Kierownicy WHERE Nazwisko= A ))(NazwaKina) R L. Stępień (AJD) BD 19 / 26
Integralność danych Zgodność danych przechowywanych w bazie danych z danymi rzeczywistymi. L. Stępień (AJD) BD 20 / 26
Integralność danych Zgodność danych przechowywanych w bazie danych z danymi rzeczywistymi. Integralność encji Każda tabela (relacja) musi mieć klucz główny, który w sposób jednoznaczny identyfikuje wiersz w tabeli i nie zawiera wartości NULL. L. Stępień (AJD) BD 20 / 26
Integralność danych Zgodność danych przechowywanych w bazie danych z danymi rzeczywistymi. Integralność encji Każda tabela (relacja) musi mieć klucz główny, który w sposób jednoznaczny identyfikuje wiersz w tabeli i nie zawiera wartości NULL. Integralność referencyjna Klucz obcy w tabeli albo jest wartością z klucza głównego innej tabeli albo jest wartością NULL. L. Stępień (AJD) BD 20 / 26
Integralność danych Zgodność danych przechowywanych w bazie danych z danymi rzeczywistymi. Integralność encji Każda tabela (relacja) musi mieć klucz główny, który w sposób jednoznaczny identyfikuje wiersz w tabeli i nie zawiera wartości NULL. Integralność referencyjna Klucz obcy w tabeli albo jest wartością z klucza głównego innej tabeli albo jest wartością NULL. Integralność dodatkowa Nakładanie ograniczeń dla kolumn w tabeli nie będących kluczem głównym lub obcym. L. Stępień (AJD) BD 20 / 26
Architektura klient-serwer Aplikacje bazodanowe składają się z co najmniej dwóch części: L. Stępień (AJD) BD 21 / 26
Architektura klient-serwer Aplikacje bazodanowe składają się z co najmniej dwóch części: strony klienta na stacji roboczej użytkownika, L. Stępień (AJD) BD 21 / 26
Architektura klient-serwer Aplikacje bazodanowe składają się z co najmniej dwóch części: strony klienta na stacji roboczej użytkownika, strony serwera na komputerze zawierającym serwer bazy danych, czyli bazę danych wraz z jej systemem zarządzania (SZBD). L. Stępień (AJD) BD 21 / 26
Funkcje aplikacji po stronie serwera Przechowywanie i organizacja dostępu do danych. L. Stępień (AJD) BD 22 / 26
Funkcje aplikacji po stronie serwera Przechowywanie i organizacja dostępu do danych. Wykonywanie instrukcji języka SQL. L. Stępień (AJD) BD 22 / 26
Funkcje aplikacji po stronie serwera Przechowywanie i organizacja dostępu do danych. Wykonywanie instrukcji języka SQL. Sprawdzanie kontroli nad spójnością danych. L. Stępień (AJD) BD 22 / 26
Funkcje aplikacji po stronie serwera Przechowywanie i organizacja dostępu do danych. Wykonywanie instrukcji języka SQL. Sprawdzanie kontroli nad spójnością danych. Zarządzanie zasobami bazy danych, w tym kontami użytkowników. L. Stępień (AJD) BD 22 / 26
Funkcje aplikacji po stronie klienta Kontakt z użytkownikami (interfejs użytkownika). L. Stępień (AJD) BD 23 / 26
Funkcje aplikacji po stronie klienta Kontakt z użytkownikami (interfejs użytkownika). Wyjaśnianie użytkownikami stanu obliczeń, w tym błędów i sytuacji wyjątkowych. L. Stępień (AJD) BD 23 / 26
Funkcje aplikacji po stronie klienta Kontakt z użytkownikami (interfejs użytkownika). Wyjaśnianie użytkownikami stanu obliczeń, w tym błędów i sytuacji wyjątkowych. Przyjmowanie od niego zleceń na operacje, wykonywanie tych zleceń lub przesyłanie ich w postaci instrukcji języka SQL do serwera bazy danych. L. Stępień (AJD) BD 23 / 26
Hierarchiczny model bazy danych Używa dwóch struktur danych: typu danych - nazwana struktura (rekord) danych złożona ze zbioru nazwanych pól, np. KodPrzedmiotu, NazwaPrzedmiotu. Każde pole służy do przechowywania prostego atrybutu i jest mu przyporządkowany typ danych, np. Int, Char, itp. związki nadrzędny-podrzędny jest związkiem jeden-do-wiele między dwoma typami rekordów, np. KIERUNEK PRZEDMIOT. Model hierarchiczny jest złozony z wielu typów rekordów, powiązanych ze sobą za pomocą związków nadrzędny-podrzędny. L. Stępień (AJD) BD 24 / 26
Hierarchiczny model bazy danych Integralność danych: Nie mogą istnieć żadne wystąpienia rekordów (oprócz rekordu korzenia) bez powiązania z odpowiednim wystąpieniem rekordu nadrzędnego. Nie można zatem wstawić rekordu podrzędnego dopóty, dopóki nie zostanie powiązany on z rekordem nadrzędnym. Usunięcie rekordu nadrzędnego powoduje automatyczne usunięcie wszystkich powiązanych z nim rekordów pdrzędnych. Jeżeli podrzędny typ rekordu ma związanych więcej niż jeden nadrzędnych typów rekordów, to rekord podrzędny musi zostać powielony dla każdego rekordu nadrzędnego. L. Stępień (AJD) BD 25 / 26
Sieciowy model danych Używa dwóch struktur danych: typu danych - nazwana struktura (rekord) danych złożona ze zbioru nazwanych pól, np. KodPrzedmiotu, NazwaPrzedmiotu. Każde pole służy do przechowywania wielu wartści lub reprezentowania złożonych wartości, które się powtarzają, np. STUDENT ma pola: NrStudenta, Nazwisko, Profil, gdzie Profil to pole złożone: NazwaKierunku, rok i stopień. typu kolekcji opis związku jeden-do-wiele między dwoma typami rekordów; składa się z nazwy, typu rekordów właściciela i typów rekordów członka. L. Stępień (AJD) BD 26 / 26