ITA 101 Modul 13

background image

ITA-101 Bazy Danych

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

Wersja 1.0

Budowa interfejsu

Spis treści

Budowa interfejsu ............................................................................................................................... 1

Informacje o module ........................................................................................................................... 2

Przygotowanie teoretyczne ................................................................................................................. 3

Przykładowy problem ................................................................................................................. 3

Podstawy teoretyczne ................................................................................................................. 3

Przykładowe rozwiązanie ............................................................................................................ 5

Porady praktyczne ...................................................................................................................... 8

Uwagi dla studenta ..................................................................................................................... 9

Dodatkowe źródła informacji ...................................................................................................... 9

Laboratorium podstawowe ............................................................................................................... 11

Problem 1 (czas realizacji 45 minut) .......................................................................................... 11

Laboratorium rozszerzone ................................................................................................................ 16

Zadanie 1 (czas realizacji 90 min) .............................................................................................. 16

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 2/16

Informacje o module

Opis modułu

W module tym napiszemy aplikację , która będzie wyciągała informacje z
bazy danych Prace Dyplomowe. Zostanie pokazane jak za pomocą Visual
Studio utworzyd bazę danych, jak połączyd się z bazą danych w jaki sposób
wprowadzad dane. Następnie stworzymy aplikacje Windows, która będzie
korzystała z tych danych.

Cel modułu

Celem modułu jest zapoznanie czytelnika słuchacza z podstawami
programowania w Visual Studio 2008 w takim stopniu, żeby potrafił
samodzielnie stworzyd aplikację dostępową do danych zgromadzonych w
bazie danych.

Uzyskane kompetencje

Po zrealizowaniu modułu będziesz:

potrafił samodzielnie stworzyd prostą aplikację dostępu do danych

potrafił stworzyd bazę danych za pomocą MS Visual Studio 2008

potrafił nawiązad połączenie z bazą danych MS SQL Server 2008

umiał poruszad się po Microsoft Visual Studio 2008

wiedział co to jest ADO.NET

Wymagania wstępne

Przed przystąpieniem do pracy z tym modułem powinieneś:

Potrafid zaprojektowad bazę danych.

Potrafid zaimplementowad bazę danych wraz z jej obiektami.

Potrafid tworzyd proste procedury składowane i wyzwalacze.

Potrafił definiowad użytkowników i nadawad im uprawnienia.

Mapa zależności modułu

Zgodnie z mapą zależności przedstawioną na Rys. 1, przed przystąpieniem
do realizacji tego modułu należy zapoznad się z materiałem zawartym
w modułach: 1, 3, 9, 10 oraz 11.

Moduł 13

Dodatek

Moduł 1

Moduł 2

Moduł 3

Moduł 4

Moduł 5

Moduł 6

Moduł 7

Moduł 8

Moduł 9

Moduł 10

Moduł 11

Moduł 12

Rys. 1 Mapa zależności modułu

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 3/16

Przygotowanie teoretyczne

Przykładowy problem

Ostatnim etapem wytwarzania projektu bazy danych wraz z dostępem do niej poprzez aplikacje jest
konstrukcja interfejsu użytkownika. Istnieje wiele metod i narzędzi do tworzenia interfejsu
użytkownika. Począwszy od rozwiązao prostszych a co za tym idzie przeważnie nie
wykorzystujących dobrodziejstw jakie daje nam baza danych postawiona na SQL Server 2008 do
rozwiązao profesjonalnych wykorzystujących możliwości serwera bazodanowego. Jeżeli baza
danych została profesjonalnie zaprojektowana, zaimplementowana i oprogramowana to
wykorzystując na przykład Microsoft Visual Studio 2008 jesteśmy w stanie w łatwy sposób stworzyd
aplikację dostępową o wysokim poziomie bezpieczeostwa poprzez wykorzystanie wszystkich
zaawansowanych mechanizmów bezpieczeostwa SQL Server 2008. Aplikacja taka będzie odporna
na typowe zagrożenia typu SQL Injection gdyż zapytania zostaną ukryte w procedurach
składowanych a zatem z punktu widzenia hakera będzie on widział, że po sieci przesyłane są tylko
pewne funkcje bez parametrów lub z parametrami. Należy podkreślid fakt, iż w celu stworzenia
bezpiecznej bazy danych i aplikacji dostępowej wymagana jest ciągła współpraca różnych członków
zespołu projektowego począwszy od projektanta bazy danych poprzez administratora, programistę
poprzez projektanta interfejsu użytkownika a skooczywszy na projektanci i programiście aplikacji.

