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.
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.
· 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
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...
diabolic