Wst p. 1.1 Zawarto± rozdziaªów



Podobne dokumenty
Krzysztof Stencel Obiektowe i półstrukturalne bazy danych

Spis tre±ci. 1 Wst p Zawarto± rozdziaªów Projekt LoXiM... 2

Zagadnienia programowania obiektowego

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Podstawa programowa kształcenia ogólnego informatyki w gimnazjum

Technologie internetowe Internet technologies Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

STUDIA PODYPLOMOWE. ZAOCZNE PODYPLOMOWE STUDIA KWALIFIKACYJNE dla nauczycieli

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Bazy danych. Joanna Grygiel

Optymalizacja R dlaczego warto przesi ± si na Linuxa?

AKADEMIA MUZYCZNA IM. I.J. PADEREWSKIEGO W POZNANIU WYDZIAŁ INSTRUMENTALNY

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

Projekt ATENA - system wspomagaj cy zarz dzanie szkoª lub zespoªem szkóª przedlicealnych

Analiza wydajno±ci serwera openldap

Numer obszaru: 13. Jak pracować z uczniem uzdolnionym informatycznie? Od grafiki i multimediów do poważnych algorytmów w środowisku Logomocja-Imagine

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Aktywni, kompetentni, zatrudnieni program kompleksowego wsparcia osób niepełnosprawnych na otwartym rynku pracy. ANKIETA REKRUTACJNA

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

Bazy danych. Andrzej Łachwa, UJ, /15

Spis treści. Przedmowa

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Wewnątrzszkolny system kształcenia PLAN WYNIKOWY

Wydział Informtyki i Nauki o Materiałach Kierunek Informatyka. kod kierunku (dodaj kod przedmiotu)

KARTA PRZEDMIOTU. 2. Kod przedmiotu ROZ L S1Is7 W Efekty kszta cenia:

PROGRAM NR 2(4)/T/2014 WSPIERANIE AKTYWNOŚCI MIĘDZYNARODOWEJ

Scenariusz zajęć z przedsiębiorczości

REGULAMIN REALIZACJI PROJEKTÓW EDUKACYJNYCH W GIMNAZJUM W MIEJSKIEJ GÓRCE. Ustalenia ogólne

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

2. Kod przedmiotu ROZ L N1Is7 IW Efekty kszta cenia:

Tworzenie aplikacji mobilnych do monitoringu środowiska - nowa specjalność magisterska w języku angielskim (MADEM)

Warszawa, r.

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013. Forma studiów: Niestacjonarne Kod kierunku: 11.

JADWIGA SKIMINA PUBLIKACJA NA TEMAT: NAUKA MS. WORD 2000 W KLASIE IV

Zmiany w Podstawie programowej przedmiotów informatycznych

Spis tre±ci. Przedmowa... Cz ± I

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Stacjonarne Wszystkie Katedra Informatyki Stosowanej dr inż. Krzysztof Strzałkowski. Kierunkowy Nieobowiązkowy Polski Semestr piaty

Rok akademicki: 2013/2014 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2012/2013

Raport z przeprowadzenia ankiety dotyczącej oceny pracy dziekanatu POLITECHNIKA CZĘSTOCHOWSKA. WYDZIAŁ INŻYNIERII MECHANICZNEJ i INFORMATYKI

Komputerowe Systemy Sterowania Sem.VI, Wykład organizacyjny

Wskazówki dotyczące przygotowania danych do wydruku suplementu

O PROJEKCIE I WNIOSKU DLA POCZĄTKUJĄCYCH I TYCH, KTÓRZY CHCĄ UPORZĄDKOWAĆ WIEDZĘ MARCIN DADEL

Baza danych - Access. 2 Budowa bazy danych

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

Wzorce projektowe kreacyjne

PROJEKT. w sprawie: wyboru Przewodniczącego Nadzwyczajnego Walnego Zgromadzenia Spółki

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Rozwijanie kompetencji nauczycieli i uczniów z zakresu stosowania TIK. Wykorzystanie e-podręczników i e-zasobów w nauczaniu i w uczeniu się

Praca Dyplomowa Magisterska

Projekt i implementacja mechanizmu wykrywania kompone. komponentów i zale»no±ci w systemie dla mened»era zarz dczego. Jan Lamecki