Podstawy teoretyczne

Rzadko wprowadza się dane do bazy za pomocą SQL Server 2008. Zwykle daje się możliwośd
wprowadzania danych użytkownikom za pomocą aplikacji dostępowej do bazy danych. Można
również importowad z różnych źródeł zewnętrznych lub tworzyd dane za pomocą skryptów SQL, co
zostało przedstawione we wcześniejszych rozdziałach.

Skoncentrujmy się na tworzeniu aplikacji Windows, która komunikuje się z SQL Server 2008
korzystając z ADO.NET.

Co to jest ADO.NET
ADO.NET zapewnia jednolity dostęp zarówno do źródeł danych, takich jak na przykład SQL Server
2008, jak również źródeł danych publikowanych za pomocą OLE DB lub XML. Należy zauważyd iż
aplikacje, które współdzielą dostęp do danych mogą korzystad właśnie z ADO.NET w celu łączenia
się ze źródłami, pobierania danych oraz manipulowania nimi.

Siłą ADO.NET jest wyraźne oddzielenie dostępu do danych od manipulacji danymi na niezależnie
odseparowane składniki. Składniki te mogą byd wykorzystywane razem lub osobno. ADO.NET
zawiera dostarczycieli danych .NET Framework, za pomocą których dokonuje się połączenie z bazą
danych, wykonuje się polecenia i odbiera wyniki. Wyniki te mogą po pierwsze byd przetwarzane
bezpośrednio, a po drugie mogą trafiad do zestawów danych, tzw. obiektów

DataSet

, które

znajdują się w bibliotekach ADO.NET. W takiej sytuacji dane są udostępniane użytkownikom w
dowolny sposób. Bardzo ważne jest to, że dane z obiektów

DataSet

bibliotek ADO.NET można

wykorzystywad niezależnie od dostawców .NET do zarządzania lokalnymi danymi oraz w aplikacjach
czytających dane w formacie XML.

Klasa ADO.NET znajduje się w podzespole System.Data.dll i jest zintegrowana z klasami XML
znajdującymi się w podzespole System.XML.dll. W momencie kompilacji kodu odwołującego się do
przestrzeni nazw

System.Data

należy wskazad zarówno System.Data.dll, jak również

System.Xml.dll.

ADO.NET zapewnia środowisku .NET Framework sposób dostępu do danych oraz to co jest bardzo
ważne – możliwośd programowej manipulacji tymi danymi. Manipulacja oczywiście może odbywad
się również na innych źródłach danych, na przykład na źródle XML.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 4/16

Dostęp do danych z użyciem ADO.NET
Tworząc aplikacje korzystające z ADO.NET można spotkad się z różnymi wymaganiami dotyczącymi
pracy z danymi. W pewnych sytuacjach wystarczy wyświetlenie danych w formularzu, natomiast w
innych trzeba opracowad na przykład sposób wymiany informacji z inną firmą.

Niezależnie od tego, co zamierzamy robid z danymi, warto poznad kilka podstawowych zasad
dotyczących obsługi danych w ADO.NET. Byd może nigdy nie będziemy musieli znad szczegółów
obsługi danych, natomiast kluczową sprawą jest zrozumienie architektury danych w ADO.NET,
poznanie podstawowych komponentów oraz sposobu ich współpracy.

ADO.NET a uwierzytelnianie otwartego połączenia z bazą danych
W tradycyjnych aplikacjach typu klient/serwer, komponenty ustanawiały połączenie z bazą danych i
utrzymywały to połączenie przez cały czas działania aplikacji. Z kilku względów metoda ta nie jest
zbyt praktyczna:

Otwarte połączenie z bazą danych zajmuje wiele zasobów systemowych, które mogłyby byd
wykorzystane do innych celów. W wyniku utrzymywania stałego połączenia z bazą danych
zmniejsza się liczba równocześnie utrzymywanych połączeo. Obciążenie spowodowane
utrzymywaniem otwartych połączeo zmniejsza ogólną wydajnośd aplikacji.

