Indeksy i transakcje

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

Download "Indeksy i transakcje"

Transkrypt

1 ITA-101 Bazy Danych Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski Moduł 7 Wersja 1.0 Spis treści... 1 Informacje o module... 2 Przygotowanie teoretyczne... 3 Przykładowy problem... 3 Podstawy teoretyczne... 3 Przykładowe rozwiązanie... 9 Porady praktyczne Uwagi dla studenta Dodatkowe źródła informacji Laboratorium podstawowe Problem 1 (czas realizacji 30 min) Problem 2 (czas realizacji 15 min) Laboratorium rozszerzone Zadanie 1 (czas realizacji 90 min)... 20

2 Informacje o module Opis modułu W module tym znajdziesz informacje na temat dostępu fizycznego do danych oraz optymalizacji dostępu. Poznasz indeksy i ich rodzaje, a następnie dowiesz się, jakie operacje wykonywane są na indeksach. W drugiej części poznasz transakcje, które służą do zapewnienia spójności bazy danych i mają wpływ na wydajność bazy danych. Dowiesz się, że obsługa transakcji nie jest rzeczą łatwą i wymaga rozwiązywania wielu trudnych problemów. Cel modułu Celem modułu jest zapoznanie czytelnika z podstawowymi mechanizmami indeksowania oraz struktury pisania transakcji. Zostaną przedstawione proste przykłady, które mają pokazać mechanizmy obowiązujące w metodach indeksowania oraz w transakcjach. Uzyskane kompetencje Po zrealizowaniu modułu będziesz: wiedział, na czym polega zasada działania indeksów potrafił we właściwy sposób dobierać politykę indeksowania znał zasadę funkcjonowania transakcji potrafił we właściwy sposób pisać proste transakcje Wymagania wstępne Przed przystąpieniem do pracy z tym modułem powinieneś: umieć stworzyć bazę danych wraz z jej podstawowymi obiektami (patrz: moduł 3) znać zaawansowane mechanizmy programowania w języku T-SQL (patrz: moduł 9) znać podstawowe mechanizmy bezpieczeństwa (patrz: moduł 11) Mapa zależności modułu Zgodnie z mapą zależności przedstawioną na rys. 1, przed przystąpieniem do realizacji tego modułu należy zapoznać się z materiałem zawartym w modułach 3, 8 i 11. Rys. 1 Mapa zależności modułu Strona 2/20

3 Przygotowanie teoretyczne Przykładowy problem Tak jak już Wiesz z bazy danych może korzystać wielu użytkowników, dysponujących różnorakimi uprawnieniami i mających dostęp do różnych obiektów w bazie danych. W związku z tym jednym z podstawowych zadań, jakie stoi przed osobami odpowiedzialnymi za prawidłowe funkcjonowanie bazy danych, jest dobór odpowiedniej polityki indeksowania, która pozwoli na szybsze przeszukiwanie bazy danych. Bezpośrednio z polityką indeksowania bazy danych związana jest optymalizacja i strojenie bazy danych, między innymi poprzez przebudowę indeksów. Kolejnym mechanizmem, z jakim bardzo często możemy się spotkać, są transakcje. Według definicji są to operacje, które są niepodzielne i muszą być wykonane w całości. Innym ważnym zadaniem transakcji jest zapewnienie spójności bazy danych oraz umożliwienie równoległych operacji na niej. W celu dobrego pisania transakcji potrzebna jest znajomość zaawansowanego programowania w języku T-SQL. Transakcje stanowią bardzo ważny element programowania baz danych i powinny być pisane profesjonalnie. Przykładem transakcji może być wypłata pieniędzy z bankomatu, płatność kartą debetową itp. Podstawy teoretyczne Dostęp fizyczny do danych Zrozumienie mechanizmu dostępu do danych zapisanych w bazie danych jest bardzo istotne dla zrozumienia zasad działania indeksów. Jak wiadomo, dane w bazach danych w sposób trwały są zapisywane na dyskach optycznych, magnetycznych lub rodzinach nośników o dostępie bezpośrednim, takich jak macierze RAID (ang. Redundant Array of Independent Disks). Zasady działania tego typu nośników oraz pojęcia głowicy, cylindrów, strony danych itp. powinny być Ci znane z przedmiotu Podstawy Informatyki lub podobnego. System zarządzania bazami danych najczęściej nie zajmuje się fizyczną obsługą dysków. W procesie dostępu do danych biorą udział: Menedżer plików posiada wiedzę o strukturze systemu plików i jest odpowiedzialny za odszukanie odpowiedniego pliku. Menedżer dysku posiada wiedzę na temat fizycznej organizacji dysku i jest odpowiedzialny za odnalezienie odpowiedniej strony danych. Schemat łańcucha dostępu do danych pokazany jest na rys. 2. Rys. 2 Schemat dostępu do danych Strona 3/20

4 Optymalizacja dostępu Zasadniczy czas dostępu do danych bazy to czas odczytu danych z dysków. W celu optymalizacji tego dostępu stosuje się metodę zwaną klastrowaniem. Klastrowanie polega na dążeniu do utrzymania logicznie powiązanych rekordów blisko siebie na dysku. Taka organizacja danych znacznie przyspiesza dostęp do nich. Aby odczytać dane powiązane, głowica nie musi wykonywać dużych ruchów, a tym samym maleją czasy wyszukiwania. Rozróżniamy dwa rodzaje klastrowania: Klastrowanie wewnątrzplikowe polega na grupowaniu rekordów obok siebie wewnątrz jednego pliku. Klastrowanie międzyplikowe polega na umieszczaniu na stronie obok siebie rekordów pochodzących z więcej niż jednego pliku (tabeli). Optymalizacja dostępu do danych sprowadza się w zasadzie do odpowiedniego zarządzania stronami i decydowania, w jaki sposób dane mają być klastrowane. Więcej na temat fizycznej struktury danych możesz znaleźć w module 4 Indeksy i ich zastosowanie Zastanowimy się teraz nad problemem wyszukiwania danych w tabeli. Na przykład załóżmy, że w tabeli Studenci chcemy znaleźć studenta o nazwisku Nowak. Tab. 1 Przykładowa tabela bazy studentów ID Nazwisko Imie Wydzial 1 Olacki Jan Elektryczny 2 Babicki Adam Mechaniczny 3 Nowak Jerzy Elektryczny 1 Adamski Adam Elektronika Wiersze zapisane są w bazie w kolejności ich wpisywania i nie są w szczególny sposób sortowane. Co robi wobec tego system, kiedy wydajemy polecenie odnalezienia rekordu zawierającego informacje o Nowaku, np.: SELECT imie, nazwisko FROM Studenci WHERE Nazwisko = 'Nowak' System musi przeszukać całą tabelę (skanowanie wszystkich stron danych zawierających dane z tabeli) i przejrzeć wszystkie rekordy tej tabeli, aby mieć pewność, że odnalazł rekordy zawierające nazwisko Nowak. Operacja taka jest oczywiście czasochłonna. Podobnie jest, gdy w książce poszukujemy jakiegoś hasła (na przykład w podręczniku do baz danych szukamy informacji o indeksach). Aby znaleźć szukaną informację, powinniśmy przeczytać całą książkę. Na szczęście niektóre książki są wyposażone na końcu w specjalne zestawienie haseł czyli w indeks. Nasze postępowanie przebiega wówczas następująco: 1. Odszukujemy poszukiwane hasło w indeksie, który jest uporządkowany alfabetycznie (co znacznie ułatwia nam odnalezienie hasła). 2. Odczytujemy w indeksie numer strony, na której hasło to występuje w książce. 3. Otwieramy książkę na odpowiedniej stronie. 4. Przeglądamy stronę w poszukiwaniu naszego hasła. 5. Odczytujemy informacje związane z szukanym hasłem. Strona 4/20