Język Java i technologie Web - opis przedmiotu

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

Korzy ci wynikaj ce ze standaryzacji procesów w organizacjach publicznych a zarz dzanie jako ci

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Od redakcji. Symbolem oznaczono zadania wykraczające poza zakres materiału omówionego w podręczniku Fizyka z plusem cz. 2.

Witajcie. Trening metapoznawczy dla osób z depresją (D-MCT) 09/15 Jelinek, Hauschildt, Moritz & Kowalski; ljelinek@uke.de

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Spis treści Rozdział I. Informatyka prawnicza a zarządzanie informacją Rozdział II. Elektroniczna informacja o prawie

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Ekspert MS SQL Server Oferta nr 00/08

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

MIKROPRZEDSI BIORSTWA Zintegrowanego Programu Operacyjnego Rozwoju Regionalnego w WOJEWÓDZTWIE WI TOKRZYSKIM

Państwowa Wyższa Szkoła Zawodowa w Płocku Instytut Nauk Ekonomicznych i Informatyki KARTA PRZEDMIOTU. Część A

PRZEWODNIK PO PRZEDMIOCIE

1. NAUCZANIE JĘZYKÓW NOWOŻYTNYCH (OBOWIĄZKOWYCH) W RAMACH PROGRAMU STUDIÓW STACJONARNYCH (CYKL A I B) I NIESTACJONARNYCH

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2012/2013

Komputer i urządzenia z nim współpracujące

Studia podyplomowe Legislacja administracyjna

WSTĘP DO PROGRAMOWANIA

PRZEWODNIK PO PRZEDMIOCIE

Opis szkolenia. Dane o szkoleniu. Program. BDO - informacje o szkoleniu

Numer obszaru: 8 E-learning w szkole - wykorzystanie platform edukacyjnych w pracy szkoły

Filozoa Clojure. Mateusz Dereniowski. 15 lipca Instytut Informatyki Uniwersytetu Wrocªawskiego

RAPORT Z EWALUACJI WEWNĘTRZNEJ. Młodzieżowego Domu Kultury w Puławach W ROKU SZKOLNYM 2014/2015. Zarządzanie placówką służy jej rozwojowi.

WYDZIAŁ MATEMATYCZNO PRZYRODNICZY. SZKOŁA NAUK

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Przedmiotowe Zasady Oceniania

Studia podyplomowe. : prof. dr hab. inż. Włodzimierz Bielecki wbielecki@wi.zut.edu.pl

NOWE I ISTNIEJĄCE SYSTEMY ADMINISTRACJI PUBLICZNEJ W ŚWIETLE ROZPORZĄDZENIA KRAJOWYCH RAM INTEROPERACYJNOŚCI

PRZEWODNIK PO PRZEDMIOCIE

JĘZYK UML JAKO NARZĘDZIE MODELOWANIA PROCESU PROJEKTOWO-KONSTRUKCYJNEGO

ZARZ DZANIE ZESPO EM P DR PIOTR PILCH

Wydział Zarządzania. Poziom i forma studiów. Ścieżka dyplomowania: Kod przedmiotu: Punkty ECTS 1) W - 15 C- 15 L- 0 P- 0 Ps- 0 S- 0

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Bazy danych i ich aplikacje

KARTA PRZEDMIOTU. 10. WYMAGANIA WSTĘPNE: technologia informacyjna na poziomie szkoły średniej.

PREZENTACJA SYSTEMU BUSINESS INTELLIGENCE TARGIT

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

ARCHITEKTURA INSTYTUCJI JAKO NARZĘDZIE UŁATWIAJĄCE ZARZĄDZANIE DANYMI

Końcowa ewaluacja projektu

SYLABUS/KARTA PRZEDMIOTU

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

Transkrypt:

