Interpreter Języka Zapytań SBQL dla Office Object Portal

Wielkość: px
Rozpocząć pokaz od strony:

Download "Interpreter Języka Zapytań SBQL dla Office Object Portal"

Transkrypt

1 POLSKO-JAPOŃSKA WYŻSZA SZKOŁA TECHNIK KOMPUTEROWYCH PRACA MAGISTERSKA Nr... Interpreter Języka Zapytań SBQL dla Office Object Portal Student/studentka Nr albumu Promotor Specjalność Katedra Data zatwierdzenia tematu Data zakończenia pracy Bogdan Bogucki, Marcin Michalak s1819, s1744 Prof. dr hab.kazimierz Subieta Inżynieria Oprogramowania i Baz Danych Systemów Informacyjnych Podpis promotora pracy Podpis kierownika katedry......

2 Streszczenie Praca przedstawia zaimplementowany przez autorów język zapytań SBQL, oparty o podejście stosowe, dla Office Object Portal, które jest repozytorium dla systemu Inteligentnego Zarządzania Wiedzą tworzonego w ramach piątego ramowego (ICONS). We wstępie jest przedstawiony cel pracy oraz jej podział pomiędzy autorów. W rozdziale dotyczącym stanu sztuki zostają przedstawione najważniejsze standardy oraz rozwiązania dostępne na rynku języków zapytań. Zostają przedstawione ich cechy oraz braki oraz zostaje przedstawiony oraz uzasadniony wybór rozwiązania jaki podjęli autorzy. W rozdziale dotyczących rozwiązań architektonicznych zostaje przedstawiona budowa oraz model danych Office Object Portal repozytorium dla którego autorzy tworzą język zapytań. W rozdziale dotyczącym języka SBQL zostaje on dokładnie przedstawiony. Opisana zostaje zasada działania. Przedstawiona jest też dokładnie specyfikacja języka jaki został zaimplementowany dla Office Object Portal. Rozdział poświecony interfejsowi graficznemu pokrótce go przedstawia oraz charakteryzuje. W rozdziale dotyczącym narzędzi zostają przedstawione narzędzia jakie zostały wybrane do implementacji oraz uzasadniony zostaje ich wybór. Kolejny rozdział przedstawia rozwiązania implementacyjne jakie zostały wybrane do realizacji pracy. W ostatnim rozdziale zostaje podsumowany rezultat pracy autorów oraz możliwości dalszej rozbudowy stworzonego języka zapytań.

3 Spis treści 1 Wstęp Stan Sztuki ICONS OfficeObjects Portal Języki zapytań Czym są języki zapytań? SQL Obiektowe języki zapytań OQL SBQL Wybór rozwiązania Założenia architektoniczne Model danych ooportal Język SBQL dla ooportal oparty o podejście stosowe (SBA) Podejście stosowe (SBA) Stos środowisk (ENVS) Rezultaty zwracane przez zapytania Stos rezultatów (QRES) Specyfikacja Gramatyki SBQL dla ooportal Proces ewaluacji zapytań Ewalujaca elementarnych zapytań Wywoływanie operatorów algebraicznych Wywoływanie operatorów nie-alegbraicznych Specyfikacja oraz opis działania operatorów zaimplementowanych w SBQL dla ooportal Operatory algebraiczn Operatory agregujące Operatory arytmetyczne Operatory porównania Operatory logiczne Operatory kolekcji Operatory matematyczne Operatory definiowania pomocniczej nazwy Operatory porządku Operatory języków narodowych Inne Operatory Operatory nie algebraiczne Interfejs programistyczny dla SBQL Rezultaty zwracane przez zapytania Interferes...72

4 5 Interfejs graficzny Narzędzia wykorzystane do realizacji pracy Język Java Charakterystyka Javy Różnice między Javą a C Generator skanerów leksykalnych Jflex Generator parserów LALR CUP SKN Wrapper Rozwiązania implementacyjne Konstrukcja skanera leksyklanego Konstrukcja parsera LALR Zakończenie Literatura...88 Dodatki...88 Dodatek A: Słownik użytej terminologii i skrótów...88