5 Idea działania indeksów w bazie danych jest dokładnie taka sama. Indeks określony na atrybucie A relacji jest mechanizmem, który pozwala na efektywne wyszukiwanie krotek o ustalonej wartości składowej atrybutu A. Jak więc wyglądałby indeks dla tabeli Studenci? Indeks określany jest dla konkretnego pola. Mówimy wówczas, że pole to jest polem indeksowanym. W wypadku tabeli Studenci możemy jako pole indeksowane wybrać pole Nazwisko, wówczas założenie indeksu na tym polu będzie oznaczało założenie przez system dodatkowej tabeli, w której umieszczone zostaną nazwiska studentów z tabeli Studenci oraz przesłanki, gdzie należy szukać (na której stronie danych) pełnej informacji o wybranych studentach. Dodatkowo rekordy w tabeli indeksu zostaną posortowane w kolejności alfabetycznej nazwisk. Poszukiwanie naszego studenta Nowaka będzie teraz przebiegać znacznie szybciej. Działanie i rola indeksów polega głównie na przyspieszeniu wyszukiwania rekordów w bazie danych. Niestety obciążają one dodatkowo system w czasie aktualizacji lub wstawiania danych, bowiem oprócz umieszczenia rekordu w bazie musi on również dokonać wpisu w tabeli indeksu oraz ponownie posortować trzymane w niej rekordy. Zalety i wady stosowania indeksów zebrano w tab. 2. Tab. 2 Zalety i wady stosowania indeksów Zalety Przyspieszają dostęp do danych Wymuszają unikatowość wierszy Wady Zajmują miejsce na dysku Zwiększają obciążenie systemu Niektóre z pól warto indeksować, inne natomiast nie powinny być nigdy indeksowane. Do pierwszej grupy można zaliczyć: klucze podstawowe i obce (często są indeksowane automatycznie) pola, po których często następuje wyszukiwanie pola, do których dostęp następuje w ustalonej, uporządkowanej kolejności Nie należy indeksować: pól, do których rzadko odwołują się zapytania pól, które zawierają tylko kilka wartości unikatowych pól zawierających dane typu image, bit czy obiekt OLE Indeksy mogą być zakładane na jednym polu lub na kilku jednocześnie. Rodzaje indeksów Indeksy można klasyfikować w różny sposób. My podzielimy indeksy na dwie grupy: indeksy grupowane (klastrowe) indeksy niegrupowane (nieklastrowe) Indeksy grupowane Indeks grupowany działa na podobnej zasadzie, co książka telefoniczna. Zawiera strony szybkiego dostępu do danych (w książce telefonicznej na początku znajduje się alfabetyczny spis mówiący o tym, na której stronie szukać nazwisk, firm czy instytucji zaczynających się na daną literę alfabetu). Strony te są ułożone w odwrócone drzewo i przechowują tylko ułożone alfabetycznie wartości indeksowanego pola oraz wskaźniki do stron znajdujących się w niższej warstwie drzewa. Strona 5/20

6 Na samym dole drzewa znajdują się strony zawierające posortowane wg indeksowanego pola dane (w książce telefonicznej zawartość też jest posortowana wg nazwisk lub nazw firm czy instytucji). Przeszukiwanie indeksu odbywa się z góry na dół na następującej zasadzie: porównywana jest szukana wartość pola indeksowanego z wartościami zapisanymi (i posortowanymi) na stronach indeksu jeśli znajdzie się wartość większa od wartości szukanej, wtedy następuje skok jeden poziom niżej do strony wskazywanej przez ostatnią pozycję (na ostatnio sprawdzanej stronie), która nie była większa od szukanej wartości. Każda pozycja na stronach zawiera wskaźnik do strony danych jeden poziom niżej w hierarchii indeksu. Dzięki takiej strukturze przeszukiwane są tylko wybrane strony z danymi, nie zaś wszystkie strony zawierające dane z wybranej tabeli. Rys. 3 Indeks grupowany Indeksy niegrupowane Indeks niegrupowany działa na podobnej zasadzie, co indeks w typowej książce (ale nie w telefonicznej). Indeks niegrupowany budowany jest na stronach danych, które nie są sortowane. Składa się z co najmniej dwóch poziomów: poziomu niepomocniczego i poziomów pomocniczych. Na stronach poziomu niepomocniczego, podobnie jak w przypadku indeksu grupowanego, przechowywane są wartości indeksowanego pola ze wskaźnikami do poziomu niżej w drzewie indeksu. Strony poziomu pomocniczego zwane też liśćmi i zawierają wskaźniki do konkretnych stron danych (które nie są posortowane). Wskaźnik taki zawiera następujące dane: ID pliku, numer strony, numer wiersza na stronie. Przeszukiwanie indeksu niegrupowanego odbywa się na podobnej zasadzie, jak w indeksie grupowanym. Po dojściu do poziomu pomocniczego następują skoki do stron danych (do konkretnych wierszy). Rys. 4 Indeks niegrupowany Strona 6/20