1 Wst p Burzliwy rozwój obiektowych baz danych miaª miejsce w latach dziewi dziesi tych XX wieku. W ostatnich latach XX wieku silnie rozwijaªa si te» koncepcja póªstrukturalnych baz danych. Obecnie nadal u»ywa si obu tych rodzajów baz danych. Chocia» s one dalej rozbudowywane, jednak zajmuj raczej nisze rynkowe i nie s ju» wiod cymi technologiami. Przez ostanie 10 lat prowadziªem wykªad monograczny o takich bazach danych, a tak»e prace badawcze nad rozwojem ich koncepcji. Niniejszy tom jest zbiorem materiaªów zebranych przeze mnie w tym okresie. Mo»na go podzieli na dwie cz ±ci. Pierwsza z nich to podr cznik do prowadzonego przeze mnie wykªadu monogracznego. Druga cz ± to zbiór wyników bada«naukowych. Niektóre z przedstawionych tu zagadnie«byªy przedmiotem wcze±niejszych publikacji [BS01, BS07, Ste06]. W niniejszej ksi»ce zebraªem je wszystkie, zaktualizowaªem, rozszerzyªem, a tak»e uzupeªniªem caªkiem nowym materiaªem dydaktycznym i naukowym. Wszystko stanowi jednolit monogra obiektowych i póªstrukturalnych baz danych. 1.1 Zawarto± rozdziaªów Rozdziaªy 2-9 skªadaj si na podr cznik do nauki przedmiotu Obiektowe i póªstrukturalne bazy danych. Rozdziaª 2 zawiera informacje o obiektowym strukturalnym modelu danych. Jego celem jest m.in. przekonanie czytelnika,»e nie tylko relacyjny, ale tak»e obiektowy model danych mo»na sformalizowa. W rozdziale 3 zaproponowaªem klasykacj j zyków zapyta«dla baz obiektowych o modelach opisanych w rozdz. 2 oraz wªasny pro±ciutki referencyjny j zyk zapyta«naszql. Oba te rozdziaªy s napisanym caªkowicie od nowa i uzupeªnionym materia- ªem z [BS07]. W rozdziale 4 przedstawiªem zagadnienia zwi zane z obiektoworelacyjnym modelem danych i metodami projektowania i programowania takich baz danych. Rozdziaª ten stanowi istotnie rozszerzenie materiaªu przedstawionego w [BS01].

2 1 Wst p Rozdziaªy 5-7 stanowi caªkowicie nowy materiaª po±wi cony bardzo ciekawemu przedsi wzi ciu budowy systemu zarz dzania bazami danych LORE i aparatu wykonawczego j zyka zapyta«lorel. Rozdziaª 5 to omówienie tego j zyka. W rozdziale 6 przedstawiªem architektur i zasady dziaªania aparatu wykonawczego LORE. Z kolei rozdziaª 7 to prezentacja koncepcji póªschematu w formie DataGuide. W rozdziale 8 omówiªem j zyki zapyta«dla danych XML, a w szczególno- ±ci najwa»niejszy z nich XQuery, który jest ju» standardem przemysªowym. Rozdziaª ten to rozwini cie i uzupeªnienie tre±ci przedstawionych w [BS07]. Rozdziaª 9, jako ostatni w cz ±ci dydaktycznej, stanowi prezentacj architektury stosowej zaproponowanej pod koniec XX wieku przez prof. Kazimierza Subiet. W czasie dziaªania grupy roboczej OMG, która miaªa wypracowa nowy standard dla obiektowych baz danych, uznano architektur stosow za idealny punkt wyj±ciowy do budowy tego standardu. Rozdziaª 9 jest uzupeªnieniem zagadnie«omówionych w [Ste06]. Rozdziaªy 10-13 to artykuªy naukowe zawieraj ce oryginalny wkªad w rozwój dziedziny baz danych. W rozdziale 10 zebraªem informacje o mojej autorskiej koncepcji póªmocnej kontroli typów pierwotnie opublikowanej w [Ste06, LSS06]. Rozdziaª 11 to oryginalna koncepcja strumieniowego aparatu wykonawczego SBQL. Pocz tkowe rozdziaªy ksi»ki zawieraj omówienie wielu ró»nych modeli danych. Rozdziaªy 12 i 13 to raport z próby zbudowania uniwersalnego modelu danych i uniwersalnego j zyka zapyta«. W szczególno±ci, uniwersalny model danych staª si podstaw do pewnych ogólnych wniosków na temat systemów odwzorowa«obiektowo-relacyjnych. 1.2 Projekt LoXiM W tym punkcie pragn opisa swoje do±wiadczenia z pewnego du»ego przedsi wzi cia programistycznego prowadzonego w ramach zaj ze studentami. Na pocz tku roku akademickiego 2005/6 rozpocz li±my budow systemu zarz - dzania baz danych zgodnie z architektur stosow (por. rozdz. 9). SBQL byª jego natywnym j zykiem zapyta«. Docelowo ów SZBD miaª obsªugiwa tak»e zapytania w innych j zykach zapyta«, takich jak SQL, OQL, Lorel i XQuery. Zapytania tych j zyków miaªy by odwzorowywane na SBQL, który odgrywaª rol asemblera. Budowanemu SZBD nadaªem nazw LoXiM, która to nazwa przegraªa w 2005 roku konkurs na miano nowej wersji systemu budowanego przez zespóª Kazimierza Subiety w PJWSTK. Zwyci sk w tamtym konkursie okazaªa si ODRA b d ca skrótem od Object Database for Rapid Application development [AHK + 08]. Nazwa LoXiM byªa wzorowana na nazwie legendarnego systemu LOQIS [Sub90a]. Sªowo LoXiM zawiera anagram skrótu XML, gdy» miaª to by system póªstrukturalny. Maªe literki o oraz i miaªy symbolizo-