Bardzo trudne jest skalowanie aplikacji, która wymaga otwartego połączenia z bazą danych.
Należy pamiętad o tym, że aplikacja, która nie jest w pełni skalowalna, może na przykład
dobrze działad z czterema użytkownikami, ale w żaden sposób nie poradzi sobie z setką
równoczesnych użytkowników. Wymóg łatwej skalowalności dotyczy szczególnie aplikacji
internetowych ASP.NET, gdyż obciążenie witryny internetowej może w bardzo niewielkim
czasie zwiększyd się nawet o kilka rzędów wielkości.

W aplikacjach internetowych ASP.NET komponenty nie są ze sobą połączone. W momencie
kiedy serwer zakooczy przetwarzanie i transmisję strony w odpowiedzi na żądanie
przeglądarki, pomiędzy serwerem a przeglądarką nie jest utrzymywane żadne połączenie.
Połączenie jest wznawiane w chwili kolejnego żądania, a zatem utrzymywanie otwartego
połączenia z bazą w żaden sposób się nie opłaca, ponieważ nie jesteśmy w stanie
przewidzied, czy klient będzie jeszcze potrzebował dostępu do danych.

Model, którego działanie oparte jest na utrzymywaniu otwartych połączeo ze źródłami
danych może przyczynid się do tego, że wymiana danych będzie skomplikowana i
niepraktyczna. Jeśli dwa komponenty muszą mied dostęp do tych samych danych, obydwa
muszą utrzymywad połączenie ze źródłem danych lub musi byd dostępny jakiś inny sposób
przekazywania danych.

Między innymi z tych czterech powodów dostęp do danych w ADO.NET został zaprojektowany w
taki sposób aby przede wszystkim oszczędnie korzystad z połączeo. A zatem aplikacje utrzymują
połączenie z bazą danych tylko na czas odczytywania lub zapisywania danych. Ponieważ bazy
danych nie muszą utrzymywad nieaktywnych połączeo, mogą obsłużyd znacznie więcej
użytkowników.

Współpraca z bazami danych za pomocą obiektów Command
Jednym z najpowszechniejszych zadao dostępu do danych jest odczytanie danych z bazy, a
następnie wykonanie na nich jakichś operacji. W czasach wielkiej liczby informacji bardzo często
dochodzi do sytuacji, że aplikacja musi przetworzyd nie jeden rekord, lecz ich cały zbiór. W wielu
przypadkach przetwarzane dane pochodzą nie z jednej, lecz z wielu tabel.

Rekordy, które czytane są przez aplikację traktowane są jako grupa. Na przykład aplikacja może
zezwolid użytkownikowi na przejrzenie listy wszystkich autorów o nazwisku Kowalski, a następnie

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 5/16

sprawdzid wszystkie książki napisane przez jednego Kowalskiego, potem przez kolejnego
Kowalskiego i tak dalej.

Takie każdorazowe odwoływanie się do bazy danych, gdy aplikacja potrzebuje kolejnego rekordu
do przetwarzania jest niepraktyczne. W myśl tego co zostało powiedziane wcześniej, takie
podejście może zniszczyd zaletę utrzymywania małej liczby otwartych połączeo. Pewnym
rozwiązaniem jest tymczasowe przechowywanie odczytanych z bazy rekordów i praca na takim
tymczasowym zbiorze.

Na tym właśnie polega idea obiektu

DataSet

.

DataSet

jest swego rodzaju buforem, w którym

znajdują się przechowywane rekordy pobrane z bazy danych. Obiekt ten działa podobnie do
wirtualnej składnicy danych, a zatem zawiera jedną lub więcej tabel. Tabele te są fragmentami
tabel rzeczywistej bazy danych. Ponadto obiekt

DataSet

posiada informacje o relacjach pomiędzy

tymi tabelami oraz o ograniczeniach wartości danych, jakie mogą się znaleźd w tych tabelach.

Należy pamiętad że dane przechowywane w

DataSet

nie są pełnym odzwierciedleniem fizycznej

tabeli. Są one niewielkim podzbiorem danych znajdujących się w bazie danych. Zaletą jednak jest
to, że można z nimi pracowad w sposób podobny do pracy z danymi z rzeczywistej bazy danych.

Czasem zdarza się że aplikacja musi zapisad dane w bazie danych. Dane te można zmieniad w

DataSet

, a następnie przesład je do podstawowej bazy danych.

Dane przechowywane w formacie XML
Wszystkie dane są przesyłane ze składnicy danych do

DataSet

, a następnie z

DataSet

do innych