7 Operacje na indeksach Indeksy są najczęściej tworzone automatycznie dla kluczy głównych oraz pól, dla których ma być wymuszona unikatowość. Można też tworzyć je dla innych pól, korzystając z polecenia języka SQL CREATE INDEX. Poniżej podano przykład utworzenia indeksu grupowanego dla dla pola Nazwisko w tabeli Recenzent: USE PraceDyplomowe CREATE CLUSTERED INDEX cl_nazwisko ON Recenzent (Nazwisko) Indeks może też być zakładany na kilku polach jednocześnie. Poniższy przykład pokazuje sposób definiowania unikalnego indeksu na polach Nazwisko i Imie tabeli Osoba: CREATE UNIQUE INDEX Indeks_Osoba ON Osoba (Nazwisko, Imie) Założenie takiego indeksu spowoduje, że będzie możliwe wprowadzanie jedynie unikatowych par imię-nazwisko. Transakcje Transakcja jest ciągiem operacji wykonywanych na bazie danych, które są niepodzielne i muszą być wykonane w całości. Jest więc jednostką logiczną operowania na bazie. Podlega ona kontroli i sterowaniu. Każda transakcja może składać się z następujących operacji: czytanie danej x przez transakcję T zapisanie danej x przez transakcję T wycofanie transakcji T zatwierdzenie transakcji T Transakcje służą do zapewnienia spójności bazy danych oraz umożliwiają równoległe wykonywanie operacji na niej. Jeśli wiele procesów działa jednocześnie na bazie danych, to może łatwo dojść do utraty spójności danych, a co za tym idzie do błędów i otrzymywania niewłaściwych rezultatów operacji. Transakcja zabezpiecza również przed częściowym wykonaniem zbioru operacji, które mogą być przerwane, na przykład w wyniku awarii. Klasycznym przykładem jest operacja polegająca na wypłacaniu pieniędzy z bankomatu. W uproszczeniu operacje realizowane w czasie wypłaty pieniędzy z bankomatu są następujące: 1. Klient wczytuje kartę magnetyczną i jest rozpoznawany. 2. Klient określa sumę wypłaty. 3. Konto klienta jest sprawdzane. 4. Konto jest zmniejszane o sumę wypłaty. 5. Wysyłane jest zlecenie do kasy. 6. Bankomat odlicza sumę i koryguje stan gotówki w bankomacie. 7. Bankomat wypłaca klientowi pieniądze. Zaistnienie awarii w kroku 5 lub 6 może prowadzić do niezbyt przyjemnej sytuacji dla posiadacza konta. Transakcje pozwalają na uniknięcie tego typu niespodzianek. Postulaty AICD Każda transakcja powinna spełniać cztery postulaty. Są to tak zwane postulaty AICD. Strona 7/20

8 1. Atomowość (ang. atomicity) w ramach jednej transakcji wykonują się albo wszystkie operacje, albo żadna. 2. Spójność (ang. consistency) o ile transakcja zastała bazę danych w spójnym stanie, po jej zakończeniu stan jest również spójny (w międzyczasie stan może być chwilowo niespójny). 3. Izolacja (ang. isolation) transakcja nie wie nic o innych transakcjach i nie musi uwzględniać ich działania. Czynności wykonane przez daną transakcję są niewidoczne dla innych transakcji aż do jej zakończenia. 4. Trwałość (ang. durability) po zakończeniu transakcji jej skutki są na trwale zapamiętane (na dysku) i nie mogą być odwrócone przez zdarzenia losowe (np. wyłączenie prądu). Transakcje w SQL W języku SQL każda transakcja rozpoczyna się słowem BEGIN TRANSACTION, a kończy operacją COMMIT oznaczającą pomyślne zakończenie transakcji lub operacją ROLLBACK, oznaczającą wycofanie transakcji. Dowolne polecenie SELECT, INSERT, UPDATE, DELETE czy CREATE rozpoczyna transakcję. Transakcja trwa aż do wydania komendy COMMIT (potwierdzającej) lub ROLLBACK (zrywającej, cofającej). Transakcja może objąć dowolną liczbę poleceń SELECT, INSERT, UPDATE, DELETE, CREATE i innych. Stosowanie zamków oraz problem z zakleszczaniem Zarządzanie transakcjami wymaga zastosowania specjalnego modułu (zwanego modułem planisty) oraz protokołu zarządzania transakcjami. W celu uniknięcia problemów ze współbieżnym dostępem stosuje się mechanizmy blokady dostępu do danych, tzw. zamki. Wyróżniamy dwa typy zamków: Zamek typu X założenie zamka tego typu całkowicie blokuje dostęp do obiektu dla innych transakcji. Zamek typu S założenie zamka tego typu powoduje, że inne transakcje mogą czytać dane, ale nie mogą ich modyfikować. Najczęściej stosowanym w bazach relacyjnych protokołem zarządzania transakcjami jest protokół blokowania dwufazowego 2PL (ang. two-phase locking). Reguły pracy protokołu 2PL są następujące: 1. Jeśli dana operacja pi(x) może być wykonana, to planista zakłada blokadę na daną x dla transakcji Ti i operację przekazuje do wykonania. Jeśli natomiast operacja ta nie może być wykonana, to umieszcza ją w kolejce. 2. Zdjęcie założonej blokady może nastąpić dopiero wtedy, gdy operacja zostanie wykonana. 3. Jeśli nastąpiło zdjęcie jakiejkolwiek blokady założonej dla transakcji T, to dla tej transakcji nie można założyć żadnej innej blokady. Postępując zgodnie z tymi zasadami przebieg wykonania transakcji wymusza dwie fazy obsługi transakcji. W pierwszej fazie są zakładane blokady, a w drugiej następuje ich zdejmowanie. Faza druga jest znacznie szybsza od pierwszej. Rys. 5 Protokół blokowania dwufazowego 2PL Strona 8/20

9 Stosowanie zamków może prowadzić do zjawiska zwanego zakleszczaniem. Zakleszczanie polega na tym, że transakcje blokują się, oczekując siebie nawzajem. Powodem powstania zakleszczeń jest konieczność oczekiwania na zwolnienie zasobu, do którego dostęp potrzebują. Weźmy pod uwagę dwie transakcje A i B. Transakcja A blokuje zasób X i żąda dostępu do zasobu Y. Transakcja B blokuje zasób Y i żąda dostępu do zasobu X. W wyniku tego dochodzi do zakleszczenia i żadna z transakcji nie może wykonywać swojej akcji. Inne przykłady zakleszczeń są pokazane na rys. 6. Stemple czasowe oraz ziarnistość transakcji Rys. 6 Zakleszczenie transakcji Każda transakcja w momencie startu dostaje unikalny stempel czasowy. Stempel ten jest na tyle precyzyjny, aby móc po nim rozróżniać transakcje. Żadna zmiana nie jest nanoszona do bazy danych, transakcja działa na swoich własnych kopiach aż do potwierdzenia. Każdy obiekt bazy danych przechowuje dwa stemple czasowe: transakcji, która ostatnio brała obiekt do czytania i transakcji, która ostatnio brała obiekt do modyfikacji. W momencie potwierdzenia sprawdza się stemple transakcji oraz wszystkich pobranych przez nią obiektów. Można dość łatwo wyprowadzić reguły zgodności, np. jeżeli obiekt był aktualizowany i stempel na obiekcie do aktualizacji jest taki sam, jak stempel transakcji, to transakcja może zostać wykonana, w przeciwnym razie należy ją zerwać i uruchomić od nowa. Jeżeli obiekt był tylko czytany i stempel na obiekcie do aktualizacji jest starszy niż stempel transakcji, to transakcja może zostać wykonana, w przeciwnym razie należy ją zerwać i uruchomić od nowa. Z problemem zakładania zamków wiąże się również problem ziarnistości. Ziarnistość oznacza decyzję, co będzie niepodzielną jednostką, na którą zakłada się blokady. Poziomy ziarnistości mogą dotyczyć: bazy danych, relacji, rekordu, elementu rekordu, pojedynczego atrybutu, fizycznej strony pamięci. Grube ziarna mogą zapewnić znaczny poziom bezpieczeństwa, jednak dają niewielki stopień współbieżności procesów. Z kolei małe ziarna wiążą się z dużymi nakładami na zakładanie zamków oraz ich obsługę. Przykładowe rozwiązanie Optymalizacja bazy danych Bardzo często działająca od jakiegoś czasu baza danych, na której wykonuje się bardzo dużo operacji, zaczyna działać woniej niż podczas pierwszego uruchomienia. Wówczas do głównego zadania administratora bazy danych należy zoptymalizowanie jej oraz przebudowa indeksów. Do tego celu może posłużyć nam narzędzie SQL Server Profiler. Strona 9/20

