Systemy baz danych - wykład.doc

(163 KB) Pobierz
SYSTEMY BAZ DANYCH – WYKŁADY

SYSTEMY BAZ DANYCH – WYKŁADY

 

 

27.02.2004 – wykład 1, 2

 

Ø      mgr inż. Krzysztof Smółka

Ø      ksmolka@interia.pl - odpowiedź w ciągu tygodnia – zazwyczaj we wtorek

Ø      zjazd raz w miesiącu na 2 wykłady

Ø      Daty zjazdów: 26.03, 7.05, 4.06.

Ø      Egzamin: pytanie lub test

Ø      Za 5 z ćwiczeń jesteśmy zwolnieni z egzaminu z wykładów, wystarczy przyjść po wpis

Ø      Końcowa ocena składa się z oceny z: ćwiczeń, wykładu i projektu.

Ø      Egzamin najprawdopodobniej w sesji

Ø      Na egzaminie też będą pytania do wypunktowania.

Ø      Przerabiać będziemy: Accessa i Microsoft SQL Server 2000.

Ø      Trialowa 120 dniowa (nie uboższa) ze strony www.microsoft.com

Ø      Jakiś notatek szukać z 5 semestru.

 

Treści programowe:

·         podstawowe cechy systemów danych

·         wybrane współczesne architektury systemów do baz danych

·         główne elementy współczesnych relacyjnych systemów

·         zarządzanie bazą danych

·         modele danych

·         metodologie projektowania relacyjnych baz danych

·         instalowanie, zarządzanie i połączenie z serwerem SQL Server 2000

·         MS SQL Server 2000 jako System Zarządzania Bazami Danych

·         Język Transact-SQL (tworzenie elementów składowych baz, definiowanie i wprowadzanie danych, tworzenie zapytań)

 

Literatura (podstawowa, wybrane najlepsze książki):

·         Beymon – Daries: Systemy Baz Danych. WNT Warszawa 2000.

·         Dobson R, Programowanie Microsoft Access 2000, Wydawnictwo RM Warszawa.

 

 

Baza danych może być traktowana na wiele sposobów, np.: jako:

1.      Model świata rzeczywistego

2.      Zbiór struktur danych

3.      Uniwersum interpretacji języka danych

4.      Zasób systemu informatycznego

5.      Element wsadowy systemu informatycznego.

 

Schemat konceptualnej bazy danych

Ustalenie związków między danymi w bazach danych a faktami w świecie rzeczywistym (czyli ustalenie semantyki danych) nie odbywa się bezpośrednio . Pomostem umożliwiającym określenie tych związków jest tzw. schemat konceptualnej bazy danych.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bazy danych charakteryzują się czterema podstawowymi własnościami

·         niezależność aplikacji i danych

·         abstrakcyjna reprezentacja danych

·         różnorodność sposobów widzenia danych

·         fizyczna i logiczna niezależność danych.

 

SZBD – System zarządzani bazą danych

 

Transakcje – zmiana danych w bazie danych z jednego stanu w drugi odbywa się za pomocą transakcji. W momencie stwierdzenia faktów, iż stan przejścia danej jest poprawny (w oparciu o więzy integralności) transakcje dokonuje zmian lub generuje komunikat o błędzie nie dokonując żadnych modyfikacji w bazie danych.

 

Więzy integralności – reguły, które określają w jaki sposób baza danych ma przedstawiać obszar analizy. Dzielimy je na dwa główne typu:

·         więzy statyczne – używane do sprowadzania, czy transakcje nie zmienia stanu bazy danych w stan niepoprawny.

·         Więzy przejść – są ograniczeniem nałożonym na przejście. Przejście jest zmianą stanu bazy danych i dlatego może być reprezentowane przez kilka stanów.

 

Funkcje bazy danych

Wyróżniamy dwa rodzaje funkcji operujących na danych w bazie danych:

·         aktualizująca – jest dokonywanie zmian na danych, a funkcji – zapytań wydobywanie danych z bazy danych i najczęściej .........

 

Funkcje zapytań – nie modyfikują danych w bazie danych.

 

Czego oczekuje się od systemu SZBD

1.      Umożliwia użytkownikowi wytworzenie nowej bazy danych i określenie jej schematu (logicznej struktury danych) za pomocą specjalizowanego języka definiowania danych

2.      Udostępnienia użytkownikowi możliwości tworzenia zapytań (query) o dane oraz aktualizowanie danych za pomocą odpowiedniego języka nazywanego językiem zapytań (query language)

3.      Zapewnienia możliwości ............

4.      Sterowanie jednoczesnym dostępem do danych przez wielu użytkowników, z zapewnieniem bezkolizyjności oraz ochrony danych przez przypadkowym uszkodzeniem.

 

Podstawowe funkcje realizowane p SZBD to:

·         zarządzanie plikami:

·         wyszukiwanie informacji

·         zarządzanie bazą danych

 

Funkcje systemu zarządzania bazą danych:

·         przechowywanie danych w co wchodzi tworzenie i utrzymywanie struktur danych

·         zapewnienie mechanizmów bezpieczeństwa i prywatności

·         umożliwienie równoczesnego, kontrolowanego korzystania z bazy danych wielu użytkownikom,

·         umożliwienie wprowadzania i ładowania danych

·         umożliwienie wydobywania i operowania na przechowywanych danych

·         zapewnienie integralności rekordów bazy danych

·         udostępnianie wydajnych mechanizmów indeksowania pozwalających na szybkie przeszukiwanie i odnajdywanie interesujących nas danych

