Korzystanie z Sybase IQ jako silnika wyszukiwania tekstu dla serwera ASE

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

Download "Korzystanie z Sybase IQ jako silnika wyszukiwania tekstu dla serwera ASE"

Transkrypt

1 Dokument Techniczny Korzystanie z Sybase IQ jako silnika wyszukiwania tekstu dla serwera ASE

2 STRESZCZENIE Jednym z problemów występujących w większości systemów baz danych jest wyszukiwanie łańcuchów tekstowych, które przebiega niezwykle wolno. Z drugiej strony natomiast silniki wyszukiwania tekstu nie dysponują większością funkcji, których oczekuje się od bazy danych. W opublikowanej niedawno wersji 15.2 serwer Sybase IQ został wyposażony w możliwość o wiele wydajniejszego wyszukiwania tekstu. A gdyby tak wykorzystać funkcję wyszukiwania pełnotekstowego Sybase IQ do przyspieszenia wyszukiwania tekstu na serwerze Adaptive Server Enterprise (ASE)? Niniejszy dokument techniczny opisuje odpowiednią metodę, przedstawiając siedem prostych kroków niezbędnych do skonfigurowania systemu, a także pokazuje zapytania i wyniki uzyskane w przykładowym wdrożeniu. OKREŚLENIE PROBLEMU Aczkolwiek serwer ASE dysponuje dużymi możliwościami znajdowania danych za pośrednictwem indeksów, znacznie gorzej radzi sobie z wyszukiwaniem łańcuchów znaków. Wyszukiwanie łańcucha znaków powoduje zwykle przeskanowanie całej tabeli, co oznacza bardzo niską wydajność dla każdej tabeli o niebłahej wielkości. Problem pogarszają kolumny tekstowe, gdyż dane tekstowe nie są przechowywane jako część danych wiersza z uwagi na ich potencjalnie duży rozmiar. Zapytanie takie więc nie tylko jest powolne, lecz może również zająć cały bufor danych i wpłynąć na inne zapytania. W najnowszej wersji oprogramowania Sybase IQ (15.2) dodano funkcję wyszukiwania pełnotekstowego, która znacząco zwiększa wydajność zapytań zawierających wyszukiwanie tekstu. Sybase IQ potrafi teraz stworzyć indeks tekstowy, co przekłada się na o wiele lepszą wydajność i mniejsze wykorzystanie zasobów. A gdyby udało się zaprząc Sybase IQ do wyszukiwania tekstu w ramach zapytania serwera ASE? W niniejszym dokumencie technicznym przedstawiono właśnie taką metodę. WYSZUKIWANIE PEŁNOTEKSTOWE W SYBASE IQ Funkcja wyszukiwania pełnotekstowego w Sybase IQ stanowi część modułu analizy danych nieuporządkowanych i jest dostępna w wersjach 15.2 i późniejszych. Wyszukiwanie pełnotekstowe jest w stanie szybko znaleźć wszystkie wystąpienia danego terminu (słowa) w bazie danych bez konieczności skanowania wierszy tabeli. Wyszukiwanie pełnotekstowe opiera się na indeksach tekstowych, które należy najpierw utworzyć. W indeksie tekstowym przechowywane są dokładne informacje o położeniu wszystkich wystąpień każdego terminu w każdej indeksowanej kolumnie. Po utworzeniu indeksu tekstowego można z niego korzystać za pomocą predykatu CONTAINS. Predykat CONTAINS może przyjmować jako parametr jedno słowo (jak w poniższym przykładzie) lub całą frazę wyszukiwania pełnotekstowego. Fraza wyszukiwania może określać jedno lub więcej słów, które należy znaleźć, a także jedno lub więcej słów, które należy pominąć. Obsługuje ona wyszukiwanie słów w pobliżu (NEAR) i wielu terminów. Sybase IQ może również podawać dla każdego zwróconego wiersza wynik określający względny ranking dokładności dopasowania danego wiersza do frazy wyszukiwania. Korzystanie z indeksu tekstowego do znajdywania wierszy, które zawierają dany termin, może być szybsze niż skanowanie wszystkich wierszy w tabeli, podobnie jak korzystanie ze zwykłego indeksu przyspiesza zwykle znajdywanie wierszy zawierających daną wartość. Informacje na temat tworzenia indeksu tekstowego i korzystania z niego zawarto w przykładowym wdrożeniu opisanym szczegółowo poniżej. PRZYKŁADOWE WDROŻENIE W tym przykładzie jako ilustrację wykorzystano bazę danych QTS (Quality Tracking System), używaną wewnątrz firmy do śledzenia żądań zmian w produktach Sybase. Baza ta zajmuje obecnie na serwerze ASE około 30 GB i zawiera informacje o ponad pół milionie żądań zmiany (CR). Przy wyszukiwaniu określonych CR lub wszystkich CR, których właścicielem jest dany serwisant, zapytania wykonywane są, zgodnie z oczekiwaniami, dość szybko (sekunda lub mniej). Jednakże przy wyszukiwaniu słowa zawartego w opisie CR czas zwracania wyników jest znacznie dłuższy. Na przykład wykonanie poniższego zapytania zajęło aż 6 minut: SELECT COUNT(*) FROM bugs WHERE long_desc like %corruption% Zapytanie to jest raczej trywialne, jednak całkiem dobrze ilustruje nasz problem. Scenariusz ten jest nieskomplikowany, gdyż nie występują żadne inne warunki ograniczające liczbę wierszy, które należy przeszukać. Jedynym sposobem wykonania zapytania jest przeskanowanie tabeli i wszystkich wartości tekstowych w polu long_desc. Słaby czas reakcji systemu jest skutkiem nie tylko oczekiwania na zakończenie operacji we/wy, lecz także zajętości procesora niezbędnej do przeskanowania po kolei każdej wartości tekstowej w polach long_desc w poszukiwaniu dopasowania. 2

3 Tymczasem po utworzeniu indeksu tekstowego w Sybase IQ i przerobieniu zapytania tak, aby korzystało z tego indeksu do zidentyfikowania pasujących wierszy czas potrzebny na wykonanie zapytania skrócił się do zaledwie sekundy! A przecież trzeba weń wliczyć czas potrzebny na wysłanie części zapytania z Sybase IQ do innego komputera i zwrócenia wyników z powrotem do bazy danych serwera ASE. Nowe zapytanie wygląda następująco: SELECT COUNT(*) FROM bugs, prx_bugs_text WHERE bugs.bug_id = prx_bugs_text. bug_id AND prx_bugs_text._search = corruption Tabela prx_bugs_text jest tabelą pomocniczą, wskazującą pośrednio na właściwą tabelę (bugs_text) w Sybase IQ, która z kolei zawiera opis błędu i jego identyfikator. Kolumna _search jest kolumną specjalną, Zapytania bugs ASE bug_id... prx...bugs...text bug_id... create_dt _search... long_desc... Warstwa CIS bugs...text bug_id... IQ long_desc... Rys. 1: Wyszukiwanie pełnotekstowe w ASE wykorzystujące IQ jako miejsce przechowywania tekstu używaną do przekazywania łańcucha wyszukiwania do procedury wbudowanej w IQ. Część zapytania dotycząca tabeli prx_bugs_text jest wyodrębniana z całości i przesyłana do Sybase IQ za pomocą dostępnej w ASE funkcji Component Integration Services (CIS). Sybase IQ zwraca wartość bug_id dla wszystkich wierszy pasujących do kryteriów wyszukiwania. Wartość ta jest używana do wybierania wierszy z właściwej tabeli bugs. KONFIGURACJA PRZYKŁADOWEGO WDROŻENIA Pierwszym krokiem przy wdrażaniu Sybase IQ jako silnika wyszukiwania tekstu dla serwera ASE jest, jak można się spodziewać, analiza posiadanych danych i aplikacji w celu określenia, które dane tekstowe są przyczyną zatorów i z tego powodu posiadają największy potencjał ulepszeń. Należy przy tym zrozumieć, że nie dochodzi do przenoszenia danych; do Sybase IQ trafia ich kopia. Podejmowanie działania nie będą więc miały wpływu na istniejące zapytania. Aby czerpać korzyści z tego rozwiązania, należy zapytanie napisać od nowa, tak aby wykorzystywało indeks tekstowy. Oznacza to jednak również, że nie ma ryzyka, że zmiana zapytania wprowadzi do aktualnego środowiska regresję. Podstawowe kroki procesu to: 1. Konfiguracja połączenia między serwerami ASE i Sybase IQ. 2. Utworzenie w Sybase IQ nowej tabeli dla każdej tabeli zawierającej dane tekstowe do poindeksowania. 3. Utworzenie indeksu tekstowego dla każdej kolumny tekstu do poindeksowania. 4. Załadowanie danych do Sybase IQ. 5. Utworzenie w Sybase IQ procedury wbudowanej dla każdego indeksu tekstowego. 6. Utworzenie tabeli pomocniczej w ASE dla każdego indeksu tekstowego. 7. Modyfikacja zapytania tak, aby wykorzystywało indeks tekstowy. Po wykonaniu powyższych kroków można zmodyfikować zapytania opisane powyżej tak, aby korzystały z indeksów tekstowych. 3

4 Kolejnym krokiem jest decyzja co do sposobu aktualizacji indeksu danymi z ASE. Kwestia ta zostanie omówiona w dalszym punkcie. 1. Konfiguracja połączenia między serwerami ASE i Sybase IQ Konfiguracja połączenia ASE z Sybase IQ obejmuje zaledwie dwa kroki. 1. Dodanie serwera Sybase IQ do ASE. 2. Dodanie mapowania loginów między ASE i Sybase IQ. Dodanie serwera Sybase IQ do ASE następuje poprzez dodanie wpisu w pliku interfejsu ASE i wykonaniu procedury wbudowanejj sp_addserver. Zakładając, że wpis dla Sybase IQ w pliku interfejsów używa nazwy iq_remote, następujące polecenie doda serwer Sybase IQ do listy serwerów znanych dla ASE: EXEC sp_addserver iq_remote, ASIQ, iq_remote Drugim krokiem jest stworzenie mapowania loginów ASE na loginy Sybase IQ. Można to osiągnąć za pomocą procedury sp_addexternlogin. Ta procedura wbudowana mapuje lokalny login ASE na nazwę użytkownika i hasło dla serwera zdalnego. Przy dostępie do tabeli pomocniczej mapowanej na tabelę zdalną w Sybase IQ, ASE będzie korzystać z nazwy użytkownika i hasła w celu zalogowania się do Sybase IQ jako lokalny użytkownik. EXEC sp_addexternlogin iq_remote, ASEuser1, IQuser1, mypassword Konfiguracja połączenia między Sybase IQ a ASE może być nieco bardziej skomplikowana, gdyż należy wybrać protokół komunikacji (ODBC i JDBC) i dokonać wpisu w pliku interfejsów Sybase IQ. Protokół ODBC zapewnia o wiele lepszą wydajność, jednak JDBC jest nieco łatwiej skonfigurować. W tym przykładzie wykorzystaliśmy JDBC, jednak w rzeczywistych warunkach produkcyjnych należy skorzystać z ODBC. Przy korzystaniu z JDBC konfiguracja Sybase IQ jest dość podobna do konfiguracji ASE. Należy poinformować Sybase IQ o istnieniu serwera ASE, a następnie dodać mapowanie użytkowników Sybase IQ na loginy ASE. Zakładając, że wpis ASE w pliku interfejsów Sybase IQ nosi nazwę ase_remote, następujące polecenie informuje Sybase IQ o istnieniu serwera ASE: CREATE SERVER ase_remote CLASS asejdbc using ase_remote Następujące polecenie dodaje mapowanie loginów Sybase IQ na odpowiadające im loginy ASE CREATE EXTERNLOGIN IQuser1 TO ase_remote REMOTE LOGIN ASEuser1 IDENTIFIED BY mypassword Po skonfigurowaniu mapowania Sybase IQ powinno być w stanie łączyć się z ASE. Można to sprawdzić, wydając polecenie FORWARD TO, na przykład FORWARD TO ase_remote { select } 4

5 2. Utworzenie w Sybase IQ tabeli przechowującej dane do poindeksowania Dla każdej tabeli w ASE, której dane mają zostać poindeksowane, trzeba utworzyć jedną tabelę w Sybase IQ. Indeks może obejmować wiele kolumn z jednej tabeli ASE. Przy tworzeniu tabeli w Sybase IQ należy wziąć pod uwagę następujące kwestie: w każdej tabeli musi istnieć kolumna pełniąca funkcję klucza głównego tabeli; w tabeli w Sybase IQ tworzone są tylko: kolumna klucza głównego i kolumny indeksowane. W powyższym przykładzie w Sybase IQ utworzono tabelę o nazwie bugs_text za pomocą następującego polecenia: CREATE TABLE bugs_text (Bug_id int, long_desc text NULL) 3. Utworzenie indeksu tekstowego dla każdej kolumny do poindeksowania Każda kolumna do poindeksowania musi posiadać swój własny indeks tekstowy. W powyższym przykładzie w Sybase IQ utworzono indeks o nazwie bugs_text_index za pomocą następującego polecenia: CREATE TEXT INDEX bugs_text_index ON bugs_text(long_desc) Aby osiągnąć lepszą wydajność, indeks tekstowy powinien zostać utworzony przed załadowaniem danych. W przypadku gdy trzeba poindeksować wiele kolumn, należy wykonać wiele poleceń CREATE TEXT INDEX.. 4. Załadowanie danych do Sybase IQ Istnieje wiele sposobów wydobycia danych z ASE i załadowanie ich do Sybase IQ. Część z nich wykorzystuje pliki zewnętrzne. Jedną z prostych metod, która nie wykorzystuje pliku zewnętrznego i jest nadzwyczaj szybka, jest polecenie INSERT... LOCATION. Polecenie to zostało pokazane poniżej. W naszym przykładzie ładuje ono tabelę bugs_text i tworzy indeks tekstowy w czasie poniżej 7 minut. INSERT INTO bugs_test(bug_id, long_desc) LOCATION QTS.qts_db { select bug_ id, long_desc from bugs } Jest to typowe polecenie INSERT... SELECT z niewielką modyfikacją (klauzula LOCATION). Klauzula ta określa serwer zdalny przechowujący dane, które mają zostać wstawione do tabeli Sybase IQ. Jedynym dodatkowym warunkiem przy korzystaniu z takiego polecenia INSERT jest zdefiniowanie serwera zdalnego w pliku interfejsów widzianym przez serwer SYBASE IQ. Polecenie select zawarte w nawiasach klamrowych zostanie wysłane do serwera ASE w celu wybrania danych do wstawienia. Jest to zwykłe polecenie select, mogące zawierać w sobie inne polecenia. Normalnie użytkownik chce wybrać z tabeli wszystkie wiersze i tylko niewielki podzbiór kolumn potrzebnych do utworzenia indeksu tekstowego. 5

6 5. Utworzenie w Sybase IQ procedury wbudowanej dla każdego indeksu Dostęp do indeksu tekstowego w Sybase IQ uzyskuje się za pomocą predykatu CONTAINS, który nie jest prawidłowym słowem kluczowym w ASE. Dlatego też ASE nie potrafi korzystać z indeksu tekstowego bezpośrednio. Aby obejść to ograniczenie, wykorzystywana jest procedura wbudowana, która uzyskuje dostęp do indeksu i zwraca wyniki do ASE. Następnie w ASE dokonywane jest mapowanie tabeli pomocniczej na wynik procedury wbudowanej. Poniżej przykład procedury wbudowanejj uzyskującej dostęp do indeksu bugs_text_index tabeli bugs_text. CREATE PROCEDURE bugs_text_proc varchar(255)) AS SELECT bug_id FROM bugs_text Procedura zapisana przyjmuje jeden parametr który będzie łańcuchem wyszukiwania. Zwracana jest wartość bug_id dla wszystkich wierszy, w których znaleziono dopasowanie do łańcucha wyszukiwania. 6. Utworzenie w ASE tabeli pomocniczej dla indeksu tekstowego Ostatnim krokiem przy konfigurowaniu indeksu tekstowego jest utworzenie w ASE tabeli pomocniczej mapowanej na procedurę wbudowaną w Sybase IQ. Używane jest przy tym polecenie CREATE EXISTING TABLE z dodatkową klauzulą EXTERNAL PROCEDURE. Polecenie to ma następującą postać: CREATE EXISTING TABLE prx_bugs_text (bug_id int, _search varchar(255) NULL) EXTERNAL PROCEDURE AT iq_remote bugs_text_proc Ponieważ tabela pomocnicza jest mapowana na procedurę wbudowaną, a nie na zwykłą tabelę, ASE nie może wysłaćzapytania o metadane do zdalnego serwera. W tym przypadku zdalna procedura wbudowana zwraca jedną kolumnę (bug_id). Druga kolumna jest kolumną specjalną (na co wskazuje poprzedzenie jej nazwy znakiem podkreślenia). Znak ten informuje ASE, że kolumna jest w rzeczywistości parametrem procedury wbudowanej. Ta specjalna kolumna może pojawić się w klauzuli WHERE, lecz nie będzie występować na liście polecenia SELECT, jeśli takowe zostanie użyte. Użycie kolumny _search zostanie opisane później w związku z poleceniem SELECT. 7. Modyfikacja zapytania tak, aby wykorzystywało indeks tekstowy Aby zapytanie faktycznie wykorzystywało indeks tekstowy w Sybase IQ, należy je lekko zmodyfikować. Modyfikacja jest dość prosta i polega na dodaniu do klauzuli FROM tabeli pomocniczej, a następnie skorzystania w tej tabeli z łańcucha wyszukiwania. Tak więc wychodząc od wcześniejszego zapytania: SELECT COUNT(*) FROM bugs WHERE long_desc like %corruption% Wprowadzamy tabelę pomocniczą (prx_bugs_text), używamy łańcucha wyszukiwania jako warunku dla parametru wejściowego _search i dokonujemy złączenia tabeli z tabelą pomocniczą według kolumny klucza bug_id. Wynikiem jest następujące zapytanie: SELECT COUNT(*) FROM bugs, prx_bugs_text WHERE bugs.bug_id = prx_bugs_text. bug_id AND prx_bugs_text._search = corruption ASE wyodrębni polecenia SQL związane z tabelą pomocniczą i wyśle zapytanie do serwera Sybase IQ. Zapytanie to będzie miało postać zbliżoną do: SELECT bug_id FROM prx_bugs_text WHERE _search= %corruption% W efekcie w Sybase IQ zostanie wykonana procedura zapisana bugs_text, wywołująca następujące zapytanie: SELECT bug_id FROM bugs_text CONTAINS(long_desc, %corruption% ) 6

7 Zapytanie zwróci do ASE wartość kolumny bug_id dla wszystkich pasujących wierszy. Należy zauważyć, że zdalne zapytanie nie zwraca danych tekstowych, dzięki czemu wielkość przesyłanych z powrotem danych będzie niewielka. Zbiór wartości kolumny bug_id zwracany z indeksu tekstowego złączany jest z pierwotną tabelą bugs, dzięki czemu można ostatecznie wybrać wiersze zakwalifikowane do zapytania. W omawianym przypadku wynikiem końcowym będzie liczba pasujących wierszy, jednak zapytanie mogłoby również zwrócić dowolną liczbę kolumn z tablicy bugs lub też stanowić część o wiele większego zapytania. AKTUALIZACJA INDEKSU Już wkrótce po utworzeniu i zapełnieniu indeksu tekstowego bardzo prawdopodobne jest, że dane w nim zawarte nie będą odpowiadały danym w tabelach ASE. Synchronizację danych można osiągnąć na kilka sposobów, z których każdy ma swoje wady i zalety. Ich cechą wspólną jest jednak okresowe przenoszenie danych z ASE i wstawianie ich do odpowiednich tabel w Sybase IQ. Decyzją kluczową jest tu ocena tolerancji posiadanych aplikacji na nieaktualne dane. Należy przy tym pamiętać, że aktualizacja indeksu tekstowego w czasie rzeczywistym jest niemożliwa. Próba zapewnienia pełnej synchronizacji indeksu z danymi w ASE miałaby bardzo duży wpływ na wydajność aplikacji. Nie oznacza to, że indeks musi być zawsze aktualny, gdyż w przeciwnym razie będzie nieprzydatny. Korzystanie z niego jest bowiem opcjonalne. Można go utworzyć dla określonego zbioru tabel i wykorzystywać w niektórych aplikacjach z pominięciem pozostałych. Indeks tekstowy jest szczególnie przydatny dla programów raportujących lub wspierających podejmowanie decyzji, które uzyskują dostęp do danych w trybie tylko do odczytu, bądź też innych zapytań, których wykonanie zajmuje dużo czasu, dla których rzeczą zrozumiałą jest to, że zwracane wyniki mogą nie obejmować danych, które zostały dodane przed chwilą. Na wybór metody aktualizacji indeksu duży wpływ ma konieczność zapewnienia aktualnych danych. W przypadkach gdy dane z dnia bieżącego są nieistotne, można po prostu usuwać indeks i odtwarzać go co noc. Jest to metoda najprostsza, sprawdzająca się w sytuacji gdy nowych danych nie da się w prosty sposób zidentyfikować. Jeśli rozmiar danych tekstowych sprawia, że takie podejście jest niepraktyczne, można przenosićdo Sybase IQ, co noc, tylko nowe dane za pomocą polecenia INSERT... LOCATION lub polecenia LOAD, Drugie polecenie możemy wykorzystać dopiero po uprzednim eksporcie danych do plików tekstowych. Wymagana jest jednak możliwość zidentyfikowania nowych danych. Osiąga się to zwykle dodając do wiersza jakiegoś rodzaju znacznik czasu. Jeszcze jedna możliwość to przechwytywanie zmian danych poindeksowanych i zapisywanie wartości klucza każdego zmienianego wiersza w tabeli pomocniczej w ASE. Zmiany przechwytywane są za pomocą wyzwalaczy tabel ASE, które następnie wstawiają wartości klucza wiersza do tabeli pomocniczej razem z polem stanu, określającym czy dany wiersz został wstawiony, zaktualizowany czy usunięty. Kolejny etap to uruchamianie z wymaganą częstotliwością aplikacji lub procedury wbudowanej, która pobiera wartości kluczy i przenosi kolumny danego wiersza objęte indeksem tekstowym do Sybase IQ. Wstawianie danych jest proste, ale aplikacja musi również odpowiednio obsłużyć ich aktualizację i usuwanie. Należy szczególnie uważać przy aktualizacji kolumn tekstowych poleceniem WRITETEXT, gdyż nie powoduje ono wywołania wyzwalacza. Najprostszym sposobem uniknięcia takiej sytuacji jest aktualizacja po poleceniu WRITETEXT jeszcze jakieś kolumny. Wreszcie jeśli użytkownik nie chce tworzyć własnych zapytań, może skorzystać z Sybase Replication Server lub Sybase ETL do przeniesienia lub replikacji zmian danych z Sybase IQ do Sybase ASE. Replication Server potrafi poradzić sobie ze wszystkimi problemami wymienionymi powyżej. 7

8 PODSUMOWANIE Użytkownicy znający ETFS (Enhanced Full-Text Search) mogą mieć wrażenie déjà vu. To prawda powyższe rozwiązanie jest bardzo podobne do ETFS. Klienci, którzy korzystają już z ETFS do czegoś więcej niż prostych zapytań tekstowych powinni raczej pozostać przy tym oprogramowaniu. Wyszukiwanie pełnotekstowe Sybase IQ nie posiada wielu zaawansowanych funkcji występujących w EFTS. Niemniej jednak te zaawansowane funkcje mają swoją cenę, gdyż za EFTS trzeba osobno zapłacić. Wszyscy klienci korzystający z ASE, którzy posiadają również Sybase IQ z licencją na moduł analizy danych nieuporządkowanych, mogą zaopatrzyć się w prostą funkcję wyszukiwania tekstu działającą znacznie szybciej niż w przypadku wyszukiwania tekstu nasamodzielnym serwerze ASE. To, czy korzystanie z Sybase IQ do przyspieszenia wyszukiwania tekstu na serwerze ASE się opłaca, zależy w dużej mierze od sytuacji konkretnego klienta jak dużym problemem jest dla niego wyszukiwanie tekstu oraz czy korzysta On z aplikacji lub nawet określonych zapytań, które można by przyspieszyć, aby uzyskać zasadny zwrot z inwestycji. Jednym z atrakcyjnych aspektów tego rozwiązania jest możliwość jego wypróbowania bez narażania się na ryzyko, gdyż indeks tekstowy funkcjonuje odrębnie od aplikacji i danych w bazie. Dzięki temu o wiele łatwiej można przeprowadzić prosty eksperyment wykazujący potencjalne korzyści. Sybase, Inc. Worldwide Headquarters One Sybase Drive Dublin, CA U.S.A sybase Sybase Products Poland Sp. z o.o. Al. Jerozolimskie 133, suite Warszawa Copyright 2010 Sybase, an SAP Company. Wszelkie prawa zastrzeżone. Nieopublikowane prawa zastrzeżone na podstawie amerykańskich przepisów o prawach autorskich. Sybase i logo Sybase są znakami towarowymi Sybase, Inc. lub jego spółek zależnych. wskazuje na rejestrację w Stanach Zjednoczonych Ameryki. SAP i logo SAP są znakami towarowymi lub zarejestrowanymi znakami towarowymi SAP AG w Niemczech oraz w kilku innych krajach. Wszystkie inne znaki towarowe są własnością ich właścicieli. 09/10

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

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

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

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Fizyczna struktura bazy danych w SQL Serwerze

Fizyczna struktura bazy danych w SQL Serwerze Sposób przechowywania danych na dysku twardym komputera ma zasadnicze znaczenie dla wydajności całej bazy i jest powodem tworzenia między innymi indeksów. Fizyczna struktura bazy danych w SQL Serwerze

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Język SQL, zajęcia nr 1

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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

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

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Import danych z plików Excel. (pracownicy, limity urlopowe i inne)

Import danych z plików Excel. (pracownicy, limity urlopowe i inne) Import danych z plików Excel (pracownicy, limity urlopowe i inne) 1. Wstęp BeeOffice umożliwia import z plików Excel kilku rodzajów danych, najczęściej wykorzystywanych podczas tworzenia nowego systemu

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

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Paweł Lenkiewicz Polsko Japońska Wyższa Szkoła Technik Komputerowych Plan prezentacji PJWSTK

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

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

6. Bezpieczeństwo przy współpracy z bazami danych

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

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

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

Administracja bazami danych

Administracja bazami danych Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi

Bardziej szczegółowo

Systemy baz danych 2 laboratorium Projekt zaliczeniowy

Systemy baz danych 2 laboratorium Projekt zaliczeniowy Dany jest następujący logiczny schemat bazy danych Systemy baz danych 2 laboratorium Projekt zaliczeniowy FAKTURY POZYCJE PK f_id_faktury PK p_id_pozycji f_data_wystawienia f_data_płatnosci f_czy_zaplacona

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

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

DECLARE VARIABLE zmienna1 typ danych; BEGIN

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: ADMINISTROWANIE INTERNETOWYMI SERWERAMI BAZ DANYCH Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Programowanie aplikacji internetowych Rodzaj zajęć: wykład,

Bardziej szczegółowo

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa Metody włamań do systemów komputerowych SQL injection Bogusław Kluge, Karina Łuksza, Ewa Makosa b.kluge@zodiac.mimuw.edu.pl, k.luksza@zodiac.mimuw.edu.pl, e.makosa@zodiac.mimuw.edu.pl Metody włamań do

Bardziej szczegółowo

SYSTEM INFORMATYCZNY KS-SEW

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com STROJENIE BAZ DANYCH: INDEKSY Cezary Ołtuszyk coltuszyk.wordpress.com Plan spotkania I. Wprowadzenie do strojenia baz danych II. III. IV. Mierzenie wydajności Jak SQL Server przechowuje i czyta dane? Budowa

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla właścicieli sklepów internetowych opartych

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

System imed24 Instrukcja Moduł Analizy i raporty

System imed24 Instrukcja Moduł Analizy i raporty System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym PrestaShop (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w programie EasyUploader (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w programie EasyUploader (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w programie EasyUploader (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla użytkowników programu EasyUploader stworzonego

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

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

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego 2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego produktu. 23 czerwca 2014 Spis treści 3 Spis treści...5

Bardziej szczegółowo

Podręcznik użytkownika

Podręcznik użytkownika Podręcznik użytkownika Moduł kliencki Kodak Asset Management Software Stan i ustawienia zasobów... 1 Menu Stan zasobów... 2 Menu Ustawienia zasobów... 3 Obsługa alertów... 7 Komunikaty zarządzania zasobami...

Bardziej szczegółowo

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi 1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) Tworząc tabelę nie możemy określić, do którego pliku trafi, lecz możemy określić do której grupy plików trafi Zawsze istnieje grupa zawierająca

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

SklepEF moduł sklepu i zamówień internetowych do programu Hermes SQL firmy Humansoft

SklepEF moduł sklepu i zamówień internetowych do programu Hermes SQL firmy Humansoft SklepEF moduł sklepu i zamówień internetowych do programu Hermes SQL firmy Humansoft Funkcja stworzona została z założeniem szybkiej instalacji modułu i uruchomienia witryny internetowej umożliwiającej

Bardziej szczegółowo

SQL SERVER 2012 i nie tylko:

SQL SERVER 2012 i nie tylko: SQL SERVER 2012 i nie tylko: Wstęp do planów zapytań Cezary Ołtuszyk coltuszyk.wordpress.com Kilka słów o mnie Starszy Administrator Baz Danych w firmie BEST S.A. (Bazy danych > 1TB) Konsultant z zakresu

Bardziej szczegółowo

Relacyjne bazy danych a XML

Relacyjne bazy danych a XML Relacyjne bazy danych a XML Anna Pankowska aniap@amu.edu.pl Internet, SQLiXMLwbiznesie Internet nieoceniony sposób komunikacji z klientami, pracownikami i partnerami handlowymi przyspiesza transakcje finansowe

Bardziej szczegółowo

System magazynowy małego sklepu.

System magazynowy małego sklepu. System magazynowy małego sklepu. dokumentacja użytkownika. Mariusz Grabowski e-mail: mariosh@interia.pl Jabber ID: mariosh@jabber.autocom.pl Spis treści 1 Wstęp. 2 2 Przed uruchomieniem. 3 3 Korzystanie

Bardziej szczegółowo

Ulotka v.2012.2.2. System Comarch OPT!MA v. 2012.2.2. Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00

Ulotka v.2012.2.2. System Comarch OPT!MA v. 2012.2.2. Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00 System Comarch OPT!MA v. 2012.2.2 Ulotka v.2012.2.2 Comarch SA 31-864 Kraków, Al. Jana Pawła II 41g tel. (12) 681 43 00, fax (12) 687 71 00 Dział Wsparcia Klienta i Partnera: tel. (12) 681 43 00 www.comarch.pl/erp

Bardziej szczegółowo

Usługa archiwizacji danych w systemie Eureca. Marek Jelenik CONTROLLING SYSTEMS sp. z o.o.

Usługa archiwizacji danych w systemie Eureca. Marek Jelenik CONTROLLING SYSTEMS sp. z o.o. Usługa archiwizacji danych w systemie Eureca Marek Jelenik CONTROLLING SYSTEMS sp. z o.o. Na czym polega usługa archiwizacji danych w systemie Eureca? 2012 2013 2014 2015 Przed archiwizacją SQL OLAP BAZA

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

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1

INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1 INSTRUKCJA INSTALACJI I KONFIGURACJI APLIKACJI WEBSOFT SITE ANALYZER 2.7.1 Producent: Lukaszjarosinski.com Nazwa oprogramowania: Websoft Site Analyzer 2.7.1 Wersja finalna: 28.02.2013 Kontakt: lukaszjarosinski@gmail.com,

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 4 Wsady Procedury składowane Procedury składowane tymczasowe, startowe Zmienne tabelowe Funkcje

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

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

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Spis treści Przedmowa... ix Podziękowania... x Wstęp... xiii Historia serii Inside Microsoft SQL Server... xiii 1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Wymagania SQL Server 2005...

Bardziej szczegółowo

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna&

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna& DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna& Artur Wroński" Priorytety rozwoju technologii Big Data& Analiza większych zbiorów danych, szybciej& Łatwość użycia& Wsparcie

Bardziej szczegółowo

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Spis treści Rozdział 1. Przegląd......... 1 Wstęp................. 1 Wdrażanie technologii Data Access........ 1 Źródła danych

Bardziej szczegółowo

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski

SSI Katalog. Program do katalogowania zawartości dysków. Dariusz Kalinowski 1.) Wymagania sprzętowe: SSI Katalog Program do katalogowania zawartości dysków Dariusz Kalinowski - System operacyjny: Windows 2000 lub Windows xp - Procesor minimum Pentium 1Ghz - Pamięć RAM minimum

Bardziej szczegółowo

Projekt: MS i CISCO dla Śląska

Projekt: MS i CISCO dla Śląska Projekt: MS i CISCO dla Śląska Ścieżki szkoleniowe planowane do realizacji w projekcie Administracja bazami danych Katowice, październik 2012 Projekt jest współfinansowany przez Unię Europejską w ramach

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

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

KS-ZSA. Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT. Data aktualizacji: 2013-08-29

KS-ZSA. Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT. Data aktualizacji: 2013-08-29 KS-ZSA Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT Data aktualizacji: 2013-08-29 1. Opis funkcjonalności Funkcjonalność umożliwia obsługiwanie zmian urzędowych

Bardziej szczegółowo

MySQL. Darmowa baza danych. Æwiczenia praktyczne

MySQL. Darmowa baza danych. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE ONOWOœCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREœCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY

Bardziej szczegółowo

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. MSDE 2000 A Instrukcja instalacji. Pomoc techniczna

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. MSDE 2000 A Instrukcja instalacji. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI MSDE 2000 A Instrukcja instalacji Pomoc techniczna Dok. Nr PLP0011 Wersja: 29-03-2006 ASKOM to zastrzeżony znak firmy ASKOM Sp. z o. o., Gliwice. Inne występujące

Bardziej szczegółowo

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

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Przewodnik Google Cloud Print

Przewodnik Google Cloud Print Przewodnik Google Cloud Print Wersja A POL Definicje oznaczeń W tym podręczniku użytkownika zastosowano następujący styl uwag: Uwagi informują o tym, jak należy reagować w danej sytuacji, lub zawierają

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

SYSTEM INFORMATYCZNY KS-SEW

SYSTEM 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

Bardziej szczegółowo

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

Bardziej szczegółowo

Wykład 3 2014-04-25 12:45 BD-1 W_3

Wykład 3 2014-04-25 12:45 BD-1 W_3 Wykład 3 SQL - język operacji na bazach danych Schemat przykładowej bazy danych Uczelnia Skrypt SQL - utworzenie bazy Uczelnia Polecenia selekcji i projekcji Interakcyjny dostęp do bazy danych 2014-04-25

Bardziej szczegółowo

Projektowani Systemów Inf.

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

SklepEF5 moduł sklepu i zamówień internetowych do programu EuroFirma i Hermes firmy Humansoft

SklepEF5 moduł sklepu i zamówień internetowych do programu EuroFirma i Hermes firmy Humansoft SklepEF5 moduł sklepu i zamówień internetowych do programu EuroFirma i Hermes firmy Humansoft Funkcja stworzona została z założeniem szybkiej instalacji modułu i uruchomienia witryny internetowej umożliwiającej

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

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

Asix.Evo - Uruchomienie aplikacji WWW

Asix.Evo - Uruchomienie aplikacji WWW Pomoc dla użytkowników systemu Asix 8 www.asix.com.pl Asix.Evo - Uruchomienie aplikacji WWW Dok. Nr PLP8E014 Wersja: 2014-07-31 Asix.Evo - Uruchomienie aplikacji WWW ASKOM i Asix to zastrzeżone znaki firmy

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Intro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie.

Intro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie. Intro Igor Wojnicki (AGH, KIS) XML 18 grudnia 2013 1 / 37 ZTB: XML Igor Wojnicki Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie 18 grudnia 2013 Intro Igor Wojnicki (AGH, KIS) XML

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

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

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu 1. Wersje i warianty programu Nr wersji programu składa się z trzech liczb oddzielonych kropkami: człon pierwszy oznacza główny nr wersji

Bardziej szczegółowo

Firma Informatyczna ASDER. Prezentacja. Centrum zarządzania. Przemysław Kroczak ASDER 2012-08-06

Firma Informatyczna ASDER. Prezentacja. Centrum zarządzania. Przemysław Kroczak ASDER 2012-08-06 2012 Firma Informatyczna ASDER Prezentacja Centrum zarządzania Przemysław Kroczak ASDER 2012-08-06 Szanowni Państwo, W firmach przybywa komputerów coraz trudniej zarządzać użytkownikami na każdym komputerze

Bardziej szczegółowo

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza 2015 WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza Dokumentacja techniczna dostępu do podstawowych danych cmentarnych w programie FARA. wersja 1.0 aktualizacja:

Bardziej szczegółowo

Windows Vista Instrukcja instalacji

Windows Vista Instrukcja instalacji Windows Vista Instrukcja instalacji Zanim będzie można używać maszyny, należy skonfigurować sprzęt i zainstalować sterownik. Proszę przeczytać ten podręcznik szybkiej konfiguracji oraz przewodnik instalacji

Bardziej szczegółowo

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia Zadanie nr 4.5: Oprogramowanie bazodanowe Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia Zakres przedmiotu zamówienia obejmuje dostarczenie, wdrożenie oraz konfigurację

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4 Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...

Bardziej szczegółowo

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS Ten dokument zawiera informacje o zmianach w wersjach: 3.31 STD w stosunku do wersji 3.30 STD 3.41 PLUS w stosunku do wersji 3.40 PLUS 1. Kancelaria 1.1. Opcje kancelarii Co nowego w systemie Kancelaris

Bardziej szczegółowo

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER 2012-08-06

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER 2012-08-06 2012 Firma Informatyczna ASDER Prezentacja Serwer danych lokalnych Przemysław Kroczak ASDER 2012-08-06 Szanowni Państwo, W dzisiejszej coraz częściej trzeba współdzielić pliki między pracownikami/działami

Bardziej szczegółowo

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC. 1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika Instrukcja użytkownika Zandro 1.5.5 1 Metryka dokumentu Autor: Tomasz Krówczyński Liczba stron: 14 Data utworzenia: 21-07-2014 Rewizja: 67 HISTORIA ZMIAN Data Autor Wersja Zmiany 21-07-2014 Tomasz Krówczyński

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

SQL*Loader. Export/Import

SQL*Loader. Export/Import Laboratorium Baz Danych SQL*Loader Export/Import Opracowała: Mgr inż. Aleksandra Werner Laboratorium baz danych - SQL*Loader, Export, Import 3 1. SQL*Loader Przy pomocy narzędzia SQL*Loader możliwe jest

Bardziej szczegółowo

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Od czego zacząć przy budowaniu środowisk wysokiej dostępności? Budowanie środowisk wysokiej dostępności w oparciu o nową wersję IDS 11 Artur Wroński IBM Information Management Technical Team Leader artur.wronski@pl.ibm.com Od czego zacząć przy budowaniu środowisk

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

Symfonia Produkcja. Kreator raportów. Wersja 2013

Symfonia Produkcja. Kreator raportów. Wersja 2013 Symfonia Produkcja Kreator raportów Wersja 2013 Windows jest znakiem towarowym firmy Microsoft Corporation. Adobe, Acrobat, Acrobat Reader, Acrobat Distiller są zastrzeżonymi znakami towarowymi firmy Adobe

Bardziej szczegółowo

HP Service Anywhere Uproszczenie zarządzania usługami IT

HP Service Anywhere Uproszczenie zarządzania usługami IT HP Service Anywhere Uproszczenie zarządzania usługami IT Robert Nowak Architekt rozwiązań HP Software Dlaczego Software as a Service? Najważniejsze powody za SaaS UZUPEŁNIENIE IT 2 Brak zasobów IT Ograniczone

Bardziej szczegółowo

Szpieg 2.0 Instrukcja użytkownika

Szpieg 2.0 Instrukcja użytkownika Szpieg 2.0 Instrukcja użytkownika Spis treści: Wstęp: 1. Informacje o programie 2. Wymagania techniczne Ustawienia: 3. Połączenie z bazą danych 4. Konfiguracja email 5. Administracja Funkcje programu:

Bardziej szczegółowo