10 SQL Server Profiler to potężne choć rzadko wykorzystywane narzędzie do analizy problemów z wydajnością bazy danych. Wykorzystując profiler do przechwytywania śladów (ang. traces) aktywności bazy danych można analizować wzorce zapytań, aby wykryć problemy z wydajnością nawet przed ich uwidocznieniem w aplikacjach. W pierwszym kroku należy zdefiniować ślad. Wewnątrz silnika bazy danych SQL Server udostępnia podsystem zdarzeń nazwany SQL Trace, który opiera się na zewnętrznych interfejsie. Interfejs ten pozwala na wywoływanie SQL Trace z wykorzystaniem różnorodnych parametrów. SQL Server Profiler uruchamia się z menu SQL Server 2008 Performance Tools. Po jego otworzeniu należy wybrać File, a następnie New Trace, co pokazano na rys. 7. Rys. 7 Definicja śladu Każdy definiowany ślad musi zostać nazwany (w naszym przykładzie użyliśmy nazwy Test). Następnie następuje wybór wzorca. Istnieje kilka wzorców, które najczęściej są monitorowane. Oczywiście możemy ustawić pusty wzorzec i sami zdefiniować opcje. Na rys. 7 użyliśmy predefiniowanego wzorca Tuning. Następnie ustawiamy sposób zapisu. Mamy możliwość zapisu do pliku lub do tabeli. Zapis do tabeli nie jest polecany, gdyż SQL Trace może generować setki tysięcy wierszy danych śladu na minutę na obciążonym serwerze. Gdy ślad jest w pełni zdefiniowany, należy go tylko uruchomić i zbierać dane. W tym celu należy kliknąć Run. Wynik działania śladu pokazano na rys. 8. Strona 10/20

11 Rys. 8 Uruchomienie śladu Po zakończeniu zbierania śladu kolejnym etapem jest użycie narzędzia Database Engine Tuning Advisor (DTA). Odgrywa ono ważną rolę w rozwiązywaniu problemów związanych z wydajnością, pozwalając wpływać na optymizator zapytań w celu otrzymania zaleceń dla indeksów, indeksowanych widoków lub partycji, które mogą zwiększyć wydajność. W celu uruchomienia DTA należy z zakładki Tools wybrać Database Engine Tuning Advisor. Następnie należy połączyć się z serwerem, wybrać plik obciążający do analizy ten, do którego zapisaliśmy zbierany ślad (rys. 9) oraz określić opcje strojenia (rys. 10). Rys. 9 Definiowanie ogólnych opcji strojenia bazy danych Strona 11/20

12 Rys. 10 Definiowanie strojenia bazy danych Po skonfigurowaniu opcji strojenia DTA można zacząć analizę klikając Start Analysis, co pokazano na rys. 11. Rys. 11 Strojenie bazy danych Po wykonaniu analizy otrzymujemy zalecenia na przykład dotyczące przebudowy indeksów, które możemy zastosować względem naszej bazy danych. Porady praktyczne Indeksowanie kolumn Indeksy powinny być planowane z myślą o najczęściej wykonywanych w Twojej bazie danych zapytaniach SELECT z klauzulą WHERE. Pierwszym krokiem powinno być zatem wypisanie najczęściej wykonywanych zapytań (koniecznie z klauzulą WHERE) Microsoft SQL Server umożliwia utworzenie w tabeli jednego indeksu grupowanego oraz 249 indeksów niegrupowanych. Pojedynczy indeks można założyć na maksymalnie 16 polach. To Strona 12/20

13 jednak tylko maksymalne możliwości serwera. W praktyce w bazach danych OLTP (ang. online transaction processing) nie tworzy się więcej niż 8 do 10 indeksów związanych z pojedynczą tabelą. Należy pamiętać, iż nie wszystkie zapytania wykorzystują indeksy. Np. w Microsoft SQL Server zapytanie: SELECT imie, nazwisko FROM osoby WHERE nazwisko LIKE '%mar%' nie wykorzysta indeksu grupowanego na polu nazwisko, ponieważ niemożliwe będzie porównanie wartości wzorca z wartościami na stronach indeksu. Indeksy mają kluczowe znaczenie dla optymalizacji wydajności baz danych. Dobrze zaprojektowane indeksy mogą znacząco poprawić szybkość operacji przeszukiwania bazy danych (najczęściej wykonywana operacja i dotyczy największych ilości danych), ale źle zaplanowane mogą spowodować efekt odwrotny do pożądanego. Z tego powodu należy starannie zaplanować ich strukturę. Database Engine Tuning Advisor (DTA) to znacznie udoskonalony następca narzędzia Index Tuning Wizard dostarczanego wraz z SQL Server Żeby Database Engine Tuning Advisor (DTA) mógł przeprowadzić optymalizację bazy danych w oparciu o plik zawierający ślad, musi on mieć co najmniej 2 MB zebranych danych. Transakcje Zakleszczenia są poważnym problemem i mają istotny wpływ na wydajność systemu. Walka z zakleszczeniami może przebiegać według dwu metod: a) Wykrywanie zakleszczeń i rozrywanie pętli zakleszczenia detekcja zakleszczenia wymaga skonstruowania grafu czekania (ang. wait-for graph) i tranzytywnego domknięcia tego grafu (złożoność gorsza niż n * n). Rozrywanie pętli zakleszczenia polega na wybraniu transakcji ofiary uczestniczącej w zakleszczeniu, a następnie jej zerwaniu i uruchomieniu od nowa. Wybór ofiary podlega różnym kryteriom może nią być transakcja najmłodsza, najmniej pracochłonna, o niskim priorytecie itp. b) Niedopuszczanie do zakleszczeń istnieje wiele tego rodzaju metod, np.: Wstępne żądanie zasobów przed uruchomieniem każda transakcja określa potrzebne jej zasoby. Nie może później nic więcej żądać. Wada: zgrubne oszacowanie żądanych zasobów prowadzi do zmniejszenia stopnia współbieżności. Czekasz-umieraj (ang. wait-die) jeżeli transakcja próbuje dostać się do zasobu, który jest zablokowany, to natychmiast jest zrywana i powtarzana od nowa. Metoda może być nieskuteczna dla systemów interakcyjnych (użytkownik może się denerwować koniecznością dwukrotnego wprowadzania tych samych danych) oraz prowadzi do spadku efektywności (sporo pracy idzie na marne). Postulat możliwości odtworzenia stanu systemu sprzed wywołani transakcji w wypadku jej awarii (wycofania) możliwy jest dzięki m.in. zastosowaniu osobnego dziennika transakcji. Mogą być w nim zapisywane wszystkie dane, na których pracuje transakcja lub też tylko dane różnicowe. Należy jednak pamiętać, że obsługa transakcji wiąże się z dodatkowymi nakładami i obciążeniem dla systemu. Uwagi dla studenta Jesteś przygotowany do realizacji laboratorium jeśli: rozumiesz mechanizm działania i polityki indeksowania rozumiesz zasadę działania transakcji znasz składnię nakładania indeksów na poszczególne pola rozumiesz sposób działania transakcji Strona 13/20

14 rozumiesz mechanizm zakleszczania transakcji Pamiętaj o zapoznaniu się z uwagami i poradami zawartymi w tym module. Upewnij się, że rozumiesz omawiane w nich zagadnienia. Jeśli masz trudności ze zrozumieniem tematu zawartego w uwagach, przeczytaj ponownie informacje z tego rozdziału i zajrzyj do notatek z wykładów. Dodatkowe źródła informacji 1. Kalen Delaney, Microsoft SQL Server 2005: Rozwiązania praktyczne krok po kroku, Microsoft Press, 2006 W książce autor przedstawia między innymi w jaki sposób należy stosować transakcje w celu zapewnienia bezpiecznej współbieżności bazy danych. Pokazuje jak należy definiować transakcje w SQL Server oraz jak zarządzać odseparowanymi transakcjami. W pozycji tej znajdziesz dużo rozwiązań praktycznych. 2. Deren Bieniek, Randy Dyess, Mike Hotek, Javier Loria, Adam Machanic, Antonio Soto, Adolfo Wiernik, SQL Server Implementacja i obsługa, APN Promise, 2006 W książce obszernie przedstawiono zagadnienia związane z tworzeniem indeksów oraz transakcjami. Znajdziesz tu potrzebne informacje na temat struktury indeksu, tworzenia indeksów klastrowych i nieklastrowych oraz na temat tworzenia transakcji. Znajdziesz tutaj również szczegółowe informacje na temat optymalizacji bazy danych oraz przebudowy indeksów. Książka szczególnie polecana ze względu na dużą zawartość ćwiczeń laboratoryjnych. 3. Ramez Elmasri, Shamkant B. Navathe, Wprowadzenie do systemów baz danych, Helion, 2005 W książce tej znajdziemy dużo szczegółowych informacji na temat indeksowania oraz zagadnień związanych z przetwarzaniem transakcji. Pozycja szczególnie polecana dla osób pragnących poszerzyć swoją wiedzę z tej tematyki. Strona 14/20

15 Laboratorium podstawowe Problem 1 (czas realizacji 30 min) Jesteś administratorem w firmie National Insurance. Właśnie dowiedziałeś się od swojego szefa, że firma planuje rozszerzenie na skalę uczelnianą systemu prac dyplomowych, którym zarządzała dotąd na Twoim wydziale. Zadanie, jakie przed Tobą stoi, to zaplanowanie struktury indeksów. Zadanie 1. Stwórz listę najczęściej wykonywanych zapytań 2. Wybierz pola do indeksowania 3. Nawiąż połączenie z SQL Server Przygotuj tabelę Tok postępowania Wypisz najczęściej wykonywane zapytania na bazie danych PraceDyplomowe, służące do wyszukiwania prac: według tytułów według autorów według promotorów według recenzentów Zastanów się, jakie inne zapytania z klauzulą WHERE można utworzyć dla bazy danych PraceDyplomowe. Mając przed sobą listę najczęściej wykonywanych zapytań oraz strukturę tabel zaplanuj strukturę indeksów. Kandydatami do indeksowania są kolumny lub kombinacje kolumn, które: narzucają porządek sortowania (indeks grupowy) przechowują wartości częściej odczytywane niż modyfikowane są wykorzystywane do łączenia (JOIN) lub wyszukiwania (WHERE) danych przechowują różnorodne wartości Zastanów się, jakie inne kolumny są dobrymi kandydatami na to, żeby założyć na nie indeks. Uruchom maszynę wirtualną BD2008. Jako nazwę użytkownika podaj Administrator. Jako hasło podaj P@ssw0rd. Jeśli nie masz zdefiniowanej maszyny wirtualnej w Microsoft Virtual PC, dodaj nową maszynę używając wirtualnego dysku twardego z pliku D:\VirtualPC\Dydaktyka\BD2008.vhd. Kliknij Start. Z grupy programów Microsoft SQL Server 2008 uruchom SQL Server Management Studio. W oknie logowania kliknij Connect. Z menu głównego wybierz File -> Open -> File. Odszukaj plik C:\Lab08\Indeksy.sql i kliknij Open. Kliknij w menu głównym programu SQL Server Management Studio na Tools -> Customize. W oknie Customize kliknij przycisk Keybord. W pozycji odpowiadającej kombinacji klawiszy Ctrl+F1 wpisz sp_helpindex i wciśnij OK. Wynik powyższych operacji pokazano na rys. 12. Strona 15/20

16 Rys. 12 Definicja klawiszy skrótu Dzięki zdefiniowaniu klawiszy skrótu w prosty sposób będziesz mógł wywoływać z klawiatury procedurę składowaną sp_helpindex, która wyświetla informacje o indeksach w wybranej tabeli. Stwórz kopie tabeli Osoba: -- (2) Tworzymy kopie tabeli Osoba IF EXISTS ( SELECT name FROM sysobjects WHERE name='osoba_kopia') DROP TABLE Osoba_kopia GO SELECT Imie, Nazwisko, Nr_Indeksu INTO Osoba_kopia FROM Osoba GO Uruchom zapytanie do tabeli Osoba_kopia: -- (3) Wyswietl zawartość tabeli Osoba_kopia SELECT * FROM Osoba_kopia GO Podkreśl w edytorze słowo Osoba (nazwa twojej tabeli) i wciśnij CTRL+F1 lub wykonaj poniższy fragment skryptu. Powinieneś zobaczyć informację pokazaną na rys (4) zobaczmy indeksy w tabeli EXEC sp_helpindex Osoba_kopia GO Strona 16/20