1.2 Projekt LoXiM 3 wa obiektowo± i Internet, poniewa» w zamierzeniu system miaª by u»ywany w aplikacjach WWW. J zykiem implementacji LoXiM jest C++. Oczekiwaªem,»e studenci sami zorganizuj prace zgodnie z zasadami in»ynierii oprogramowania. Byli to przecie» studenci dwóch ostatnich lat studiów magisterskich 1. Studenci przyst pili do prac i z czasem powstaªy pierwsze zr by funkcjonalno±ci [Ole07]. Wkrótce system rozrósª si do ogromnych rozmiarów jak na przedsi wzi cie akademickie (ponad 100 000 wierszy kodu). Poszczególne fragmenty stawaªy si przedmiotem licznych prac magisterskich: optymalizacja zapyta«[sit07], klasy w modelu M1 [Kac07], podsystem dzienników [Bud07, Per10], interfejs programistyczny dla Javy [Ros07], aktualizowalne perspektywy [Gry08], narz dzia do monitorowania [Kla08], uniwersalny protokóª komunikacyjny [Tab08], póªmocna kontrola typów [Hum20], indeksy [Tur08], sterownik JDBC [Mic09], narz dzia do administracji zdalnej [Kos09] oraz interfejsy i schematy zewn trzne [D b09]. Powstaªa te» witryna przedsi wzi cia loxim.mimuw.edu.pl. Niestety, z czasem okazaªo si,»e budowa tego systemu przerosªa studentów. Jako± kodu okazaªa si zbyt niska. Dawaª si we znaki brak niezb dnych narz dzi i metodyk in»ynierii oprogramowania. Nadzieja,»e studenci informatyki sami spostrzeg ten brak, a mo»e nawet w por mu zaradz, okazaªa si pªonna. Wybór C++ jako j zyka programowania te» okazaª si niefortunny. LoXiM miaª ogromne wycieki pami ci. W ci gu kilku minut przetwarzania zapyta«potraª zgubi jeden gigabajt. Podj li±my próby naprawy tej sytuacji poprzez diagnozowanie i porz dkowanie [Dop09, Tim09] oraz refaktoryzacj aparatu wykonawczego [Šo±10]. Niestety, wysiªki te nie przyniosªy rezultatów. Owszem, ograniczono wycieki pami ci i zwi kszono stabilno±, jednak nie byªo mowy o doprowadzeniu LoXiM do jako±ci pozwalaj cej nawet na beta-testowanie. Przyczyn kªopotów byªo kilka. Po pierwsze, studenci nie byli w stanie narzuci sobie i kolegom najlepszych praktyk in»ynierii oprogramowania. Po drugie, okazaªo si,»e studenci nie znaj C++ oraz technik bezpiecznego pisania programów w tym j zyku. Po trzecie, brakowaªo ci gªo±ci studenci ko«czyli prace magisterskie i opuszczali zespóª na zawsze. W trakcie prac nad poprawianiem LoXiMa kilku studentów postanowiªo napisa podobny system od nowa, ale w ±rodowisku.net. Wkrótce powstaª w C# system LoXiM# [Grz09] maj cy lepsz stabilno±. Korzystaj c z aparatu wykonawczego i skªadu danych LoXiM#, studenci zbudowali fasad do obsªugi skªadu XML [Kac08] oraz procesor zapyta«sql [Pie09]. Niestety, wkrótce LoXiM# zostaª porzucony. Przyczyn byªa silna niech studentów MIMUW do technologii rmy Microsoft. Opisuj t histori, aby osoby pragn ce prowadzi podobne przedsi wzi cia mogªy unikn podobnych potkni. Ostatecznie zdecydowaªem o zbudowaniu w Javie nowej wersji LoXiMa. Postanowiªem odgórnie narzuci metody i techniki in»ynierii oprogramowania. Byªy to kroki sªuszne, poniewa» otrzy- 1 Miaªo to miejsce przed wprowadzeniem systemu bolo«skiego.

