Db4o obiektowa baza danych wersja.net



Podobne dokumenty
ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca Norbert Potocki db4o

Leszek Stasiak Zastosowanie technologii LINQ w

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Programowanie obiektowe

Załącznik 1 instrukcje instalacji

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Programowanie w Javie

Zaawansowane aplikacje WWW - laboratorium

Informatyka I : Tworzenie projektu

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Projektowanie aplikacji internetowych laboratorium

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

WPROWADZENIE DO JĘZYKA JAVA

Języki i metody programowania Java Lab2 podejście obiektowe

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

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

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Baza danych sql. 1. Wprowadzenie

Programowanie obiektowe zastosowanie języka Java SE

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

JDK można pobrać ze strony

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Informacje o aktualizacji oprogramowania

Uruchamianie bazy PostgreSQL

Laboratorium 1 - Programowanie proceduralne i obiektowe

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

BACKUP BAZ DANYCH FIREBIRD

Instrukcja użytkownika aplikacji npodpis r.

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wprowadzenie do Doctrine ORM

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

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Visual Studio instalacja

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Instrukcja instalacji oprogramowania dla środowiska Windows

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Problemy techniczne SQL Server

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):

Zaawansowane aplikacje internetowe - laboratorium

ZSBD ćwiczenie 5. Obiektowe systemy zarządzania bazą danych. Podstawy pracy z OSZBD db4o. ZSBD ćwiczenie 5. Wymagania:

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Problemy techniczne SQL Server

Programowanie w języku Java. Bazy danych SQLite w Javie

Projektowanie baz danych za pomocą narzędzi CASE

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Załącznik 1 instrukcje instalacji

Programowanie Systemów Czasu Rzeczywistego

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Laboratorium 01: Poznanie środowiska programowania w języku Java [2h]

akademia androida Składowanie danych część VI

1.Wstęp. 2.Generowanie systemu w EDK

Instrukcja instalacji serwera bazy danych Microsoft SQL Server Express 2014

Kostki OLAP i język MDX

Instrukcja laboratoryjna

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Program nazywa się: unetbootin

[Android] Podstawy programowania

Wczytywanie cenników z poziomu programu Norma EXPERT Tworzenie własnych cenników w programie Norma EXPERT... 4

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

epuap Archiwizacja w Osobistym Składzie Dokumentów

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

Instrukcja użytkowania

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Instalacja systemu zarządzania treścią (CMS): Joomla

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Instrukcja obsługi aplikacji i platformy Geodriller:

Krótka instrukcja instalacji Adobe Acrobat Reader

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Java jako język programowania

Dokumentacja do API Javy.

XML-owe bazy danych ćwiczenia 1

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 6

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

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

Aktualizacja środowiska JAVA a SAS

Przykładowa konfiguracja komunikacji pomiędzy oprogramowaniem Wonderware i Codesys z wykorzystaniem sieci LAN lub modułu GSM

Pobieranie ofert. W celu pobrania oferty GSK Services Sp. z o.o., należy postępować według poniższych kroków:

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

ApSIC Xbench: Szybki start wydanie Mariusz Stępień

Katalog książek cz. 2

Instalacja serwera zarządzającego F-Secure Policy Manager

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Ćwiczenia 9 - Swing - część 1

Enkapsulacja, dziedziczenie, polimorfizm

7 Business Ship Control dla Wf-Mag Prestiż i Prestiż Plus

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

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