17 Rys. 13 Informacja o indeksach w tabeli Osoba Zastanów się, dlaczego w wyniku wywołania procedury składowanej odpowiedzialnej za wyświetlanie informacji o indeksach pojawia się wpis z indeksem PK_Osoba, skoro żaden indeks nie został założony? Włącz pomiar statystyk wejścia/wyjścia ilości skanowanych stron wykonując poniższe polecenie: -- (5) Wlacz statystyki wejscia/wyjscia ilosci skanowanych stron SET statistic io on GO Zaznacz i uruchom (F5) poniższy fragment kodu: -- (6) wykonajmy proste wyszukiwanie po Nr_Indeksu -- oraz po nazwisku SELECT * FROM Osoba WHERE Nr_Indeksu > 1000 AND Nazwisko = 'K%' GO 5. Utwórz indeks Zaznacz i uruchom (F5) poniższy fragment kodu: -- (7) utworzmy indeks niegrupowany CREATE INDEX index_osoba ON Osoba(Nazwisko, Nr_Indeksu) GO Ponownie podkreśl w edytorze słowo Osoba (nazwa twojej tabeli) i wciśnij CTRL+F1. Powinieneś zobaczyć informację pokazaną na rys. 14. Rys. 14 Informacja o indeksach w tabeli Osoba 6. Przetestuj indeks Zaznacz i uruchom (F5) poniższy fragment kodu: -- (6) wykonajmy proste wyszukiwanie po Nr_Indeksu -- oraz po nazwisku SELECT * FROM Osoba WHERE Nr_Indeksu > 1000 AND Nazwisko = 'K%' GO Zauważ, iż wynik będzie oczywiście taki sam, ale pojawi się różnica w statystykach. Strona 17/20

18 Problem 2 (czas realizacji 15 min) Jesteś administratorem w firmie National Insurance. Właśnie dowiedziałeś się od swojego szefa, że firma planuje rozszerzenie na skalę uczelnianą systemu prac dyplomowych, którym zarządzała dotąd na Twoim wydziale. Zadanie jakie przed Tobą stoi to stworzenie transakcji dla rozwijanej bazy danych. Zadanie 1. Nawiąż połączenie z SQL Server Przygotuj tabelę Tok postępowania Uruchom maszynę wirtualną BD2008. Jako nazwę użytkownika podaj Administrator. Jako hasło podaj P@ssw0rd. Jeśli nie masz zdefiniowanej maszyny wirtualnej w Microsoft Virtual PC, dodaj nową maszynę używając wirtualnego dysku twardego z pliku D:\VirtualPC\Dydaktyka\BD2008.vhd. Kliknij Start. Z grupy programów Microsoft SQL Server 2008 uruchom SQL Server Management Studio. W oknie logowania kliknij Connect. Z menu głównego wybierz File -> Open -> File. Odszukaj plik C:\Lab08\Transakcje.sql i kliknij Open. Zaznacz kod, który wyświetla fragment tabeli, oznaczony w komentarzu (1) i (2). -- (1) Ustaw sie na bazie danych PraceDyplomowe USE PraceDyplomowe GO -- (2) Wyswietlamy dwa pierwsze rekordy z tabeli Osoba SELECT * FROM Osoba WHERE ID_Osoby IN (1,2) Zaznacz kod, który próbuje wykonać transakcje: -- (3) Przykladowa transakcja BEGIN TRANSACTION BEGIN TRY UPDATE Osoba SET Nazwisko = 'Kochan' WHERE ID_Osoby = 2 UPDATE Osoba SET Nazwisko = 'Kowalski' WHERE ID_Osoby = 6 END TRY BEGIN CATCH SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, ERROR_STATE() as ErrorState, ERROR_PROCEDURE() as ErrorProcedure, ERROR_LINE() as ErrorLine, ERROR_MESSAGE() as ErrorMessage > 0 ROLLBACK TRANSACTION END CATCH > 0 COMMIT TRANSACTION GO Strona 18/20

19 Powyższy kod podejmuje próbę wykonania transakcji złożonej z dwóch operacji UPDATE. Próba wykonania pierwszej z nich spowoduje błąd, ponieważ wartości w kolumnie ID_Osoby w tabeli Osoby muszą być unikalne, a polecenie próbuje wstawić duplikat wartości 2, która już istnieje w rekordzie drugim tabeli. Przechwytywanie błędów odbywa się przy użyciu bloków TRY...CATCH, które poznałeś w module 9. Zastanów się, jak powinieneś zmodyfikować powyższą transakcję, żeby zakończyła się powodzeniem? Strona 19/20

20 Laboratorium rozszerzone Zadanie 1 (czas realizacji 90 min) Jesteś administratorem w firmie National Insurance. Właśnie dowiedziałeś się od swojego szefa, że firma zarządzająca bazą AdventureWorks planuje rozszerzenie i modernizację systemu w celu spełnienia pewnych standardów. W związku z modernizacją systemu bazodanowego, a zatem zmianą struktury fizycznej bazy danych, najprawdopodobniej będzie musiała nastąpić przebudowa struktury indeksów. Poza przebudową indeksów będzie musiała zapewne nastąpić modernizacja istniejących transakcji tak, żeby odpowiadały one nowej strukturze fizycznej przebudowanej bazy danych. Zadania jakie przed Tobą stoją to: 1. Podjęcie decyzji, które obiekty w bazie danych pozostaną bez zmian, a które zostaną zmodyfikowane lub usunięte. 2. Podjęcie decyzji, na które pola opłaca się nałożyć indeks i jakiego typu te indeksy powinny być. 3. Podjęcie decyzji, które transakcje należy zmodernizować i czy nie trzeba będzie dodać nowych transakcji. Strona 20/20

Transakcje. Bazy danych 155

Transakcje. Bazy danych 155 Transakcje Bazy danych 155 156 Bazy danych Przegląd zagadnień Transakcje czym sa i po co sie je stosuje Postulaty ACID Transakcje w SQL Stosowanie zamków oraz problemy z zakleszczania Stemple czasowe i

Bardziej szczegółowo

Indeksy. Bazy danych 139

Indeksy. Bazy danych 139 Indeksy Bazy danych 139 140 Bazy danych Przegląd zagadnień Dostep fizyczny do danych Optymalizacja dostepu Indeksy i ich zastosowanie Rodzaje indeksów Operacje na indeksach Podsumowanie Laboratorium Wykład

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać

Bardziej szczegółowo

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

BAZY DANYCH. Transakcje. opracowanie: Michał Lech BAZY DANYCH Transakcje opracowanie: Michał Lech Plan wykładu 1. Transakcje - co to jest? 2. Mechanizmy transakcji 3. Reguły ACID 4. Niekorzystne zjawiska 5. Poziomy izolacji 6. Polecenia PostgreSQL transakcji

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

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Archiwum DG 2016 PL-SOFT

Archiwum DG 2016 PL-SOFT 2 1 to kompleksowe narzędzie ochrony Twoich danych genealogicznych utworzonych w programie Drzewo genealogiczne. Aplikacja nie wymaga instalacji na komputerze i jest uruchamiana bezpośrednio z dysku USB.

Bardziej szczegółowo

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS UNIWERSYTET ZIELONOGÓRSKI INSTYTUT INFORMATYKI I ELEKTROTECHNIKI ZAKŁAD INŻYNIERII KOMPUTEROWEJ Przygotowali: mgr inż. Arkadiusz Bukowiec mgr inż. Remigiusz Wiśniewski LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

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

Zarządzanie transakcjami

Zarządzanie transakcjami Zarządzanie transakcjami Właściwości ACID Przyjmuje się, że transakcje i protokoły zarządzania transakcjami powinny posiadać właściwości ACID: Atomowość (atomicity) każda transakcja stanowi pojedynczą

Bardziej szczegółowo

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1 Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski Bazy danych ITA-101 Wersja 1 Warszawa, wrzesień 2009 Wprowadzenie Informacje o kursie Opis kursu We współczesnej informatyce coraz większą

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

070 TRANSAKCJE. Prof. dr hab. Marek Wisła

070 TRANSAKCJE. Prof. dr hab. Marek Wisła 070 TRANSAKCJE Prof. dr hab. Marek Wisła Transakcja - definicja Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, przeprowadzających bazę danych z jednego stanu spójnego w inny

Bardziej szczegółowo

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia). POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane

Bardziej szczegółowo

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum. Płace Optivum Jak przenieść dane programu Płace Optivum na nowy komputer? Aby kontynuować pracę z programem Płace Optivum na nowym komputerze, należy na starym komputerze wykonać kopię zapasową bazy danych

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

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

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

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

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa Wprowadzenie do projektowania i wykorzystania baz danych Katarzyna Klessa POWTÓRKA Z PIERWSZYCH ZAJĘĆ Lista słówek - do zapamiętania na początek Z podstaw SQL: CREATE - Tworzenie tabeli, czyli Coś czego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3 Plan wykładu Spis treści 1 Przetwarzanie transakcyjne 1 1.1 Cechy transakcji................................. 2 1.2 Rozpoczęcie i zakończenie........................... 3 1.3 Punkty bezpieczeństwa.............................

Bardziej szczegółowo

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej Uruchom plik setup.exe Pojawi się okno instalacji programu MAC Diagnoza EP. Wybierz przycisk AKCEPTUJĘ. Następnie zainstaluj

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

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

Rozdział 17. Zarządzanie współbieżnością zadania

Rozdział 17. Zarządzanie współbieżnością zadania Rozdział 17. Zarządzanie współbieżnością zadania Transakcja DML 1. Uruchom narzędzie Oracle SQL Developer i przyłącz się do bazy danych. Następnie rozpocznij nową transakcję, zmieniając pracownikowi o

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 Configuration Manager centrum dowodzenia

SQL Server Configuration Manager centrum dowodzenia Instrukcja do przedmiotu Bazy danych laboratorium (zajęcia 1) 1 Celem pierwszych zajęć laboratoryjnych jest poznanie podstaw obsługi MS SQL Server 2005 za pomocą programu SQL Server Management Studio,

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

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): Utwórz bazę danych Cw: CREATE DATABASE Cw Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): DBCC USEROPTIONS Przykład z zapisem do tabeli tymczasowej: --Jeśli istnieje tabela tymczasowa

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

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

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

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

I. Techniki wielowersyjne sterowania współbieżnością

I. Techniki wielowersyjne sterowania współbieżnością I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane

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

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

Tworzenie zapytań do Microsoft SQL Server

Tworzenie zapytań do Microsoft SQL Server MS 20461 Tworzenie zapytań do Microsoft SQL Server Czas trwania: 5 dni (40 h) Poziom trudności: Średnio Zaawansowany Autoryzacja: Microsoft Opis: Szkolenie administratorów baz danych oraz programistów

Bardziej szczegółowo

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL Problemy techniczne SQL Server Zarządzanie bazami danych na serwerze SQL Do zarządzania bazami danych na serwerze SQL służy narzędzie Microsoft SQL Server Management Studio. W poradzie tej pokażemy, jak:

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

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

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia BAZY DANYCH LABORATORIUM Studia niestacjonarne I stopnia Gdańsk, 2011 1. Cel zajęć Celem zajęć laboratoryjnych jest wyrobienie praktycznej umiejętności tworzenia modelu logicznego danych a nastepnie implementacji

Bardziej szczegółowo

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

Zastępstwa Optivum. Jak przenieść dane na nowy komputer? Zastępstwa Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Zastępstwa Optivum na innym komputerze, należy na starym komputerze wykonać kopię zapasową bazy danych programu

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

I. Interfejs użytkownika.

