Tworzenie interfejsów do bazy danych z wykorzystaniem technologii ADO.Net

68

description

Tworzenie interfejsów do bazy danych z wykorzystaniem technologii ADO.Net. Obiektowe spojrzenie na bazę danych. Baza danych. Obiekt „BazaDanych”. Model logiczny bazy danych. Atrybuty obiektu. Procedury składowane. Metody obiektu. Wykonane. Interfejs „Form”. - PowerPoint PPT Presentation

Transcript of Tworzenie interfejsów do bazy danych z wykorzystaniem technologii ADO.Net

Page 1: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net
Page 2: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Tworzenie interfejsów do bazy Tworzenie interfejsów do bazy danych z wykorzystaniem danych z wykorzystaniem

technologii ADO.Nettechnologii ADO.Net

2informatyka +

Page 3: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Obiektowe spojrzenie na bazę danych

Baza danych

Model logiczny

bazy danych

Procedury składowane

Obiekt „BazaDanych”

Atrybuty obiektu

Metodyobiektu

Page 4: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

SQLServer

Interfejs „Form”

Środowiskośieciowe

Wykonaj przelew z konta A na konto B

1.Zapytanie o stan konta A

2.Odpowiedź – stan Konta A

3.Rozpoczęcie transakcji

4.Odpowiedź na polecenie

5.Zmiejszenie stanu konta A

6.Odpowiedź na polecenie

7.Zwiekszenie stanu konta B

8.Odpowiedź na polecenie

9. Zakończenie transakcji

10.Odpowiedź na polecenie

Wykonane

Page 5: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

A teraz inne podejścieA teraz inne podejście

????????????

Page 6: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

SQL Server

Iterfejs „Form”

Środowiskośieciowe

Wykonaj przelew z konta A na konto B

Metoda „WykonajPrzelew”

1.Wykonaj metodę „…Przelew”

2.Odpowiedź z metody

Wykonane

Page 7: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Dostęp do baz danychDostęp do baz danych(.NET Framework 3.5)(.NET Framework 3.5)

7informatyka +

Page 8: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Wymagania wstępne

• Podstawowa znajomość Visual Studio (.NET 2003, 2005 lub 2008)

• Podstawowa znajomość języka C#

• Podstawowa znajomość serwera baz danych MS SQL Server (2000, 2005, 2008)

• Szczere chęci do nauki ;-)

8informatyka +

Page 9: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

9informatyka +

Page 10: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Architektura aplikacji

•Nie ma architektury doskonałej•Nie ma doskonałego procesu wytwórczego•Każde z podejść sprawdza się różnie w różnych projektach

10informatyka +

“We know why projects fail, we know how to prevent their failure -- so why do they still fail?”

Martin Cobb

"Wiemy, dlaczego projekty upadają, wiemy jak zapobiec tym upadkom – więc dlaczego one

ciągle upadają ?"

Page 11: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Architektura aplikacji

Kilka „oczywistych oczywistości” :

•Dostęp do danych jest uzyskiwany praktycznie w każdej aplikacji.

• Zwykle, jako ze źródła danych, korzysta się z bazy danych

• W kodzie aplikacji, jego znaczna część dotyczy pobierania/modyfikowania danych

• Po wdrożeniu aplikacji pojawia się konieczność jej rozwijania i ulepszania

11informatyka +

Page 12: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Architektura aplikacji c.d.• W ciągu kilkudziesięciu ostatnich lat wypracowano cały szereg dobrych praktyk dotyczących zarówno samego procesu wytwarzania oprogramowania jak i planowania jego architektury

• W ramach wykładu zajmiemy się małym fragmentem tej dziedziny

• W praktyce ważne jest znalezienie rozsądnego kompromisu pomiędzy planowaną architekturą aplikacji, a czasem potrzebnym na jej zastosowanie i celowością korzystania z niej w konkretnej sytuacji

12

WYMAGANIE:„Ma zapewnićochronę przed

deszczem”

Który wariant wybrać

???

informatyka +

Page 13: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Architektura aplikacji c.d.

• Skupmy się na typowej, prostej architekturze warstwowej

13informatyka +

Page 14: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

14informatyka +

Page 15: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Architektura aplikacji c.d.„Jedyną stałą rzeczą w projekcie są zmiany”

Aby uniknąć problemów przy rozbudowie i modyfikowaniu aplikacji:

• należy dobrze zdefiniować jakie operacje będą wykonywane na danych (interfejs warstwy dostępu do danych)

• należy wydzielić kod odpowiedzialny za przekazywanie poleceń do bazy danych i odbieranie od niej rezultatów

• w takim przypadku, aplikacja nie musi znać żadnych szczegółów (z jaką bazą się łączyć, jakie zapytanie wykonać, z jakiej procedury składowanej skorzystać itp..)