Transkrypt:

Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala na ściągnięcie bazy oraz jej użycie w niekomercyjnych projektach komercyjna: do wykorzystania w projektach komercyjnych Instalacja db4o Instalacja bazy jest bardzo prosta, wystarczy rozpakować archiwum. Można ją ściągnąć ze strony: http://developer.db4o.com/files/folders/db4o_72/default.aspx Dodatkowo należy ściągnąć program ObjectManager (wykorzystywany w drugiej części opracowania) ze strony: http://db4o-om.googlecode.com/files/objectmanager-7.2-java.zip Strona wymaga zalogowania (login i hasło: politechnika). Zakładam, że mamy ściągnięte pliki db4o-7.2-net35.msi lub db4o-7.2-net2.msi (w zależności od tego, z jakiej wersji.net Framework chcemy korzystać) oraz objectmanager-7.2-java.zip. Aby można było korzystać z bazy należy mieć zainstalowane środowisko programistyczne Visual Studio 2005 lub Visual Studio 2005. Potrzebne też nam będzie środowisko uruchomieniowe (JRE) Javy do uruchomienia programu ObjectManager, które można ściągnąć z następującej strony: http://java.sun.com/javase/downloads/index.jsp Następnie instalujemy bazę danych do wybranego katalogu np. C:\Program Files\Db4objects\db4o-7.2.

Uruchamiamy teraz Visual Studio i tworzymy nowy projekt klikając: File->New- >Project... z listy dostępnych szablonów (ang. templates) wybieramy Console Application, Jako nazwę projektu podajemy db4o_lab. Efekt tych kroków widzimy na poniższym zrzucie ekranu. Potwierdzamy utworzenie projektu przyciskiem OK.

Teraz dodamy do projektu bibliotekę Db4objects.Db4o.dll, aby to wykonać należy wybrać Project->Add reference w wyświetlonym oknie dialogowym wybieramy zakładkę Browse i odszukujemy bibliotekę w miejscu instalacji systemu bazy danych, co pokazuje poniższy zrzut ekranu: Stworzenie bazy danych Baza danych db4o składa się z jednego pliku. Gdy odwołujemy się do nieistniejącej bazy, jest ona automatycznie tworzona. Praca z bazą odbywa się przez objekt ObjectContainer. Na początku stworzymy prostą klasę o nazwie Person. Klikamy prawym myszy na nasz projekt i następnie na Add->New item z listy szablonów wybieramy Class i nazywamy go Person. Wypełniamy ciało klasy w następujący sposób: public class Person private String _name; private int _age; public String Name get return _name; set _name = value;

public int Age get return _age; set _age = value; public Person() public Person(String name, int age) _name = name; _age = age; public override String ToString() return "[" + _name + ";" + _age + "]"; Należy zwrócić uwagę, że w klasie nie ma kodu powiązanego z bazą db4o. Klasę Program w analogiczny sposób wypełniamy jak poniżej. Przed uruchomieniem aplikacji należy stworzyć katalog C:\myDb. using System; using System.Collections.Generic; using System.Linq; using System.Text; using Db4objects.Db4o; using Db4objects.Db4o.Query; using Db4objects.Db4o.Config; namespace db4o_lab class Program static void Main(string[] args) System.IO.File.Delete("C:/myDb/myDb.yap"); IConfiguration conf = Db4oFactory.Configure(); conf.messagelevel(0); // 0=silent, 3=loud IObjectContainer db = Db4oFactory.OpenFile(conf, "C:/myDb/myDb.yap"); try db.set(new Person("Gandhi", 79)); db.set(new Person("Lincoln", 56)); IObjectSet result = db.get(new Person()); // pobierz wszystko ListResult(result);

Person p = new Person(); p.name = "Gandhi"; IObjectSet result2 = db.get(p); Person p2 = (Person) result2.next(); p2.age = 90; // zwiększenie wieku db.set(p2); result2.reset(); ListResult(result2); db.delete(p2); // usuń obiekt Ghandi IObjectSet result3 = (IObjectSet) db.get(new Person()); ListResult(result3); // pobierz wszystko finally db.close(); Console.Read(); private static void ListResult(IObjectSet result) Console.WriteLine(result.Count); foreach (object item in result) Console.WriteLine(item); Console.WriteLine("---------------"); W dalszej części mówię działanie tego programu. Aby mieć dostęp do bazy danych należy stworzyć obiekt ObjectContainer: IObjectContainer db = Db4oFactory.OpenFile(conf, "C:/myDb/myDb.yap"); Jako parametr metody statycznej OpenFile podajemy ścieżkę do bazy, która chcemy stworzyć. Plik ten może osiągnąć rozmiar do 256 GB. Bazę można skasować przy pomocy komendy: System.IO.File.Delete("C:/myDb/myDb.yap"); Stworzenie i zapisanie obiektu: Person p = new Person("Gandhi", 79); db.set(p);