komponentów. ADO.NET do przesyłania danych wykorzystuje format XML. Pliki XML mogą byd
używane jak każde inne źródło danych. Ich zawartośd można łatwo wczytad do obiektu

DataSet

.

XML jest podstawowym formatem danych w ADO.NET. API w ADO.NET automatycznie tworzą pliki
lub strumienie XML (na podstawie

DataSet

) i wysyłają je do innego komponentu. Następnie

komponent taki może wywoład inne API, by ponownie wczytad XML do obiektu

DataSet

.

Oparcie protokołów wymiany danych na XML przynosi wiele korzyści:

XML jest standardem przemysłowym. Zatem komponenty obsługi danych w jednej aplikacji
mogą wymieniad dane z innymi komponentami w innej aplikacji. Warunkiem jest obsługa
przez aplikację formatu XML.

XML jest formatem tekstowym. Danych w postaci XML nie zawiera informacji binarnych, a
zatem można je przesyład za pomocą dowolnego protokołu – na przykład HTTP.

Przykładowe rozwiązanie

Tworzenie bazy danych z poziomu Microsoft Visual Studio 2008
Bazę danych do której będziemy tworzyli aplikacje dostępową można stworzyd na dwa sposoby.
Sposób pierwszy polega na definiowaniu bezy danych wraz z jej obiektami z poziomu SQL Server
2008. Sposób ten poznałeś w poprzednich modułach. Sposób drugi polega na stworzeniu bazy
danych z poziomu Microsoft Visual Studio 2008.

Definicja bazy danych Dziekanat

Aby stworzyd bazę danych za pomocą Visual C# w pierwszym kroku uruchamiamy Microsoft Visual
C# 2008. Następnie w oknie

Database Explorer

klikamy prawym przyciskiem myszy na

Data

Connections

i wybieramy

Add Connection

co pokazano na Rysunku 2.

W obrębie okna definicji połączenia z bazą danych możemy ustawid źródło danych oraz wybrad plik
danych istniejący lub stworzyd nową bazę. W kolejnym etapie określamy sposób autoryzacji.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 6/16

Rys. 2 Okno definicji połączenia z bazą danych

Stwórzmy testową bazę danych Dziekanat. Wynik pokazano na Rysunku 2.

Rys. 3 Testowa baza danych dziekanat.

Definicja tabeli, diagramu, widoku

W kolejnym kroku należy zdefiniowad podstawowe obiekty bazy danych – tabele i widoki. W tym
celu odpowiednio klikamy prawym przyciskiem myszy na katalogu

Tables

i wybieramy

Add New

Table

. Tworzenie przykładowej tabeli

Student

pokazano na Rysunku 4.

Rys. 4 Przykładowa tabela Student

W analogiczny sposób definiujemy pozostałe tabele w bazie danych. Następnie uzupełniamy bazę
danych przykładowymi danymi. Ostatnim krokiem jest stworzenie przykładowego widoku. W tym
celu klikamy prawym przyciskiem myszy na zakładce

Views

i wybieramy

Add New View

. Następnie

z okna

Add Table

wybieramy tabele, które będziemy używali w definiowanym widoku. Kolejny

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 7/16

krok to wybór kolumn, które mają zostad wstawione do definiowanego widoku. Na Rysunku 6
pokazano przykładowy widok na jakie przedmioty zapisani są studenci.

Rys. 5 Definicja widoku na jakie przedmioty zapisani są studenci

Tworzenie zestawu danych w Microsoft Visual Studio 2008
Stwórzmy aplikację Dziekanat do zestawu danych przygotowanych powyżej. Aby utworzyd zestaw
danych w pasku

Data Sources

klikamy odsyłacz

Add New Data Sources

. Pierwszy ekran

konfiguracji źródła danych umożliwia wybór typu źródła danych, które chcemy połączyd.
Wybieramy

Dziekanat.mdf

co pokazano na Rysunku 6.

Rys. 6 Wybór źródła danych

Następnie wybieramy wszystkie obiekty z bazy danych, które chcemy żeby znalazły się w zestawie
danych. Zatem wybieramy wszystkie tabele i widok. W wyniku powyższych operacji projekt
powinien wyglądad mniej więcej tak jak na Rysunku 7.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 8/16

Rys. 7 Projekt aplikacji Dziekanat

Następnie w panelu

Data Sources

wybieramy węzeł Przedmiot i klikamy na wskazującą w dół

