Baza danych sql. 1. Wprowadzenie

Podobne dokumenty
Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

Wprowadzenie do Doctrine ORM

Modele danych walidacja widoki zorientowane na model

Instrukcja laboratoryjna

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Leszek Stasiak Zastosowanie technologii LINQ w

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Sesje i logowanie. 1. Wprowadzenie

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Kostki OLAP i język MDX

MODUŁ INTEGRUJĄCY ELEKTRONICZNEGO NADAWCĘ Z WF-MAG SPIS TREŚCI

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Instrukcja laboratoryjna cz.6

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

WPROWADZENIE DO BAZ DANYCH

Podstawy technologii WWW

Szanowni Państwo. Należy przy tym pamiętać, że zmiana stawek VAT obejmie dwie czynności:

Instalacja i obsługa aplikacji MAC Diagnoza EW

Projektowanie baz danych za pomocą narzędzi CASE

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Laboratorium 7 Blog: dodawanie i edycja wpisów

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

Praca w programie dodawanie pisma.

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Instrukcja użytkownika. Aplikacja dla WF-Mag

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Program Import Kontrahentów XLS dla Subiekta GT.

Palety by CTI. Instrukcja

KatMPBSoft - 1 -

Pracownik dodawanie danych o pracownikach

Pierwsza niedogodność dotyczy strony zarządzaj działami.

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Program dla praktyki lekarskiej

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

UMOWY INSTRUKCJA STANOWISKOWA

Technologia informacyjna

Podręcznik użytkownika programu. Ceremonia 3.1

Instrukcja obsługi programu VisitBook Semieta Lite

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Uruchamianie bazy PostgreSQL

Instrukcja obsługi programu Profile GT

PHP: bazy danych, SQL, AJAX i JSON

Podręcznik użytkownika Publikujący aplikacji Wykaz2

Symfonia Produkcja. Kreator raportów. Wersja 2013

Instrukcja użytkownika. Aplikacja dla Comarch ERP XL

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Część II Wyświetlanie obrazów

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Wprowadzenie do baz danych

2017/2018 WGGiOS AGH. LibreOffice Base

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Program Import dokumentów XLS dla Subiekta GT.

Bazy danych - wykład wstępny

7. Formularze master-detail

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Instrukcja aktualizacji programu Integra 7

Pomoc dla systemu WordPress

Instrukcja użytkownika. Aplikacja dla Comarch Optima

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy.

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Wprowadzenie do projektu QualitySpy

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS

Estomed2. 1. Wstęp. 2. Instalacja Systemu Estomed Jak zainstalować Estomed2. Hakon Software sp. z o. o. Podręcznik instalacji

Program Opakowania zwrotne dla InsERT GT.

System magazynowy małego sklepu.

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

PTI S1 Tabele. Tabele. Tabele

Polecenie 3.1: Uruchom SQL Server Management Studio, zaloguj się do serwera.

Instrukcja do programu Przypominacz 1.5

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Musesort. Przeczytaj szczegóły pliku. Wyświetla okno ze szczegółami pobranymi z internetu wybranego pliku audio lub video

ShopGold Integrator by CTI. Instrukcja

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

INSTRUKCJA LABORATORIUM Automatyzacja procesów przemysłowych.

Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.

SZYBKI START. Tworzenie nowego połączenia w celu zaszyfrowania/odszyfrowania danych lub tekstu 2. Szyfrowanie/odszyfrowanie danych 4

Tworzenie menu i authoring w programie DVDStyler

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

EXSO-CORE - specyfikacja

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Transkrypt:

Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który automatycznie utworzy nam skrypt SQL wraz z bazą danych oraz dodatkowo utworzy modele danych. Dodatkowo utworzymy repozytorium generyczne, które pozwoli uniknąć pisania wielokrotnie podobnych zapytań dla identycznych encji bazy danych np. pobierz rekord o zgodnym id. 1.a Model Bazy danych W pierwszej kolejności tworzymy nowy element odpowiadający za całość komunikacji z bazą danych oraz utworzenie modeli danych. W naszym wypadku będzie to Entity freamwork. Dodajmy w katalogu Models nowy element i wybieramy ADO.NET Entity Data Model. Pamiętamy, aby podać odpowiednią nazwę.

W naszym przypadku ponieważ w pierwszej kolejności był tworzony kod aplikacji, a więc modele danych już mamy, wybieramy aby utworzyć czysty model danych (Empty EF Designer model) lub model danych na bazie kodu (Code First model). 1.b Encje Otwieramy nowy obiekt. Aby dodać nowy model danych klikamy prawym na tło diagramu encji i wybieramy AddNew->Entity Doda nam nowy blok encji przyszłej bazy danych. Pamiętajmy, aby nazwy modeli danych jak i ich pola były zgodne z dotychczasowymi modelami danych. Nie będzie trzeba bardzo zmieniać całego kodu programu.

Parametry poszczególnych pól ustawiacie w oknie Properties. Pamiętać o poprawnym ustawieniu typu, długości znaków każdego z pól. 1.c Klucze obce

Dodatkowo posiadają większą ilość encji, można następnie dodać do nich powiązania w formie kluczy obcych. Klikamy prawem na tło diagramu encji, a następnie AddNew->Association Wskazujemy, które encje i jak mają zostać związane kluczami obcymi. Następnie możemy również zmienić nazwę pola klucza obcego:

1.d Generowanie bazy danych Przed wygenerowaniem bazy zmieńcie nazwy plików klas modeli, gdyż mogą zostać nadpisane. Posiadając już odpowiedni diagram encji można utworzyć bazę. Klikamy prawym następnie Generate Database from Model. Wybieramy serwer SQL w naszym przypadku jest to lokalna baza danych w pliku razem z projektem. Następnie należy wybrać miejsce docelowe pliku bazy danych. Najlepiej folder App_Data i podać nazwę, jeśli w tym miejscu jeszcze nie istnieje plik bazy danych.

Ostatecznie powinien wam utworzyć bazę danych oraz klasy modeli danych nadpisując już istniejące.

Prawdopodobnie tak nie będzie. W takim wypadku musimy: Dodać plik bazy do projektu. W ServerExplorer szukamy naszej bazy i tworzymy nowe zapytani. Przeklejamy wygenerowany kod sql do nowego query i odpalamy.

2. Repozytorium generyczne. W poprzednim zestawie należało zrobić repozytoria dla każdej z obsługiwanych zbiorów danych. W dużej części operacje na zbiorach się powtarzały. Z tego powodu można zrobić repozytorium generyczne. Jednakże w pierwszej kolejności zrobimy interfejs, który będzie dziedziczony przez modele danych i wymusi na nich posiadanie pola Id typu Guid. Co prawda wszystkie modele takowe mają, jednakże template repozytorium tego nie wie. Posiadając interfejs tworzymy repozytorium generyczne.

Nasz model dziedziczy po interfejsie IDidposable dostarczającego metody Dispose(), która zamyka połączenie z bazą danych.

Nasz tamplete przyjmuje twa typy generyczne: C jest to nasz data kontekst wygenerowany na podstawie diagramu. Jest również dookreślony, gdzie C jest klasą, która dziedziczy po DBContext oraz że można stworzyć jej obiekt new(). T jest to typ przyjmujący model danych. Dodatkowo musi być klasą dziedziczącą po naszym IModel. Dziki temu możemy pisać zapytania do T jakby z góry posiadała pole id typu Guid. Aby pobrać odpowiedni zbiór należy odwołać się do data kontekstu przez metodę template.set<t>(), która zwróci wam listę powiązaną z typem T. Dodatkowo pojawiła nam się metoda Commit, a jej zadaniem jest uruchomienie synchronizacji pomiędzy modelem danych, a bazą danych. Bez jej wywołania zmiany nie zostaną zapisane w bazie danych. 3. Validacja i metadane Tak jak poprzednio należy dodać odpowiednie atrybuty polom klasy modelu encji, aby uzyskać właściwą walidację danych. Jednakże klasy te są częścią wygenerowanego schematu encjii i modyfikacje w nich wprowadzone mogą zostać nadpisane. W tym celu tworzymy dodatkowe własne klasy o tych samych nazwach z dopiskiem partial class co oznacza, że może istnieć wiele definicja tej klasy w różnych plikach. Ostatecznie kompilator składa wszystkie fragmenty w jedną klasę. Tworząc klasę z metadanymi można najprościej otworzyć jej autogenerowaną definicję w pliku.edmx diagramu encji i zapisać pod inną nazwą. Zmieniając np. dopisek Model na Metadata.

Przy zmienionej nazwie klasy należy polom nadać odpowiednie atrybuty. Następnie powiązać ją z wygenerowaną klasą modelu encji tworząc jeszcze jedną klasę o tej samej nazwie jak model, przypisać jej interfejs IModel niezbędny dla repozytoriów. Ostatecznie za pomocą atrybutu MetadataType przekazać, aby klasa modelu encji pobrała metadane walidacji z naszej klasy Metadanych.

4. Repozytoria rozszerzające gneryczne repo. Posiadając repozytorium generyczne możemy już z niego korzystać bez potrzeby tworzenia osobnych repozytoriów, które po nich dziedziczą. Jednakże gdy np. brakuje funkcjonalności możemy je rozszerzyć. Jak widzimy z każdym nowym repozytorium będzie o wiele mniej pisania. 5. Użycie repozytoriów do SQL w kontrolerach. Wykorzystywanie repozytoriów w kontrolerach dużo się nie różni, jednakże należy pilnować, aby połączenie z serwerem SQL było rozłączane po każdej akcji na kontrolerze. W innym wypadku można wykorzystać pulę limitu połączeń do serwera SQL, który odmówi wam współpracy. Można to zrealizować na dwa sposoby, albo umieszczać obiekt repozytorium w klauzuli using lub wywoływać na repo metodę dispose w trakcie kasowania całego kontrolera. Dodatkowo należy pamiętać, aby wywołać commit na bazie danych przed końcem obsługi zdarzenia ponieważ wprowadzone zmiany nie zostaną zapamiętane.

Zadanie Rozszerzyć aplikację z poprzednich zajęć. I dodać obsługę bazy danych. Dla przypomnienia, aplikacja ma służyć do zarządzania biblioteką. Podstawową funkcjonalnością jest wyświetlanie i dodawanie książek do katalogu oraz dodawanie do nich autorów. Dodatkowo aplikacja powinna pozwalać wyszukiwać i usuwać pozycje z katalogu.