Do obiektu automatycznie przypisywany jest unikalny ID. Aby wszystkie zmiany zostały zapisane do bazy należy wywołać komendę Close(), która jednocześnie zamyka bazę danych. Podstawową funkcjonalnością każdej bazy danych jest wykonywanie zapytań. Jeden ze sposobów tworzenia zapytań w db4o to query-by-example (QBE). Do pobierania obiektów służy komenda Get(). W poniższym kodzie dodamy przykładowy obiekt do bazy, a następnie go pobierzemy. Person p = new Person(); p.name = "Gandhi"; IObjectSet result2 = db.get(p); Person p2 = (Person) result2.next(); Wywołanie metody Get() zwraca referencje do obiektu o interfejsie IObjectSet z db4o API. W działaniu przypomina klasyczny iterator. Używając metod HasNext() i Next() można odwołać się do wszystkich obiektów w bazie pasujących do obiektu szablonu. Powyższy kod dał by następujący rezultat: [Gandhi;79] Dla większej czytelności kodu stworzyliśmy metodę ListResult, która wyświetla wszystkie obiekty znajdujące się w IObjectSet: private static void ListResult(IObjectSet result) Console.WriteLine(result.Count); foreach (object item in result) Console.WriteLine(item); Console.WriteLine("---------------"); Dzięki czemu kod naszego zapytania wygląda tak: Person p = new Person(); p.name = "Gandhi"; IObjectSet result2 = db.get(p); ListResult(result2); Aby zaktualizować obiekt trzeba po prostu go pobrać, dokonać zmian i ponownie zapisać do bazy przy pomocy polecenia Set() np.: IObjectSet result=(iobjectset)db.get(new Person("Lincoln",0)); Person lincoln = (Person)result.Next(); lincoln.age = 56; db.set(lincoln);

Przykład kasowania obiektów: IObjectSet result = (IObjectSet)db.Get(new Person()); Person p = (Person)result.Next(); db.delete(p); Wynikiem działania programu jest: 2 [Gandhi;79] [Lincoln;56] --------------- 1 [Gandhi;90] --------------- 1 [Lincoln;56] ---------------

Praca z ObjectManager Wielu użytkowników baz danych zamiast używać konsoli preferuje korzystać z graficznych narzędzi. Db4o dostarcza takie narzędzie do przeglądania i edytowania danych oraz tworzenia zapytań o nazwie ObjectManager. Różni się on trochę od podobnych narzędzi tego typu dla relacyjnych baz danych, gdyż zarządza się tutaj obiektami, a nie tabelami. Aby rozpocząć pracę z ObjectManager, rozpakowujemy archiwum objectmanager-7.2-java.zip do wybranego katalogu np.: C:\objectmanager, następnie wchodzimy do tego katalogu i uruchamiamy plik objectmanager.bat. Po kilku sekundach pojawia się następujące okno:

Klikamy na przycisk Browse, wskazujemy na ścieżkę C:\myDb\myDb.yap i klikamy na przycisk Open. W górnej części znajduje się okno do tworzenia zapytań, natomiast po lewej stronie znajduje się lista zapisanych w bazie klas. Klikając na pola klas możemy w łatwy sposób tworzyć zapytania. Przykładowe zapytanie: FROM 'db4o_lab.person, db4o_lab' WHERE _name = 'Lincoln' Otrzymany rezultat:

