Język SQL. Rozdział 1. Wprowadzenie do baz danych Model danych, architektura systemu bazy danych, funkcje systemu zarządzania bazą danych, relacyjny model danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Model danych Obiekty świata rzeczywistego Obiekty modelu danych danych Relacja A Relacja B ? Klasa obiektów A Klasa obiektów B Klasa obiektów C (c) Instytut Informatyki Politechniki Poznańskiej 2 Architektura systemu bazy danych (c) Instytut Informatyki Politechniki Poznańskiej 3 Funkcje systemu zarządzania bazą danych Wymagania: • spójność bazy danych po awarii, • trwałość danych, • wielodostęp, Funkcje SZBD: • odtwarzanie bazy danych, • • • poufność danych, • • wydajność, • • rozproszenie danych. • (c) Instytut Informatyki Politechniki Poznańskiej archiwizacja bazy danych, zarządzanie współbieżnością transakcji, identyfikacja użytkowników, autoryzacja dostępu, szyfrowanie danych, kontrola dostępu, fizyczne struktury danych, optymalizacja zapytań, dwufazowe zatwierdzanie transakcji, replikacja danych. 4 Relacyjny model danych Historia Podstawy teoretyczne: • E.Codd: „A Relational Model for Large Shared Data Banks”, rok 1970. Projekty badawcze (lata siedemdziesiąte): • IBM System R, SEQUEL (1978), • Berkley Ingres. Produkty komercyjne: • Oracle, Ingres, IBM DB2, Sybase, Informix, Microsoft SQL Server, ... • Paradox, dBase, ... • Postgres, MySQL, ... Standard: • od 1986. • aktualnie: SQL:2016. (c) Instytut Informatyki Politechniki Poznańskiej 5 Model relacyjny Baza danych Struktury Dane Operacje Ograniczenia integralnościowe (c) Instytut Informatyki Politechniki Poznańskiej 6 Nazewnictwo Relacja nazwa relacji nazwa atrybutu (kolumny) PRACOWNICY NAZWISKO ETAT ID_PRAC ZATRUDNIONY PLACA_POD rekord/ krotka KONOPKA ASYSTENT 220 1-10-1993 480 dziedzina atrybut (kolumna) {ASYSTENT, ADIUNKT, PROFESOR} (c) Instytut Informatyki Politechniki Poznańskiej 7 Podejście relacyjne Własności bazy danych: Własności relacji: • Widziana jako zbiór relacji. • W relacji nie ma żadnych powtarzających się krotek. • Nazwy relacji nie mogą się powtarzać. • W relacji nie ma atrybutów o powtarzających się nazwach. • Operatory: selekcja, projekcja, iloczyn kartezjański, połączenie, • Kolejność krotek w relacji suma, przecięcie, różnica. jest całkowicie nieokreślona. • Dane nie są powiązane za pomocą • Wartościami atrybutów są żadnych wskaźników, powiązania dane atomowe. między danymi tylko przez • Krotki są identyfikowane porównywanie wartości atrybutów. tylko i wyłącznie na • Nieproceduralny język podstawie wartości komunikowania się z bazą danych. atrybutów, lokalizacja krotki nie ma żadnego wpływu na • Użytkownik nie określa sposobu tożsamość krotki. dostępu do danych i nie zna ich fizycznej organizacji. (c) Instytut Informatyki Politechniki Poznańskiej 8 Schemat ćwiczebny (c) Instytut Informatyki Politechniki Poznańskiej 9