strzałkę rozwijając listę. Wybieramy prezentację danych jako widok siatki danych. Spowoduje to
pobranie do formularza wszystkich pól z zestawu danych w wielu wierszach w postaci siatki
komórek co pokazano na Rysunku 8.

Rys. 8 Stworzony formularz

W celu uruchomienia aplikacji należy wybrad przycisk

F5

. Wynik skompilowanej aplikacji

przedstawia Rysunek 9.

Rys. 9 Wynik działania aplikacji

Porady praktyczne

Jeśli korzystamy z obiektów

Command

z właściwością

CommandType

ustawioną na

Text

i

przekazujemy w nich do bazy danych informacje otrzymane od klienta, informacje te należy
zawsze poddad procesowi walidacji. Niektórzy użytkownicy mogą próbowad wysład
zmodyfikowane lub dodatkowe polecenia SQL w celu zdobycia dostępu do danych lub
uszkodzenia bazy danych. Zatem bardzo ważne jest, żeby zawsze przed przekazaniem do
bazy wprowadzonych przez użytkownika danych przeprowadzid proces walidacji, czy dane te
są poprawne. Najlepszą praktyką jest stosowanie procedur składowanych.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 9/16

Należy pamiętad, że

DataSet

jest tylko kontenerem przechowującym dane. Aby odczytad i

zapisad dane z bazy należy użyd obiektu

DataAdapter

.

DataAdapter

zawiera jeden lub

więcej obiektów

Command

używanych do wypełnienia pojedynczej tabeli obiektu

DataSet

.

Obiekt ten zawiera cztery obiekty

Command

(do pobierania, dopisywania, uaktualniania i

usuwania rekordów).

Konfiguracja aplikacji jest przechowywana w pliku XML o takiej samej nazwie jak plik
wykonywalny .exe.

W wyniku skonfigurowania zestawu danych został utworzony plik .xds czyli dokument
schematu XML definiujący wewnętrzna strukturę tego zestawu. Pamiętaj, ze zestaw danych
jest przechowywany w pamięci reprezentacja jednej lub wielu tabel z bazy danych. ADO.NET
będzie korzystał z tego pliku schematu przy współpracy z aplikacją.

Przeważnie w projektach mamy jedna bazę danych, ale nie jest niczym niezwykłym potrzeba
komunikowania się z dwoma lub więcej bazami danych. Z tego powodu połączenia z bazami
danych ułożone są w drzewiastej strukturze, w której każda baza danych jest
reprezentowana przez osobny węzeł.

Dopóki nie zapiszemy projektu znajduje się on w tymczasowym folderze. Po zapisaniu
wszystkich plików projektu, baza danych zostanie zapisana razem z innymi plikami projektu.

Nie wszystkie kontrolki Windows można podłączyd do źródeł danych. Te które można
posiadają właściwości

DataBindings

.

Podczas przeciągania zestawu danych do obszaru projektowania do znajdującego się niżej
szarego panelu zostały dodane nowe pozycje. Dolna częśd obszaru projektowania nazywamy
panelem komponentów. Visual Studio umieszcza w nim kontrolki, które nie są graficzne.

W Visual Studio istnieje możliwośd zastosowania metody

Smart Defaults

. Polega ona na

sprawdzeniu tabeli z zestawu danych czy oprócz ID lub klucza głównego znajduje się jakaś
kolumna typu tekstowego. Jeżeli tak to kolumna ta jest podłączana do kontrolki.

Gdy zajrzysz do panelu

Properties

obiektu tabela zobaczysz że w Visual Studio

automatycznie są wygenerowane cztery typy instrukcji:

SELECT, INSERT, DELATE,

UPDATE

. Są to instrukcje, które umożliwiają przygotowanie w pełni działającej aplikacji bez

pisania kodu źródłowego

Uwagi dla studenta

Jesteś przygotowany do realizacji laboratorium jeśli:

rozumiesz co to jest ADO.NET

rozumiesz na czym polega dostęp do danych poprzez ADO.NET

potrafisz stworzyd prosta bazę danych korzystając z Visual Studio 2008

potrafisz stworzyd prosty formularz obiektu typu tabela

Pamiętaj o zapoznaniu się z uwagami i poradami zawartymi w tym module. Upewnij się, że
rozumiesz omawiane w nich zagadnienia. Jeśli masz trudności ze zrozumieniem tematu zawartego
w uwagach, przeczytaj ponownie informacje z tego rozdziału i zajrzyj do notatek z wykładów.