·         zapewnienie ochrony przechowywanych danych przed ewentualną utratą, na skutek przyczyn niekoniecznie zależnych od człowieka, za pomocą metod tworzenia kopii bezpieczeństwa i procedur użytkownika.

 

Cztery grupy języków, które stosuje się do projektowania i wypełniania bazy danych:

·         język definiowania danych (Data Definition Language – DDL), który umożliwia definiowanie struktury danych przechowywanych w bazie, czyli tworzenie schematu implementacyjnego

·         język manipulowania danymi (Data Manipulation Language – DML), który możliwa wypełnianie, modyfikowanie i uruchamianie informacji z bazy danych

·         język sterowania danymi (Data Control Language – DCL), który umożliwia sterowanie transakcjami (np. zatwierdzanie lub wycofywanie)

·         język zapytań (Query Language), który umożliwia pobieranie z bazy danych informacji zgodnych z podanymi warunkami.

 

Usługi w SQL Serwerze:

·         MSSQLServer jest faktycnym serwerem bazy danych. Kiedy serwer SQL jest uruchamiany lob zatrzymany, oznacza to na ogół uruchomienie lub zatrzymanie usług MSSQLServer

·         SQL Server Agnet umożliwia obslugę zaplanowanych zadań, ostrzeżeń

·         MSDTC (Distributed Transaction Coordinator) obsługuje transakcje rozproszone pomiędzy wiele serwerów

·         Microsoft Search obsługuje indeksowanie pól tekstowych w SQL Server

·         MSSQL Server OLAPService obsługuje Microsoft SQL Server Analysis Service

·         MSSQLServer ADItelper obsluguje Microsoft SQL Server Active Directory Integration. Usługa nie wymaga żadnej kontroli administratora

·         Baza danych master – kluczowa baza danych dla uruchomionego serwera SQL Server.

·         Baza danych model – za każdym razem tworząc nową bazę danych, kopiowana jest baza model, a następnie są dokonywane zmiany np. rozmiaru, wymagane do nowej bazy danych

·         Baza danych tempdb to miejsce, gdzie wykonywane są operacje wymagające przestrzeni tymczasowej, jak np. sortowania, złączenia i inne

·         Baza danych MSDB obsługuje usługę SQL Server Agent, włączając w to przechowywanie informacji na temat zadań, zdarzeń i replikacji

·         Baza pubs jest narzędziem do nauki. Zawiera przykładową bazę danych dotyczącą wydawcy,

·         Baza Northwind jest alternatywną bazą służącą do nauki .jest to przykł. baza danych dostarczoną przez Microsoft Access od pewnego czasu

 

Niezbędne bazy: pubs, tempdb, model, master, northwind

 

 

26.03.2004 – wykład 3, 4

 

Historyczny przegląd baz danych:

·         architektura dwuwarstwowa (server i klienci) serwer – baza danych, informacje o bazie danych, obsługa, nadawanie kryteriów – klient, zadawanie zapytań

·         przesłanką architektury klient/server jest podział wykonywania zadań pomiędzy klika procesorów znajdujących się w sieci

 

Architektura CS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W architekturze klient – serwer, serwer pełni rolę DBMS natomiast klientami mogą być aplikacje poziomu zewnętrznego.

 

Architektura CS rozproszona

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zalety i wady

Zalety:

·         duża elastyczność całego systemu, gdyż możemy pracować z różnymi środowiskami graficznymi, równocześnie możemy operować danymi w sposób spójny

Wady:

·         stopień kompilacji

·         pisząc aplikacje klienckie musimy zapewnić ich właściwe komunikowanie się

 

KOMUNIKACJA

·         sam SQL nie oferuje określonych standardów, a jest kwestią samego łącza

·         standard ODBC

 

ROZWARSTWIENIE

Okazuje się, że tworzenie bardzo dużych systemów, gdzie aplikacja kliencka musi realizować bardzo dużo funkcji, w których mamy do czynienia nie z jednym ale z wieloma serwerami danych rozproszonych.

Trzecia warstwa tzw. warstwa prezentacyjna określająca sposób wprowadzania i wyświetlania danych. Określa ona np. czy pewne dane przedstawiamy.

 

Architektura dwu i pół warstwowa

Powstała idea przeniesienia pewnej warstwy funkcjonalnej, czyli sposobów zarządzania i przetwarzania informacji na stronę serwera.

 

Trigery powoduje np., że przy zmianie pewnych danych inne się uaktualniają, gdy usuwamy z naszej bazy informacje o kliencie, to chcemy usunąć wszystkie zamówienia jakie on złożył itd. Procedury te powinny uruchamiać się automatycznie bez integracji użytkownika.

 

Drugim elementem są zaimplementowane w bazie danych reguły biznesowe wspólne dla wszystkich.

 

Architektura Trójwarstwowa

Jednak istnieją pewne wady tej arch. Język procedur wbudowanych i trigerów jest dość skomplikowany.

Istnieje też groźba przepisywania od nowa procedur, w przypadku zmiany serwera bazy danych.

Trzecia warstwa (serwer aplikacji), warstwy która byłaby niezależna zarówno od serwera jak też od aplikacji klienckiej.

 

 

 

 

 

 

 

 

 

 

 

 

Model systemów zarządzania bazami danych (modele baz danych)

·         hierarchiczny

·         obiektowy

·         relacyjny

·         sieciowy

 

 

Hierarchiczny model danych

Model ten używa dwóch struktur, którymi są: typy rekordów i związki nadrzędny-podrzędny. Typ rekordów jest nazwany strukturą danych, złożoną ze zbioru nazwanych pól...

Zgłoś jeśli naruszono regulamin