Eksploracja i ochrona danych multimedialnych
|
|
- Edward Sosnowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Rozdział 35 Eksploracja i ochrona danych multimedialnych Streszczenie. Treścią rozdziału jest analiza funkcjonalności rozszerzenia Oracle intermedia zarządzającego danymi multimedialnymi przechowywanymi w bazie danych Oracle pod kątem zgodności ze standardem SQL/MM a także metod dostępu do danych. Omówiono podstawowe założenia standardu SQL/MM oraz zaprezentowano możliwości analizy i eksploracji danych multimedialnych za pomocą Oracle intermedia. Przedstawiono także zasadnicze problemy związane z ochroną danych w systemach zarządzania multimedialną bazą danych. Zwrócono uwagę na brak efektywnych rozwiązań technicznych umożliwiających wykrywanie włamań do tego typu baz danych. Obecnie znane metody wykrywania włamań oparte na sygnaturach są niewystarczające, ponieważ rozwiązania takie zapewniają jedynie wykrywanie włamań dobrze zdefiniowanych. Potrzeba zastosowania inteligentnych systemów, zdolnych do wykrywania nieznanych metod ataków jest inspiracją do badań naukowych z zakresu wykrywania anomalii. W rozdziale dokonano także przeglądu aktualnego stanu badań naukowych w tym zakresie. 1 Wstęp Obecne wyzwania stojące przed systemami zarządzania bazami danych to już nie tylko efektywna i sprawna obsługa ciągów tekstowych, ale coraz częściej także szybki i skuteczny sposób przechowywania danych multimedialnych. Dużego rozmiaru teksty, pliki audio, obrazy i sekwencje wideo to coraz częściej spotykane typy danych przechowywanych w bazach danych. Multimedialne bazy danych znajdują zastosowanie głównie w rozwiązaniach komercyjnych, państwowych i instytucjonalnych, choć pojawiają się także w produktach zorientowanych na użytkownika domowego. Ponieważ język SQL nie oferował metod dostępu i obsługi danych multimedialnych, zaszła potrzeba stworzenia nowego standardu, uwzględniającego ten aspekt. W wyniku prac naukowych powstał standard SQL Multimedia and Application Packages, którego skrótowa nazwa to SQL/MM. Na równi z potrzebą standaryzowania metod składowania danych multimedialnych pojawia się problem bezpiecznego korzystania z tych danych. Mimo wielomilionowych nakładów finansowych korporacji zajmujących się wytwarzaniem aplikacji bazodanowych, są Andrzej Barczak, Jacek Garbaczewski, Jarosław Skaruz: Akademia Podlaska, Instytut Informatyki, ul. Sienkiewicza 51, Siedlce, Polska {a.barczak, jaroslaw.skaruz}@ap.siedlce.pl, jacek@iis.ap.siedlce.pl
2 A. Barczak, J. Garbaczewski, J. Skaruz one w dalszym ciągu przedmiotem częstych prób włamań i przejęcia kontroli nad przechowywaną w nich zawartością. Rynek XXI wieku szuka więc optymalnych rozwiązań w tej dziedzinie, zwracając uwagę nie tylko na cenę ale i jakość, bezpieczeństwo i możliwości rozwoju oferowanych produktów. Struktura standardu SQL/MM podobna jest pod względem opisu do struktury standardu SQL, który podzielony jest na wiele części opisujących poszczególne funkcjonalności języka. Inaczej jednak niż w przypadku standardu SQL, luźno powiązane ze sobą części specyfikacji SQL/MM pozwalają na wykorzystanie ich nie tylko w przetwarzaniu danych multimedialnych, ale również w innych rozwiązaniach. Obecnie standard obejmuje pięć części, od I do VI ponieważ prace nad czwartą częścią standardu SQL/MM zostały zawieszone. Niedoszła czwarta część specyfikacji miała obejmować dane matematyczne i umożliwiać operacje na nich. Mamy więc do czynienia z następującymi partiami standardu. Część I: SQL/MM Framework nie dotyczy bezpośrednio żadnego typu danych, zawiera jedynie wspólne dla pozostałych części standardu definicje metod i stosowanych typów danych [2]. Część II: SQL/MM Full-text jak wskazuje nazwa definiuje zbiór typów danych do składowania i przetwarzania dużych obiektów tekstowych. W tej części opisane zostały także metody wyszukiwania obiektów według zadanych parametrów wejściowych. Nie chodzi tutaj już o proste przeszukiwanie bazy danych w oparciu o podawany w warunku przeszukiwania ciąg tekstowy ale ze względu na właściwość danego łańcucha tekstu [3]. W szczególności można tutaj mówić o porównywaniu kontekstów wystąpienia danego łańcucha tekstowego, uwzględniającego jego odmianę, a nawet znaczenie poszczególnych słów w danym kontekście. Jedną z wielu podstawowych metod jest funkcja Contains, która posiada wiele możliwości zastosowań od prostego warunku porównania łańcucha (Contains ( ciąg do wyszukania )) do przeszukiwania ze względu na brzmienie danego ciągu tekstu (Contains ( SOUNDS LIKE ciąg do wyszukania )) czy ze względu na odwołania do tematyki tekstu (Contains ( IS ABOUT ciąg do wyszukania )). Część III: SQL/MM Spatial definiuje typy danych opisujące dane przestrzenne. Standard SQL/MM wspiera obiekty jedno-, dwu- oraz trzywymiarowe. W specyfikacji znalazły się dość obszerne opisy przestrzennych układów odniesienia, w większości pozwalających opisywać Ziemię i jej poszczególne regiony. Jest to naturalna konsekwencja tego, że wielu użytkowników tego typu danych to państwowe urzędy i instytucje, wykorzystujące dane geograficzne. SQL/MM Spatial zawiera zbiór funkcji do prezentacji właściwości geograficznych przechowywanych danych, konwersji zewnętrznych danych (tekstowych, binarnych i GML Geography Markup Language), a także tworzenia nowych i porównywania istniejących obiektów [4]. Część V: SQL/MM Still Image opisuje metody definiowania i obsługi obrazów w bazie danych. Szczególnie ważne są tutaj sposoby przeszukiwania bazy danych ze względu na zawartość obiektów zawierających obrazy. Podstawowym typem dla tej części standardu jest SI_StillImage, opisujący obrazy dwuwymiarowe w postaci kolekcji pikseli [5]. StillImage umożliwia przechowywanie i obróbkę obrazów w różnych formatach wejściowych (m.in. JPEG, TIFF, GIF), zawiera informację o wymiarach danego obrazu i jego właściwościach. Za pomocą metod typu SI_StillImage możliwa jest obróbka obrazów skalowanie, obracanie, obcinanie i konwersja do in 2 Standard danych multimedialnych: SQL/MM 342
3 Eksploracja i ochrona danych multimedialnych nego formatu niż wejściowy. Dane typu SI_StillImage przechowywane są w bazie danych jako duże obiekty binarne (BLOB). Część standardu SQL/MM poświęcona pracy z obrazami posiada również szereg innych metod, służących do odczytu informacji o rozkładzie kolorów w obrazie (SI_ColorHistogram) czy uśrednionej wartości koloru danego obiektu (SI_AverageColor). Jest to dotychczas jedyna część standardu SQL/MM, która została zaimplementowana w bazie Oracle 10g. Część VI: SQL/MM Data Mining jest ostatnią częścią standardu SQL/MM, dotyczy zaś metod eksploracji danych w multimedialnych bazach danych, wspierających ten standard. Podobnie jak część pierwsza (Framework), nie opisuje złożonych rodzajów danych [6]. Prace nad standardem SQL/MM trwały kilka lat, a jego poszczególne części były wdrażane pojedynczo. W 1999 roku zatwierdzono specyfikację dotyczącą danych przestrzennych, w następnym roku część Full-Text, a w roku 2001 część dotyczącą obsługi i reprezentacji obrazów. Najpóźniej wykrystalizowała się część dotycząca zagadnień eksploracji danych multimedialnych, czyli SQL/MM Data Mining, gdzie prace zakończono dopiero w 2002 roku. Ewolucja standardu jednak ciągle trwa i nie wykluczone jest pojawienie się niedługo kolejnych zmian w poszczególnych jego częściach. 3 Oracle intermedia Serwer baz danych Oracle 10g w swojej standardowej instalacji zawiera rozszerzenie Oracle intermedia, przeznaczone do obsługi i zarządzania danymi multimedialnymi. Właściwość ta pozwala na składowanie, odczyt, analizę i obróbkę heterogenicznych danych multimedialnych a także danych audio, wideo i obrazów. 3.1 Oracle intermedia a standard SQL/MM Jak już zostało wspomniane, w zakresie odwzorowania standardu SQL/MM na aplikację Oracle10g, jedynie część piąta standardu StillImage jest wspierana przez to rozwiązanie. Dzieje się tak nie tylko dlatego, że Oracle10g nie wspiera standardu SQL/MM np. w części Spatial, ale również dlatego, że w standardzie nie znajdziemy jeszcze części poświęconych obsłudze obiektów multimedialnych typu audio i wideo, które z kolei znalazły się już w rozwiązaniach Oracle10g. Porównując sposób reprezentacji danych multimedialnych w standardzie SQL/MM oraz w serwerze bazy danych Oracle10g można śmiało stwierdzić, że są one podobne. W obu przypadkach rozwiązania opierają się o duże obiekty binarne (BLOB), składowane w bazie danych lub jako zewnętrzne pliki (typ BFILE w Oracle10g). Także w zakresie obsługi obrazów (bo tą właśnie część standardu wspiera rozwiązanie Oracle10g), znajdziemy tutaj podobne metody. Nie obejdzie się oczywiście bez różnic, które można dostrzec nie tylko w innych nazwach metod, stosowanych typów obiektów multimedialnych. Standard SQL/MM w zakresie pracy z obrazami posiada wiele metod, których nie znajdziemy w rozwiązaniu firmy Oracle, z kolei Oracle intermedia posiada funkcjonalność, nie zdefiniowaną przez standard. 343
4 A. Barczak, J. Garbaczewski, J. Skaruz 3.2 Struktura Oracle intermedia W zależności od sposobu przechowywania danych multimedialnych, właściwość Oracle intermedia można stosować do: plików przechowywanych poza bazą danych a dostępnych z poziomu bazy za pomocą typu BFILE, obiektów binarnych typu BLOB, przechowywanych w bazie danych, danych strumieniowych i innych dostarczanych przez specjalne serwery multimediów, obiektów umieszczonych w Internecie, dostępnych pod danym adresem URL. Za obsługę dostępu do danych odpowiada typ ORDSource, który wspiera trzy z czterech wymienionych rodzajów dostępu do danych. Jedynie w przypadku danych znajdujących się na specjalistycznych serwerach multimediów (np. udostępnianych strumieniowo), potrzeba jeszcze specjalnych interfejsów do ich prawidłowej obsługi. ORDSource zawiera informacje o typie źródła danych, sposobie przechowywania, obiekcie BLOB (w przypadku przechowywania lokalnego), adresie lokalizacji, nazwie obiektu i dacie modyfikacji. Metody typu ORDSource pozwalają na kontrolę przepływu danych pomiędzy plikami znajdującymi się na zewnątrz bazy danych a odpowiednikami tych obiektów w bazie, w tym również na odczyt zawartości tych obiektów. Jednak zaleca się, by dostęp do obiektów multimedialnych w systemie Oracle10g był możliwy przez specjalnie do tego stworzone typy obiektowe - dedykowane do konkretnych rodzajów multimediów. Ze względu na rodzaj obsługiwanych multimediów, w schemacie ORDSys obsługującym bazę Oracle10g, wyróżniamy następujące typy obiektowe: ORDAudio (obsługa plików audio), ORDVideo (obsługa sekwencji wideo), ORDDoc (obsługa tekstów a także dowolnych multimediów jako dane występujące w jednej kolumnie tabeli) oraz ORDImage (przetwarzanie obrazów). Każdy z wyżej wymienionych czterech typów obiektowych zawiera jako atrybut typ ORDSource, dzięki czemu metody składowania dla wszystkich rodzajów multimediów w bazie Oracle10g obsługiwane są przez jeden typ dostępu do danych. 4 Eksploracja danych multimedialnych w Oracle intermedia Dostęp do rozszerzenia Oracle intermedia jest możliwy z poziomu wielu języków programowania, jednak wyjątkowo mocno Oracle wspiera PL/SQL oraz język Java, dla którego opracowane zostały nawet specjalne klasy Oracle intermedia Java Classes 1. Stosunkowo proste implementacyjnie wydaje się budowanie serwletów i aplikacji w języku JSP do zarządzania i przetwarzania multimediami składowanymi w bazie danych Oracle. Ponieważ Oracle intermedia nie posiada własnego interfejsu graficznego, skrypty PL/SQL są naturalnie podstawowym sposobem ładowania multimediów do bazy danych a także ich późniejszej eksploracji, porównywania i obróbki. Dlatego też w części poświęconej praktycznemu zastosowaniu tego rozszerzenia, przedstawione przykłady będą opierały się właśnie o język PL/SQL. Rozważmy jeden ze sposobów ładowania i obróbki (w naszym przypadku tworzenie miniatury) obrazów w Oracle intermedia, z użyciem typu ORDImage. 1 Oracle intermedia Java Classes User s Guide and Reference, Release 2 (9.2). Oracle
5 Eksploracja i ochrona danych multimedialnych Tabela, w której będą przechowywane obrazy i ich miniatury, może mieć postać: create table obrazy ( id number primary key, obraz ORDSYS.ORDIMAGE, miniatura ORDSYS.ORDIMAGE, sygnatura ORDSYS.ORDIMAGESIGNATURE ); Procedura zaladuj_obraz prezentuje przykładowy sposób ładowania obrazu z podanej lokalizacji w sieci Internet do bazy danych a następnie tworzenie jego miniatury i sygnatury (za pomocą ORDImageSignature). W procedurze wykorzystano typ obiektowy ORDImage, stworzony do obsługi obrazów w bazie Oracle10g. Ze względu na ograniczenia tekstowe, zrezygnowano z prezentacji części obsługi wyjątków (exceptions). create or replace procedure zaladuj_obraz (url in varchar2, plik in varchar2, m_id in integer) is m_obraz ORDSYS.ORDImage; m_miniatura ORDSYS.ORDImage; m_sygnatura ORDSYS.ORDImageSignature; bufor RAW(4000) := NULL; begin m_miniatura := ORDSYS.ORDIMAGE.init(); m_sygnatura := ORDSYS.ORDIMAGESIGNATURE.init(); insert into obrazy values(m_id, ORDSYS.ORDIMAGE.init('HTTP',url, plik), m_miniatura, m_sygnatura); select obraz, miniatura, sygnatura into m_obraz, m_miniatura, m_sygnatura from obrazy where id = m_id FOR UPDATE; -- import obrazu do tabeli z uzyciem bufora (bufor) m_obraz.import(bufor); --- ustawienie atrybutow obrazu na podstawie wlasnosci MIME pliku m_obraz.setproperties(); --- tworzenie miniatury obrazu m_obraz.processcopy('fileformat=jfif maxscale= ', m_miniatura); --- tworzenie sygnatury obrazu m_sygnatura.generatesignature(m_obraz); update obrazy set obraz = m_obraz, miniatura = m_miniatura, sygnatura = m_sygnatura where id = m_id; commit; exception... end; Tak składowany obiekt może być w dalszym ciągu przetwarzany poniższa procedura wybierz_obrazy przedstawia przykład odwołania do sygnatury obrazu i próby przeszukania tabeli obrazy pod kątem występowania obrazów o sygnaturze podobnej do obrazu badanego (parametry przekazywane jako argumenty procedury). Wykorzystano tutaj typ IMGSimilar, którego parametrami są: kolor, tekstura, kształt i lokalizacja. create or replace procedure wybierz_obrazy (m_id integer, kolor number, tekstura number, ksztalt number, lokalizacja number) is wagi varchar2(200); 345
6 A. Barczak, J. Garbaczewski, J. Skaruz m_wynik number; m_obraz ORDSYS.ORDImage; m_sygnatura ORDSYS.ORDImageSignature; cursor c1 (c_sygnatura ORDSYS.ORDImageSignature, c_waga varchar2) is select obraz, ORDSYS.IMGScore(123) wynik FROM obrazy i where ORDSYS.IMGSimilar(i.sygnatura, c_sygnatura, c_waga, 100, 123) = 1 and m_id <> id order by wynik desc; begin select sygnatura, obraz into m_sygnatura, m_obraz from obrazy where id=m_id for update; wagi := 'color=' kolor ' texture=' tekstura ' shape=' ksztalt ' location=' lokalizacja; open c1 (m_sygnatura, wagi); loop fetch c1 into m_obraz, m_wynik; exit when c1%notfound; dbms_output.put_line('znaleziono obraz ' m_obraz.getsourcename ' z wynikiem ' to_char(m_wynik, '00.00')); end loop; exception when no_data_found then dbms_output.put_line('nie ma obrazu dla tego numeru ID.'); end; Zapytanie wybiera z tabeli obrazy tylko te, które podobne są do obrazu o id = 1 oraz posiadają odpowiednio podobne własności określone przez parametry dla typu IMGSimilar, odwołującego się z kolei do sygnatury obrazu. Przetwarzanie i wyszukiwanie obiektów multimedialnych gromadzonych w bazie danych Oracle10g dzięki rozszerzeniu intermedia staje się zdecydowanie lepsze, prostsze i efektywniejsze. Obiekty multimedialne stają się coraz powszechniejszym typem danych przechowywanych w bazach danych, co powoduje też problem ich bezpiecznego zarządzania i udostępniania. 5 Problemy bezpieczeństwa multimedialnych baz danych Jak informuje firma Oracle, dane multimedialne składowane i przetwarzane przez rozszerzenie Oracle intermedia mogą być bezpiecznie współdzielone i udostępniane wielu użytkownikom serwera baz danych. Jednak rosnąca złożoność oprogramowania, pomimo rozwoju nowoczesnych metodologii projektowania systemów informatycznych a także ich testowania powoduje, że wykrycie kolejnych błędów jest tylko kwestią czasu. W kontekście bezpieczeństwa, błędy umożliwiające nieautoryzowanym użytkownikom na dostęp do danych, ich modyfikację lub zatrzymanie danej usługi stanowią lukę w systemie bezpieczeństwa zaimplementowanym w obrębie danego systemu informatycznego. Problem ten dotyczy również systemów zarządzania bazą danych. Jeden z największych producentów baz danych - Oracle, w dniu udostępnił łaty dla bazy Oracle10g oraz kilkunastu swoich produktów 2. Jak widać, problem zapewnienia wysokiej jakości oprogramowania, pozbawionego błędów umożliwiających nadużycia, dotyczy również czołowych producentów oprogramowania
7 Eksploracja i ochrona danych multimedialnych Powszechne wykorzystanie języków skryptowych do tworzenia dynamicznych stron WWW wiąże się nierozerwalnie z wyborem bazy danych, zawierającej treści tych stron. Z jednej strony, informacje z bazy danych są odczytywane i przesyłane do przeglądarki użytkownika, z drugiej strony dane z formularzy na stronie WWW mogą być zapisywane w bazie danych. Z punktu widzenia wiarygodności treści witryn WWW, baza danych stanowi kluczowy element, którego nadużycie może doprowadzić do utraty lub zmiany informacji. W większości architektur sprzętowo programowych środowisk WWW zawierających minimum serwer WWW oraz bazę danych, te dwie usługi rozdzielone są firewallem, co w znacznym stopniu uniemożliwia dostęp do serwera baz danych użytkownikom z Internetu. Pomimo tego istnieją metody znane od kilku lat umożliwiające modyfikacje danych w bazie. Obecne systemy wykrywania włamań można sklasyfikować do jednej z dwóch grup: wykrywania nadużyć (ang. misuse detection) i wykrywania anomalii (ang. anomaly detection). Systemy wykrywania nadużyć są najpopularniejsze i obecnie jako jedynie dostępne na rynku. Ich funkcjonowanie oparte jest na podobnej zasadzie jak wykrywanie wirusów. Posiadają one bazę danych sygnatur ataków. Sygnatura jest natomiast zwięzłym opisem cech charakterystycznych danego ataku. Sondy monitorujące chronione środowisko przesyłają informacje o zdarzeniach do modułu analizy, celem porównania zaobserwowanej aktyw 5.1 Atak SQL injection SQL injection jest klasą ataków, podczas których nieautoryzowany użytkownik za pomocą formularzy WWW może zmienić postać zapytania SQL wysyłanego do bazy danych. Atak ten możliwy jest do realizacji z powodu nieprawidłowej implementacji formularzy WWW w językach skryptowych. Poniżej znajduje się przykładowy pseudokod implementujący obsługę formularza[1]: Uname = getauthenticateuser() cctype = getuserinput() result = sql( SELECT nb FROM creditcards WHERE user= + uname + AND type= + cctype + ; ) print(result) Jeżeli użytkownik Ania zechce wyszukać wszystkich kart VISA to zapytanie będzie miało postać: SELECT nb FROM creditcards WHERE user='ania' AND type='visa'; Jeżeli natomiast Paweł zechce obejrzeć wszystkie karty Ani, to w polu formularza do wyboru typu karty wpisze kod: ' OR user = 'Ania Zapytanie SQL przyjmie wtedy postać: SELECT nb FROM creditcards WHERE user='paweł' AND type='' OR user='ania'; Aby uniknąć tego typu błędów, programista musi zaimplementować mechanizm sprawdzania struktury zapytania SQL, zanim zostanie ono przesłane do systemu zarządzania bazą danych. 5.2 Systemy wykrywania włamań 347
8 A. Barczak, J. Garbaczewski, J. Skaruz ności z sygnaturami. Dopasowanie analizowanych zdarzeń do jednej z sygnatur powoduje wykrycie włamania. Wszystkie rozwiązania oparte na sygnaturach posiadają wspólną wadę: jedynie te włamania mogą zostać wykryte, dla których istnieje zdefiniowana sygnatura. Wiąże się to z nieustanną aktualizacją bazy danych sygnatur. Ponadto, systemy wykrywania nadużyć nie są zdolne do wykrywania ataków, które nie są jeszcze znane na świecie. Systemy wykrywania anomalii nie posiadają bazy danych sygnatur, w związku z tym pozbawione są wady opisanej powyżej. Dodatkowo, w odróżnieniu od systemów wykrywania nadużyć, zdolne są do wykrywania ataków, które wystąpią w przyszłości a na dzień obecny metoda ataku nie jest znana. Wadą ich jest natomiast duża ilość błędnych alarmów: false positive i false negative. Pierwszy z nich dotyczy sytuacji, gdy system wszczyna alarm na skutek błędnej analizy zdarzeń nie stanowiących ataku, drugi z nich oznacza brak alarmu w przypadku aktywności intruza. Systemy wykrywania anomalii są przedmiotem badań naukowych, nie istnieją tego typu wysokiej klasy rozwiązania komercyjne. Tworzone w laboratoriach systemy oparte są na metodach sztucznej inteligencji takich jak: sztuczne systemy immunologiczne, rekurencyjne sieci neuronowe, algorytmy genetyczne. 6 Systemy wykrywania anomalii w bazach danych Powodem niewielkiej ilość prac naukowych ukierunkowanych na wykrywanie anomalii w bazach danych jest możliwość uogólnienia dużej liczby propozycji wykrywania anomalii w sieciach komputerowych na inne obszary. W połowie 2005 roku ukazała się praca [1], w której autorzy podjęli próbę stworzenia systemu wykrywania anomalii w zapytaniach SQL, oznaczających ingerencję intruza, której celem jest uzyskanie nieautoryzowanego dostępu do bazy danych. Autorzy stworzyli system wykrywania anomalii, który zdolny jest do nauki profilu zawierającego charakterystykę dostępu do bazy z poziomu aplikacji WWW, używając do tego celu wielu modeli normalnego zachowania. Modele te umożliwiają wykrywanie nieznanych ataków przy niewielkim poziomie błędów false positive. Profile tworzone są automatycznie w fazie trenowania systemu na podstawie utworzonego wcześniej zbioru danych. Natomiast podczas fazy testowania, rejestrowane dane porównywane są z profilem. W przypadku, gdy zarejestrowane zachowanie nie pasuje do profilu zachowania, podnoszony jest alarm. Na rysunku poniżej przedstawiono architekturę systemu. Rys. 1. Architektura systemu wykrywania anomalii 348
9 Eksploracja i ochrona danych multimedialnych Zapytania SQL przesyłane przez serwer WWW do bazy danych wysyłane są również do aplikacji. Celem modułu dostawcy jest wyodrębnienie z kanału komunikacyjnego pomiędzy serwerem WWW i bazą danych zapytań SQL i przesłanie ich do modułu konwertera. Konwerter natomiast przetwarza zapytania SQL, produkując na wyjściu żetony z ustawioną flagą oznaczającą typ tokenu jako stałą lub zmienną. Stałe dotyczą jedynie słów kluczowych języka SQL. Zmiennymi będą pozostałe elementy zapytania SQL. Tokeny oznaczające kolumny tabel zawierają również informacje o typie danych. Zadaniem kolejnego modułu jest przydzielenie modelu zawartego w profilu do przesyłanego żetonu. Każdy model dotyczy cech charakterystycznych typu String danych. Pierwszy model to: długość String. Celem tego modelu jest oszacowanie średniej długości elementów zapytania SQL. Kolejny model to rozkład znaków stanowiących token. Podejście to jest oparte na obserwacji, że tokeny mają regularna strukturę tj. wszystkie znaki alfabetu występują z pewnym prawdopodobieństwem. Następny model to: wnioskowanie struktury zapytań. Celem tego modelu jest uzyskanie informacji o gramatyce przesyłanych żetonów. Oznacza to tym samym, że po pojawienie się pewnego żetony, system zna wszystkie możliwe (pasujące do gramatyki) żetony, które mogą pojawić się jako kolejne. W sytuacji, gdy kolejnym żetonem będzie nie pasujący do gramatyki, będzie to oznaczało anomalię. Do testowania stworzonego systemu wykorzystano aplikację portal PHPNuke 3 w starszej wersji, zawierającej błędy pozwalające na przeprowadzenie ataków SQL injection. Wyniki przeprowadzonych eksperymentów pokazały, iż wszystkie ataki zostały wykryte. 7 Podsumowanie Zastosowanie multimedialnych baz danych do składowania obiektów audio, wideo, dużych tekstów i obrazów staje się coraz powszechniejsze, jednak wraz ze wzrostem użytkowników tego typu rozwiązań rośnie liczba włamań do systemów zarządzania bazami danych. Aplikacje i rozszerzenia jak np. Oracle intermedia wspierają standard obsługi danych multimedialnych SQL/MM na razie w niewielkim stopniu, dlatego należy spodziewać się wzrostu tego wsparcia w kolejnych produktach z dziedziny multimedialnych baz danych. Projektanci systemów zarządzania bazami danych zapewne będą starali się także wyeliminować potencjalne zagrożenia ataków intruzów, choć tutaj skuteczność ograniczona jest przez zdolności percepcyjne danego zespołu programistów. Jednak przyszłość multimedialnych baz danych mimo problemów z bezpieczeństwem i ograniczonego wspierania standardu wydaje się być niezagrożona. Literatura 1. Valeur F., Mutz D., Vigna G., A Learning-Based Approach to the Detection of SQL Attacks.: Proceedings of the Conference on Detrection of Intrusions and Malware & Vulnerability Assesment (DIMVA), Wiedeń, ISO/IEC :2002, Information Technology Database Languages SQL Multimedia and Application Packages Part 1: Framework. ISO, ISO/IEC :2000, Information Technology Database Languages SQL Multimedia and Application Packages Part 2: Full-Text. ISO,
10 A. Barczak, J. Garbaczewski, J. Skaruz 4. ISO/IEC :1999, Information Technology Database Languages SQL Multimedia and Application Packages Part 3: Spatial, ISO ISO/IEC :2001, Information Technology Database Languages SQL Multimedia and Application Packages Part 5: Still Image. ISO, 2002, Second Edition. 6. ISO/IEC :2002, Information Technology Database Languages SQL Multimedia and Application Packages Part 6: Data mining. ISO, Bulusu Lakshman, Oracle i Java Programowanie, Mikom, Warszawa
Multimedialne bazy danych - laboratorium
Multimedialne bazy danych - laboratorium Oracle Multimedia (rozwiązania) Celem ćwiczenia jest zapoznanie się z obiektowymi typami danych Oracle dedykowanymi do obsługi multimediów. Autor ćwiczenia: Marek
Bardziej szczegółowoAkademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. Promotor: dr inż. Adam Piórkowski Autorzy: Jakub Osiadacz
Bardziej szczegółowoStandard SQL/MM: SQL Multimedia and Application Packages
Standard SQL/MM: SQL Multimedia and Application Packages Krzysztof Jankiewicz, Marek Wojciechowski Politechnika Poznańska, Instytut Informatyki Krzysztof.Jankiewicz@cs.put.poznan.pl Marek.Wojciechowski@cs.put.poznan.pl
Bardziej szczegółowoMultimedialne bazy danych. Andrzej Łachwa, WFAiIS UJ 2011
5 Multimedialne bazy danych Andrzej Łachwa, WFAiIS UJ 2011 Wyszukiwanie obrazów w bazach danych www.cs.put.poznan.pl/mwojciechowski/papers/plougtki03.pdf PLOUG tki nr 28/grudzień 2003 Podstawowe wymagania
Bardziej szczegółowow PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w
Bardziej szczegółowo15. 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ółowoJęzyk SQL, zajęcia nr 1
Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze
Bardziej szczegółowoPL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD
Bardziej szczegółowoDECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];
Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server
Bardziej szczegółowoProgramowanie w Ruby
Programowanie w Ruby Wykład 6 Marcin Młotkowski 14 listopada 2012 Plan wykładu Trwałość obiektów Bazy danych DBM Bazy danych SQL Active records Szeregowanie obiektów Obiekt Serializacja @tytul = 'Pan Tadeusz'
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?
Bardziej szczegółowoPakiety podprogramów Dynamiczny SQL
Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)
Bardziej szczegółowoBlaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoINFORMATYKA 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ółowoJęzyk PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL
Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL.
Bardziej szczegółowoKOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Bardziej szczegółowoZMODYFIKOWANY 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ółowoTworzenie raportów XML Publisher przy użyciu Data Templates
Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia
Bardziej szczegółowoPrezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe
Prezentacja specjalności studiów II stopnia Inteligentne Technologie Internetowe Koordynator specjalności Prof. dr hab. Jarosław Stepaniuk Tematyka studiów Internet jako zbiór informacji Przetwarzanie:
Bardziej szczegółowo1 Kursory 1. 2 Wyjątki Wyjątki predefiniowane Wyjątki niezdefiniowane wcześniej Definiowanie własnych wyjątków...
Plan wykładu Spis treści 1 Kursory 1 2 Wyjątki 4 2.1 Wyjątki predefiniowane............................. 4 2.2 Wyjątki niezdefiniowane wcześniej....................... 5 2.3 Definiowanie własnych wyjątków........................
Bardziej szczegółowoPakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.
Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bardziej szczegółowoPODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Bardziej szczegółowoDECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Bardziej szczegółowoProcedury i funkcje składowane
Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoRelacyjne 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ółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoMECHANIZMY WYSZUKIWANIA OBRAZEM W ORACLE 11g
ZESZYTY NAUKOWE POLITECHNIKI RZESZOWSKIEJ 296, Elektrotechnika 36 RUTJEE, z. 36 (3/2017), październik-grudzień 2017, s. 5-18 Ewa CZARNIK 1 Paweł DYMORA 2 Mirosław MAZUREK 3 MECHANIZMY WYSZUKIWANIA OBRAZEM
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoMateriały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne
Materiały dostępne są na stronie: Materiały Technologie baz danych aragorn.pb.bialystok.pl/~gkret Wykład 5: Kursory jawne. Podprogramy. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka
Bardziej szczegółowoPRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Wprowadzenie Tworzenie i wykonywanie procedur i funkcji Instrukcja RETURN Parametry procedur i funkcji oraz ich przesyłanie Metadane
Bardziej szczegółowoWykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Bardziej szczegółowoProgramowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
Bardziej szczegółowostrukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Bardziej szczegółowoModel semistrukturalny
Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy
Bardziej szczegółowoSQL - 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ółowoFunkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji
Bardziej szczegółowoGenerowanie dokumentów XML z tabel relacyjnych - funkcje SQLX
Aktualizowanie dokumentów XML ( Oracle ) do aktualizowania zawartości dokumentów XML służy między innymi funkcja updatexml. wynikiem jej działania jest oryginalny dokument ze zmodyfikowanym fragmentem,
Bardziej szczegółowoRozkład materiału do realizacji informatyki w szkole ponadgimnazjalnej w zakresie rozszerzonym
Rozkład materiału do realizacji informatyki w szkole ponadgimnazjalnej w zakresie rozszerzonym opracowany na podstawie podręcznika, MIGRA 2013 Autor: Grażyna Koba W rozporządzeniu Ministra Edukacji Narodowej
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoRelacyjne 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ółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoBloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
Bardziej szczegółowoWprowadzenie do multimedialnych baz danych. Opracował: dr inż. Piotr Suchomski
Wprowadzenie do multimedialnych baz danych Opracował: dr inż. Piotr Suchomski Wprowadzenie bazy danych Multimedialne bazy danych to takie bazy danych, w których danymi mogą być tekst, zdjęcia, grafika,
Bardziej szczegółowoTworzenie aplikacji bazodanowych
Wydział Informatyki Politechnika Białostocka Studia stacjonarne Tworzenie aplikacji bazodanowych Prowadzący: pokój: E-mail: WWW: Małgorzata Krętowska, Agnieszka Oniśko 206 (Małgorzata Krętowska), 207 (Agnieszka
Bardziej szczegółowoJęzyk PL/SQL Pakiety podprogramów
Język PL/SQL Pakiety podprogramów Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora) 1 Pakiety Pakiet (ang. package) grupuje powiązane
Bardziej szczegółowo6. Bezpieczeństwo przy współpracy z bazami danych
6. Bezpieczeństwo przy współpracy z bazami danych 6.1. Idea ataku SQL injection Atak znany jako SQL injection jest możliwy wtedy, gdy użytkownik ma bezpośredni wpływ na postać zapytania wysyłanego do bazy
Bardziej szczegółowoPrzykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.
Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna
Bardziej szczegółowoWykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Bardziej szczegółowoProjektowanie systemów baz danych
Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do
Bardziej szczegółowoP o d s t a w y j ę z y k a S Q L
P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p
Bardziej szczegółowoRELACYJNE BAZY DANYCH
RELACYJNE BAZY DANYCH Aleksander Łuczyk Bielsko-Biała, 15 kwiecień 2015 r. Ludzie używają baz danych każdego dnia. Książka telefoniczna, zbiór wizytówek przypiętych nad biurkiem, encyklopedia czy chociażby
Bardziej szczegółowoPlan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
Bardziej szczegółowoT-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Bardziej szczegółowoLaboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w
Bardziej szczegółowoDlaczego GML? Gdańsk r. Karol Stachura
Dlaczego GML? Gdańsk 13.03.2017r. Karol Stachura Zanim o GML najpierw o XML Dlaczego stosuje się pliki XML: Tekstowe Samoopisujące się Elastyczne Łatwe do zmiany bez zaawansowanego oprogramowania Posiadające
Bardziej szczegółowoPHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
Bardziej szczegółowoBazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1
Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych
Bardziej szczegółowoMulti-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java
Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java Spis treści 1 Terminarz...3 2 Specyfikacja wymagań - założenia projektowe...4 2.1 Informacje
Bardziej szczegółowoObiektowe bazy danych
Obiektowe bazy danych Obiektowo-relacyjne bazy danych Wykład prowadzi: Tomasz Koszlajda Obiektowo-relacyjne bazy danych Ewolucja rozszerzeń relacyjnego modelu danych: Składowanie kodu procedur w bazie
Bardziej szczegółowoSystemy 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ółowoSPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD
Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości
Bardziej szczegółowoBazy danych Wykład zerowy. P. F. Góra
Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.
Bardziej szczegółowoWyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia
Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie
Bardziej szczegółowoMateriały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
Bardziej szczegółowoJednolite zarządzanie użytkownikami systemów Windows i Linux
Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Paweł Gliwiński Nr albumu: 168470 Praca magisterska na kierunku Informatyka Jednolite
Bardziej szczegółowoAlicja 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ółowoOracle intermedia na tle standardu SQL/MM i prototypowych systemów multimedialnych baz danych
IX Konferencja PLOUG Koœcielisko PaŸdziernik 2003 Oracle intermedia na tle standardu SQL/MM i prototypowych systemów multimedialnych baz danych Marek Wojciechowski, ukasz Matuszczak Politechnika Poznañska
Bardziej szczegółowoSZKOLENIE TWORZENIE SYSTEMÓW
SZKOLENIE TWORZENIE SYSTEMÓW INFORMATYCZNYCH Z UŻYCIEM GROOVY I GRAILS KOD: JGR Strona 1 1 Opis Platforma Java EE to zbiór zaawansowanych narzędzi umożliwiających tworzenie systemów korporacyjnych. Jest
Bardziej szczegółowoWykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych
Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław
Bardziej szczegółowoWybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza
Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki Artur Krawczyk AGH Akademia Górniczo Hutnicza Problem modelowania tekstowego opisu elementu geometrycznego
Bardziej szczegółowoSYSTEM INFORMATYCZNY KS-SEW
DOKUMENTACJA TECHNICZNA KAMSOFT S.A. 40-235 Katowice ul. 1-Maja 133 Tel. (032) 2090705, Fax. (032) 2090715 http:www.kamsoft.pl, e-mail: 5420@kamsoft.pl SYSTEM INFORMATYCZNY NR KATALOGOWY 2334PI06.00 WYDANIE
Bardziej szczegółowoORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna
Bardziej szczegółowoProjektowani Systemów Inf.
Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych
Bardziej szczegółowoWPROWADZENIE DO BAZ DANYCH
WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z
Bardziej szczegółowoInformatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Bardziej szczegółowoProgramowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika
Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued
Bardziej szczegółowo77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
Bardziej szczegółowoWykład 6. SQL praca z tabelami 3
Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1
Bardziej szczegółowoPODSTAWY BAZ DANYCH. 17. Obiektowość w Oracle. 2009/2010 Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 17. Obiektowość w Oracle 1 Obiektowa baza danych Obiektowe bazy danych (OBD) powstały początkowo jako rozwinięcie programowania obiektowego. Bazy danych zorientowane obiektowo przechowują
Bardziej szczegółowoĆwiczenia laboratoryjne nr 11 Bazy danych i SQL.
Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie
Bardziej szczegółowoBazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.
Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić
Bardziej szczegółowoModelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Bardziej szczegółowoMonitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku
z wykorzystaniem systemu ADONIS Krok po kroku 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ółowoSQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
Bardziej szczegółowoOfficeObjects e-forms
OfficeObjects e-forms Rodan Development Sp. z o.o. 02-820 Warszawa, ul. Wyczółki 89, tel.: (+48-22) 643 92 08, fax: (+48-22) 643 92 10, http://www.rodan.pl Spis treści Wstęp... 3 Łatwość tworzenia i publikacji
Bardziej szczegółowoAplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.
Bardziej szczegółowoInformatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Bardziej szczegółowoPRZEWODNIK 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ółowoJęzyk PL/SQL Procedury i funkcje składowane
Język PL/SQL Procedury i funkcje składowane Podprogramy, procedury i funkcje składowane, typy argumentów, wywoływanie procedur i funkcji, poziomy czystości funkcji 1 Podprogramy Procedury (wykonują określone
Bardziej szczegółowoBazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI
Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co
Bardziej szczegółowoInstalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
Bardziej szczegółowoSystemy 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ółowoCzym jest Oracle Multimedia?
Oracle Multimedia Czym jest Oracle Multimedia? Oracle Multimedia to cecha (ang. feature) serwera bazy danych Oracle umożliwiająca składowanie, odczyt i przetwarzanie multimediów w sposób zintegrowany z
Bardziej szczegółowoDiagramy związków encji. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie
Bardziej szczegółowoMechanika i Budowa Maszyn II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2013/2014
Bardziej szczegółowo