4 1 Wst p many system JLoXiM okazaª si stabilny i pozbawiony wad dwóch swoich poprzedników. Zastosowanie Javy wyeliminowaªo wiele kªopotów z zarz dzaniem pami ci operacyjn. Od pocz tku te» nad kodem ¹ródªowym czuwaª osobi±cie Piotr Tabor, sªuchacz studium doktoranckiego, który wcze±niej braª udziaª w budowie LoXiM. Dla JLoXiMa wybrali±my architektur warstwow widoczn na rys. 1.1 oraz peªn wymienno± wszystkich komponentów. Realizacja nowego j zyka zapyta«wymagaªa jedynie podmiany moduªów aparatu wykonawczego wstrzykiwanych w technologii Java Spring. Wymusili±my stosowanie wielu dobrych praktyk in»ynierii oprogramowania, jak codzienna budowa, testowanie regresywne, ±ledzenie usterek, przegl dy kodu itd. Zarówno LoXiM, jak i JLoXiM byªy dla studentów doskonaª lekcj o prowadzeniu przedsi wzi programistycznych, przy czym LoXiM to przykªad negatywny (jak tego nie robi ), a JLoXiM pozytywny (jak to robi ). JLoXiM ze swoj elastyczn architektur staª si poligonem do±wiadczalnym dla bada«naukowych nad strumieniowymi aparatami wykonawczymi. Wyniki tych prac opisali±my w rozdz. 11 niniejszego tomu oraz opublikowali±my w [TS10]. Raport z implementacji tego podej±cia znajduje si w pracy magisterskiej [Kut11]. Wymienno± wszelkich moduªów JLoXiM oznaczaªa,»e mogªy powsta liczne odmienne moduªy skªadowania danych [Ada11, wi11]. Opracowano na nowo tak»e wiele standardowych komponentów SZBD: podsystem odtwarzania po awariach [Šup11], indeksy [Len11], mened»er transakcji [Chm11], kontroler wspóªbie»no±ci [Bªa10], póªmocn kontrol typów [Man10] i obiektowe interfejsy programistyczne [Dor10]. Ostateczne wyniki przedsi wzi programistycznych pod wspóln nazw LoXiM mo»na uzna za pozytywne. To fakt,»e studenci nie byli w stanie narzuci sobie sami re»imu metodologicznego pozwalaj cego budowa du»e systemy informatyczne. Gdy jednak ten re»im wprowadzono z zewn trz, studenci ch tnie si mu poddali i potrali projektowa i programowa zgodnie z reguªami naszej profesji. Mam nadziej,»e z czasem poradz sobie tak»e z narzucaniem takiego re»imu sobie i innym. Wokóª projektu LoXiM powstaªo 29 prac magisterskich i dwa artykuªy konferencyjne [TS10, DST12]. Napisano kilkaset tysi cy linii kodu. Samej bazy danych nie udaªo si szeroko spopularyzowa w»adnej wersji. Kod ¹ródªowy bazy JLoXiM posªu»yª jako przedmiot studium problemowego z in-»ynierii oprogramowania opisanego w artykule [DST12]. Dokumentacj oraz kod ¹ródªowy JLoXiM mo»na znale¹ w witrynie projektu pod adresem jloxim.mimuw.edu.pl.

1.2 Projekt LoXiM 5 Rysunek 1.1. Moduªy architektury warstwowej JLoXiM