Dodatkowe źródła informacji

1. Patrice Pelland, Projektuj sam. Microsoft Visual C# 2005.

W książce autor w prosty i przejrzysty sposób prezentuje w jak należy poruszad się
po Microsoft Visual Studio 2005, jak tworzyd proste projekty. Pozycja szczególnie
polecana dla osób początkujących.

2. Kalen Delaney, Microsoft SQL Server 2005: Rozwiązania praktyczne krok po kroku, Microsoft

Press, 2006

W książce autor w przystępny i zrozumiały sposób przedstawia podstawowe
mechanizmy związane z bezpieczeostwem bazy danych przy założeniu dostępu do

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 10/16

niej poprzez aplikację kliencką pisaną w Microsoft Visual Studio. Pozycja polecana
zarówno dla osób początkujących jak i pragnących poszerzyd swoje wiadomości z
tej tematyki

3.

Nick Randolph, David Gardner,

Professional Visual Studio 2008.

W książce autor w prosty i przejrzysty sposób zaawansowane mechanizmy
narzędzia Microsoft Visual Studio 2008. Prezentuje w jak należy poruszad się po
Microsoft Visual Studio 2008, jak tworzyd proste i zaawansowane projekty.
Znajdziesz w niej rozszerzony opis funkcjonowania ADO.NET. Pozycja szczególnie
polecana dla osób zaawansowanych chcących poszerzyd swoją wiedzę z zakresu
programowania aplikacji klienckich.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 11/16

Laboratorium podstawowe

Problem 1 (czas realizacji 45 minut)

Jesteś administratorem w firmie National Insurance. Właśnie dowiedziałeś się od swojego szefa, że
firma National Insurance zarządzająca systemem prac dyplomowych na twoim wydziale planuje
rozszerzenie systemu dodając nową funkcjonalnośd związaną z wyszukiwaniem informacji na jakie
przedmioty chodzili studenci podczas pięciu lat studiów. Zadanie, jakie przed Tobą stoi, to
zmodyfikowanie struktury fizycznej bazy danych oraz stworzenie modułu aplikacyjnego.

Zadanie

Tok postępowania

1. Tworzenie
projektu

Uruchom Microsoft Visual Studio 2008. Start ->Programy ->Microsoft
Visual C# 2008

Z menu głównego wybierz File -> New Project -> Windows Form
Application
.

Nadaj nazwę dla projektu

Dziekanat-aplikacja

2. Tworzenie
bazy danych

W obrębie okna Database Explorer wybieramy Data Connections.

Kliknij prawym przyciskiem myszy na Data Connections i wybierz Add
Connection
.

W polu Data Sources ustaw Microsoft SQL Server database File
(SqlClient)
. (Rysunek 10)

W polu Database file name (new or existing) wpisz nazwę bazy danych

Dziekanat

(Rysunek 10)

Rys. 10 Definicja połączenia do bazy danych

3. Definicja tabel

W panelu Database Explorer prawym przyciskiem myszy kliknij ikonę
folderu Tables i wybierz Add New Table.

Definiujemy kolumny tabeli

Student

(Rysunek 11) i zapisujemy pod

nazwą Student

Rys. 11 Definicja tabeli Student

Definiujemy kolumny tabeli

Przedmiot

(Rysunek 12) i zapisujemy pod

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 12/16

nazwą Przedmiot.

Rys. 12 Definicja tabeli Przedmiot

Definiujemy kolumny tabeli

Student_Przedmiot

(Rysunek 13) i

zapisujemy pod nazwą Student_Przedmiot

Rys. 13 Definicja tabeli Student_Przedmiot

4. Definicja
Diagramu

Przejdź do panelu Database Explorer i prawym przyciskiem myszy kliknij
węzeł Database Diagram i wybierz Add New Diagram.

Wybierz wszystkie tabele i kliknij Add.

Kliknij przycisk Close, aby poinformowad Visual Studio, że już masz
wszystkie potrzebne tabele

Połącz tabele związkami. Wynik pokazano na Rysunku 14.

Rys. 14. Diagram bazy danych Dziekanat

5. Definicja
widoku

Przejdź do panelu Database Explorer i prawym przyciskiem myszy kliknij
węzeł Views i wybierz Add New View.

Wybierz tabele, które potrzebne są do twojego widoku i kliknij Add.

