Badanie wydajności i optymalizacja bazy danych MySQL

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

Download "Badanie wydajności i optymalizacja bazy danych MySQL"

Transkrypt

1 Polsko-Japońska Wyższa Szkoła Technik Komputerowych Wydział Zamiejscowy Informatyki w Bytomiu Badanie wydajności i optymalizacja bazy danych MySQL Marcin Hłybin, numer indeksu s4641 prowadzący: dr inż. Aleksander Nawrat STRESZCZENIE Praca omawia zagadnienia związane z optymalizacją bazy danych MySQL. Została omówiona wstępna konfiguracja bazy, która powinna zostać przeprowadzona tuż po instalacji. Następnie poruszony został temat optymalizacji zapytań z wykorzystaniem funkcji EXPLAIN oraz temat przyspieszenia wykonywania zapytań za pomocą indeksów. Kolejnym zagadnieniem jest obserwacja zachowania bazy danych podczas pracy za pomocą programu mysqlreport, który został szczegółowo omówiony, oraz za pomocą wewnętrznego polecenia bazy MySQL SHOW PROCESS LIST.

2 Spis treści 1 Wstęp Wstępna konfiguracja Optymalizacja zapytań Zastosowanie indeksów Wykorzystanie polecenia EXPLAIN Wyszukiwanie wolnych zapytań Badanie aktywności bazy danych Program mysqlreport Lista procesów Narzędzia wspomagające optymalizację Podsumowanie Bibliografia Badanie wydajności i optymalizacja bazy danych MySQL. Strona 2

3 1 Wstęp Optymalizacja bazy danych to proces skomplikowany i długotrwały, ponieważ wymaga zrozumienia działania systemu jako całości, a także każdego aspektu z osobna wpływającego na szybkość wykonywania zapytań. Na działanie MySQL wpływa bardzo wiele czynników. Badanie wydajności pozwoli nam ustalić wąskie gardła i rzeczy, które wymagają skonfigurowania lub poprawy obecnej konfiguracji. Zaczniemy od działań, które należy podjąć tuż po zainstalowaniu serwera baz danych. Następnie zajmiemy się sprawą najbardziej oczywistą, czyli optymalizacją zapytań z użyciem indeksów i oceną ich poprawności za pomocą wbudowanej komendy EXPLAIN. Ostatnim krokiem będzie obserwacja pracy bazy danych w czasie obciążenia, a w szczególności takich parametrów jak ilość zapytań na sekundę, wykorzystanie przestrzeni w pamięci operacyjnej przeznaczonej na indeksy oraz wydajność systemu cache. 2 Wstępna konfiguracja MySQL posiada wiele zmiennych konfiguracyjnych, jednak są takie, których odpowiednie ustawienie jest koniecznością. W przeciwnym wypadku, serwer baz danych, nawet przy najmniejszym obciążeniu będzie miał problemy z obsłużeniem wszystkich żądań. Po odpowiednim ustawieniu poniższych parametrów już na pierwszy rzut oka będzie można zobaczyć poprawę. key_buffer_size jeśli używasz silnika składowania danych typu MyISAM jest to bardzo ważna zmienna. Można śmiało zwiększyć tę wartość do 30-40% całkowitej pamięci. Zmienna ta definiuje przestrzeń, w której między innymi trzymane są indeksy. Oczywiście ustawienie tej zmiennej na bardzo wysoką wartość w przypadku posiadania indeksów o wielkości 100M byłoby marnotrawstwem pamięci. Jeśli nasza maszyna dysponuje dużą ilością pamięci warto policzyć wielkość indeksów to znaczy wielkość wszystkich plików z rozszerzeniem.myi w katalogu bazy danych (domyślnie /var/lib/mysql). Przykładowo będą w katalogu naszej bazy możemy wydać polecenie: # du *.MYI awk '{sum += $1} END { print sum }' Otrzymany wynik to wartość w kilobajtach. Oznacza to, że nasze indeksy zajmują 22GB, czyli całkiem sporo. Jeśli dysponujmy taką ilością pamięci warto ustawić zmienną key_buffer_size na 23GB. innodb_buffer_pool_size natomiast w przypadku posiadania tabel typu InnoDB ta zmienna jest bardzo ważna. Tabele InnoDB są z natury bardziej wrażliwe na wielkość tego bufora niż tabele typu MyISAM na ustawienia key_buffer_size. W przypadku niewłaściwego Badanie wydajności i optymalizacja bazy danych MySQL. Strona 3