I. Interfejs użytkownika. Ćwiczenia z użytkowania systemu MFG/PRO 1 I. Interfejs użytkownika. MFG/PRO w wersji eb2 umożliwia wybór użytkownikowi jednego z trzech dostępnych interfejsów graficznych: a) tekstowego (wybór z menu:

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

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

przykłady problemów; realizacja dostaw części od producenta do klienta:

przykłady problemów; realizacja dostaw części od producenta do klienta: Przetwarzanie transakcyjne Transakcja zestaw operacji pod szczególną kontrolą transakcja to sekwencja operacji, która musi zakończyć się sukcesem w całości - w przeciwnym wypadku musi powrócić stan początkowy

Bardziej szczegółowo

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Arkusza obserwacji

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Arkusza obserwacji Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Arkusza obserwacji Uruchom plik setup.exe Pojawi się okno instalacji programu MAC Diagnoza EP. Wybierz przycisk AKCEPTUJĘ. Następnie zainstaluj

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

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

Kostki OLAP i język MDX

Kostki OLAP i język MDX Kostki OLAP i język MDX 24 kwietnia 2015 r. Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne rodzaje zadań,

Bardziej szczegółowo

Inżynieria oprogramowania. Faza implmentacji. wykład 7

Inżynieria oprogramowania. Faza implmentacji. wykład 7 Inżynieria oprogramowania Faza implmentacji wykład 7 Charakterystyka fazy implementacji Faza określenia wymagań: CO system ma robić? Faza analizy: JAK system ma działać? Faza projektowania: JAK system

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

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

Optymalizacja bazy danych. Bazy danych 265

Optymalizacja bazy danych. Bazy danych 265 Optymalizacja bazy danych Bazy danych 265 266 Bazy danych Przegląd zagadnień Monitoring bazy Tuning automatyczny Podsumowanie Laboratorium NajwaŜniejszym kryterium, według którego uŝytkownicy oceniają

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

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie

Bardziej szczegółowo

PTI S1 Tabele. Tabele. Tabele

PTI S1 Tabele. Tabele. Tabele Tabele Tabele 43 1.3. Tabele Jako że bazy danych składają się z tabel, musimy nauczyć się jak je zaprojektować, a następnie stworzyć i zarządzać nimi w programie Microsoft Access 2013. Zajmiemy się również

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych

Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych Plan wykładu 2 BAZY DANYCH Wykład 5: Transakcje. Hurtownie danych. Transakcje Hurtownie danych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Wprowadzenie Przykład Zmiany zachodzące

Bardziej szczegółowo

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b 1.0 Informacje ogólne 2 2.0 Pliki instalacyjne 2 3.0 Weryfikacja bazy przed migracją 3 4.0 Instalacja Sage Migrator 6 5.0 Migracja krok

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

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012: Systemy baz danych 16.04.2013 1. Plan: 10. Implementacja Bazy Danych - diagram fizyczny 11. Implementacja Bazy Danych - implementacja 2. Zadania: 1. Przygotować model fizyczny dla wybranego projektu bazy

Bardziej szczegółowo

1. Zarządzanie informacją w programie Access

1. Zarządzanie informacją w programie Access 1. Zarządzanie informacją w programie Access a. 1. Cele lekcji i. a) Wiadomości Uczeń: zna definicję bazy danych i jej zadania, zna pojęcia: rekord, pole, klucz podstawowy, zna obiekty bazy danych: tabele,

Bardziej szczegółowo

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie Definicja

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

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

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

Bardziej szczegółowo

Wprowadzenie do baz danych

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

Bardziej szczegółowo

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

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE

Bardziej szczegółowo

SAS Institute Technical Support

SAS Institute Technical Support SAS Institute Technical Support Optymalizacja kostek krok po kroku Pracując z kostkami OLAP często nie zdajemy sobie sprawy, że można przygotować je w taki sposób, aby praca z nimi była efektywniejsza

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

2. Tabele w bazach danych

2. Tabele w bazach danych 1. Uczeń: Uczeń: 2. Tabele w bazach danych a. 1. Cele lekcji i. a) Wiadomości zna sposób wstawiania tabeli do bazy danych, wie, w jaki sposób rozplanować położenie pól i tabel w tworzonej bazie, zna pojęcia

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 15/15 PYTANIA NA EGZAMIN LICENCJACKI 84. B drzewa definicja, algorytm wyszukiwania w B drzewie. Zob. Elmasri:

Bardziej szczegółowo

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty Informatyka Ćwiczenie 10 Bazy danych Baza danych jest zbiór informacji (zbiór danych). Strukturę bazy danych można określić w formie jak na rysunku 1. Pracownik(ID pracownika, imie, nazwisko, pensja) Klient(ID

Bardziej szczegółowo

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL Problemy techniczne SQL Server Zarządzanie bazami danych na serwerze SQL Do zarządzania bazami danych na serwerze SQL służy narzędzie Microsoft SQL Server Management Studio. W poradzie tej pokażemy, jak:

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

Instalacja i obsługa aplikacji MAC Diagnoza EW

Instalacja i obsługa aplikacji MAC Diagnoza EW Instalacja i obsługa aplikacji MAC Diagnoza EW Uruchom plik setup.exe Pojawi się okno instalacji programu MAC Diagnoza EW. Wybierz przycisk AKCEPTUJĘ. Następnie zainstaluj program, wybierając przycisk

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Memeo Instant Backup Podręcznik Szybkiego Startu

Memeo Instant Backup Podręcznik Szybkiego Startu Wprowadzenie Memeo Instant Backup pozwala w łatwy sposób chronić dane przed zagrożeniami cyfrowego świata. Aplikacja regularnie i automatycznie tworzy kopie zapasowe ważnych plików znajdujących się na

Bardziej szczegółowo

Sage Migrator Migracja do wersji Sage Kadry i Płace

Sage Migrator Migracja do wersji Sage Kadry i Płace Sage Migrator 2018.2 Migracja do wersji Sage Kadry i Płace 2018.2 1.0 Informacje ogólne 2 2.0 Pliki instalacyjne 2 3.0 Weryfikacja bazy przed migracją 4 4.0 Instalacja Sage Migrator 5 5.0 Migracja krok

Bardziej szczegółowo

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń. Cel: polecenia T-SQL Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS Authentication: SQL Server Authentication Username: student01,, student21 Password: student01,., student21

Bardziej szczegółowo

Połączenie AutoCad'a z bazą danych

Połączenie AutoCad'a z bazą danych Połączenie AutoCad'a z bazą danych Założenie bazy danych z pojedynczą tablicą Samochody, za pomocą aplikacji MS Access 1. Na dysku C: założyć katalog: C:\TKM\GR1x 2. Do tego katalogu przekopiować plik:

Bardziej szczegółowo

Programowanie zaawansowane w T-SQL

Programowanie zaawansowane w T-SQL ITA-101 Bazy Danych Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski Moduł 8 Wersja 1.0 Spis treści Programowanie zaawansowane w T-SQL... 1 Informacje o module... 2 Przygotowanie teoretyczne...

Bardziej szczegółowo

Zastanawiałeś się może, dlaczego Twój współpracownik,

Zastanawiałeś się może, dlaczego Twój współpracownik, Kurs Makra dla początkujących Wiadomości wstępne VBI/01 Piotr Dynia, specjalista ds. MS Office Czas, który poświęcisz na naukę tego zagadnienia, to 15 20 minut. Zastanawiałeś się może, dlaczego Twój współpracownik,

Bardziej szczegółowo

2017/2018 WGGiOS AGH. LibreOffice Base

2017/2018 WGGiOS AGH. LibreOffice Base 1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

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

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

Bardziej szczegółowo

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ WWW.KACZMARSKI.PL INSTRUKCJA UŻYTKOWNIKA WSTĘP... 2 1 UWARUNKOWANIA TECHNICZNE... 2 2 UWARUNKOWANIA FORMALNE... 2 3 LOGOWANIE DO SERWISU... 2 4 WIDOK STRONY GŁÓWNEJ...

Bardziej szczegółowo