5 1.Wstęp Magistranci podjęli się implementacji prototypu języka zapytań opartego o podejście stosowe dla repozytorium Office Object Portal, które jest częścią europejskiego projektu ICONS. Repozytorium ooportal nie posiadało narzędzia które w sprawny oraz łatwy sposób było by w stanie odpytywać repozytorium, język taki powinien mieć podstawowe cechy: Mieć mocne podstawy teoretyczne Być łatwo rozszerzalny Przystosowany do modelu obiektowego Istnieje wiele języków zapytań, jednak wśród znanych magistrantom języków zapytań niewiele z nich spełnia dwie wyżej wymienione cechy. Prototyp języka dla repozytorium ooportal oparty o podejście stosowe doskonale pokazuje, że język mający mocne podstawy teoretyczne doskonale się sprawdza w przypadku dużych systemów. Pokazuje też że język jest: w pełni implementowalny, jest prosty w implementacji, łatwo rozszerzalny, prosty w użytkowaniu. Proponowane rozwiązanie oparte o podejście stosowe dla języków zapytań opracowane zostało przez Kazimierza Subiete oraz dokładnie opisane w książce Teoria i konstrukcja obiektowych języków zapytań [Subieta 2004]. Przy pracy nad prototypem języka zastosowano następujące narzędzia: Java język programowania użyty do implementacji prototypu języka zapytań dla repozytorium ooportal. JFlex generator analizatorów leksykalnych użyty przy konstrukcji parsera dla języka zapytań. CUP generator parserów LALR(1) użyty przy konstrukcji parsera dla języka zapytań. Rezultatem pracy jest prototyp języka zapytań oparty o podejście stosowe, umożliwiający zadawanie zapytań do repozytorium Office Object Portal. W oparciu o prototyp systemu inteligentnego zarządzania wiedzą, zbudowanego w ramach projektu ICONS opartego na repozytorium ooportal, został stworzony system zarządzania funduszami strukturalnymi do tego systemu magistranci stworzyli Interfejs graficzny pozwalający zadawać zapytania z poziomu strony WWW. Stworzony został także moduł pozwalający na użycie SBQL dla ooportal przez Structural Knowledge Graph Manager (SKGM). SKGM jest modułem pozwalającym przeglądanie zawartości repozytorium w sposób graficzny, nawigując po grafie.

6 Praca była tworzona w zespole dwuosobowym, więc konieczne było podzielenie pracy między członków zespołu. Podział pracy wyglądał następująco: Bogdan Bogucki: Implementacja skanera leksykalnego Implementacja operatorów Implementacja Graficznego Interfejsu z poziomu strony WWW Stworzenie dokumentacji na potrzeby projekty ICONS Marcin Michalak: Implementacja parsera Implementacja stosu środowiskowego Implementacja zarządzania referencjami Implementacja operatorów Implementacja API dla Javy oraz modułu dla SGKM Każdy z członków zespołu napisał swoją część pracy magisterskiej, która odpowiadała zakresowi pracy jaki wykonał w trakcie implementacji prototypu.

7 2.Stan Sztuki Rozdział ten ma na celu przybliżenie czytelnikowi projekt ICONS oraz systemu OfficeObjects Portal, rdzenia projektu ICONS) jak i przedstawienie istniejących rozwiązań w zakresie języków zapytań. Zostanie tutaj przedstawiona oraz scharakteryzowana tylko część najbardziej popularnych rozwiązań dotyczących języków zapytań ponieważ obszar związanych z językami zapytań jest tak olbrzymi, że stworzenie pełnego ich przeglądu jest niemożliwe. 2.1ICONS Celem projektu ICONS jest połączenie jednolitą całość rezultatów badań, technologii, standardów oraz istniejących narzędzi. Opracowana architektura ma posłużyć do budowy systemów zarządzania wiedzą oraz zawartością multimedialną. Integracja takich dziedzin jak sztuczna inteligencja, bazy danych połączone z zaawansowanymi cechami nowych architektur informatycznych da nowatorską architekturę Systemu Inteligentnego Zarządzania Zawartością (Intilligent CONtent Managment System ICONS). Badania w zakresie reprezentacji wiedzy są pokrywane przez takie paradygmaty jak logika (disjunctive Datalog), sieci semantyczne oparte o takie standardy jak UML, RDF oraz wiedzę proceduralną o procesach działalności opartą o grafy skierowane zgodnie z zaleceniami koalicji (WfMC). Wypracowane metody będą stanowiły bazę dla budowy Systemu Inteligentnego Zarządzania Zawartością (ICONS) w oparciu o wybraną platformę zarządzania zawartością. Prototyp ICONS ma zarządzać opartym na XML, multimedialnym repozytorium zawartości, przechowywać złożone obiekty informacyjne i reprezentacje (proxy) zewnętrznych informacji znajdujących się w heterogenicznych bazach, danych generowanych na wyjściach innych systemów przetwarzających, stronach Web oraz odpowiednich ontologii dziedzinowych. Portal Zarządzania Wiedzą o Projektach Funduszy Strukturalnych będzie dostępny poprzez Internet i będzie najlepszą demonstracją wyników projektu ICONS. [Ricons] 2.2OfficeObjects Portal OfficeObjects Portal (ooportal) jest portalem korporacyjnym mającym na celu zapewnienie dostępu do różnych rodzajów wiedzy gromadzonej w firmie. Ma to na celu pomoc pracownikom, zarządowi oraz partnerom handlowym czy klientom w kontrolowanym dostępie do korzystania z zasobów wiedzy firmy. Cechy ooportalu to: dostęp za pośrednictwem zwykłej przeglądarki internetowej pełne zintegrowanie wszystkich działających w firmie systemów informatycznych i powiązanie ze sobą rozdzielonych dotychczas zasobów danych za pośrednictwem Internetu pobieranie aktualnych danych z zewnętrznych źródeł, jak np. notowania giełdowe czy informacje z agencji prasowych i ich integrowanie z zasobami wiedzy firmy zarządzanie obiegiem dokumentów i wewnętrzną komunikacją w firmie (dzięki pośrednictwu wewnętrznej sieci intranetu) porządkowanie i kategoryzacja danych wg ustalonych i precyzyjnych kryteriów wymiana na bieżąco aktualizowanych informacji ze światem (z klientem, partnerem handlowym, mediami) nawiązywanie nowych kontaktów handlowych (z możliwością udzielenia natychmiastowej odpowiedzi)