• łatwiej jest szacować nakład pracy potrzebny na implementację

15informatyka +

Page 16: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

16informatyka +

Page 17: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Jak skorzystać z bazy danych?.NET Framework 3.5 oferuje kilka interfejsów pomocnych przy komunikowaniu się z bazami danych. Klasy implementujące te interfejsy pełnią następujące role:•IDbConnection

• odpowiedzialna za zdefiniowanie i zarządzanie połączeniem z bazą danych

• IDbCommand • odpowiedzialna za zbudowanie polecenia, które będzie wysłane do bazy danych za pośrednictwem połączenia

• IDataReader• umożliwia odbieranie rezultatu wykonania polecenia przez bazę danych

• IDbParameter• pozwala na definiowanie parametrów polecenia przekazywanego do bazy danych, lub odbierania wartości parametrów wyjściowych

•IDataAdapter• pozwala na zdefiniowanie operacji CRUD (Create, Read, Update, Delete) dla określonej tabeli w bazie danych

17informatyka +

Page 18: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

18informatyka +

Page 19: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

19

Na początek…

• Potrzebujemy pomysłu na przykładową aplikację

bazodanową…

• …Są jakieś?

• …i tak nie mamy dość czasu, żeby je przedyskutować ;-)

• W takim razie proponuje skorzystać z wcześniej

przygotowanego:

informatyka +

Page 20: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

20

Wymagania stawiane aplikacji

Dzienniczek ucznia ma umożliwiać:

1.Wyświetlenie listy uczniów

2.Wystawienie oceny ucznia z wybranego przedmiotu

3.Wyświetlenie średniej arytmetycznej ze wszystkich ocen ucznia

4.Wyświetlenie listy wszystkich ocen ucznia

5.Wyświetlenie listy ocen uczniów z wybranego przedmiotu

informatyka +

Page 21: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

21

Struktura aplikacji

Przygotowane zostało rozwiązanie (solution) zawierające projekty

niezbędne do zademonstrowania

funkcjonowania aplikacji i mechanizmów dostępu do

danych.

informatyka +

Page 22: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

22

Warstwa prezentacji

informatyka +

Page 23: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

23

Warstwa biznesowa

informatyka +

Page 24: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

24

Klasy warstwy biznesowej

informatyka +

Page 25: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

25

Definicja interfejsu IStudentNotesDB

• definiuje operacje, które będą

wykonywane na danych

• korzysta z interfejsu IDataReader

•Jest podstawą do budowania implementacji warstwy dostępu do danych

informatyka +

Page 26: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

26

Diagram bazy danych

• skrajnie proste rozwiązanie

• zawiera przykładowe procedury składowane

informatyka +

Page 27: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

27informatyka +

Page 28: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

28

Metoda „na piechotę”

Komunikacja z baza danych (typowy scenariusz):1.Utworzenie połączenia z bazą (SqlConnection)

2.Utworzenie polecenia do wykonania (SqlCommand)

3.Otwarcie połączenia

4.Wykonanie polecenia (ExecuteReader(),

5.ExecuteScalar(), ExecutenonQuery())

6.Przetworzenie wyników (iteracja po SqlDataReader)

7.Zamknięcie połączenie

informatyka +

Page 29: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

29

Metoda „na piechotę” – ogólna koncepcja

informatyka +

Page 30: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

30

Metoda „na piechotę” – praktyczne rozwiązanie

informatyka +

Page 31: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

31

Metoda „na piechotę” – zwrócenie SqlDataReadera

Parametr CommandBehavior.CloseConnection pozwala na zwrócenie obiektu SqlDataReader, który automatycznie zamknie połączenie z bazą gdy zostanie wykonana jego metoda Close().

informatyka +

Page 32: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

32

Metoda „na piechotę” – korzystanie z parametrów

• zamiast parametrów można po prostu „skleić” fragmenty polecenia wplatając w odpowiednie miejsca wartości parametrów. Jest to jednak NIEBEZPIECZNE i może być wykorzystane do przeprowadzenia ataku typu SQL Injection

• korzystanie z parametrów eliminuje większość takich zagrożeń

informatyka +

Page 33: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

33

Metoda „na piechotę” – korzystanie z parametrów

• najwygodniej jest skorzystać z procedury składowanej• można używać parametrów wejściowych, wyjściowych oraz korzystać z wartości zwracanej (return value)

informatyka +

Page 34: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

34

Metoda „na piechotę” – SchoolController

informatyka +

Page 35: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

35

Metoda „na piechotę” – aplikacja desktopowa

•Ilość kodu niezwiązanego z logiką aplikacji (obsługa zdarzeń, sterowanie zachowaniem kontrolek itp.) jest minimalna i sprowadza się do wywołania metody obiektu controller.