4 dostosowania tej wartości, w postaci przeznaczenia zbyt małej ilości pamięci, operacje na tabelach InnoDB będą wykonywane nieznośnie wolne. Należy pamiętać o tym, że bufor InnoDB keszuje zarówno strony, indeksy jak i dane, dlatego w optymalnej sytuacji, jego wielkość powinna być większa niż wielkość samych indeksów. innodb_log_file_size mając do czynienia ze środowiskami, w których występuje dużo zapisów ten parametr ma szczególne znaczenie. Większy rozmiar oferuje większą wydajność, jednak wydłuża czas odzyskiwania baz danych w przypadku awarii. table_cache otwieranie tabel może być kosztowne, szczególnie w przypadku ich dużej ilości. Później dowiemy się jak sprawdzić ilość używanych tabel przez bazę MySQL. query_cache_size w przypadku środowisk, które wykonują dużo operacji odczytów z bazy danych ten parametr może bardzo pomóc, ponieważ jest odpowiedzialny za wielkość cache dla wyników zapytań. Oznacza to, że jeśli dwukrotnie wykonamy to samo zapytanie, wartość drugiego zostanie zwrócona bezpośrednio z pamięci nie obciążając bazy danych. Z drugiej strony ilość pamięci przeznaczonej na cache nie powinien być zbyt wysoki, ponieważ zarządzanie może być kosztowne. 3 Optymalizacja zapytań Każde zapytanie, od momentu uruchomienia do zwrócenia wyników, zabiera cenny czas. Im krótszy będzie ten czas, tym lepiej dla nas i nasza maszyna będzie w stanie obsłużyć większą ilość równoległych połączeń, czyli klientów. Poza tym użytkownik lub aplikacja korzystająca z bazy danych, otrzyma wyniki szybciej, co przeważnie przekłada się do szybszego wyświetlenia strony WWW. Istnieje kilka technik przyspieszania zapytań do bazy danych: tworzenie indeksów na tabelach w celu przyspieszenia wyszukiwania interesujących rekordów badanie zachowania bazy danych podczas wykonywania zapytania za pomocą polecenia EXPLAIN wyszukiwanie wolnych zapytań za pomocą MySQL slow log. tuningowanie parametrów serwera bazodanowego MySQL, co właściwie już omówiliśmy analiza sprzętu i jego zachowania podczas pracy bazy danych w celu poprawy wydajności Badanie wydajności i optymalizacja bazy danych MySQL. Strona 4

5 3.1 Zastosowanie indeksów Dane występujące w tabelach mają charakter nieuporządkowany. W celu wyszukania konkretnego wiersza na przykład wydając zapytanie SELECT * FROM pracownicy WHERE id=10; serwer bazodanowy MySQL musi wykonać tzw. pełny skan tabeli (ang. full table scan), czyli fizycznie zaczynając od pierwszego rekordu musi przejść kolejno przez wszystkie rekordy, aż do ostatniego w poszukiwaniu wartości kolumny id równej 10. Oczywiście nie kończy po znalezieniu pierwszego rekordu, ponieważ zapytanie prosi o zwrócenie wszystkich rekordów. Skanowanie każdorazowo tabeli to operacja bardzo kosztowna, której wydajność zależy od prędkości dysku twardego i jego czasu odpowiedzi. Nie trudno sobie wyobrazić, że z bazy danych korzysta więcej niż jedna osoba i zwracanie wyników w ten sposób oznacza ciężką pracę dysku twardego i częste przemieszczenie głowicy w różne miejsca. Aby temu zapobiec stosuje się indeksy. Wyróżniamy różne typy indeksów najbardziej popularne to BTREE, HASH i FULLTEXT. Zasada działania indeksu na tabeli jest bardzo prosta. Indeks zapisuje wartości kolumny na którą nakładamy indeks, ale w postaci posortowanej. Jeśli poszukujemy w tabeli pracownicy, pracownika o numerze ID równym 10 to MySQL skanuje indeks z góry na dół w poszukiwaniu wartości 10. Operacja ta jest dużo szybsza niż skanowanie tabeli, ponieważ indeks jest dużo mniejszy, a poza tym najczęściej znajduje się w całości w pamięci RAM. Po znalezieniu liczby 10 następuje przejście do następnej pozycji. Jeśli tam także znajduje się 10 to przetwarzana jest kolejna pozycja. Jeśli w kolejnej natomiast baza danych napotka liczbę 11 to kończy przeszukiwanie, ze względu na to, że wartości są posortowane i liczba 10 z pewnością w innym miejscu już nie wystąpi. Wykorzystanie indeksów daje nam kolosalny wzrost wydajności zapytań. 3.2 Wykorzystanie polecenia EXPLAIN W celu optymalizacji zapytań musimy się dowiedzieć w jaki sposób baza danych je przetwarza i jaką drogę wybiera w celu wyświetlenia interesujących nas wyników. Do tego celu powstało polecenie EXPLAIN, którego zastosowanie jest przedstawione poniżej: mysql> EXPLAIN SELECT * FROM produkty WHERE id= ; id select_type table type possible_keys key key_len ref rows Extra SIMPLE produkty ref id id 4 const row in set (0,01 sec) W powyższym przykładzie widzimy, że nasze zapytanie może skorzystać z indeksu o nazwie id. Informuje nas o tym wartość possibile_keys. Zadanie systemu zarządzania bazą danych jest decyzja, czy i którego indeksu najbardziej opłaca się użyć. W tym przypadku, jak najbardziej zastosowanie ma indeks id, dlatego też w kolumnie key zostaliśmy poinformowani, że zostanie on użyty. Kolumna Badanie wydajności i optymalizacja bazy danych MySQL. Strona 5