Wstęp Db4o obiektowa baza danych wersja Java Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala na ściągnięcie bazy oraz jej użycie w niekomercyjnych projektach komercyjna: do wykorzystania w projektach komercyjnych Instalacja db4o Instalacja bazy jest bardzo prosta, wystarczy rozpakować archiwum. Można ją ściągnąć ze strony strony: http://developer.db4o.com/files/folders/db4o_64/entry41701.aspx Dodatkowo należy ściągnąć program ObjectManager (wykorzystywany w drugiej części opracowania) ze strony: http://developer.db4o.com/files/folders/objectmanager_64/default.aspx Strona wymaga zalogowania (login i hasło: politechnika). Zakładam, że mamy ściągnięte pliki db4o-6.4-java.zip oraz objectmanager-6.4.zip. Aby można było http://javadl.sun.com/webapps/download/autodl?bundleid=18713 korzystać z bazy należy mieć zainstalowaną javę, którą można ściągnąć z nastepującej strony: Aby sprawdzić czy mamy poprawnie zainstalowaną javę możemy wpisać w konsoli: java -version Następnie rozpakowujemy bazę danych do wybranego katalogu np.: C:\db4o-6.4.

Będziemy korzystać ze środowiska programistycznego Eclipse (można też użyć innego środowiska lub notatnika :) ), które można ściągnąć stąd: http://www.eclipse.org/downloads/ Następnie rozpakowujemy archiwum Eclipse i uruchamiamy klikając na eclipse.exe. Jako workspace wpisujemy C:\workspace i klikamy OK. Gdy pozamykamy niepotrzebne zakładki nasze środowisko wygląda tak:

Tworzymy nowy projekt klikając na File->New->Java Project. Nazywamy go db4o i klikamy OK. Następnie klikamy prawym klawiszem myszy na nasz projekt i wybieramy properties. Klikamy na trzecią od góry zakładkę Java Build Path. Mamy następujące okno: Klikamy następnie na zakładkę Libraries oraz na Add External Jars.. Wybieramy bibliotekę C:\db4o-6.4\lib\db4o-6.4.38.10595-java5.jar klikamy OK i zamykamy okno properties. Stworzenie bazy danych Baza danych db4o składa się z jednego pliku. Gdy odwołujemy się do nieistniejącej bazy, jest ona automatycznie tworzona. Praca z bazą odbywa się przez objekt ObjectContainer. Na początku stworzymy prostą klasę o nazwie Person. Klikamy prawym myszy na nasz projekt i następnie na new->class.. W oknie które się pojawi w pole Package wpisujemy example, a w pole Name wpisujemy Person.. Wypełniamy ciało klasy w następujący sposób:

public class Person private String _name; private int _age; public Person() public Person(String name, int age) _name = name; _age = age; public int getage() return _age; public void setage(int value) _age = value; Należy zwrócić uwagę, że w klasie nie ma kodu powiązanego z bazą db4o (dziedziczenia itp).

Tworzymy drugą klasę o nazwie CompleteExample w analogiczny sposób i wypełniamy jak import java.io.file; import com.db4o.db4o; import com.db4o.objectcontainer; import com.db4o.objectset; public class CompleteExample public static void main(string[] args) new File("C:/myDb/myDb.yap").delete(); Db4o.configure().messageLevel(0); // 0=silent, 4=loud ObjectContainer db = Db4o.openFile("C:/myDb/myDb.yap"); try db.set(new Person("Gandhi", 79)); db.set(new Person("Lincoln", 56)); ObjectSet result = (ObjectSet) db.get(new Person()); listresult(result); // pobierz wszystko Person p = new Person(); p.setname("gandhi"); ObjectSet result2 = (ObjectSet) db.get(p); Person p2 = (Person) result2.next(); p2.setage(90); // zwiększenie wieku db.set(p2); result2.reset(); listresult(result2); db.delete(p2); // usuń obiekt Ghandi ObjectSet result3 = (ObjectSet) db.get(new Person()); listresult(result3); // pobierz wszystko finally db.close(); public static void listresult(objectset result) while (result.hasnext()) System.out.println(result.next()); System.out.println("---------------"); poniżej. Przed uruchomieniem aplikacji należy stworzyć katalog C:\myDb. W dalszej części mówię działanie tej klasy. Aby mieć dostęp do bazy danych należy stworzyć obiekt ObjectContainer:

ObjectContainer db = Db4o.OpenFile("C:/myDb/myDb.yap"); Jako parametr metody statycznej openfile podajemy ścieżkę do bazy, która chcemy stworzyć. Plik File.Delete("C:/myDb/myDb.yap") ten może osiągnąć rozmiar do 256 GB. Bazę można skasować przy pomocy komendy: Stworzenie i zapisanie obiektu: Person p = new Person("Gandhi", 79); db.set(p); Do obiektu automatycznie przypisywany jest unikalny ID. Aby wszystkie zmiany zostały zapisane do bazy należy wywołać komendę Close(), która jednocześnie zamyka bazę danych. Podstawową funkcjonalnością każdej bazy danych jest wykonywanie zapytań. Jeden ze sposobów tworzenia zapytań w db4o to query-by-example (QBE). Do pobierania obiektów służy komenda get(). W poniższym kodzie dodamy przykładowy obiekt do bazy, a następnie go pobierzemy. Person p = new Person(); p.setname("gandhi"); ObjectSet result = (ObjectSet) db.get(p); while (result.hasnext()) System.out.println((Person) result.next()); Wywołanie metody get() zwraca referencje do klasy ObjectSet z db4o API. W działaniu przypomina klasyczny iterator. Używając metod hasnext() i next() można odwołać się do wszystkich obiektów w bazie pasujących do obiektu szablonu. Powyższy kod dał by następujący rezultat: [Gandhi;79]

Dla większej czytelności kodu stworzyliśmy metodę listresult, która wyświetla wszystkie obiekty znajdujące się w ObjectSet: public static void listresult(objectset result) while (result.hasnext()) System.out.println(result.next()); Dzięki czemu kod naszego zapytania wygląda tak: Person p = new Person(); p.setname("gandhi"); ObjectSet result = (ObjectSet) db.get(p); listresult(res); Aby zaktualizować obiekt trzeba po prostu go pobrać, dokonać zmian i ponownie zapisać do bazy przy pomocy polecenia set() np ObjectSet result = (ObjectSet) db.get(new Person("Lincoln", 0)); Person lincoln = (Person) result.next(); lincoln.setage(56); db.set(lincoln); Przykład kasowania obiektów: ObjectSet result = (ObjectSet) db.get(new Person()); Person p = (Person) result.next();

Kiedy wiemy już jak działa klasa, możemy sprawdzić jej działanie klikając na przycisk w menu eclipse. Powinniśmy zobaczyć następujący rezultat: [Lincoln;56] [Gandhi;79] --------------- [Gandhi;90] ---------------

Praca z ObjectManager Wielu użytkowników baz danych zamiast używać konsoli preferuje korzystać z graficznych narzędzi. Db4o dostarcza takie narzędzie do przeglądania i edytowania danych oraz tworzenia zapytań o nazwie ObjectManager. Różni się on trochę od podobnych narzędzi tego typu dla relacyjnych baz danych, gdyż zarządza się tutaj obiektami, a nie tabelami. Aby rozpocząć pracę z ObjectManager, rozpakowujemy archiwum objectmanager- 6.4.zip do wybranego katalogu np C:\objectmanager, następnie wchodzimy do tego katalogu i uruchamiamy plik objectmanager.bat. Po kilku sekundach pojawia się następujące okno:

Klikamy na przycisk Browse, wskazujemy na ścieżkę C:\myDb\myDb.yap mydb.yap i klikamy na przycisk Open.Maksymalizujemy okno które się wyświetliło. W górnej części znajduje się ę okno do tworzenia zapytań, natomiast po lewej stronie znajduje się lista zapisanych w bazie klas. Klikając na pola klas możemy w łatwy sposób tworzyć zapytania. Przykładowe zapytanie: FROM 'example.person' WHERE _name = 'Lincoln' Otrzymany rezultat: