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 { } 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 (@p1 varchar(255)) AS SELECT bug_id FROM bugs_text Procedura zapisana przyjmuje jeden parametr (@p1), 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

PHP: bazy danych, SQL, AJAX i JSON

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

Indeksowanie w bazach danych

Indeksowanie w bazach danych w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy

Bardziej szczegółowo

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

SQL 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, 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ół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

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

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

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

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

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

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

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

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

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

Ć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

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

Wykład 5. SQL praca z tabelami 2

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

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę: Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

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

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

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

DESlock+ szybki start

DESlock+ szybki start DESlock+ szybki start Wersja centralnie zarządzana Wersja bez centralnej administracji standalone WAŻNE! Pamiętaj, że jeśli chcesz korzystać z centralnego zarządzania koniecznie zacznij od instalacji serwera

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

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

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

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

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

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

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

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

asix4 Podręcznik użytkownika BAZA - drajwer dostępu do baz danych Podręcznik użytkownika

asix4 Podręcznik użytkownika BAZA - drajwer dostępu do baz danych Podręcznik użytkownika Podręcznik użytkownika Podręcznik użytkownika Dok. Nr PLP4010 Wersja: 04-10-2005 Podręcznik użytkownika ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście znaki

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

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

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

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

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

Bardziej szczegółowo

Programowanie w Ruby

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

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

Bardziej szczegółowo

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r. System FOKUS Instalacja bazy danych MySQL Autor : Piotr Zielonka tel. 601 99-73-79 pomoc@zielonka.info.pl Piotrków Tryb., sierpień 2018r. W wersji 2018.7.0 systemu FoKus wprowadzono funkcje umożliwiające

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

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

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

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

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

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

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

Avigilon Control Center 6 Uaktualnienie oprogramowania

Avigilon Control Center 6 Uaktualnienie oprogramowania Avigilon Control Center 6 Uaktualnienie oprogramowania Podczas aktualizacji do oprogramowania ACC 6, oprogramowanie i licencje wymagają aktualizacji. UWAGA: Tylko oprogramowanie ACC 5.x można uaktualnić

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

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

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

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

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3 INSTRUKCJA INSTALACJI DATAMOBILE Ver. 1.3 Strona 1 SPIS TREŚCI 1. POBIERANIE SERWERA PHP... 3 2. INSTALACJA SERWERA PHP... 3 3. POBIERANIE DATAMOBILE SERVER... 5 4. INSTALACJA DATAMOBILE SERVER... 5 5.

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

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

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I, II Cel laboratorium

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

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

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

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

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

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

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

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

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

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.

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

Składowane procedury i funkcje

Składowane procedury i funkcje Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.

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

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

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

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

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

Włącz autopilota w zabezpieczeniach IT

Włącz autopilota w zabezpieczeniach IT Włącz autopilota w zabezpieczeniach IT POLICY MANAGER Scentralizowanie zarządzania zabezpieczeniami jest dużo łatwiejsze F-Fecure Policy Manager zapewnia narzędzia umożliwiające zautomatyzowanie większości

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

Przewodnik Google Cloud Print

Przewodnik Google Cloud Print Przewodnik Google Cloud Print Wersja 0 POL Definicje oznaczeń W niniejszym podręczniku użytkownika zastosowano następujący styl uwag: Informacje dotyczą postępowania w różnego rodzaju sytuacjach oraz zależności

Bardziej szczegółowo

Bazy danych 12. SQL Wyszukiwanie pełnotekstowe

Bazy danych 12. SQL Wyszukiwanie pełnotekstowe Bazy danych 12. SQL Wyszukiwanie pełnotekstowe P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Wyszukiwanie pełnotekstowe Wyszukiwanie pełnotekstowe służy do wyszukiwania podanych

Bardziej szczegółowo

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2 Szkolenie autoryzowane MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Szkolenie, gdzie uczestnicy zapoznają

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

Uruchamianie bazy PostgreSQL

Uruchamianie bazy PostgreSQL Uruchamianie bazy PostgreSQL PostgreSQL i PostGIS Ten przewodnik może zostać pobrany jako PostgreSQL_pl.odt lub PostgreSQL_pl.pdf Przejrzano 10.09.2016 W tym rozdziale zobaczymy, jak uruchomić PostgreSQL

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

Dodawanie operacji dodatkowych w WAPRO Mag.

Dodawanie operacji dodatkowych w WAPRO Mag. Dodawanie operacji dodatkowych w WAPRO Mag. obowiązuje od wersji 8.21.0 Opracował i wykonał: Grzegorz Lenarczyk Asseco Business Solutions SA Oddział w Warszawie Warszawa, ul. Branickiego 13 02-972 Warszawa

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

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

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl Instrukcja do panelu administracyjnego do zarządzania kontem FTP WebAs www.poczta.greenlemon.pl Opracowanie: Agencja Mediów Interaktywnych GREEN LEMON Spis treści 1.Wstęp 2.Konfiguracja 3.Konto FTP 4.Domeny

Bardziej szczegółowo

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli

1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli 1. Tworzenie tabeli Aby stworzyć tabele w SQL-u należy użyć polecenia CREATE TABLE nazwa_tabeli (nazwa_pola1 właściwości_pola1, nazwa_pola2 właściwości_pola2, itd.) Nazwa_tabeli to wybrana przez nas nazwa

Bardziej szczegółowo