6 rows informuje nas, że zostaną zwrócone dwa wiersze. Prześledzenie wyników polecenia EXPLAIN jest bardzo istotne, szczególnie przy skomplikowanych zapytaniach wykorzystujących złączenia tabel (polecenia JOIN) i podzapytania. 3.3 Wyszukiwanie wolnych zapytań Baza danych MYSQL ma możliwość zapisywania informacji o zapytaniach, które wykonały się powyżej zdefiniowanego czasu wolnego zapytania np. 1 sekundy. Zapytania takie zapisywane są do pliku nazywanego slow.log, którego analiza pomoże w optymalizacji zapytań. Znając zapytania, które wykonują się za długo możemy zrobić dwie rzeczy: zmienić logikę aplikacji, tak aby zamiast jednego skomplikowanego zapytania wykonała dwa lub więcej, ale dużo szybszych zapytań na podstawie analizy wyników polecenia EXPLAIN zoptymalizować zapytanie poprzez jego zmianę lub dodanie odpowiedniego indeksu Za pomocą slow.log możemy także wyłapywać zapytania, które nie używają indeksów. Jest to bardzo przydatna opcja. Przykłady wyciąg z pliku slow.log wygląda następująco: # Time: :38:54 # User@Host: localhost [] # Query_time: 4 Lock_time: 0 Rows_sent: 6 Rows_examined: SELECT pokemon_id,pokemon_name,pokemon_level FROM user_pokemon WHERE user_id LIKE '_pesao' and in_party='y' LIMIT 6; Z powyższego łatwo wywnioskować, że wykonanie zapytania trwało aż 4 sekundy, w wyniku zwrócono 6 wierszy, a MySQL przeskanował prawie trzy i pół miliona wierszy. 4 Badanie aktywności bazy danych Informacja o pracy bazy danych jest bardzo ważna dla administratora. MySQL dysponuje dwoma poleceniami: SHOW STATUS, które raportuje 291 parametrów obrazujących obecny stan bazy danych SHOW PROCESSLIST, które wyświetla bieżące działania wykonywane w bazie danych Wynik pierwszego polecenia wydaje się bardzo niewygodny i nieporęczny dlatego powstało narzędzie mysqlreport, napisane w języku Perl ułatwiające analizę tych danych. Badanie wydajności i optymalizacja bazy danych MySQL. Strona 6

7 4.1 Program mysqlreport Program mysqlreport pobiera dane statusowe z serwera MySQL i wyświetla jest w formie przyjaznej dla użytkownika. Omówienie skryptu mysqlreport rozpoczniemy od prezentacji wyników jego działania. Ze względu na to, że jest on dosyć długi na potrzeby tego tekstu raport został podzielony na działy, które zostaną omówione po kolei. MySQL rc-log uptime 5 19:54:47 Sun Feb 28 17:35: Key Buffer used 1.64G of 2.00G %Used: Current M %Usage: Write hit 87.77% Read hit 99.86% Pierwsza linia to podstawowe informacje na temat naszej bazy danych, takie jak: numer wersji, czas działania i aktualna data. Zaraz poniżej mamy informacje dotyczące key_buffer, o którym wspomnieliśmy na samym początku i w którym przechowywane są indeksy. Zdefiniowana została maksymalna ilość pamięci jaką może zająć jest to wartość dwóch gigabajtów. W czasie działania bazy danych maksymalnie było zajętych %. Poniżej mamy informację w jakim stopniu bufor jest zużywany w tym momencie, a następnie procentowy stosunek zapisów i odczytów klucza z pamięci do zapisów i odczytów klucza z dysku twardego. Questions Total M 216.8/s QC Hits 45.69M 90.7/s %Total: DMS 36.19M 71.9/s Com_ 23.93M 47.5/s COM_QUIT 4.46M 8.9/s Unknown 1.07M 2.1/s 0.98 Slow 1 s 4.02M 8.0/s 3.68 %DMS: Log: ON DMS 36.19M 71.9/s SELECT 27.33M 54.3/s UPDATE 4.24M 8.4/s INSERT 3.22M 6.4/s DELETE 1.35M 2.7/s REPLACE 47.26k 0.1/s Com_ 23.93M 47.5/s set_option 14.17M 28.1/s change_db 4.03M 8.0/s 3.69 show_fields k 1.9/s 0.88 Kolejna część raportu informuje nas o tym jakiego typu zapytania przyjmuje nasza baza danych. Pierwsza linia to ilość wszystkich zapytań w czasie działania bazy danych oraz ilość zapytań na sekundę. W momencie stworzenia tego raportu do bazy zadawanych jest ponad 216 zapytań na sekundę. Następnie wszystkie zapytania podzielone są na różne rodzaje. Najważniejsze z nich to: Badanie wydajności i optymalizacja bazy danych MySQL. Strona 7

8 QC Hits oznacza odpowiedzi systemu cache DMS to zapytania manipulujące danymi typu SELECT, INSERT, DELETE, UPDATE, REPLACE, CALL i inne Com_ to komendy wewnętrzne MySQL, przeważnie związane z protokołem. Wysoka wartość jest niewskazana. Informacja Slow jest bardzo istotna. Oznacza ilość znalezionych wolnych zapytań w naszym przypadku to takie, których wykonanie trwa dłużej niż 1 sekundę. Jak widać jest 8 takich zapytań w trakcie sekundy. Następnie widzimy podział zapytań manipulujących danymi na już konkretne typu SELECT, UPDATE, INSERT, DELETE i REPLACE. Z tej informacji możemy łatwo wywnioskować w jakim stopniu nasza baza pracuje w trybie odczytu, a w jakim w trybie zapisu. Na zakończenie mamy podział zapytań typu Com_. SELECT and Sort Scan 6.11M 12.1/s %SELECT: Range 2.64M 5.2/s 9.67 Full join 99.14k 0.2/s 0.36 Range check /s 0.00 Full rng join 43.12k 0.1/s 0.16 Sort scan 1.62M 3.2/s Sort range k 1.8/s Sort mrg pass k 0.7/s Kolejny dział to szczegółowe informacje na temat zapytań typu SELECT i sortowania. Scan mówi nam jak często przeprowadzane jest skanowanie całej tabeli (ang. full table scan), range to zapytania szukające zakresu danych. Query Cache Memory usage 1.16G of 2.00G %Used: Block Fragmnt 21.02% Hits 45.69M 90.7/s Inserts 18.05M 35.8/s Insrt:Prune 36.53:1 34.9/s Hit:Insert 2.53:1 Kolejny dział mówi o użyciu przez bazę systemu keszującego. W naszym przykładzie dostępnych jest 2GB pamięci, z czego prawie 60% jest wykorzystana. Następnie mamy informację o fragmentacji bloków oraz ile zapytań trafia w cache oraz jak często zapytania są do niego dodawane. Badanie wydajności i optymalizacja bazy danych MySQL. Strona 8

9 Table Locks Waited 83.70k 0.2/s %Total: 0.18 Immediate 46.63M 92.6/s Tables Open of 3236 %Cache: Opened 1.89M 3.8/s Connections Max used 551 of 800 %Max: Total 4.56M 9.0/s Created Temp Disk table 2.32M 4.6/s Table 4.21M 8.4/s Size: 32.0M File 38.19k 0.1/s Threads Running 7 of 117 Cached 3 of 8 %Hit: Created k 0.3/s Slow 3 0.0/s Aborted Clients k 0.4/s Connects /s Bytes Sent G 1.0M/s Received 17.93G 35.6k/s Powyższych danych raczej nie trzeba tłumaczyć, bo na pierwszy rzut oka wydają się jasne. Znajdziemy tutaj informacje na temat blokad zakładanych na tabele, otwartych tabeli, ilości połączeń, tymczasowych tabeli, wątków, przerwanych połączeń oraz ilości przesyłanych danych. Aktualnie baza generuje ruch o wielkości jednego megabajta na sekundę, czyli dosyć sporo. InnoDB Buffer Pool Usage 1.00G of 1.00G %Used: Read hit 99.92% Pages Free 1 %Total: 0.00 Data 62.89k %Drty: 0.07 Misc Latched Reads 3.05G 6.1k/s From file 2.42M 4.8/s 0.08 Ahead Rnd /s Ahead Sql /s Writes M 938.4/s Badanie wydajności i optymalizacja bazy danych MySQL. Strona 9

10 Flushes 5.79M 11.5/s Wait Free 0 0/s Kolejny dział dotyczy już tylko tabeli wykorzystujących silnik InnoDB. Mamy informację o omawianym na początku parametrze innodb_buffer_pool, który w tym momencie niestety jest w całości zajęty. Następnie pojawia się informacja o stronach oraz informacja na temat operacji odczytu i zapisu. InnoDB Lock Waits /s Current 0 Time acquiring Total ms Average 414 ms Max ms InnoDB Data, Pages, Rows Data Reads 3.32M 6.6/s Writes 6.25M 12.4/s fsync k 1.3/s Pending Reads 0 Writes 0 fsync 0 Pages Created k 0.8/s Read 15.18M 30.1/s Written 5.79M 11.5/s Rows Deleted k 1.0/s Inserted 6.54M 13.0/s Read 3.71G 7.4k/s Updated M 307.9/s Na koniec otrzymamy szczegółowe informacje na temat danych, stron i krotek zawartych w tabelach typu InnoDB. Całość raportu jest bardzo opisowa i dostarcza administratorowi bardzo ciekawych informacji na temat działania bazy danych MySQL. Badanie wydajności i optymalizacja bazy danych MySQL. Strona 10

11 4.2 Lista procesów Za pomocą polecenia SHOW PROCESSLIST możemy wyświetlić aktualnie przetwarzane zapytania przez MySQL. Przykład takiego polecenia wygląda następująco: mysql> show processlist; Id User Host db Command Time State Info root localhost allegro Query 4375 NULL analyze table buyers 8 root localhost NULL Query 0 NULL show processlist rows in set (0,00 sec) Widzimy dokładnie jaki użytkownik, połączony z jakiego hosta, wykonuje jakie polecenie na jakiej bazie danych. Istnieje możliwość zabicia procesu za pomocą polecenia KILL do identyfikacji procesu posłuży nam numer Id z pierwszej kolumny. Istnieje narzędzie o nazwie mytop, które ułatwia oglądanie operacji obecnie wykonywanych przez MySQL. Swoim wyglądem bardzo przypomina uniksowe narzędzie top, do podglądania listy procesów w sposób przyjazny dla użytkownika. 5 Narzędzia wspomagające optymalizację Jest dostępnych kilka darmowych narzędzi, które ułatwiają administratorowi proces optymalizacji oraz wskazują potencjalne słabości w konfiguracji. Dwa z nich godne uwagi to: MySQL Tuner MySQL Performance Tuning Primer Oba narzędzia opierają się na podobnej zasadzie działania. Analizują dane polecenia SHOW STATUS, ilość dostępnej pamięci operacyjnej, wielkość indeksów itp. i na tej podstawie wyciągają wnioski. Przed uruchomieniem skryptów serwer baz danych powinien być uruchomiony co najmniej przez 24 godziny, aby zebrać dostateczną ilość informacji na temat jego działania. Skrypty wprost instruują użytkownika, które parametry w konfiguracji powinien zwiększyć lub zmniejszyć. Warto się z nimi zapoznać i po konfiguracji serwera sprawdzić, czy jeszcze którejś opcji nie da się poprawić. Badanie wydajności i optymalizacja bazy danych MySQL. Strona 11

12 6 Podsumowanie Baza danych MySQL do wydajnej pracy wymaga poprawnego skonfigurowania szeregu parametrów. Pomocne w tym zadaniu okażą się zarówno wewnętrzne polecenia bazy danych MySQL, jak i programy pomocnicze w postaci programu mysqltuner. Po uruchomieniu bazy wymaga ona stałej obserwacji i kontroli buforów odpowiedzialnych za jej wydajną pracę. Idealnym narzędziem do tego celu okazał się program mysqlreport, który na pierwszy rzut oka wydaje się dosyć enigmatyczny. Jeśli z naszej bazy danych korzysta wielu użytkowników uruchamiających różne aplikacje w postaci serwisów WWW, warto również zwrócić uwagę na zawartość pliku slow.log, w którym zapisywane są zapytania prawdopodobnie nadające się do przepisania lub optymalizacji stosując indeksy na odpowiednie kolumny w tabeli. 7 Bibliografia [1] MySQL, 4th edition, Paul DuBois, Pearson Education, Inc [2] MySQL Performance Blog, blog firmy Percona [3] MySQL Reference, oficjalna dokumentacja bazy danych MySQL [4] MySQL Report, - strona domowa programu mysqlreport Badanie wydajności i optymalizacja bazy danych MySQL. Strona 12

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

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 9 Optymalizacja zapytań Pobieranie planu wykonania Indeksy i wydajność - 1 - Zadania optymalizatora

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

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Sprawdzanie spójności bazy danych Jednym z podstawowych działań administratora jest zapewnienie bezpieczeństwa danych przez tworzenie ich kopii. Przed wykonaniem

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

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

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

Bardziej szczegół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

Optymalizacja wydajności SZBD

Optymalizacja wydajności SZBD Optymalizacja wydajności SZBD 1. Optymalizacja wydajności systemu bazodanowego Wydajność SZBD określana jest najczęściej za pomocą następujących parametrów: liczby operacji przeprowadzanych na sekundę,

Bardziej szczegółowo

Optymalizacja poleceń SQL Metody dostępu do danych

Optymalizacja poleceń SQL Metody dostępu do danych Optymalizacja poleceń SQL Metody dostępu do danych 1 Metody dostępu do danych Określają, w jaki sposób dane polecenia SQL są odczytywane z miejsca ich fizycznej lokalizacji. Dostęp do tabeli: pełne przeglądnięcie,

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

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

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

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

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

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

Block Change Tracking

Block Change Tracking Czym jest i czy warto stosować? OPITZ CONSULTING Kraków Przybliżenie technologii i analiza testów Jakub Szepietowski (Młodszy konsultant SE) OPITZ CONSULTING Kraków 2011 Strona 1 Agenda 1. Plik BCT 2.

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

Typy tabel serwera MySQL

Typy tabel serwera MySQL Typy tabel serwera MySQL Kopie zapasowe baz danych Zabezpieczanie serwera MySQL Zakładanie konta użytkownika z określonymi uprawnieniami Zarządzanie kontem i bazą danych Kilka kolejnych informacji na temat

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

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

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

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

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

QUERY język zapytań do tworzenia raportów w AS/400

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

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

Tabela wewnętrzna - definicja

Tabela wewnętrzna - definicja ABAP/4 Tabela wewnętrzna - definicja Temporalna tabela przechowywana w pamięci operacyjnej serwera aplikacji Tworzona, wypełniana i modyfikowana jest przez program podczas jego wykonywania i usuwana, gdy

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

Wydajność hurtowni danych opartej o Oracle10g Database

Wydajność hurtowni danych opartej o Oracle10g Database Wydajność hurtowni danych opartej o Oracle10g Database 123 Plan rozdziału 124 Transformacja gwiaździsta Rozpraszanie przestrzeni tabel Buforowanie tabel Różnicowanie wielkości bloków bazy danych Zarządzanie

Bardziej szczegółowo

Administracja bazami danych. dr inż. Grzegorz Michalski

Administracja bazami danych. dr inż. Grzegorz Michalski Administracja bazami danych dr inż. Grzegorz Michalski Dlaczego MySQL? szybkość programiści twierdzą, że jest najszybszą bazą danych, łatwość użycia MySQL jest względnie prostym systemem w instalacji,

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

dziennik Instrukcja obsługi

