Rozdział 1.
Wprowadzenie do relacyjnych baz danych i serwera Microsoft SQL Server 2000
Projektanci serwera SQL Server odpowiadają za zaprojektowanie i implementację
bazy danych, podczas gdy administratorzy serwera SQL Server są odpowiedzialni
za codzienne zadania związane z zarządzaniem serwerem. Jednak, zadania te stają
się coraz mniej rozróżnialne, gdyż SQL Server staje się coraz powszechniej
używany.
Lekcja ta rozpoczyna się od zagadnień dotyczących historii serwera SQL Server
oraz systemu Windows (zarówno Windows 9x jak i Windows NT/2000). Następnie
zostaną omówione bazy danych i środowisko klient-serwer. Kolejny temat to bazy
danych i ich zawartość. Ostatecznie, lekcja kończy się przeglądem technik
projektowania baz danych. Zadaniem z tej lekcji jest przeprowadzenie
symulowanej rozmowy z klientem i przegląd tworzeniapróbą stworzenia prostej
bazy danych.
SQL Server to jest to!
SQL Server 2000 jest sztandarowym produktem firmy Microsoft, dotyczącym
mechanizmu z linii serwerów baz danych. Jest to następca najbardziej znaczącego
produktu
serwera SQL Server 7.0. Firma Microsoft postanowiła przeznaczyć dużą
sumę pieniędzy na wsparcie oraz reklamę serwera SQL Server 7.0. Rezultatem tych
działań jest powstanie serwera SQL Server 2000. SQL Server 7.0 stał się
podstawowym mechanizmem motorem baz danych w przemyśle komputerowym dla
platformy Windows NT i Windows 2000, obejmującym 68 procent rynku baz danych
wg witryny firmy Microsoft. SQL Server 2000 kontynuuje ten trend i rozszerza
udział firmy Microsoft w rynku baz danych. W wersji 2000 serwera w stosunku do
poprzednika dodano dużą ilość nowych funkcji i wykonano znaczące zadanie w
zakresie dostosowania do wyższej wersji zbioru własności, stanowiącegoznacząco
rozbudowano te, które stanowiły podstawę serwera SQL Server 7.0.
SQL Server 2000 może pracować zarówno w systemie Windows NT 4.0 (z pakietem
serwisowym 5 lub późniejszym), w systemie Windows 2000, Windows 98 lub Windows
ME. Dostępna jest również wersja SQL Server 2000 dla platformy Windows CE.
Stosunek ceny do wydajności serwera SQL Server 2000 pozwala wielu firmom na
czerpanie korzyści z posiadania systemu zarządzania relacyjną bazą danych
(RDBMS) za ułamek kosztów takiego systemu parę lat wcześniej. W czasie pisania
tej książki, wg porównania baz danych TPC-C serwer SQL Server 2000 ma najlepszą
wydajność na całym świecie oraz posiada również najlepsze notowania w zakresie
ceny i wydajności. Rozwój serwera Microsoft SQL Server będzie kontynuowany
przez najbliższe lata, co oznacza, że praca z tym produktem to słuszny wybór.
Od czasu przedstawienia na rynku serwera Microsoft SQL Server zostały sprzedane
miliony kopii tego produktu, włączając w to więcej niż 10 milionów licencji
jedynie w 1999 roku. Obecna wersja produktu, SQL Server 2000 (zwany wewnętrznie
wersją 8.0), jest tematem niniejszej książki. Przed przejściem do bliższego
omówienia serwera SQL Server 2000 i nauki jego obsługi warto przekonać się, że
historia powstania tego serwera jest warta poznania.
Najnowsze informacje i wsparcie dla serwera Microsoft SQL Server można znaleźć
pod adresem: http://www.microsoft.com/sql/.
Historia serwera SQL Server
W latach 9070-tych firma IBM stworzyła język programowania przeznaczony
specjalnie do zapytań do bazy danych, zwany SEQUEL, co oznacza Structured
English Query Language. Z czasem, język ten został poszerzony, i obecnie nie
jest to jedynie język zapytań, ale może być także używany do tworzenia bazy
danych i zarządzania bezpieczeństwem mechanizmumechanizmami bezpieczeństwa bazy
danych. Firma IBM udostępniła ogólnie SEQUEL, który od tej pory znany jest jako
SQL. Ze względu na historię powstania słowo SQL można wymawiać jako sequel lub
przeliterować jako S-Q-L.
Obecne mechanizmy motory baz danych używają różnych wersji języka SQL.
Microsoft SQL Server używa wersji zwanej Transact-SQL (T-SQL). Pomimo używania
języka Transact-SQL i nauki jego podstaw, w tej książce nacisk jest położony na
instalowanie, zarządzanie i połączenie z serwerem SQL Server. Wydawnictwo Sams
Publishing wydało również książkę zatytułowaną "Teach Yourself Transact-SQL in
21 Days", Second Edition, która zawiera więcej szczegółów na temat tego języka
i jego wykorzystania.
Początkowo firma Microsoft rozwijała SQL Server (produkt z rodziny baz danych,
który rozumie język SQL) wraz z korporacją Sybase w celu wykorzystania go na
platformie IBM OS/2. Kiedy firmy Microsoft i IBM rozdzieliły się, firma
Microsoft zaniechała OS/2 na rzecz swojego nowego systemu operacyjnego
Windows NT Advanced Server. W tym punkcie firma Microsoft zdecydowała, że sama
będzie rozwijać mechanizm SQL Server dla systemu Windows NT. Wynikowym
produktem był serwer Microsoft SQL Server 4.2, aktualizowany do wersji 4.21. Po
rozstaniu z Microsoft, firma Sybase nadal kontynuowała rozwój mechanizmu
serwera bazy danych dla systemu Windows NT (znanego obecnie jako Sybase
Adaptive Server Enterprise), a firma Microsoft rozwijała SQL Server 6.0,
następnie SQL Server 6.5, które również współpracowały z systemem Windows NT.
Serwer SQL Server 7.0 wprowadził możliwość uruchamiania go w systemie Windows
NT, ale także w systemie Windows 95 i Windows 98.
SQL Server 7.0 stanowił przełom w wykorzystaniu kodu Sybase przez grupę
projektantów baz danych firmy Microsoft. Wcześniejsze wersje były nadal bardzo
zbliżone do Sybase. Jednak, wraz z powstaniem serwera SQL Server 7.0 firma
Microsoft radykalnie przekształciła i zmieniła kod Sybase. Przedsiębiorstwo
Microsoft zaprojektowało również od nowa jądro mechanizmu bazy danych i
wprowadziło skomplikowany optymalizator zapytań oraz zaawansowany mechanizm
magazynu bazyskładowania danych. Produkt SQL Server 2000 rozszerza tę nową
linię kodu, dodając znaczące, nowe właściwości. Poprawia również skalowalność,
niezawodność i dostępność tego produktu oraz znacznie ułatwia pracę
administratora bazy danych.
Pomimo możliwości uruchomienia serwera SQL Server 2000 w systemie Windows 9x,
nie można w tym systemie wykorzystać pełnej funkcjonalności tego serwera.
Uruchamiając serwer w systemie Windows 9x nie można skorzystać z wielu
procesorów, zabezpieczeń stosowanych w systemie Windows NT/2000, woluminów New
Technology File System (NTFS) i wielu innych udogodnień. Zaleca się używanie
serwera SQL Server 2000 raczej na platformie Windows NT lub Windows 2000 niż
Windows 9x. System Windows NT/2000 posiada również inne zalety. Platforma NT
jest stworzona do obsługi wielu użytkowników. System Windows 9x nie był
tworzony w ten sposób i wydajność serwera SQL Server na tej platformie
gwałtownie maleje po dodaniu większej liczby użytkowników. Książka ta zakłada,
że wykorzystywany jest system Windows 2000.
W systemie Windows NT Workstation, Windows NT Server oraz w każdej wersji MS
Windows 2000 serwer SQL Server 2000 jest zaimplementowany jako usługa. W
systemach Windows 98 i Windows ME, SQL Server uruchamiany jest jako aplikacja
aktualnie zalogowanego użytkownika. Dołączone narzędzia, takie jak SQL Server
Enterprise Manager, pracujące jako zwykle aplikacje typu klient-serwer,
pozwalają na uruchamianie ich z dowolnego miejsca w celu kontroli baz danych
serwera SQL Server.
Usługa jest to aplikacja, jaką system Windows NT i Windows 2000 może uruchomić
automatycznie podczas uruchamiania systemu lub może zostać ona uruchomiona
ręcznie na żądanie. Usługi w systemach Windows NT/2000 posiadają interfejs API,
który może być kontrolowany programowo. Usługi pozwalają na uruchamianie
aplikacji takich jak Microsoft SQL Server bez potrzeby logowania użytkownika na
komputerze serwera.
Co to jest baza danych?
SQL Server używa bazy danych typu relacyjnego. W relacyjnych bazach danych,
dane są zgrupowane w tabelach. Tabele są utworzone w oparciu opoprzez
grupowanie danych z tego samego tematu i zawierają kolumny oraz wiersze
informacji. Tabele są ze sobą powiązane za pomocą mechanizmu mechanizmów bazy
danych, gdy uruchamiane jest zapytanie. Tabele są ściśle związane z pojęciami
relacji lub encji stosowanymi w odpowiednich książkach teoretycznych, w tej
książce przedstawiona jest jednak praktyka.
Generalnie bazę danych można przedstawić jako zbiór powiązanych danych. W
niektórych wcześniejszych produktach dotyczącychsystemach baz danych, baza
danych była plikiem
takim jak employee.dbf, zawierającym pojedynczą tabelę
danych. Wewnątrz pliku employee.dbf znajdowały się kolumny odnoszące się do
danych pracownika, takich jak pensja, data przyjęcia, nazwisko, numer
legitymacji ubezpieczeniowej itp. Plik zawierał wiersz dla każdej osoby w
firmie, z odpowiednimi wartościami w odpowiednich kolumnach. Indeksy, użyte do
przyspieszenia dostępu do danych, były w odrębnym pliku, tak jak inne elementy
dotyczące zabezpieczeń.
W serwerze SQL Server 2000, baza danych nie koniecznie jest związana z
pojedynczym plikiem; jest to pojęcie bardziej logiczne, oparte na zbiorze
powiązanych obiektów. Przykładowo, baza danych na serwerze SQL Server zawiera
nie tylko pierwotne dane, ale także strukturę bazy danych, wszelkie indeksy,
zabezpieczenia bazy i być może inne obiekty takie jak widoki lub procedury
składowane związane z określoną bazą.
Obiekty relacyjnej bazy danych
Relacyjna baza danych składa się z obiektów różnego typu. Obiekty te zostały
opisane w poszczególnych odnoszących się do nich rozdziałach. Poniżej
przedstawiono kilka najpowszechniejszych obiektów:
Tabele są obiektami zawierającymi typy danych i aktualne niezmodyfikowane dane.
Tabele zostały omówione w rozdziale 9. "Typy danych i tworzenie tabel".
Kolumny są częścią tabel przechowującą dane. Kolumny muszą posiadać określony
typ danych i unikalną nazwę.
Typy danych są podstawowym określeniemokreślają rodzaj przechowywanych danych.
Można korzystać z wielu typów danych, takich jak typ znakowy, numeryczny i typ
data. Każdej kolumnie w tabeli jest przypisany pojedynczy typ danych.
Procedury składowane są podobne do makr stworzonych w kodzie języka
Transact-SQL, które mogą być zachowane po napisaniumożna napisać i zachować pod
daną nazwą. Przez wykonywanie procedury zostaje faktycznie uruchomiony kod
języka T-SQL zawarty w procedurze. Przykładowo, kod języka T-SQL stosowany do
uruchamiania co tygodniowych raportów zostaje zachowany jako procedura, a
następnie, w celu generacji raportu kod ten jest uruchamiany już jako
procedura. Procedur składowanych można używać także jako mechanizmów
zabezpieczeń.
Funkcje zdefiniowane przez użytkownika są kodem języka Transact-SQL i są bardzo
podobne do procedur składowanych. Jednak funkcje mogą być wywoływane w
zapytaniach do bazy danych w celu modyfikacji kolumn danych, które mają być
widoczne jako tabela, bez względu na to czy są one tworzone programowo czy
dynamicznie. Przykładowo, można napisać własną funkcję daty, aby modyfikowała
kolumny danych typu DataGodzina (datetime).
Wyzwalacze są procedurami składowanymi, które są uaktywniane przed lub po
dodaniu, zmianą lub usunięciu danych z bazy. Wyzwalacze zapewniają, że reguły
biznesowe lub reguły integralności danych w bazie są przestrzegane.
Przykładowo, wyzwalacz może zapewnić, ze każda książka w księgarni ma
przypisanego prawidłowego wydawcę.
Widoki są to głównie zapytania przechowywane w bazie danych, odnoszące się do
jednej lub wielu tabel. Widoki można stworzyć i zachować w celu łatwiejszego
użycia w przyszłości. Widoki zwykle wykluczają kolumny z tabeli lub łączą dwie
lub więcej tabel. Można ich również używać jako mechanizmów zabezpieczeń.
Indeksy pomagają tak zorganizować dane, że zapytania są wykonywane szybciej.
Indeksy zostały omówione szczegółowo w rozdziale 13. "Indeksowanie dla poprawy
wydajności".
Klucze podstawowe pomimo tego, że nie są obiektami, mają podstawowe znaczenie
dla relacyjnych baz danych. Wymuszają unikalność wierszy oraz dostarczają
sposobu na zapewnienie unikalnej identyfikacjiumożliwiają unikatową
identyfikację każdego przechowywanego elementu.
Klucze obce to jedna lub więcej kolumn, do których odnoszą się klucze
podstawowe lub unikalne więzydefinicje unikalności z innych tabel. SQL Server
wykorzystuje klucze podstawowe i obce do określenia relacji między danymi z
odrębnych tabel, podczas wykonywania zapytania.
Więzy Definicje poprawności są zaimplementowanymi w systemie mechanizmami
opartymi na serwerze, zapewniającymi integralność danych.
Reguły są przypisane do kolumn, powodując, że wpisywane dane są zgodne z
określonymi standardami. Przykładowo, można używać reguł aby upewnić się, czy
wpisywany numer telefonu danej osoby zawiera jedynie cyfry. Reguły zostały
funkcjonalnie zastąpione przez więzy definicję CHECK w serwerze SQL Server
2000.
Wartości domyślne mogą być ustawione dla pól i są używane, kiedy żadne dane nie
zostaną wpisane podczas wykonywania operacji INSERT. Przykładem jest domyślne
ustawienie kodu pocztowego obszaru, z którego pochodzi najwięcej klientów.
Pozwala to uniknąć każdorazowego wpisywania kodu pocztowego dla klientów
lokalnych z danego obszaru. Wartości domyślne zostały funkcjonalnie zastąpione
przez więzy definicję DEFAULT w serwerze SQL Server 2000.
Projektowanie relacyjnych baz danych
Sekcja na temat projektowania relacyjnych baz danych jest istotna z dwóch
powodów:
Możesz zostać poproszony o zaprojektowanie relacyjnej bazy danych
Możesz otrzymać relacyjną bazę danych i zechcieć zrozumieć, dlaczego zostały
podjęte pewne decyzje projektowe.
Potencjalny administrator serwera SQL Server prawdopodobnie otrzyma relacyjną
bazę danych stworzoną przez kogoś innego; otrzymanie takiej bazy danych nie
oznacza jednak, że nie może on mieć pomysłów, kiedy dojdzie do projektowania
bazy. Znajomość kilku reguł tworzenia bazy danych i wiedza na temat
normalizacji może być bardzo pomocna w pracy administratora.
Chociaż proces projektowania dobrej relacyjnej bazy danych może być tematem
odrębnej książki, poniżej przedstawiono podstawowe kroki do rozważenia w fazie
projektu:
Przeanalizuj sytuację, aby uzyskać informacje o proponowanej bazie danych.
Podejmij decyzje o kolumnach, typach danych i długości danych.
Normalizuj dane w tabelach.
Stwórz bazę danych i tabele.
Po zebraniu relacyjnych danych w tabele, należy zastosować reguły normalizacji,
o których była mowa wcześniej.
Proces projektowania powinien rozpoczynać się od przeglądu sytuacji biznesowej
i celów, jakie klient stara się osiągnąć. Burza mózgów na temat różnych
zmiennych oraz ich powiązań w tabelach to następny krok w tym procesie.
Następnie proces przechodzi do tworzenia raportów i zapytań, które będą
potrzebne użytkownikom, jak również innych części projektu, włączając w to
dostęp do witryn sieci Web.
Następujące zasady postępowania pomogą w procesie projektowania. Należy
pamiętać, że trzeba się skupić na rozwiązaniu problemu biznesowego, a nie
martwić się używaniem perfekcyjnych pojęć technicznych do opisu problemu.
TAK
NIE
Pytaj użytkowników o ich potrzeby.
Utwórz listę obiektów.
Utrzymuj nazwy obiektów możliwie krótkie ale wystarczająco opisowe.
Organizuj właściwości obiektów w odpowiednie grupy.
Twórz identyczne nazwy kolumn w różnych tabelach, w celu późniejszego
skojarzenia ich ze sobą. Kolumny te będą dla Ciebie kluczami podstawowymi i
obcymi.
Przetestuj swój projekt na kilku danych testowych.
Utwórz co najmniej jeden indeks dla tabel, do których będą kierowane zapytania.
Przy tworzeniu tabel bierz pod uwagę bezpieczeństwo.
Dokumentuj nazwy tabel, kolumn oraz kluczy podstawowych i obcych.
Zachowuj określoną konwencję nazewnictwa obiektów bazy danych. To znacznie
upraszcza pracę z obiektami. Zalecane jest używanie prefiksów. Przykładowo,
można używać nazwy tabeli tblEmployees dla tabeli obiektów zwanych Employees
oraz nazwy idxLastName dla indeksu opartego na nazwiskach.
Nie ignoruj użytkowników (zwanych także klientami).
Nie twórz obiektów, których nigdy nie użyjesz.
Nie używaj złożonych nazw, nazw ze spacjami lub nietypowymi znakami ponieważ są
trudniejsze do wpisywania.
Nie stosuj kolumn zawierających więcej niż jedną wartość.
Nie twórz tabel z ogromną ilością kolumn.
Nie zakładaj, że projekt działa dobrze ponieważ działa prawidłowo przy 5
wierszach, powinien działać równie dobrze przy 500 000 wierszy.
Nie twórz wielu indeksów (więcej niż pięciu) dla jednej tablicy.
Nie zapomnij ustawić zabezpieczeń danych.
Nie zgub dokumentacji.
Ćwiczenie na końcu lekcji przedstawia przykładowy wywiad z klientem, którego
wynikiem jest zaprojektowanie relacyjnej bazy danych.
Rozmowa z klientem
Dobry projekt bazy danych rozpoczyna się od zrozumienia sytuacji klienta i
pożądanych wyników. Dlatego ludzie tworzący takie systemy zwani są analitykami
analizują oni problem szczegółowo i próbują określić sposoby rozwiązania
danego problemu.
Czasem niemodny już wywiad jest najlepszym sposobem poznania potrzeb klienta,
szczególnie jeśli nie posiada się pełnej informacji o obecnej sytuacji i
dążeniach klienta. Aby wybadać potrzeby klienta można skorzystać z poniższych
pytań:
Jaki system działa obecnie u klienta?
Jakie części obecnego systemu należałoby zastąpić w pierwszej kolejności?
Czy istnieje potrzeba stworzenia dodatkowych raportów?
Działanie jakich elementów systemu należałoby śledzić?
Czy dane są publiczne czy prywatne?
Kto potrzebuje mieć dostęp do danych i jaki typ dostępu powinien mieć każdy
użytkownik lub grupa?
Czy dane mają być publikowane w Internecie?
Czy informacje powinny być dostępne publicznie do przeglądu poprzez sieć
Internet?
Czy posiadany przez Klienta sprzęt jest wystarczający do uruchomienia
oprogramowania serwera i klienta bazy danych?
Jeżeli nie ma zastrzeżeń co do technologii i kwoty pieniędzy, co jeszcze
powinno być uwzględnione w nowym systemie?
Poprzez zadawanie tego typu pytań można szybko określić, w jakim celu Klientowi
jest potrzebna baza danych. Pomimo, że być może nie będzie możliwe zaspokojenie
wszystkich wymagań (określone ograniczenia przydzielonego budżetu, ramy czasowe
i możliwości sprzętowe), będzie to początek długoterminowego planu wzrostu i
rozszerzania bazy danych.
Grupowanie obiektów
Po przeprowadzeniu wywiadu (robiłeś dobre notatki, prawda?) najlepiej jest
przeprowadzić "burzę mózgów" na temat możliwych obiektów, włączając w to ich
nazwy, typy i długość. Po określeniu obiektów, należy je pogrupować w powiązane
tabele.
SQL Server obsługuje kilka różnych typów danych, włączając w to typ znakowy,
numeryczny, data oraz waluta. Więcej szczegółów na temat typów danych można
znaleźć w rozdziale 9.
Po określeniu tabel, należy ustalić właściwości (kolumny) tych tabel. Nazwy
kolumn powinny być krótkie, ale wystarczająco opisowe. Długość kolumny powinna
być wystarczająca nawet dla wyjątkowych przypadków. W przypadku nazw,
ograniczeniem powinno być to ile znaków można wpisać jako adres e-mail
a nie
to, ile takich adresów da się przechowywać.
Normalizacja danych
Po określeniu kolumn, należy zebrać dane w powiązane tabele. Proces ten nosi
nazwę normalizacji. Normalizacja jest procesem organizowania danych w powiązane
relacjami tabele.
Normalizacja danych ma na celu eliminację nadmiarowych danych. Przypuśćmy, że
ten sam klient kupił dwa samochody. W bazie danych z pojedynczą tabelą, należy
wpisać informacje o kliencie dwukrotnie. Co gorsze, jeśli klient zmieni miejsce
zamieszkania, trzeba zmienić jego adres w obydwu miejscach lub dane nie będą
spójne wewnętrznie. Poprzez wpisanie danych klienta jedynie raz w tabeli
klientów i połączenie ich z dowolnym zakupem samochodu, eliminuje się
nadmiarowość (a czasami konflikt) danych, ale także można zmienić jego dane
tylko w jednym miejscu. Rysunek 1.1 pokazuje jak mogą wyglądać przykładowe
tablice. Warto zauważyć, że zostały utworzone odrębne tablice dla klientów i
samochodów. W tablicy Cars, pole CustID reprezentuje pojedynczy identyfikator
klienta
ID. Jak można zauważyć, Ann posiada dwa samochody a Bob jeden
samochód. Cathy nie ma jeszcze samochodu, ale w tym modelu bazy danych jest to
możliwe do zapisania. Można także śledzić wiele samochodówzapisać informację o
wielu samochodach Ann, mając w bazie tylko jedną kopię jej adresu.
Rysunek 1.1. Grupowanie zmiennych w relacyjnej bazie danych.
Reguły są ustanowione w celu normalizacji danych. Reguły te znane są jako
pierwsza, druga i trzecia forma normalna:
Pierwsza forma normalna (FNF) mówi, że kolumna nie może zawierać wielokrotnych
wielu wartości. Przykładowo, nazwa osoby musi być rozbita na nazwisko oraz
pierwsze i drugie imię aby spełniać FNF.
Druga forma normalna (SNF) mówi, ze każda kolumna nie należąca do klucza musi
być oparta na całym kluczu, a nie tylko na części klucza podstawowego.
Przykładowo, używając identyfikatora ID klienta i numeru części jako klucza,
wszystkie kolumny w tej tabeli muszą odnosić się łącznie do danego klienta (ID)
i numeru części. Czyli, kolumna part_discription (opis części) nie należy do
takiej tabeli. Tabela musi spełniać pierwszą formę normalną, żeby przyjąć drugą
formę normalną.
Trzecia forma normalna (TNF), podobnie jak SNF, głosi, że wszystkie nie
kluczowe kolumny nie mogą zależeć od innych nie kluczowych kolumn. Przykładowo,
mając tabele z adresami, kod pocztowy nie może zależeć od innego nie kluczowego
pola takiego jak stan, miasto. Powinien zależeć od całego klucza podstawowego.
Tabela musi oczywiście spełniać drugą formę normalną. TNF jest często naruszana
dla zachowania wygody.
Istnieje także czwarta i piąta forma normalna. Większość projektantów baz
danych jest usatysfakcjonowana osiągnięciem trzeciej formy normalnej.
Tworzenie bazy danych i tabel
Ponieważ tabele są blokami budującymi bazy danych, jest oczywiste, że dobrze
zbudowane tabele (oraz kolumny w tabelach) są najistotniejsze dla sukcesu bazy
danych. Jak przy większości rzeczy, planowanie i tworzenie to trudniejsza
część; w rzeczywistości tworzenie bazy danych i tabel nie jest rzeczą trudną.
Tabela składa się z kolumn, które przechowują własności tabeli. Rozdział 4.
"Tworzenie i administracja baz danych oraz plików danych" omawia tworzenie baz
danych bardziej szczegółowo; natomiast rozdział 9. omawia szczegółowo tabele.
SQL Server i model klient-serwer
Microsoft SQL Server jest mechanizmem bazy bazą danych typu klient-serwer,
dlatego istotne jest zrozumienie architektury tego modelu architektury.
Aplikację klient-serwer można zdefiniować jako jedną aplikację rozbitą na dwie
części: jedna z nich jest uruchomiona na serwerze a druga na stacji roboczej.
Strona serwera zapewnia aplikacji zabezpieczenia, odporność na uszkodzenia,
wydajność, współbieżność i wiarygodne kopie zapasowe. Strona klienta dostarcza
interfejsu użytkownika i może zawierać puste raporty, zapytania i formularze.
Ideą tego rozwiązania jest korzystanie z zalet obydwóch stron i łączenia ich
razem.
SQL Server jest w tym modelu częścią (stroną) serwera; można wybrać różnych
klientów do łączenia się z serwerem SQL Server, włączając w to narzędzia
dostarczane wraz z tym serwerem, takie jak SQL Server Query Analyzer. SQL
Server dostarcza następujących korzyści dla klientów i serwerów:
Korzyści z klienta
Korzyści z serwera
Łatwość użycia
Niezawodność
Wsparcie dla wielu platform sprzętowych
Współbieżność
Wsparcie dla wielu platform programowych
Skomplikowane blokowanie
Przyjazny dla użytkownika
Odporność na uszkodzenia
Sprzęt o wysokiej wydajności
Scentralizowana kontrola
W obliczeniach architekturze typu klient-serwer, kiedy zostaje uruchomione
zapytanie, serwer przeszukuje bazę danych i wysyła do klienta tylko wiersze
pasujące do zapytania. Proces ten nie tylko oszczędza szerokość pasmazmniejsza
ilość przesyłanych danych ale może być szybszy, niż w przypadku wykonywania
zapytania na stacji roboczej, jeżeli serwer jest wystarczająco mocną maszyną.
Wyszukiwarka
Podobne podstrony:
R01 05R01 05 (2)r01 05Wykład 05 Opadanie i fluidyzacjaPrezentacja MG 05 20122011 05 P05 2ei 05 08 s029więcej podobnych podstron