Kliknij przycisk Close, aby poinformowad Visual Studio, że już masz
wszystkie potrzebne tabele.

Zaznacz kolumny, które chcesz żeby weszły do definiowanego widoku.
Wynik pokazano na Rysunku 15.

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 13/16

Rys. 15. Definicja widoku

6. Tworzenie
zestawu danych

Przejdź do panelu Data Sources i kliknij odsyłacz Add New Data
Sources
.

Uruchomiłeś kreator konfiguracji źródeł danych.

Wybierz Database a następnie kliknij przycisk Next

Wybieramy bazę danych

Dziekanat.mdf

i klikamy przycisk Next

Zaznaczamy opcję Yes, save the connection as.

Wybieramy wszystkie tabele i widoki z bazy danych. Następnie klikamy
Finish.

W Data Sources pojawiło się zdefiniowane połączenie co pokazano na
Rysunku 16.

Rys. 16 Zdefiniowane połączenie z bazą danych Dziekanat

7. Interfejs
użytkownika

Przejdź do panelu Toolbox i wybierz a następnie przeciągnij na

Form1

obiekt Label

W oknie właściwości w polu Text wpisz Mini aplikacja obsługi
dziekanatu.

Przejdź do panelu Toolbox i wybierz a następnie przeciągnij na

Form1

obiekt TabCotrol

W oknie właściwości w polu Text dla każdej zakładki wpisz: Studenci,
Przedmioty i Na jakie przedmioty uczęszczają studenci. (Rysunek 17)

Rys. 17 Dodane obiekty label i TabControl

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 14/16

Przejdź do panelu Data Sources i rozwio zakładkę Student

Kliknij na wskazującą w dół strzałkę rozwijając listę.

Wybierz prezentację danych jako szczegółową Details i przeciągnij na

Form1

na zakładkę Studenci (Rysunek 18)

Rys. 18 Zakładka Studenci

Przejdź do panelu Data Sources i rozwio zakładkę Przedmiot

Kliknij na wskazującą w dół strzałkę rozwijając listę.

Wybierz prezentację danych jako szczegółową Details i przeciągnij na

Form1

na zakładkę Przedmiot (Rysunek 19)

Rys. 19 Zakładka Przedmioty

Przejdź do panelu Data Sources i rozwio zakładkę na jakie przedmioty
jest zapisany student

Kliknij na wskazującą w dół strzałkę rozwijając listę.

Wybierz prezentację danych jako DataGridView i przeciągnij na

Form1

na zakładkę Na jakie przedmioty uczęszczają studenci (Rysunek 20)

Rys. 20 Zakładka Na jakie przedmioty uczęszczają studenci

Uruchom aplikację wybierając przycisk F5. Wynik skompilowanej

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 15/16

aplikacji przedstawia Rysunek 21

Rys. 21 Wynik działania aplikacji

background image

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski

Moduł 13

ITA-101 Bazy Danych

Budowa interfejsu

Strona 16/16

Laboratorium rozszerzone

Zadanie 1 (czas realizacji 90 min)

Jesteś programistą w firmie National Insurance. Właśnie dowiedziałeś się od swojego szefa, że
firma zarządzająca bazą AdventureWorks planuje rozszerzenie i modernizacje systemu w celu
spełnienia pewnych standardów. W związku z modernizacją systemu bazodanowego
najprawdopodobniej ulegną zmianie pewne metody wybierania danych w celu zapewnienia
wyższego poziomu bezpieczeostwa. Dostaniesz dodatkowe procedury składowane i funkcje, które
będziesz musiał wykorzystad w nowym module aplikacji klienckiej.

Zadanie, jakie przed Toba stoi, to:

1. Podjęcie decyzji, jakie procedury składowane powinny zostad napisane dla nowego modułu

bazy danych oraz jak je użyd w aplikacji klienckiej.

2. Podjęcie decyzji jak ma wyglądad interfejs użytkownika


Wyszukiwarka

Podobne podstrony:
ITA 101 Modul 03
ITA 101 Modul 02
ITA 101 Modul 06
ITA 101 Modul 11
ITA 101 Modul 04
ITA 101 Modul 09
ITA 101 Modul Dodatek A
ITA 101 Modul 08
ITA 101 Modul 07
ITA 101 Modul 10
ITA 101 Modul 12
ITA 101 Modul 01
ITA 101 Modul 05
ITA 101 Modul 02 v2

więcej podobnych podstron