dziennik Instrukcja obsługi Ham Radio Deluxe dziennik Instrukcja obsługi Wg. Simon Brown, HB9DRV Tłumaczenie SP4JEU grudzień 22, 2008 Zawartość 3 Wprowadzenie 5 Po co... 5 Główne cechy... 5 baza danych 7 ODBC... 7 Który produkt

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

MySQL. Æwiczenia praktyczne

MySQL. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ

Bardziej szczegółowo

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3 cur.executescript(""" DROP TABLE IF EXISTS uczen; CREATE TABLE IF NOT EXISTS uczen ( Uniwersytet Technologiczno-Przyrodniczy im. J.J. Śniadeckich w Bydgoszczy Instrukcja do ćwiczeń laboratoryjnych Przedmiot

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegół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

Tuning SQL Server dla serwerów WWW

Tuning SQL Server dla serwerów WWW Tuning SQL Server dla serwerów WWW Prowadzący: Cezary Ołtuszyk Zapraszamy do współpracy! Plan szkolenia I. Wprowadzenie do tematu II. Nawiązywanie połączenia z SQL Server III. Parametryzacja i przygotowanie

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

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

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

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

Instrukcja instalacji i obsługi programu Szpieg 3

Instrukcja instalacji i obsługi programu Szpieg 3 COMPUTER SERVICE CENTER 43-300 Bielsko-Biała ul. Cieszyńska 52 tel. +48 (33) 819 35 86, 819 35 87, 601 550 625 Instrukcja instalacji i obsługi programu Szpieg 3 wersja 0.0.2 123 SERWIS Sp. z o. o. ul.

Bardziej szczegółowo

Kurs. Podstawy MySQL

Kurs. Podstawy MySQL Kurs Podstawy MySQL Krótkie info. Autorem kursu jest Piotr Jędrusik. Kurs jest własnością serwisu MySQL FAQ www.mysqlfaq.prv.pl, email: mysqlfaq@twister.pl. 1. Tworzymy bazę. Stworzymy pierwszą bazę o

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

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

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 część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie bazy danych z użyciem UML, proste

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

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 6 Wyzwalacze Wprowadzenie Tworzenie wyzwalacza Wyzwalacze typu,,po'' Wyzwalacze typu,,zamiast''

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instytut Mechaniki i Inżynierii Obliczeniowej   fb.com/groups/bazydanychmt/ Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie

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

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0 Uprawnienia dla uż ytkowników MANIPULACJA UPRAWNIENIAMI Przechodzimy do cześci nadawania oraz odbierania uprawnie ń. Wszelkie zmiany dotyczące tabel w bazie mysql można przeprowadza ć za pomoc ą znanych

Bardziej szczegółowo

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.

Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. Temat: Wyzwalacze (triggery). Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę a następnie trigger

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

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL

Optymalizacja. Plan wykonania polecenia SQL (1) Plan wykonania polecenia SQL (2) Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Optymalizacja Rozdział 19 Wprowadzenie do optymalizacji poleceń SQL Pojęcie i cel optymalizacji, schemat optymalizacji, plan wykonania polecenia SQL, polecenie EXPLAIN PLAN, dyrektywa AUTOTRACE, wybór

Bardziej szczegółowo

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie

Bardziej szczegółowo

Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g

Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g Wykonywanie kopii bezpieczeństwa w bazie Oracle 11g Wstęp W bazie Oracle 11g można wykonywać kopie bezpieczeństwa ręcznie i automatycznie z wykorzystaniem narzędzie RMAN. Zalecanym i rekomendowanym narzędziem

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

Bardziej szczegółowo

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

Bardziej szczegółowo

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS Zmiany funkcjonalne i lista obsłużonych zgłoszeń 2017.3.0, i 2017.3.2 1. Wstęp W niniejszym dokumencie zostały opisane modyfikacje wprowadzone w wersji 2017.3.0, i 2017.3.2. 2. Modyfikacje wprowadzone

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Dokumentacja fillup - MS SQL

Dokumentacja fillup - MS SQL Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server.............................

Bardziej szczegółowo

Instalacja i opis podstawowych funkcji programu Dev-C++

Instalacja i opis podstawowych funkcji programu Dev-C++ Instalacja i opis podstawowych funkcji programu Dev-C++ Przed rozpoczęciem programowania musimy zainstalować i przygotować kompilator. Spośród wielu dostępnych kompilatorów polecam aplikację Dev-C++, ze

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

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

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

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

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 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca

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

Stosowanie indeksów ma swoje korzyści, ale bywa również kosztowne.

Stosowanie indeksów ma swoje korzyści, ale bywa również kosztowne. INDEKSY Indeks to plik (o rozszerzeniu sas7bndx) powiązany ze zbiorem, który pozwala na bezpośredni dostęp do obserwacji. Przechowuje wartości obserwacji w porządku rosnącym oraz położenie obserwacji w

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

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

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

SQL (ang. Structured Query Language)

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

Bardziej szczegółowo

Database Connectivity

Database Connectivity Oprogramowanie Systemów Pomiarowych 15.01.2009 Database Connectivity Dr inŝ. Sebastian Budzan Zakład Pomiarów i Systemów Sterowania Tematyka Podstawy baz danych, Komunikacja, pojęcia: API, ODBC, DSN, Połączenie

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 3 (Tworzenie bazy danych z użyciem UML, proste

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

DBPLUS Performance Monitor opis zmian w wersji

DBPLUS Performance Monitor opis zmian w wersji DBPLUS Performance Monitor opis zmian w wersji 2018.1.1 Data: 15 kwiecień 2018 Spis treści 1 Nowości w wersji 2018.1.1... 3 1.1 Plany wykonań...3 1.1.1 Generowanie skryptu PLAN GUIDE... 3 1.1.2 Pokazywanie

Bardziej szczegółowo

Programowanie obiektów

Programowanie obiektów Programowanie obiektów lokalne tabele tymczasowe, globalne tabele tymczasowe, zmienne lokalne, zmienne globalne przypisane wartości zmiennym 1 T-SQL Transact SQL (T-SQL), tak jak inne języki programoawania

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

Audyt serwera bazy danych Oracle Database 12c

Audyt serwera bazy danych Oracle Database 12c Audyt serwera bazy danych Oracle Database 12c Raport z przeprowadzonego audytu [XXXXXXXX] Redakcja dokumentu: XXXX XXXXXXXX Poznań XX-XX-XXXX Spis treści 1 Przedmiot i cel audytu... 2 2 Wykorzystane materiały

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

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

Wprowadzenie do Doctrine ORM

Wprowadzenie do Doctrine ORM Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,

Bardziej szczegółowo

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta?

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta? Gr Masyla: 1. Zaznacz poprawne stwierdzenia dotyczące opcji recovery model w MS SQL Server a) Ustawienie Simple pozwala zaoszczędzid miejsce na dysku b) Model full jest zalecany dla baz danych, w których

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

Migracja Business Intelligence do wersji 11.0

Migracja Business Intelligence do wersji 11.0 Migracja Business Intelligence do wersji 11.0 Copyright 2012 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest

Bardziej szczegółowo

Optymalizacja poleceń SQL Wprowadzenie

Optymalizacja poleceń SQL Wprowadzenie Optymalizacja poleceń SQL Wprowadzenie 1 Fazy przetwarzania polecenia SQL 2 Faza parsingu (1) Krok 1. Test składniowy weryfikacja poprawności składniowej polecenia SQL. Krok 2. Test semantyczny m.in. weryfikacja

Bardziej szczegółowo

Spis treści. Spis treści... 2. Wstęp... 3. Instalacja nazwa.pl... 3. Instalacja Home.pl... 8. Edycja grafiki strony... 17. logo...

Spis treści. Spis treści... 2. Wstęp... 3. Instalacja nazwa.pl... 3. Instalacja Home.pl... 8. Edycja grafiki strony... 17. logo... Instalacja serwera Spis treści Spis treści... 2 Wstęp... 3 Instalacja nazwa.pl... 3 Instalacja Home.pl... 8 Edycja grafiki strony... 17 logo... 17 Wstęp Najnowszy sklep internetowy spod znaku sellsmart,

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2 AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie Wydział Geologii, Geofizyki i Ochrony Środowiska Wydajnośd w bazach danych Grzegorz Surdyka Informatyka Stosowana Kraków, 9 Spis treści. Wstęp...

Bardziej szczegółowo

Instrukcja obsługi narzędzia API

Instrukcja obsługi narzędzia API Instrukcja obsługi narzędzia API 2012 1. Podstawowe informacje Aby umożliwić maksymalną integrację systemów i stron partnerów z naszym systemem, stworzyliśmy specjalne API, które umożliwia generowanie

Bardziej szczegółowo