•Aplikacja nie ma i nie musi mieć żadnych informacji na temat sposobu uzyskania dostępu do bazy danych.

informatyka +

Page 36: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

36

Metoda „na piechotę” - podsumowanie

• Kod budowany w oparciu o stałe szablony

• Łatwo popełniać błędy

• Bez korzystania z procedur składowanych – silna zależność od struktury bazy i zapytań

• Wielokrotne powtarzanie tego samego kodu różniącego się niewielkimi fragmentami

• Korzystanie z tego sposobu niechybnie prowadzi do wniosku, że można by to nieco uprościć (poprzez tworzenie uogólnionych metod)

informatyka +

Page 37: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

37

Metoda „na piechotę” – podsumowanie cd.

• NIE TRZEBA JEDNAK TEGO ROBIĆ!

•Wielu ludzi wpadło na ten pomysł wcześniej i często udostępniają swoje wynalazki innym.

• Najlepiej jednak korzystać ze sprawdzonych, przemyślanych i dobrze udokumentowanych rozwiązań – jeżeli trafimy na problem, to istnieje spora szansa, że już ktoś się z nim spotkał i znalazł rozwiązanie.

informatyka +

Page 38: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

38

Metoda „na piechotę” – podsumowanie cd.

• Nie korzystaliśmy z klas DataSet, SqlDataAdapter, TableAdapter – są to rozwiązania opisane w każdej książce i najprostszym tutorialu dotyczącym dostępu do danych w .NET.

• Pozornie są one wygodne i szybko da się „wyklikać” w ten sposób gotowy mechanizm, ale szybko okazuje się, że jest on niezbyt wydajny, nadaje się tylko do typowych rozwiązań i trudno go modyfikować.

informatyka +

Page 39: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda• Architektura aplikacji korzystających z baz danych

• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

39informatyka +

Page 40: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

40

DAAB – koncepcja

Źródło:Dokumentacja DAAB

informatyka +

Page 41: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

41

DAAB – tworzenie kodu dostępu do danych

Typowy scenariusz komunikacji z bazą:

1. Utworzenie instancji klasy Database2. Wywołanie metody utworzonej instancji

Cechy rozwiązania:• Nie trzeba martwic się o otwieranie i zamykanie

połączeń• Nie trzeba martwić się o definiowanie parametrów

(czasem trzeba…)• Zwięzły i czytelny kod• Odporność na błędy – wbudowana obsługa• Szczególnie wygodne rozwiązanie przy korzystaniu z

procedur składowanych

informatyka +

Page 42: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

42

DAAB – tworzenie kodu dostępu do danych cd.

informatyka +

Przykładowy kod programu:

Page 43: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

43

DAAB – konfigurowanie aplikacji

• DAAB można konfigurować za pomocą wygodnego narzędzia

• Otwiera się w nim plik konfiguracyjny aplikacji

• Po „wyklikaniu” konfiguracji narzędzie tworzy odpowiednie wpisy w pliku konfiguracyjnym aplikacji

• na podstawie tych wpisów klasa DatabaseFactory tworzy odpowiednie obiekty i konfiguruje je do komunikacji z właściwą bazą

informatyka +

Page 44: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

44

DAAB – konfigurowanie aplikacji cd.

informatyka +

Elementy konfigurowania

Page 45: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

45

DAAB – konfigurowanie aplikacji cd.

informatyka +

Wygenerowany dokument XML

Page 46: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

46

DAAB – zmiany w aplikacji

• Żeby skorzystać z nowej implementacji warstwy dostępu do danych wystarczy:

• dodać do aplikacji referencję do projektu zawierającego kod dostępu do danych• zmodyfikować plik konfiguracyjny aplikacji za pomocą narzędzia Enterprise Library Configuration• W klasie SchoolController zmodyfikować konstruktor

informatyka +

Page 47: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

47

DAAB – podsumowanie

• Znaczne uproszczenie kodu

• Poprawa wydajności

• Spójna obsługa błędów

• Wygodna konfiguracja

• Bogata dokumentacja i wsparcie

http://msdn.microsoft.com/en-us/library/cc467894.aspx

informatyka +

Page 48: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

48informatyka +

Page 49: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

49

LINQ to SQL – wprowadzenie

• LINQ – Language Integrated Query

• Język zapytań zostaje wbudowany w języki programowania

•Programista nie martwi się szczegółami i niezależnie od źródła danych używa tej samej składni LINQ w celu budowania zapytań i manipulowania danymi

•Istnieje kilka wariantów LINQ przeznaczonych do współpracy z różnymi źródłami danych

• LINQ to SQL współpracuje TYLKO z SQL Server 2005 lub 2008

informatyka +

Page 50: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

50

LINQ to SQL – architektura

informatyka +

Page 51: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

51

LINQ to SQL – korzystanie