8 dokonywanie za pośrednictwem Internetu transakcji handlowych (zamówienia on line) zapewnienie dobrego wizerunku firmy na zewnątrz oraz wśród pracowników (działania z zakresu Public Relations) dynamiczne wsparcie wszystkich działań promocyjnych i marketingowych firmy system informatyczny, zbierający całą firmową wiedzę do tej pory funkcjonował tylko i wyłącznie w jej wnętrzu (np. systemy klasy ERP). ooportal przy każdym wdrożeniu jest dostosowywany do potrzeb oraz specyfikacji danej firmy. [RooPortal] 2.3 Języki zapytań Każdy system którego przeznaczaniem jest zbieranie oraz przetwarzanie danych musi posiadać narzędzie które pozwoli odzyskiwać zgromadzone dane. Systemy Zarządzania Bazami Danych (SZBD) gromadzą duże ilości danych więc narzędzia wydobywające z nich dane muszą być odpowiednio rozbudowane oraz powinny spełniać określone wymagania. Za pomocą takich narzędzi powinny być możliwe wyszukiwanie danych spełniających określone warunki, agregowanie danych oraz inne dostosowane do odpowiednich wymagań operacje. Systemy te są generyczne więc potrzebują uniwersalnych narzędzi, takimi narzędziami są języki zapytań Czym są języki zapytań? Języki zapytań (query langages) są interfejsami najczęściej programistycznymi, które pozwalają przeszukiwać bazę danych według zadanych kryteriów. Trudno jest jednoznacznie określić czym są lub czym powinny być języki zapytań. W tej sprawnie zdania są podzielone, możemy sie spotkać z takimi definicjami języków zapytań: Prosty interfejs dla użytkownika. Takie podejście przedstawiają takie języki zapytań jak SQL, OQL, języki oparte o formularze Query by Example czy inne graficzne języki zapytań. Gdy byl tworzony SQL twórcy tego języka mieli nadzieje, że będzie on przeznaczony dla użytkownika nie znającego sie na programowaniu, lecz okazało się, że nawet taki język jest zbyt skomplikowany dla tego typu użytkownika. Dlatego obecnie języki zapytań oparte graficzne o formę graficzną są przeznaczone dla powszechnego użytkownika, a języki typu SQL dla programistów. Języki oparte o matematyczne teorie. Języki te oparte są o teorie matematyczne np. logikę matematyczną. Jednak tego typu podejście nie jest już lansowane. Języki takie nie sprawdziły sie w dziedzinie baz danych. Języki zapytań zanurzane w języki programowania. Takie podejście jest bardzo często stosowane np. ExecSQL (SQL zanurzony w język C). Podejście to jednak niesie ze sobą wiele problemów jak niezgodności impedancji. Języki te są na różnych poziomach abstrakcji co prowadzi do niezgodności miedzy innymi takich rzeczy jak: składni, systemu typów, semantyki. Konstrukcje wysokiego poziomu zintegrowane z językiem programowania. W języku tego typu oprócz zdań języka zapytań występują instrukcje imperatywne (programistyczne) co tworzy z tego języka pełny interfejs do programowania aplikacji. Przykładem takiego języka jest PL/SQL systemu Oracle czy SBQL systemu Loqis. Język zapytań dla Office Object Portal jest skierowany do programistów, dlatego magistranci wybrali ostatnie z wymienionych rozwiązań. Jest ono najbardziej dojrzałe oraz pozwala

9 efektywnie tworzyć aplikacje. Implementacja dla potrzeb ooportal zawiera jedynie zdania języka zapytań ale język ten może być bez problemu rozbudowany o instrukcje imperatywne SQL Uważa się ogólnie, że języki zapytań powinny mieć następującej własności: Wysoki poziom abstrakcji. Użytkownik tworzący zapytanie powinien móc posługiwać sie tylko logicznym schematem danych. Danie powinny być niezależne od ich organizacji fizycznej. Deklamacyjność. Oznacza skupienie się na tym co wyszukujemy a nie jak. Makroskopowość. Działanie na kolekcjach danych nieograniczonych i nieznanych rozmiarach. Naturalność. Wspomaganie naturalnych schematów myślenia użytkownika. Efektywność. Akceptowalne czasy wykonywania zapytań. Sprowadza się to do możliwości użycia automatycznych optymalizacji zapytań. Optymalizacja taka ma na celu zmniejszenie nieakceptowalnego czasu (np. 100 lat) do akceptowalnego (np. kilka sekund). Uniwersalność. Zdolność języka do dowolnych operacji wyszukiwania danych. Niezależność od dziedziny zastosowań. Wykonywanie zapytań w trybie interpretacyjnym. Późne dynamiczne wiązanie, brak kompilacji oraz konsolidacji z aplikacją. Język dla ooportal musi spełniać wszystkie te własności. Funkcjonowanie współczesnych systemów relacyjnych baz danych oparte jest głównie na języku SQL (Structured Query Language, strukturalny język zapytań). Wszystkie Relacyjne SZBD korzystają z jakiejś modyfikacji języka SQL. W roku 1970 E.F. Codd, naukowiec pracujący w firmie IBM publikuje prace zatytułowaną "A Relational Model of Data for Large Shared Data Banks" Codd proponuje wykorzystanie relacyjnej algebry jako podstawy do tworzenia oprogramowania bazodanowego. Propozycja Codda zostaje szybko zauważona przez jego firmę, której dział R&D w roku 1976 tworzy relacyjną bazę danych nazwaną SYSTEM/R oraz nowy język relacyjny nazwany Strukturalnym Językiem Zapytań. Istnieje wiele standardów tego języka: SQL-86, SQL-89, SQL-92, SQL3 nad którym prac zaprzestano na rzecz obecnie tworzonego standardu SQL1999. Mimo, że istnieje tyle standardów trudno znaleźć SZBD który jest zgodny w 100% z jednym z wyżej wymienionych standardów. Większość producentów, zwłaszcza czołowych, wprowadza wiele własnych elementów do języka, co prowadzi do niekompatybilności kodu programu na różnych SZBD oraz osłabieniu standardu. Najczęściej stosuje się dwa sposoby użycia SQL: Dynamiczne lub statyczne wywołania za pomocą odpowiednich API (ODBC, JDBC) SQL zanurzony w rożne języki niższego poziomu C/C++, Java. Zanurzenie SQL w język niższego poziomu może odbywać sie na kilka sposobów. Jest to realizowane za pomocą API producenta danego SZBD. Sposoby wyżej wymienione napotykają na problem zwany niezgodnością

10 impedancji. Problem ten wynika z różnych koncepcji pomiędzy językami stosowanymi do budowy aplikacji a SQL. Problemy te są możliwe poprzez zastosowanie zbudowanie języka opartego na języku zapytań a jednocześnie zdolnego do budowy aplikacji. Przykładem takiego języka jest PL/SQL firmy Orcale. Jednak i w tym języku występuje niezgodności impedancji jest to spowodowane złym podejściem do budowy tego typu języków. PL/SQL jednak potrafi budować aplikacje tylko w oparciu o strony WWW ponieważ jego kod jest wykonywany po stronie serwera. Słabą stroną SQL jest brak ortogonalności operatorów. Ortogonalnością nazywamy taką własność języka gdy każda kombinacja cech języka, która ma sens jest dozwolona. Brak ortogonalności skutkuje strasznie dużą specyfikacją języka oraz trudna,wręcz niemożliwą implementacją standardu. Specyfikacja standardu SQL1999 sięga 1000 stron i jak dotąd nie została w pełni zaimplementowana w żadnym SZBD. Język SQL posiada także kilka anomalii, czyli specyficznego oraz nieregularnego traktowania niektórych cech języka. Przykładem może tu być obsługa typu NULL, Która jest w zależności od sytuacji różnie traktowana. Charakterystyka SQL: Oparty o model relacyjny, Pozwala na przetwarzanie wielozbiorów oraz zbiorów krotek, Duża specyfikacja standardu, Nie jest w pełni implementowany, Brak ortogonalności operatorów, Złe przystosowanie do obsługi wyrażeń scieżkowych, Możliwość używania SQL z poziomu innych języków, lecz wtedy powstaje problem niezgodności impedancji, SQL jest najpopularniejszym językiem zapytań Obiektowe języki zapytań Repozytorium Office Object Portal jest oparte o model obiektowy. Z tego powodu język zapytań dla ooportal powinien obsługiwać taki model danych. Systemy relacyjne w dziedzinie języków zapytań zostały całkowicie zdominowane przez język SQL, natomiast obiektowe SZBD nie doczekały ogólnie przyjętego standardu, który był by implementowany w większości obiektowych SZBD. Istnieje standard ODMG, który zawiera specyfikacje języka OQL (Object Query Language) lecz standard ten nie został powszechnie przyjęty przez producentów obiektowych SZBD. Większość producentów obiektowych SZBD raczej skupia się na zapewnieniu trwałości obiektów niż na języku zapytań, często też implementują rozbudowana wersje SQL OQL Głównym powodem małej popularności obiektowych SZBD był brak standardu. Relacyjne SZBD swój sukces zawdzięczają głównie przez przyjęcia SQL za standard. Postanowiono więc u standaryzować także obiektowe bazy danych co miało na celu pisanie kompatybilnego kodu na różne obiektowe bazy danych. Inicjatorem pomysłu standaryzacji był Rick Cattel. Można wymienić w punktach następujące osiągnięcia organizacji ODMG:

11 Została powołana grupa pracy nad standardem nazwana ODMG (Object Database Management Group). Pierwszy zarys standardu został opublikowany w roku Został nazwany ODMG 93 (1.0). W roku 1993 nastąpiło stowarzyszenie z OMG (Object Management Group). W roku 1996 został opublikowany standard ODMG wersja 1.2. ODMG 2.0 został opublikowany w roku ODMG 3.0 został opublikowany w roku Architektura przedstawiona przez standard ODMG wygląda następująco: Model obiektowy. Jako model obiektowy zaproponowany został model przedstawiony przez OMG. Język specyfikacji obiektu ODL. Jako podstawa do budowy tego języka ODL został wybrany IDL (Interface Definition Language) znany z CORBA. Obiektowy język zapytań OQL. Język zapytań jest językiem deklaratywnym. Oparty on został o SQL. Wiązanie do języków programowania C++, Smalltalk, Java. Standard umożliwia wiązania OQL do języków programowania i zanurzania zapytań w kodzie języka programowania. Grupa ODMG przyniosła standard obiektowych baz danych, jednak i on nie został zaakceptowany przez przemysł obiektowych SZBD. Powodów tej sytuacji jest kilka: Standard ten ma wiele braków. (np. mętny oraz niespójny system metadanych zapożyczony z repozytorium metadanych standardu OMG dotyczącego CORBY). Część standardu nie jest w pełni implementowalna (np. OQL). Konsorcjum ODMG jest duże, duże komitety charakteryzuje powolny system działania oraz wprowadzania zmian. Standard jest dość duży i trudno implementowalny, wielu producentów obiektowych baz danych wolało wprowadzać własne rozwiązania najczęściej hybrydowe obiektoworelacyjne, jako język zapytań stosując rozbudowana wersję SQL. Miało to także charakter marketingowy. O ile język definicji obiektów (ODL) wzorowany na IDL z CORB-y jest spójny łatwy w użyciu i kompletny, to OQL wzorowany na SQL jest językiem niekompletnym trudnym w użyciu posiadającym cech oraz rozwiązań. Charakterystyka OQL:[WykODMG04] Przypomina SQL. Podobieństwo jednak dotyczy tylko lukru syntaktycznego, czyli słów kluczowych.(np. Select, Where itp). Przewiduje konstrukcje wysokiego poziomu do obsługi zbiorów obiektów. Zapewnia ortogonalne kombinowanie operatorów o ile pozwala na to mocna kontrola typów.

12 Pozwala na zanurzanie zapytań OQL w językach programowania dla których ODMG zdefiniowało wiązania. Nadal jednak istnieje tutaj niezgodność impedancji. Nie posiada operacji aktualizujących. Aktualizacje na bazie danych można wywołać tylko z poziomu języka programowania do którego zostało zdefiniowane wiązanie przez ODMG. Jest językiem deklaracyjnym SBQL Historia podejścia stosowego (SBA Stack Based Aproach) zaczyna się w latach kiedy Kazimierz Subieta twórca tej teorii zaimplementował system Linda. System ten posiadał jedynie zarys podejścia stosowego. Przez kolejne lata podejście to było rozwijane oraz implementowane w różnych systemach. Kolejne etapy rozwoju tej teorii były następujące [Subieta 2004]: Praca habilitacyjna autora podejścia stosowego z roku 1985 była pierwszym dokumentem opisującym istotę teorii. [Subieta 1985]. W 1989 roku w firmie Intra-Video z Berlina Zachodniego powstaje pierwsza implementacja zwierająca już sprecyzowane zasady SBA. System o nazwie Netul był produktem przemysłowym i został użyty do budowy systemów eksperckich. W Instytucie Podstaw Informatyki w 1990 roku powstaje prototyp obiektowej bazy danych Loqis zawierający praktycznie większość cech SBA jakie posiada ono obecnie. W 1996 roku teoria zostaje rozwinięta o techniki optymalizacyjne. W kolejnych latach powstają kolejne implementacje SBA między inymi język zapytań dla XML [PieHryXML], czy całkiem nowy SZBD o nazwie YAOD obecnie nazwa zmieniła się na ODRA. Obecnie trwają dalsze prace nad rozwijaniem SBA m.in. W kierunku modelu obiektowego z rolami, aktualizowanych obiektowych perspektyw, meta-modelu, przetwarzaniu zapytań w środowiskach rozproszonych i innych. Oprócz wymienionych wcześniej właściwości jakie powinien posiadać język zapytań SBQL posiada inne nie spotykane dotąd w tej dziedzinie. Właściwości te stawiają go wśród języków zapytań, zdaniem autorów pracy, na pierwszym miejscu. Są to [Subieta 2004]: Koncepcyjna prostota, czysta i precyzyjna semantyka języka zapytań. Minimalizacja zestawu pojęć niezbędnych do opisu semantyki. Uniwersalność podejścia i tworzonych na jego podstawie języków. Kompozycyjność i ortogonalność; minimalizacja konstrukcji gramatyczno - semantycznych tworzonych języków. Jednorodne podejście do wszystkich pojęć modelu obiektowego (złożone obiekty, tożsamość, klasy, dziedziczenie, hermetyzacja, role, itd.). Jednorodne podejście do konstrukcji programistycznych bazujących na języku zapytań (perspektywy, procedury, metody, parametry procedur i metod, itd.). Modularność definicji języka (możliwość dowolnej hermetyzacji jego konstrukcji).

