Rozdział 48 Transpers generyczna mikroarchitektura warstwy dostępu do danych 1 Wstęp
|
|
- Anna Sikorska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Rozdział 48 Transpers generyczna mikroarchitektura warstwy dostępu do danych Streszczenie. Rozdział podejmuje tematykę nowoczesnych rozwiązań bazodanowych w aplikacjach J2EE (ang. Java 2 Platform, Enterprise Edition). Autorzy prezentują własną koncepcję mechanizmu (Transpers) służącego do przechowywania obiektów spełniających specyfikację JavaBeans w relacyjnych bazach danych. Krótki przegląd istniejących rozwiązań służy w rozdziale jako punkt wyjścia, do określenia pożądanej funkcjonalności dla mikroarchitektury. Podstawowe założenia to przezroczysty zapis obiektów, osiągnięcie minimum konfiguracji oraz współpraca z dowolnym system RDBMS. Sedno rozdziału stanowi prezentacja przyjętych rozwiązań (architektury Transpers, mechanizmu rekonfiguracji oraz hermetyzacji kluczy). 1 Wstęp Większość aplikacji biznesowych wykorzystuje relacyjne bazy danych jako sprawdzony sposób przechowywania danych. Pomimo rozwiniętych bibliotek, które mają wspierać programistów w tworzeniu aplikacji opartych na bazach danych, wiele z nich jest niskopoziomowa. Zazwyczaj użytkownik musi stworzyć obiekt reprezentujący połączenie z bazą danych, następnie stworzyć i skonfigurować obiekt realizujący zapytanie SQL oraz dokonać pewnych operacji na danych. Z tego powodu praca z bibliotekami tego typu jest źródłem wielu błędów; kod nie nadaje się do ponownego użycia, często błędem jest pozostawienie otwartych połączeń z bazą danych. Nawet doświadczeni programiści mają duże problemy z wyeliminowaniem błędów wynikających z korzystania z niskopoziomowych obiektów i metod służących do operowania na bazach danych. Autorzy rozdziału są przekonani, że przechowywanie informacji w bazie danych powinno być dla programisty przyjazną operacją. Podstawowym celem rozdziału jest zaprezentowanie Transpers autorskiej koncepcji mechanizmu do przechowywania obiektów klas w relacyjnej bazie danych. Transpers można określić jako generyczną mikroarchitekturę warstwy dostępu do danych. Nazwa pochodzi od angielskiego słowa transparence (przezroczystość) oraz ma wyrażać sposób operowania na danych przez programistę, który używa zwykłych obiektów na poziomie języka programowania, zaś wszelkie zmiany w danych systemu są odwzorowywane w docelowym RDBMS. Przemysław Krygier: Politechnika Łódzka, Wydział Elektrotechniki i Elektroniki, ul. Stefanowskiego 18/22, Łódź, Polska kcepk@wpk.p.lodz.pl Mariusz Sieraczkiewicz: FPL Sp. z o.o., ul. Piramowicza 9, Łódź, Polska m.sieraczkiewicz@fpl.pl
2 P. Krygier, M. Sieraczkiewicz 2 Czym obecnie dysponuje programista? W celu zaprezentowania mechanizmu Transpers zaprezentowane zostaną istniejące rozwiązania. 2.1 JDBC Jako przykład weźmy fragment kodu, którego zadaniem jest dodanie nowego elementu do bazy danych. Przykład został napisany w języku Java z użyciem standardowej biblioteki JDBC (ang. Java Database Conectivity), która wspiera korzystanie z relacyjnych baz danych. Narzędzie to udostępnia obiektową abstrakcję struktury danych (np. obiekty kursorów, wyników zapytań). Chociaż przytoczony fragment kodu [4] jest związany z konkretnym językiem, to jego wygląd pozostaje analogiczny w przypadku użycia podobnych bibliotek w innych językach np. ADO (ang. ActiveX Data Object) w C++. // Begin of the main part //... Statement stmt = con.createstatement(); String query = "SELECT NAME, SECONDNAME, " + "BIRTHDAY, WEIGHT, HEIGHT FROM PERSONS WHERE PERSONID = 1"; ResultSet rs = stmt.executequery(query); // Validation ommited for clarity Person person = new Person(); if ( rs.next() ) { person.setname( rs.getstring( "NAME" ) ); person.setsecondname( rs.getstring( "SECONDNAME" ) ); person.setbirthdate( rs.getdate( "BIRTHDAY" ) ); person.setweight( new Float( rs.getfloat( "WEIGHT" ) ) ); person.setheight( new Integer( rs.getint( "HEIGHT" ) ) ); } else { throw new SQLException( "Person not found." ); } //End of the main part //... W przypadku tego rozwiązania programista musi uwzględnić kilka elementów. Po pierwsze przed wykonaniem danego fragmentu kodu musi zostać stworzona tabela odpowiadająca osobom w bazie danych, ponadto należy skonfigurować i uzyskać połączenie z bazą danych, następnie stworzyć i wykonać zapytanie SQL, które zwróci pożądane dane. Dostęp do takich danych jest zwykle sekwencyjny (wzorzec iteratora) otrzymujemy obiekt, za pomocą którego możemy przemieszczać się w otrzymanym zestawie rekordów. Przemieszczaniu się po zestawie rekordów towarzyszy zwykle tworzenie docelowego obiektu na podstawie wyłuskanych danych. Korzystanie z takiego rozwiązania nie należy do najprzyjemniejszych. Zauważmy, że wydobycie listy obiektów to kilkanaście (o ile nie kilkadziesiąt) linii kodu, naszpikowanego obsługą wyjątków. Warto się zastanowić nad uproszczeniem tego podejścia, tym bardziej, że intuicyjnie wydaje się, iż nic nie powinno stać na przeszkodzie temu, aby obiektowość relacyjnych baz danych przenieść na wyższy poziom abstrakcji. 400
3 Transpers generyczna mikroarchitektura warstwy dostępu do danych 2.2 Budowa warstwowa aplikacji biznesowych Warto na chwilę przyjrzeć się tak zwanej warstwowej architekturze aplikacji biznesowych [1]. Podejście to polega na tym, aby wyraźnie odróżnić części tworzonego systemu, które są architektonicznie niezależne. Typowy podział na warstwy kształtuje się następująco: warstwa integracji (dostępu do danych), warstwa logiki biznesowej (zasadnicza część operacyjna systemu), warstwa interfejsu użytkownika (obejmująca zarówno formę zewnętrzną, z jaką ma kontakt użytkownik, jak również logikę interfejsu użytkownika). Rys. 1. Warstwy aplikacji biznesowych Dzięki takiej architekturze możemy niezależnie rozpatrywać podsystemy wchodzące w skład poszczególnych warstw oraz w razie potrzeby zmieniać ich implementacje bez wpływu na pozostałe części aplikacji. Korzystanie z bibliotek w rodzaju JDBC API prowadzi do wielu problemów w realizacji niezależnych komponentów warstwy integracji. Idealnym rozwiązaniem byłby system, który implementacyjnie pokrywałby całą przestrzeń operacji dostępnych w warstwie integracji. Jednocześnie system ten byłby dostępny programiście obiektowemu w postaci fasady z najważniejszymi operacjami bazodanowymi: dodaj, pobierz, usuń i aktualizuj. System ten miałby zapewniać niezależność implementacji operacji od rodzaju bazy danych, która stanowi źródło danych dla systemu. Sprecyzowanie oczekiwań odnośnie do optymalnego narzędzia stanowiło milowy krok przy tworzeniu Transpers biblioteki, która z powodzeniem realizuje warstwę dostępu do danych (patrz rysunek 1). 2.3 Istniejące strategie ułatwiające implementację warstwy dostępu do danych Istnieją rozwiązania, które umożliwiają korzystanie z relacyjnych baz danych poprzez obiekty z dziedziny problemu. Przykładem takiego rozwiązania, nazywanego oprogramowaniem mapowania relacyjno-obiektowego, pochodzącego z rodziny projektów Open Source jest projekt Hibernate [3]. Dzięki jego zastosowaniu programista nie musi niskopoziomowo myśleć o bazie danych. Korzystając z Hibernate'a możemy stworzyć implementację DAO (ang. Data Access Object), tzn. obiekt pomocniczy, który potrafi realizować wszystkie operacje bazodanowe związane z danym obiektem pochodzącym z dziedziny problemu. Przykład takiego wzorca można znaleźć na rysunku 2. Jest to wzorzec projektowy, który często stosuje się w aplikacjach biznesowych w celu wydzielenia odpowiedzialności operowania na danych poza obiekty warstwy biznesowej [4]. 401
4 P. Krygier, M. Sieraczkiewicz Rys. 2. Przykładowy diagram UML reprezentujący zastosowanie wzorca DAO (PersonDao) dla obiektu (Person) Przykład fragmentu operacji z klasy DAO zaimplementowanej w Hibernate zamieszczamy poniżej [2]. Session session = getsessionfactory().opensession(); Person person = (Person) session.load( Person.class, new Long( 1 ) ); session.close(); Jak widać, rozwiązanie to ma ogromną zaletę, przede wszystkim polegającą na uproszczeniu programistycznych działań do korzystania z obiektów z dziedziny problemu (co dobrze widać porównując tenże kod z pierwszym przykładem). Jednak żeby skorzystać z biblioteki Hibernate, należy odpowiednio skonfigurować mapowania obiektów na tabele baz danych, co uzyskuje się poprzez odpowiednio napisane pliki XML. Przy dużej ilości klas ilość plików mapowania rośnie proporcjonalnie do ilości klas. Ponadto konfiguracje XML wymagają sporej wiedzy związanej z bazami danych, zaś schemat bazy danych należy uprzednio stworzyć. Transpers przenosi nas do jeszcze wyższej warstwy abstrakcji. Zakładamy, że użytkownik (programista) nie jest zobligowany do innej konfiguracji niż określenia parametrów połączenia z bazą, musi mieć możliwość łatwego korzystania z operacji bazodanowych na obiektach z dziedziny problemu. Oznacza to, że system dynamicznie będzie tworzyć odpowiednie elementy schematu bazy danych (tj. tabele, klucze, ograniczenia, pola) oraz mapowania struktury przechowywanych danych na elementy docelowe w bazie danych. Na koniec warto umiejscowić system Transpers w typologii, która nieobca jest specjalistom z zakresu baz danych. Najbliższym skojarzeniem, które może się w tym przypadku nasuwać, są obiektowo-relacyjne systemy zarządzania bazami danych (ORDBMS). Umożliwiają one stosowanie uproszczonych mechanizmów obiektowych, takich jak dziedziczenie czy tworzenie metod dla obiektów bazodanowych, jednakże rozwiązania te są specyficzne dla konkretnej bazy danych oraz nie wspierają obiektowości na poziomie języka programowania. Transpers zatem należy rozumieć jako bibliotekę programistyczną, która upraszcza dostęp do danych. Pozwala na korzystanie z zaawansowanych mechanizmów obiektowych na poziomie języka programowania (m. in. dziedziczenie, polimorfizm) w sposób dla niego naturalny. Ponadto zaproponowane przez nas rozwiązane jest niezależne od docelowej bazy danych, co czyni system bardziej elastycznym. 402
5 3 Transpers Transpers generyczna mikroarchitektura warstwy dostępu do danych Podrozdział ma na celu przedstawić podstawowe aspekty proponowanego rozwiązania. 3.1 Wstęp Startowym punktem mikroarchitektury jest fabryka menedżera Transpers. Obiekt ten na podstawie bardzo prostej konfiguracji (obligatoryjne jest tylko określenie parametrów połączenia z bazą danych) tworzy pojedynczą instancję TranspersManager'a. Jest to typowe zastosowanie wzorca fabryki i wzorca singleton. TranspersMenager dostarcza wygodny i prosty zestaw metod dla programisty, który umożliwia pracę z obiektami zbudowanymi w oparciu o specyfikację JavaBeans. Na rysunku 3 przedstawiono powiązanie podstawowych obiektów w Transpers. Rys. 3. Powiązanie podstawowych obiektów Transpers Metoda add(object : Object) pozwala zapisać obiekt. Zwracaną wartością jest identyfikator obiektu (wewnętrzna unikatowa wartość na poziomie całego menedżera). Metoda get(id : Long) wydobywa obiekt na podstawie identyfikatora. Metoda getbyexample(object : Object) służy do wydobycia listy obiektów, które mają takie same wartości pól, jak przekazany obiekt. Podejście to stanowi implementację query by example. Naturalnie wszelkie nie ustawione pola w przykładowym obiekcie mogą być dowolnie ustawione wśród listy zwracanych wyników. Metoda find(criteria : Criteria) służy do zadawania złożonych zapytań, dzięki niej można szczegółowo określić, jakie są dozwolone wartości pól. Wymaga zbudowania obiektu Criteria. Metoda find(hqlquery : String) służy do niskopoziomowego zadawania zapytań. Pomysł tej metody został zaczerpnięty z Hibernate. Zapytanie musi posiadać specyficzną składnię. Metoda getall(class : Class) zwraca listę wszystkich obiektów danej klasy składowanych w menedżerze. Metoda remove(id : Long) pozwala usunąć obiekt o znanym identyfikatorze. Metoda removebyexample(object : Object) służy do kasowania obiektów. Korzystanie z tej metody jest bardzo podobne do korzystania z metody getbyexample. Przekazywany argument jest wzorcem, na podstawie którego kasowane są obiekty w bazie. 403
6 P. Krygier, M. Sieraczkiewicz Metoda update(id, object) pozwala na aktualizację obiektu w bazie o konkretnym identyfikatorze, przydatne szczególnie wówczas, gdy informacje zostają przechowywane poza systemem ( np.: eksport danych ). Metoda update(object : Object) pozwala uaktualnić składowany obiekt. Aby metoda ta nie powodowała wyjątków obiekt przekazywany jako argument musi być wcześniej wydobyty poprzez którąś z odpowiednich metod menedżera Transpers. 3.2 Architektura Podstawą naszej architektury jest fasada TranspersManager. Fasada bazuje na czterech podstawowych aspektach: metadane bazy danych, strategia hermetyzacji kluczy, generowaniu i wykonywaniu Data Definition Language, mapowaniu klas i tabel. Rys. 4. Transpers Manager zastosowanie wzorca fasady Metadane bazy danych to informacje o tym, jakie tabele zostały stworzone w bazie. Dane te są niezbędne przy inicjalizacji menedżera, ponieważ na ich podstawie wykonywane jest startowe mapowanie klas użytkownika/programisty. Strategia hermetyzacji kluczy głównym zadaniem mikroarchitektury jest dostarczenie prostego narzędzia do przechowywania obiektowych danych. Jedynym obwarowaniem, co do typów obiektów jest to, aby spełniały specyfikację JavaBeans. Nie muszą one implementować żadnego interfejsu, ani pochodzić od jakiejkolwiek klasy bazowej, zatem nie muszą mieć żadnych identyfikatorów. Z drugiej strony klucze są bardzo istotnym mechanizmem w bazie danych. Biorąc pod uwagę dwa powyższe fakty logiczną konsekwencją jest potrzeba istnienia wewnętrznego mechanizmu przechowującego klucze bazodanowe, które są typowe dla struktury bazy danych, zaś nie występują w sposób naturalny w językach obiektowych. Powinny być zatem ukryte przed programistą. Generator i wykonawca DDL to moduł odpowiadający za tworzenie i wykonywanie zapytań SQL zmieniających strukturę bazy danych. Każdy składowany obiekt w bazie musi posiadać odpowiednie mapowanie klasa->tabele bazy danych. W przypadku zapisywania obiektów nowych typów (nie podanych w konfiguracji) generator DDL pozwala wygenerować dynamicznie skrypt SQL tworzący odpowiednie struktury w bazie danych, a generator pozwala je wykonać. Generator nie wymaga szczegółowej konfiguracji, jedyną istotną dla niego informacją jest używany dialekt bazodanowy, zapytania są generowane we właściwej dla bazy składni SQL. Mapowanie klas i tabel jest jednym z kluczowych aspektów mikroarchitektury. Jest to sposób odzwierciedlenia pól obiektów na pola tabele baz danych. Implementacja przyjęta 404
7 Transpers generyczna mikroarchitektura warstwy dostępu do danych w Transpers bazuje na Hibernate narzędziu typu Open Source. Istnieje jednak możliwość dowolnej implementacji tego rozwiązania za pomocą mechanizmów niskopoziomowych. W tym przypadku zostaną one pominięte gdyż wykraczają poza ramy rozdziału. Poniżej warstwy fasady menedżera Transpers i jego komponentów istnieje warstwa oparta o Hibernate i Spring a. Spring jest szkieletem aplikacji, który w istotny sposób wspiera pracę z Hibernate, ponadto stanowi szkielet dla całej mikroarchitektury dostarczając implementacji generycznej fabryki obiektów składających się na system i jest wykorzystywany wewnętrznie. Hibernate jest zaawansowanym narzędziem, które z punktu widzenia architektury stanowi warstwę powyżej JDBC. Samo JDBC jest podstawowym mechanizmem JAVY do współpracy z bazami danych. 3.3 Mechanizm rekonfiguracji Transpers Rekonfiguracja Transpers ma miejsce w przypadku próby zapisu obiektu klasy, dla której jeszcze nie zostało utworzone wewnętrzne mapowanie. Mapowanie takie powstać może w dwóch przypadkach. Pierwszy z nich ma miejsce przy uruchomieniu Transpers, dana klasa jest wyszczególniona przy konfiguracji. Drugi przypadek tworzenia mapowania to sytuacja, w której startowa konfiguracja nie obejmuje mapowania danej klasy i należy ją utworzyć dynamicznie. Przedstawiony powyżej scenariusz może mieć miejsce w przypadku wykonania metody add(object : Object) TranspersManager'a. Jej działanie przedstawione jest schematycznie na poniższym diagramie. Rys. 5. Algorytm metody add 405
8 P. Krygier, M. Sieraczkiewicz Zgodnie z rysunkiem menedżer Transpers w przypadku zapisu obiektu nowego typu (tj. obiektu klasy, która nie była wcześniej używana w operacjach z Transpers) tworzy dynamicznie mapowanie, aktualizuje schemat bazy danych oraz zapisuje w niej obiekt. Pierwszy zapis obiektu nowego typu jest w związku z powyższym bardzo wydłużony. Opłaca się konfigurować Transpers, np. określić, jakie klasy będą zapisywane, ponieważ dynamiczne mapowanie zostanie utworzone podczas inicjalizacji menedżera Transpers. Każda utworzona definicja jest wewnętrznie składowana w menedżerze, przez cały czas jego istnienia. 3.4 Strategia hermetyzacji klucza Zgodnie z przedstawionymi wcześniej założeniami, odnośnie składowanych obiektów, dogodnym rozwiązaniem jest przechowywanie powiązań typu referencja obiektu wewnętrzny klucz Transpers. Dzięki temu podejściu można wydajnie pracować z obiektami, sprawdzać ich identyfikatory, jest to również sposób na realizację cache a dla obiektów. W oczywisty sposób istnieje konieczność uaktualniania wpisów w przedstawionym rejestrze powiązań klasie ReferenceToIDMapping. Transpers przetwarza obiekty, do których ma dostęp aplikacja, zatem nie ma sposobu na wykrycie momentu, w którym obiekt jest niszczony (w przypadku Javy klasą zarządzającą pamięcią jest GarbageCollector). Naturalnie nie stanowi to zagrożenia dla integralności powiązań kluczy z obiektami, ponieważ nawet w przypadku odnalezienia wpisu w rejestrze powiązań sprawdzane jest, czy obiekt Javy faktycznie istnieje w pamięci. Rys. 6. Diagram UML prezentujący rozwiązanie hermetyzacji kluczy 406
9 Transpers generyczna mikroarchitektura warstwy dostępu do danych Uaktualnianiem wpisów w rejestrze powiązań zajmuje się wydzielona klasa UpdatingStrategy, na której również spoczywa ciężar określenia momentu, w którym należy odświeżyć rejestr powiązań. Klasa SearchingStrategy to obiekt realizujący wyszukiwanie konkretnych powiązań (kluczy na referencje obiektów i referencji na klucze). Zanim obiekt zostanie wydobyty z bazy za pomocą Transpers musi być wcześniej zapisany. To z gruntu rzeczy proste stwierdzenie daje jednak znaczne możliwości. Weźmy jako przykład sytuację, w której programista chce zapisać zmieniony przez siebie obiekt. Wywołanie metody update(object : Object) oznacza konieczność sprawdzenia, czy istnieje powiązanie referencji obiektu z wewnętrznym kluczem Transpers. Jeżeli takie powiązanie istnieje, to klucz jest wyznaczony jednoznacznie, w przeciwnym wypadku metoda update nie ma sensu i zostaje wygenerowany odpowiedni wyjątek. 4 Podsumowanie Zdaniem autorów zapis obiektów w bazie danych powinien być tak prosty, jak: Person person = new Person(); // setting fields TranspersManager manager = context.gettranspersmanager(); Long storedobjectid = manager.add( person ); Transpers jest narzędziem, która pozwala programiście osiągnąć taką właśnie prostotę kodu. Stanowi on ideę, którą można wykorzystać w innych językach obiektowych. Jest to innowacja, jeżeli chodzi o przechowywanie obiektów w bazach danych, ponieważ pozwala w bardzo wygodny sposób składować obiekty i jednocześnie korzystać w pełni z możliwości relacyjnych baz danych (np. szybkie wyszukiwanie). Projekt Transpers jest udostępniany na zasadach open source i jest dostępny pod następującym adresem: Literatura 1. Fowler M., Architektura systemów zarządzania przedsiębiorstwem, Helion Bauer Ch., King G.: Hibernate in action., Manning Hibernate Reference Documentation Horstmann C. S., Cornell G.: Java 2. Techniki zaawansowane, Helion Raible M., Spring Live, Source Beat
10
Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Bardziej szczegółowoWarstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy
Bardziej szczegółowoWzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Bardziej szczegółowoBaza danych. Baza danych to:
Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego
Bardziej szczegółowoPodstawowe zagadnienia z zakresu baz danych
Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoJava Persistence API - zagadnienia zaawansowane
Program szkolenia: Java Persistence API - zagadnienia zaawansowane Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Java Persistence API - zagadnienia zaawansowane Java-EE-jpa-pro
Bardziej szczegółowoPodejście obiektowe do relacyjnych baz danych Hibernate.
Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoInformatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Bardziej szczegółowoSpis treści. Przedmowa
Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach
Bardziej szczegółowoProgramowanie MorphX Ax
Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn
Bardziej szczegółowoPaweł Kurzawa, Delfina Kongo
Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoProjektowanie aplikacji z bazami danych
Systemy mapowania relacyjno-obiektowego Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do trwałości Niedopasowanie paradygmatów Architektura warstwowa Czym jest ORM? Problemy i pytania
Bardziej szczegółowoPolitechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014
Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Mechaniczny obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014 Kierunek studiów: Informatyka Stosowana Forma
Bardziej szczegółowoPodyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle
Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności
Bardziej szczegółowoZagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce
Bardziej szczegółowoPRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Bardziej szczegółowoKomputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Bardziej szczegółowoProjektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne
Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec
Bardziej szczegółowoWprowadzenie do programowania aplikacji mobilnych
Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego
Bardziej szczegółowoProgramowanie w języku Java WYKŁAD
Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 26.05.2014 WYKŁAD 13 Refleksja Data Access Object
Bardziej szczegółowoBlaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Bardziej szczegółowoInformatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Bardziej szczegółowoBazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI
Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co
Bardziej szczegółowoWykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
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 możliwości utworzenia struktury bazy danych z
Bardziej szczegółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoBazy danych Wykład zerowy. P. F. Góra
Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.
Bardziej szczegółowoLaboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowoTworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2
Kod szkolenia: Tytuł szkolenia: EJB Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Dni: 3 Opis: Adresaci szkolenia: Szkolenie adresowane jest
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoArchitektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.
Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,
Bardziej szczegółowoWzorce projektowe i refaktoryzacja
Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:
Bardziej szczegółowoMETODY PROGRAMOWANIA
METODY PROGRAMOWANIA Wzorzec Repository 21 października 2017 Krzysztof Pawłowski kpawlowski@pjwstk.edu.pl Każdy wzorzec opisuje problem, który ciągle pojawia się w naszej dziedzinie, a następnie określa
Bardziej szczegółowoBaza danych sql. 1. Wprowadzenie
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
Bardziej szczegółowoPROJEKT Z BAZ DANYCH
POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRONIKI PROJEKT Z BAZ DANYCH System bazodanowy wspomagający obsługę sklepu internetowego AUTOR: Adam Kowalski PROWADZĄCY ZAJĘCIA: Dr inż. Robert Wójcik, W4/K-9 Indeks:
Bardziej szczegółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
Bardziej szczegółowoAplikacje Internetowe, Servlety, JSP i JDBC
Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny
Bardziej szczegółowoOgólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret
Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków
Bardziej szczegółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoZaawansowane programowanie obiektowe - wykład 5
Zaawansowane programowanie obiektowe - wykład 5 dr Piotr Jastrzębski (czynnościowe) opisują zachowanie obiektów, komunikację pomiędzy nimi i ich odpowiedzialność. Interpreter Iterator (kursor) Łańcuch
Bardziej szczegółowoZofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów
Bardziej szczegółowoDiagram wdrożenia. Rys. 5.1 Diagram wdrożenia.
Diagram wdrożenia Zaprojektowana przez nas aplikacja bazuje na architekturze client-server. W tej architekturze w komunikacji aplikacji klienckiej z bazą danych pośredniczy serwer aplikacji, który udostępnia
Bardziej szczegółowoProjektowanie obiektowe Wzorce projektowe
Projektowanie obiektowe Wzorce projektowe Gang of Four Kreacyjne wzorce projektowe (wzorce konstrukcyjne) 1 Roadmap Memento Factory Method Abstract Factory Prototype Builder 2 Wzorce konstrukcyjne wzorce
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoModelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoJDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008
JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC
Bardziej szczegółowoUniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu
Bardziej szczegółowoIteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa
Bardziej szczegółowoMapowanie obiektowo-relacyjne z wykorzystaniem Hibernate
Wirtualne przedsiębiorstwo II Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Łukasz Macierzyński 157588 Daniel Nikończuk 157621 Kacper Oko 157626 Agenda 1. Co to jest mapowanie obiektowo-relacyjne
Bardziej szczegółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoWprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych Rodzaj zajęć: wykład, laboratorium BAZY DANYCH I SYSTEMY EKSPERTOWE Database and expert systems Forma
Bardziej szczegółowoPodstawy Programowania 2
Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu
Bardziej szczegółowoPodstawy frameworka Spring
Podstawy frameworka Spring Adresaci szkolenia: Szkolenie przeznaczone jest dla programistów znających język Java, chcących poszerzyć swoje kompetencje w zakresie tworzenia aplikacji.koncepcja szkolenia
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoWprowadzenie do systemów informacyjnych
Uwagi ogólne: Wprowadzenie do systemów informacyjnych Projektowanie obiektowe Obiektowość jest nową ideologią, która zmienia myślenie realizatorów SI z zorientowanego na maszynę na zorientowane na człowieka.
Bardziej szczegółowoTutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.
AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...
Bardziej szczegółowoWprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Bardziej szczegółowo22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.
22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych. Baza danych zbiór informacji opisujący wybrany fragment rzeczywistości. Właściwości baz
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Bardziej szczegółowoBAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski
BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki
Bardziej szczegółowoDokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
Bardziej szczegółowoDatabase Connectivity
Oprogramowanie Systemów Pomiarowych 15.01.2009 Database Connectivity Dr inŝ. Sebastian Budzan Zakład Pomiarów i Systemów Sterowania Tematyka Podstawy baz danych, Komunikacja, pojęcia: API, ODBC, DSN, Połączenie
Bardziej szczegółowo1. Mapowanie diagramu klas na model relacyjny.
Rafał Drozd 1. Mapowanie diagramu klas na model relacyjny. 1.1 Asocjacje Wpływ na sposób przedstawienia asocjacji w podejściu relacyjnym ma przede wszystkim jej liczność (jeden-do-jednego, jeden-do-wielu,
Bardziej szczegółowoREFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Bardziej szczegółowoWprowadzenie do baz danych
Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 10 - klasy abstrakcyjne i interfejsy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 17 maja 2017 1 / 13 mgr inż. Krzysztof Szwarc Programowanie obiektowe
Bardziej szczegółowoTechnologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Bardziej szczegółowoOfficeObjects e-forms
OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji
Bardziej szczegółowoKrzysztof Kadowski. PL-E3579, PL-EA0312,
Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza
Bardziej szczegółowoWdrożenie do projektu
Wdrożenie do projektu Zaczynamy od stworzenia zwykłego projektu Java. Środowisko z jakiego korzystam to Netbeans IDE w wersji 8.1. Możesz wykorzystywać inne IDE, bylebyś stosował analogiczne kroki w swoim
Bardziej szczegółowoTechnologia informacyjna
Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje
Bardziej szczegółowoWstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.
Adrian Skalczuk Szymon Kosarzycki Spis Treści Wstęp [1/2] Wzorce projektowe są nieodłącznym przyjacielem programisty pozwalają pisać czystszy kod, łatwiejszy do zrozumienia przez innych i zapewniają pewien
Bardziej szczegółowoSpring Framework - wprowadzenie i zagadnienia zaawansowane
Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia
Bardziej szczegółowoDokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...
Bardziej szczegółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoWykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Bardziej szczegółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoZadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.
Zadanie: Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób. Na kolejnych zajęciach projekt będzie rozwijana i uzupełniana o kolejne elementy omawiane
Bardziej szczegółowoProjektowanie logiki aplikacji
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy
Bardziej szczegółowoUsługi analityczne budowa kostki analitycznej Część pierwsza.
Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.
Bardziej szczegółowoDiagramy związków encji. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie
Bardziej szczegółowoLABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS
Bardziej szczegółowoProjektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design
Projektowanie Zorientowane na Dziedzinę ang. Domain Driven Design 2 Projektowanie Stan posiadania Przypadki użycia Model dziedziny Operacje systemowe Kontrakty dla operacji systemowych Problemy do rozwiązania
Bardziej szczegółowoOrganizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle 2010-10-21
Organizacja zajęć BAZY DANYCH II WYKŁAD 1 Wykładowca dr inż. Agnieszka Bołtuć, pokój 304, e-mail: aboltuc@ii.uwb.edu.pl Liczba godzin i forma zajęć: 15 godzin wykładu oraz 30 godzin laboratorium Konsultacje:
Bardziej szczegółowoInstalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
Bardziej szczegółowoWprowadzenie do JDBC z wykorzystaniem bazy H2
Wprowadzenie do JDBC z wykorzystaniem bazy H2 JDBC (ang. Java DataBase Connectivity). Biblioteka stanowiąca interfejs umożliwiający aplikacjom napisanym w języku Java porozumiewać się z bazami danych za
Bardziej szczegółowoMateriały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
Bardziej szczegółowoMariusz Trzaska Modelowanie i implementacja systemów informatycznych
Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Notka biograficzna Dr inż. Mariusz Trzaska jest adiunktem w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych, gdzie zajmuje się
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoAutomatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010
4Developers, 26 marca 2010 Zakres wykładu O czym zamierzam opowiedzieć: Przyspieszenie tworzenia aplikacji Ułatwienie utrzymania aplikacji Budowanie kontraktów pomiędzy developerami a innymi uczestnikami
Bardziej szczegółowo