• Podstawą przy pracy z LINQ to SQL jest stworzenie modelu:

informatyka +

Page 52: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

52

LINQ to SQL – korzystanie cd

• Tworzenie może odbywać się „ręcznie” lub za pomocą wygodnego narzędzia (designera)• Praca z designerem sprowadza się do przeciągania i upuszczania obiektów z bazy (tabel, widoków, procedur składowanych i funkcji). • Na tej podstawie zostaje wygenerowany kod klas odpowiadających tym obiektom• Łatwo można modyfikować i rozszerzać zachowanie wygenerowanych klas• Nie trzeba w kodzie aplikacji umieszczać żadnego kodu SQL!• Nie trzeba tworzyć samodzielnie encji biznesowych (Student, Note, Subject…)

informatyka +

Page 53: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

53

LINQ to SQL – praca z modelem

informatyka +

Page 54: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

54

LINQ to SQL – praca z modelem

Model utworzony z trzech tabel i jednej procedury składowanej

informatyka +

Page 55: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

55

LINQ to SQL – Model

• Relacje na modelu odpowiadają kluczom obcym i powodują tworzenie dodatkowych właściwości w wygenerowanych klasach.• Np. klasa Student będzie miała właściwość StudentNotes

informatyka +

Page 56: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

56

LINQ to SQL – DataContext

•Efekt pracy z modelem – klasa DataContext

•Zawiera właściwości odpowiadające tabelom i widokom oraz metody odpowiadające procedurom i funkcjom

informatyka +

Page 57: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

57

LINQ to SQL – Encje (tabele i widoki)

informatyka +

Page 58: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

58

LINQ to SQL – klasa (odpowiednik IStudentNotesDB)

informatyka +

Page 59: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

59

LINQ to SQL – korzystanie w aplikacji

informatyka +

Page 60: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

60

LINQ to SQL – podsumowanie

• Korzystanie z LINQ to SQL pozwala uniknąć pisania sporej ilości kodu ( jest generowany automatycznie)

• Dotyczy to również pisania poleceń SQL

• Poprzez korzystanie z widoków, wyzwalaczy oraz funkcji i procedur składowanych można mieć w szczególnych przypadkach wpływ na postać poleceń wykonywanych przez bazę danych

informatyka +

Page 61: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

61

LINQ to SQL – podsumowanie cd.

•Można na tę postać wpływać także przez konfigurowanie właściwości klas modelu

• LINQ to SQL zapewnia wydajność na akceptowalnym poziomie i pozwala uniknąć wielu typowych błędów przy tworzeniu zapytań SQL.

• Zapewnia przyspieszenie procesu tworzenia kodu

• Działa tylko z SQL Server 2005 i 2008 :(

informatyka +

Page 62: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

62informatyka +

Page 63: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

63

Inne rozwiązania

• Subsonic (http://subsonicproject.com )

•nHibernate (https://www.hibernate.org/343.html )

•ADO.NET Entity Framework (http://msdn.microsoft.com/en-us/library/bb399572.aspx )

informatyka +

Page 64: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

Agenda

• Architektura aplikacji korzystających z baz danych• Jaką architekturę wybrać i kiedy?• Na co zwrócić uwagę, żeby później nie pluć sobie w brodę?• Co oferuje .NET Framework w zakresie dostępu do danych?

• Planowanie i implementacja warstwy dostępu do danych• Metoda „na piechotꔕ Data Access Application Block (Enterprise Library)• LINQ to SQL• mało? ... krótki przegląd innych możliwości

• Podsumowanie i wnioski

64informatyka +

Page 65: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

65

Podsumowanie

• Dokonaliśmy bardzo krótkiego i pobieżnego przeglądu technik organizowania dostępu do danych.

• Zaznaczyliśmy ich charakterystyczne cechy i różnice w koncepcjach

• Sprawdziliśmy w praktyce ich działanie

• Wymyślanie/korzystanie z rozwiązań dostępu do danych nie jest celem w samym sobie!

informatyka +

Page 66: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

66

Podsumowanie cd.

•Warstwa dostępu do danych jest tylko jednym z „klocków” wchodzących w skład aplikacji

• Ważne jest, żeby zdawać sobie sprawę z konsekwencji nieprzyłożenia właściwej wagi do sensownego zaplanowania architektury aplikacji

• Problemy pojawiają się nie przy tworzeniu, ale przy rozwijaniu i modyfikowaniu aplikacji.

• Właściwe podejście pozwala uniknąć tych problemów

•Warto sporo czytać na temat dobrych praktyk dotyczących planowania i tworzenia aplikacji

informatyka +

Page 67: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net

67

Koniec

Dziękuję za uwagę.

…jakieś pytania?

informatyka +

Page 68: Tworzenie interfejsów do bazy danych z wykorzystaniem technologii  ADO.Net