13 Wysoki potencjał dla optymalizacji zapytań. Bardzo łatwo rozszerzalny o nowe komponenty zależne od dziedziny w jakiej ma być używany. Język SBQL nie opiera sie na SQL nie ma z nim związków nie powiela więc błędów oraz problemów jakie spotykamy przy SQL. Rozbudowany SBQL jest językiem 4 generacji ideą przypomina PL/SQL język programowania zintegrowany z językiem zapytań. SBQL jednak dzięki traktowaniu wyrażeń języka programowania jako zapytań rozwiązuje problem niezgodności impedancji. Istnieją SZBD oparte o SBQL takie jak Loqis czy ODRA udowadniają że jest on możliwy do implementacji Wybór rozwiązania Magistranci wybrali język SBQL ponieważ jest to język przystosowany do systemów obiektowych a repozytorium Office Object Portal jest oparte o model obiektowy. Język ten jest możliwy do zaimplementowania, a jego implementacja jest prosta. Łatwo jest go dostosować do potrzeb oraz rozbudować do języka programowania. Język ten także łatwo sie rozbudowuje, a SBQL dla ooportal będzie w przyszłości rozbudowywane o takie elementy jak optymalizacja kontrola typów czy równania stało punktowe. 3.Założenia architektoniczne Zawartość repozytorium prototypu ICONS jest oparte o inny model danych niż systemy relacyjne więc użycie języka SQL jako języka do wydobywania danych jest niemożliwe. Coraz częściej spotyka się z opinają, że czas relacyjnych systemów już się powoli kończy, szczególnie w przypadku systemów o złożonym modelu danych. Język zapytań, czyli interfejs programowania dla bazy danych, skierowany jest bardziej do programistów niż do użytkowników końcowych systemu. Język zapytań dla repozytorium ICONS powinien spełniać następujące kryteria: Uniwersalność, zdolność do definiowania dowolnych operacji wyszukiwania. Obsługa uniwersalnych oraz złożonych modeli danych. Wypełni implementowany. Prosty oraz przyjazny dla użytkowników. Posiadający precyzyjnie zdefiniowana semantykę. Mający możliwość automatycznej optymalizacji. Możliwość integracji języka z instrukcji imperatywnymi. Możliwość obsługi klas, metod, widoków, trigerów. Jedynym językiem spełniającym wszystkie te założenia jest język SBQL oparty o podejście stosowe (SBA). Inne języki jak SQL(wykorzystywany w systemach relacyjnych), OQL(stosowany systemach obiektowych) czy XQuery(język zapytań dla XML'a) nie spełniały tych wszystkich założeń. SBQL przykrywa wszystkie cechy jakie posiada repozytorium ICONS co więcej pozwala na obsługę o wiele większych i bardziej złożonych modeli danych zawierających takie cech jak (hermetyzacje klas, dziedziczenie oraz polimorfizm, metody, dynamiczne role, aktualizowane perspektywy). SBQL jest oparty o abstrakcyjna składnie i nie jest stworzony dla konkretnego modelu składu. Język ten da się dostosować do konkretnego modelu składu oraz konkretnej składni wedle potrzeb danego

14 systemu. SBQL posiada wszystkie klasyczne operatory posiada także bardzo potężny system nawigacji po danych dzięki wyrażeniom ścieżkowym. Obecnie istnieją implementacje prototypów SBQL dla klasycznego obiektowego modelu danych (LOQIS), dla modelu danych XML (model składu oparty na DOM) oraz dla rozszerzonego modelu obiektowego zawierającego statyczne oraz dynamiczne dziedziczenie (dynamiczne role). W naszym podejściu język zapytań jest zbiorem klas Javy wraz z odpowiednimi interfejsami które pozwalają z poziomu języka Java zadać zapytanie wykonać je oraz wynik zapytania zwrócić jako obiekty Javy, gdzie mogą być przetwarzane za pomocą standardowych cech Javy. Językiem implementacji SBQL jest Java gdyż zapewnia ona najłatwiejszą integracje języka zapytań z repozytorium ICONS, które w dużej części jest także zaimplementowane w Javie. Poniżej znajduje się ogólna architektura implementacji SBQL dla repozytorium ICONS. JAVA Application QRES SBQL JAVA API ENVS Metabase SBQL Module SKN Wrapper Repozytorium ICONS Interfejs SBQL dla JAVY: jeden z interfejsów pozwalających z poziomu programu javy wykonać zapytanie SBQL oraz zwróci wynik zapytania w postaci obiektów javy, gdzie dalej za pomocą programu w javie będą dalej przetwarzane. Moduł SBQL: parser oraz interpreter języka SBQL przetwarzający zapytania. SKN Wrapper: interfejs zapewniający dostarczanie danych oraz meta danych z repozytorium. Meta dane: struktura zawierająca obecny schemat repozytorium razem z informacjami pozwalającymi na kontrole typów oraz optymalizacje zapytań. Stos Środowiskowy: struktura z której korzysta SBQL trzymając tam tymczasowy stan języka zapytań podczas przetwarzana zapytania, odpowiada za wiązanie nazw, przekazywanie parametrów, kontrolowanie zakresów itp. Stos ten występuje pod dwoma postaciami statyczny stos środowiskowy wykorzystywany w pierwszej fazie kiedy następuje optymalizacja zapytania, oraz stos środowiskowy czasu wykonania wykorzystywany podczas ewaluacji zapytania. Stos rezultatów: struktura danych trzymająca pośrednie oraz końcowe wyniki zapytania. Stos rezultatów także występuje w dwóch postaciach. Statyczny stos rezultatów wykorzystywany w pierwszej fazie kiedy następuje optymalizacja zapytania, oraz stos rezultatów czasu wykonania wykorzystywany podczas ewaluacji zapytania.

15 3.1Model danych ooportal. Model danych ooportal, na którym pracuje SBQL przypomina prosty system obiektowy. Język operuje na obiektach, które są wystąpieniem klasy. Klasy mogą być połączone ze sobą asocjacjami binarnymi. Każda asocjacja ma nazwę (role) oraz druga bliźniaczą asocjacje. Wystąpieniem asocjacji jest link. Linki są połączeniami między obiektami. Każdy obiekt posiada unikalny identyfikator oraz nazwę. Obiekt zawiera atrybuty, które są wartościami atomowymi, obiekty złożone jako atrybuty nie obsługiwane przez ooportal. W ooportal jest kilka rodzajów atrybutów. Atrybut może należeć do jednego z rodzajów lub być ich kombinacją. Oto rodzaje atrybutów jakie są stosowane w modelu danych ooportal. Atrybut wymagany atrybut który musi zawierać wartość w konkretnym wystąpieniu obiektu. Np.: atrybut Nazwisko czy PESEL które powinny być obowiązkowe dla każdego obiektu klasy Pracownik. Atrybut opcjonalny - taki który w konkretnym wystąpieniu obiektu może posiadać wartości lub nie. Np.: atrybut Nazwisko Panieńskie, atrybut taki nie wszyscy pracownicy będą wstanie posiadać. Atrybut powtarzalny, który to przechowuje pewien zestaw wartości o nieokreślonej i zmiennej w czasie liczbie elementów. Np.: atrybut specjalność, niektórzy pracownicy maja więcej specjalności inni mniej poza tym wraz z ukończonymi kursami danego pracownika atrybut ten może zwiększać liczbę elementów. Atrybut słownikowy, którego zbiór wartości jakie może przyjąć określa zdefiniowany w bazie danych słownik. Atrybut słownikowy jest powiązany z danym słownikiem. np.: atrybut dzień typu String powiązany ze słownikiem Dni Tygodnia który to zawiera wartości { Poniedziałek, Wtorek, Środa, Czwartek, Piątek, Sobota, Niedziela }, który przyjmuje jako wartość dni tygodnia zdefiniowane w słowniku. Każdy atrybut poza swoim rodzajem lub ich kombinacją posiada także typ ooportal udostępnia następujące typy proste dla atrybutów: Number (Integer), liczba całkowita Float, liczba rzeczywista String, łańcuch znaków Date, data Boolean, wartość logiczna

16 Przykładowy diagram klas w modelu ooportal. Employee! String Name! String - Surname? String - Maiden Name! Number - Salary! Date Born Date!$* String - Specjality PracujeW Zatrudnia Kieruje Szef Department! String - Name!* String Location Dictionary Specjality { Programmer, Asistant, Designer,, Administrator } Legenda:! - atrybut wymagany? - atrybut opcjonalny $ - atrybut słownikowy * - atrybut powtarzalny Warto w tym momencie zauważyć, że język SBQL został stworzony i jest zdolny obsługiwać o wiele bardziej skomplikowane struktury danych, które uwzględniają takie aspekty jak: Zagnieżdżone obiekty posiadające nie tylko atrybuty atomowe ale także złożone oraz struktury typu XML, istnieje implementacja języka zapytań dla XML oparta o podejście stosowe. Hermetyzacja, hierarchia klas oraz dziedziczenie. Metody oraz procedury. Dynamiczne role. Oraz porusza i rozwiązuje zagadnienia z jakimi borykają się komercyjne systemy baz danych (relacyjne jak i obiektowe) od lat, związane miedzy innymi z: Aktualizowanymi perspektywami Instrukcjami Imperatywnymi Kontrolą typologiczną. Traktowaniem języka zapytań jako pełnego języka programowania. Praktycznie każdy z wyżej wymienionych aspektów posiada działającą implementacje potwierdzająca możliwości języka SBQL oraz łatwość implementacji. Model jaki oferuje ooportal pokazuje jedynie mały procent mocy oraz możliwości jakie drzemie w języku SBQL. 4. Język SBQL dla ooportal oparty o podejście stosowe (SBA) Język SBQL dla ooportal jest oparty o podejście stosowe. Konstrukcje semantyki języka opierać będziemy na pojęciach nazywania, zakresu oraz wiązania, które to występują praktycznie w każdym języku programowania. Operacje te są wykonywane na stosie środowiskowym Stąd nazwa podejście stosowe. Język SBQL dla ooportal zakłada tylko instrukcje wyszukiwana danych, tzn. nie zmienia stanu repozytorium ICONS.

Temat : SBQL 1 obiektowy język zapytań.

Temat : SBQL 1 obiektowy język zapytań. Laboratorium Języki i środowiska przetwarzania danych rozproszonych Temat : SBQL 1 obiektowy język zapytań. Historia zmian Data Wersja Autor Opis zmian 23.4.2012 1.0 Tomasz Kowalski Utworzenie dokumentu

Bardziej szczegółowo

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009 SBQL język zapytań dla obiektowych baz danych Kamil Adamczyk Uniwersytet Warszawski 20.IV.2009 Spis treści 1. Wstęp 2. Obiektowe bazy danych Model danych Języki zapytań Dostępne produkty 3. Sbql Główne

Bardziej szczegółowo

JPS. cwiczenia 3. Stosy, proste zapytania. Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych

JPS. cwiczenia 3. Stosy, proste zapytania. Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych JPS cwiczenia 3. Stosy, proste zapytania Michał Lentner Polsko-Japońska Wyższa Szkoła Technik Komputerowych Baza danych używana w przykładach Baza danych używana w przykładach

Bardziej szczegółowo

Języki i Środowiska Programowania Baz Danych 2010/2011 PJWSTK, 2010

Języki i Środowiska Programowania Baz Danych 2010/2011 PJWSTK, 2010 JPS Języki i Środowiska Programowania Baz Danych 2010/2011 PJWSTK, 2010 Emil Wcisło Wykład i ćwiczenia z JPS są poświęcone obiektowym bazom danych. Studenci poznają podstawowe założenia podejścia stosowego

Bardziej szczegółowo

Języki i środowiska przetwarzania danych rozproszonych

Języki i środowiska przetwarzania danych rozproszonych Języki i środowiska przetwarzania danych rozproszonych Wykładowca: Tomasz Kowalski Język SBQL (Stack- Based Query Language) Operatory nie-algebraiczne Wykłady przygotowane na podstawie materiałów prof.

Bardziej szczegółowo

Temat : SBQL 1 obiektowy język zapytań.

Temat : SBQL 1 obiektowy język zapytań. Laboratorium Języki i środowiska programowania systemów rozproszonych Temat : SBQL 1 obiektowy język zapytań. Historia zmian Data Wersja Autor Opis zmian 23.4.2012 1.0 Tomasz Kowalski Utworzenie dokumentu

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Paweł Kurzawa, Delfina Kongo

Paweł 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ółowo

Języki i środowiska przetwarzania danych rozproszonych

Języki i środowiska przetwarzania danych rozproszonych Języki i środowiska przetwarzania danych rozproszonych Wprowadzenie do przetwarzania kolekcji w językach programowania Wykładowca: Tomasz Kowalski Wykład przygotowany na podstawie materiałów prof. Kazimierza

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: 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ółowo

Wykład I. Wprowadzenie do baz danych

Wykł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ółowo

Programowanie obiektowe - 1.

Programowanie 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ółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie 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ółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - 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ółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie

Bardziej szczegółowo

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy 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ółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz 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ółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

Bardziej szczegółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo

Podyplomowe 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 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ółowo

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Mariusz 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ółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Zagadnienia (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) 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ółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy

Bardziej szczegółowo

KOR. Konstrukcja systemów obiektowych i rozproszonych. PJWSTK, 2010 Emil Wcisło.

KOR. Konstrukcja systemów obiektowych i rozproszonych. PJWSTK, 2010 Emil Wcisło. KOR Konstrukcja systemów obiektowych i rozproszonych 2010 PJWSTK, 2010 Emil Wcisło Ćwiczenia Ćwiczenia z KOR w roku 2010/11 w semestrze letnim odbywać się będą: Dla studiów niestacjonarnych: Dla grupy

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Spis treści. Przedmowa

Spis 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ółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz 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ółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne Architektury i technologie integracji danych Systemy Mediacyjne Multi-wyszukiwarki Wprowadzenie do Mediacyjnych Systemów Zapytań (MQS) Architektura MQS Cechy funkcjonalne MQS Cechy implementacyjne MQS

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy 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ółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

Bardziej szczegółowo

Pojęcie bazy danych. Funkcje i możliwości.

Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiał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ółowo

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 LITERATURA Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 Systemy baz danych. Pełny wykład H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom;WNT Warszawa 2006 Wprowadzenie do systemów

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

OfficeObjects e-forms

OfficeObjects 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ółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs 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ółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym 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ółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy 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ółowo

Programowanie obiektowe

Programowanie 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ółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

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ółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT 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ółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych

Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych Wykład prowadzi: Tomasz Koszlajda Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych W ramach niniejszego wykładu zostaną

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny. PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!

Bardziej szczegółowo

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania

Bardziej szczegółowo

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu Podstawy baz danych PODSTAWY BAZ DANYCH 19. Perspektywy baz danych 1 Perspektywy baz danych Temporalna baza danych Temporalna baza danych - baza danych posiadająca informację o czasie wprowadzenia lub czasie ważności zawartych

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy Obiektowy model Wykład prowadzi: Tomasz Koszlajda Plan wykładu Przesłanki dla nowej generacji systemów baz Podstawowe elementy obiektowego modelu Konstruktory złożonych typów Abstrakcyjne

Bardziej szczegółowo

problem w określonym kontekście siły istotę jego rozwiązania

problem w określonym kontekście siły istotę jego rozwiązania Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego

Bardziej szczegółowo

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

Bardziej szczegółowo

Baza danych. Baza danych to:

Baza 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ółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego. Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE INTERNETOWE Internet Programming

Bardziej szczegółowo

Technologie obiektowe

Technologie 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ółowo

Oracle PL/SQL. Paweł Rajba.

Oracle 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ółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor

Dokument 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ółowo

Modelowanie danych, projektowanie systemu informatycznego

Modelowanie danych, projektowanie systemu informatycznego Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe

Bardziej szczegółowo

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne

Bardziej szczegółowo

Metody Kompilacji Wykład 3

Metody Kompilacji Wykład 3 Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy

Bardziej szczegółowo