011 ASPEKTY BAZ NOSQL. Prof. dr hab. Marek Wisła

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

Download "011 ASPEKTY BAZ NOSQL. Prof. dr hab. Marek Wisła"

Transkrypt

1 011 ASPEKTY BAZ NOSQL Prof. dr hab. Marek Wisła

2 Transakcje Większość baz nierelacyjnych zaprojektowanych z myślą o skalowalności nie wspiera transakcji spełniających warunki ACID. Brak gwarancji ACID oznacza, że w trakcie działania bazy mogą pojawić się pewne anomalie: Brak gwarancji atomowości: z kilku operacji wysłanych do bazy danych może zostać wykonana tylko część. Brak gwarancji spójności: identyczne zapytania do bazy danych mogą otrzymywać w tym samym czasie rożne odpowiedzi. Brak gwarancji izolacji: dwie transakcje na bazie danych mogą w jednym czasie modyfikować te same dane. Np. w systemie rezerwacyjnym mogłaby zajść sytuacja, że dwie osoby zarezerwują ten sam pokój. Brak gwarancji trwałości: przy operacji zapisu nawet komunikat o sukcesie może nie gwarantować, że dane będą trwale zapisane.

3 Brak gwarancji ACID Brak gwarancji ACID może wydawać się poważnym problemem faktycznie w wielu zastosowaniach baza danych nie wspierająca takich transakcji jest wykluczona. Z drugiej jednak strony inne korzyści mogą być ważniejsze i występowanie wymienionych wyżej anomalii będzie akceptowalne. Duży sklep internetowy może pozwolić sobie, aby dwie osoby kupiły ostatnią sztukę produktu oznaczać to będzie konieczność przeproszenia jednego z klientów. W tym samym czasie jednak tysiące innych może używać aplikacji znacznie szybciej. Indeks wyszukiwarki internetowej może utracić część danych. Jeśli wyniki wyszukiwarki podawane są w oparciu o analizę statyczną zebranych informacji, brak pewnej części danych nie wpłynie znacząco na te wyniki.

4 Kompromisy Jedną z idei przyświecających powstaniu baz nierelacyjnych było umożliwienie twórcom aplikacji wyboru między jedną cechą bazy a drugą (np. szybkością operacji a trwałością danych). W praktyce decydując się na użycie bazy nierelacyjnej należy upewnić się, jakie gwarancje z grupy ACID zapewniają operacje wykonywane na tej bazie. W wielu przypadkach użytkownikom pozostawia się kontrolę nad tymi gwarancjami muszą oni dokonywać kompromisów. Np. zapis danych w bazie MongoDB z domyślnymi ustawieniami nie daje gwarancji trwałości, można jednak dokonać zapisu z opcją wymuszającą trwały zapis. Wówczas jednak operacja będzie trwać dłużej użytkownik bazy decyduje, która cecha jest ważniejsza.

5 BASE BASE jest skrótem wprowadzonym przez Erica Brewera. BA - basically available: baza danych i informacje w niej zawarte są zasadniczo dostępne, choć mogą być momenty, że część operacji na bazie nie może być wykonana, S - soft state: stan danych może zmieniać się bez dodatkowych operacji użytkownika (wynika to z tego, że sam system zmienia stan danych w celu ich uspójnienia), E - eventually consistent: dane w bazie nie muszą być spójne (system może zapisać najpierw zmiany tylko na części serwerów), jednak istnieją mechanizmy uspójniania tych danych i bez dodatkowych operacji użytkownika z czasem nastąpi uspójnienie.

6 BASE vs ACID Bazy rozproszone spełniające warunki BASE implementują cechy AP z twierdzenia CAP: dostępność systemu przy braku komunikacji między niektórymi węzłami kosztem braku spójności w danych. BASE jest często przeciwstawiany systemom implementującym ACID: tutaj spójność danych jest ważniejsza od dostępności w sytuacji braku komunikacji między węzłami.

7 BASE a użytkownik Należy zwrócić uwagę, że w systemach BASE opisywane cechy nie są ścisłymi gwarancjami: system jest zasadniczo dostępny do wykonywania operacji użytkownika (ale nadal część operacji może być odrzucana), spójność danych między węzłami ma zostać ostatecznie osiągnięta (ale bez określenia dokładnie kiedy). W praktyce oznacza to, że wybierając bazę nierelacyjną należy dokładnie zapoznać się z dokumentacją dotyczącą transakcji. Często to użytkownik musi ustalić kompromis pomiędzy sprzecznymi cechami.

8 API zamiast SQL Bazy nierelacyjne zamiast ustandaryzowanego języka SQL używają własnych interfejsów do komunikacji. Interfejs taki, nazywany API (application programming interface), jest zazwyczaj rożny dla każdej bazy. W praktyce oznacza to, że tworząc oprogramowanie w oparciu o bazę nierelacyjną będzie ono bardzo ściśle powiązane z wybraną technologią przechowywania danych. Zmiana bazy danych na inną wymaga wówczas znacznie większego nakładu pracy programistycznej.

9 Tworzenie aplikacji Tworzenie aplikacji z użyciem baz nierelacyjnych wymaga od projektantów i programistów poznania możliwości i sposobu komunikacji z wybraną bazą danych. Nawet jeśli bazy nierelacyjne są do siebie podobne (jak bazy szerokokolumnowe klony BigTable), to każda z baz jest tworzona przy nieco innych założeniach, w rożnych implementacjach nacisk kładzie się na inną cechę systemu.

10 Większa wiedza Nierelacyjne bazy wymagają od użytkowników głębszego poznania swojej technologii niż bazy relacyjne. Nie dotyczy to tylko komunikacji z bazą, również konieczna jest głębsza wiedza dotycząca administrowania serwerami. W przypadku baz relacyjnych organizacje tworzące oprogramowanie zwykle rozdzielają role programistów i administratorów baz danych. W bazach nierelacyjnych (zwłaszcza tych utworzonych do działania w klastrze) taki podział jest o wiele trudniejszy: programiści muszą mieć wiedzę, w jaki sposób wysyłane do bazy zapytania będą wykonywane, a administratorzy bazy muszą dokładnie znać sposób działania aplikacji klienckich.

11 Modelowanie Istotną cechą nierelacyjnych baz danych jest inny sposób modelowania danych w porównaniu z bazami relacyjnymi. W przypadku baz relacyjnych istotna jest normalizacja danych. Podstawową różnicą w modelowaniu danych w bazach nierelacyjnych jest brak ścisłego schematu. Baza danych pozostaje pusta do momentu, gdy aplikacja zapisze w niej dane. Nie ma potrzeby określania jak te dane będą wyglądały. (+) Dane w bazie nierelacyjnej mogą być zapisane z o wiele większą elastycznością niż w bazie relacyjnej. (-) Wymagany jest dodatkowy nakład pracy po stronie kodu aplikacji, aby upewnić się, że dane są prawidłowo zapisywane oraz odczytane dane są prawidłowo interpretowane.

12 Przykład testy on-line Aplikacja do tworzenia testow on-line. Test ma składać się z pewnej liczby rożnego rodzaju pytań: otwartych, jednokrotnego wyboru, wielokrotnego wyboru.` Schemat bazy relacyjnej dla takiej aplikacji jest dość skomplikowany ze względu na różnorodność danych potrzebnych do zapisania pytań i odpowiedzi. Dwie możliwości rozwiązania tego problemu: Utworzenie jednej tabeli przechowującej rożne rodzaje pytań. Wówczas konieczne jest programistyczne przetwarzanie zapisywanych w takiej tabeli danych (np. proste pytanie otwarte będzie miało tylko treść pytania, natomiast pytania wyboru również listę możliwych odpowiedzi). Traci się również korzyści z możliwości odpytywania bazy danych o szczegóły odpowiedzi (np. zapytanie o to, ile osób wybierało jedną z opcji pytania wielokrotnego wyboru). Tworzenie wielu tabel innych do rożnych typów pytań. Daje to większą swobodę tworzenia nowych typów pytań w przyszłości, jak również tworzenia dowolnych raportów o odpowiedziach. Wadą jest jednak to, że schemat bazy i jej używanie jest o wiele bardziej złożone.

13 Przykład testy on-line Utworzenie takiej aplikacji z bazą nierelacyjną, która nie wymaga określania schematu danych jest o wiele prostsze. Poniżej przykładowe dane testu w formacie JSON (obsługiwanego np. w MongoDB): { nazwa: 'Test końcowy', pytania: [ ] } { typ: pytanie_otwarte, treść: Podaj imię i nazwisko }, { typ: pytanie_jednokrotnego_wyboru, treść: Wybierz płeć, opcje: [ kobieta, mężczyzna ] }

14 Denormalizacja Drugą istotną cechą baz nierelacyjnych jest denormalizacja. Nie ma tu możliwości łączenia zapisując jednostkę danych trzeba zadbać, aby była to spójna całość. Przykład: aplikacja obsługująca dziekanat ma dwa przypadki użycia: pobranie listy przedmiotów studenta, pobranie listy studentów dla przedmiotu.

15 Schemat bazy relacyjnej W przypadku bazy relacyjnej można skorzystać ze schematu bazy pokazanego wyżej. Odpowiednie zapytanie do tabeli Egzaminy pozwoli obsłużyć obydwa przypadku użycia.

16 Zapytania w bazie relacyjnej Pobranie listy przedmiotów studenta: SELECT * FROM Egzaminy e LEFT JOIN Przedmioty p ON e.id_przedmiotu = p.id WHERE e.id_studenta =? Pobranie listy studentów dla przedmiotu: SELECT * FROM Egzaminy e LEFT JOIN Studenci s ON e.id_studenta = s.id WHERE e.id_przedmiotu =?

17 Model bazy nierelacyjnej W przypadku użycia bazy szerokokolumnowej nie można dokonać łączenia. Aby móc zrealizować oba przypadki użycia, informacje o przypisaniu studenta do przedmiotu muszą być zduplikowane. Poniższa tabela prezentuje pseudoschemat takiej bazy danych.

18 Pobieranie danych W momencie przypisania studenta do przedmiotu informacja ta musi być dodana do dwóch tabel, podobnie w momencie zaliczenia przedmiotu. Dzięki tej denormalizacji pobranie pełnej informacji o przedmiocie lub studencie wymaga wykonania tylko jednej operacji (get z identyfikatorem przedmiotu lub studenta). W przypadku bazy relacyjnej jeden ze wspomnianych przypadków użycia mógłby być zrealizowany np. w późniejszej wersji aplikacji bez konieczności zmian w bazie danych. Baza szerokokolumnowa nie daje takiej elastyczności gdyby jeden z przypadków użycia nie został przewidziany, dodanie go w późniejszym czasie wymaga zmian w bazie danych.

19 Konstrukcja kluczy Założmy, że aplikacja obsługująca dziekanat ma wspierać kolejny przypadek użycia: wyszukiwanie przez studenta wszystkich jego przedmiotów w wybranym semestrze. Każdy przedmiot ma zapisaną informację o semestrze, jednak aby znaleźć wszystkie przedmioty z wybranego semestru dla jednego studenta trzeba przeszukać całą tabelę. Aby uniknąć takiej kosztownej operacji rozbudowuje się identyfikator przedmiotu o informację o semestrze.

20 Klucz Identyfikator przedmiotu ma postać: <rok><kod semestru><kod przedmiotu>, gdzie: rok to 4 cyfry, kod semestru to litera L lub Z (odpowiednio semestr letni i zimowy), kod przedmiotu to 3 litery (chociaż w przypadku ostatniego członu złożonego klucza nie jest konieczne ustalanie długości). Dzięki temu, że klucze (zarówno identyfikatory wierszy, jak i identyfikatory kolumn w wierszu) przechowywane są w sposób uporządkowany można pobrać tylko wybrany zakres danych. Mając odpowiednio skonstruowany klucz przedmiotu można znaleźć tylko przedmioty studenta z danego semestru lub roku.

21 Przykłady z bazy HBase w języku Java: /* używana w tym przykładzie funkcja getbytes() zwraca tablicę bajtow reprezentującą dany napis */ Get get = new Get( s getbytes()); get.addfamily( przedmioty.getbytes()); /* pobranie wszyskich przedmiotów z jednego semestru: 2013 L ColumnRangeFilter to obiekt odpowiedzialny za wybranie tylko zakresu kolumn - pierwszy argument wskazuje wartość minimalną, - drugi oznacza czy wartość minimalna ma być włączona do wyników - dwa następne argumenty oznaczają wartość maksymalną i włączenie jej do wynikow */ get.setfilter(new ColumnRangeFilter( 2013L.getBytes(),true, 2013Z.getBytes(), false)); /* pobranie wszystkich przedmiotow w jednego roku akademickiego 2012/2013 */ get.setfilter(new ColumnRangeFilter( 2012Z.getBytes(), true, 2013L.getBytes(), true));

22 Raporty ad-hoc Niewielka część baz nierelacyjnych zapewnia porównywalną elastyczność wyszukiwania danych jak bazy relacyjne. W bazach relacyjnych istnieje wiele narzędzi pozwalających połączyć się z bazą i wywołać dowolne zapytanie SQL. Taka możliwość jest bardzo przydatna podczas tworzenia raportów ad-hoc. W przypadku baz nierelacyjnych (zwłaszcza szerokokolumnowych i typu klucz-wartość) takiej elastyczności brakuje. Organizacja danych w bazie wynika z potrzeb określonej aplikacji i zapytań jakie ta aplikacja wywołuje. Dlatego utworzenie raportu, którego nie przewidziano na poziomie projektowania aplikacji często polega na napisaniu osobnego mini-programu.

23 Map-reduce Większość nierelacyjnych baz danych pozwala na skalowalność poprzez dodawanie nowych serwerów. W konsekwencji: dane są rozproszone na wielu maszynach, nie ma możliwości łączenia danych i tworzenia relacji między nimi. utrudnione obliczanie agregacji przetwarzania, które obejmuje cały zbiór danych. Rozwiązaniem tego problemu jest model map-reduce. Map-reduce jest modelem rozproszonego przetwarzania danych opracowanym przez firmę Google, składającego się z dwóch faz: mapowanie: każdy serwer przetwarza zgromadzone lokalnie dane i zwraca wynik w postaci mapy, czyli wielu powiązanych par kluczwartość; redukowanie: łączenie wielu cząstkowych wyników pobranych w poprzednim kroku w ostateczny wynik.

24 Diagram map-reduce.

25 Map-reduce Fazy mapowania i redukowania przeprowadzane są równolegle na wielu maszynach. W fazie mapowania tworzone są pary klucz-wartość (kx,vx). Dla jednego klucza kx może być generowanych wiele par. W fazie łączenia, dla każdego klucza kx tworzone są listy znalezionych wartości (kx, [v1, v2, v3, ]). Wartości vx są posortowane. W fazie redukowania z tablicy [v1, v2, v3, ] obliczana jest ostateczna wartość dla każdego klucza kx (np. sumowanie, średnia itp.). Map-reduce jest wspierany przez większość nowoczesnych nierelacyjnych baz danych. Istnieją implementacje mechanizmu wykonujące tego typu przetwarzanie nawet na pojedynczej maszynie o wielu rdzeniach lub procesorach.

26 Przykład map-reduce Zliczania wystąpień słów w pliku tekstowym. 1. Dzielimy plik na wiersze i przekazujemy je do funkcji map na maszynie (być może każdy wiersz do osobnej maszyny). 2. Dla każdego słowa z otrzymanego wiersza maszyna generuje (niekoniecznie unikalne) pary <słowo, 1>. 3. Na etapie sortowania powstają unikalne listy <słowo,1,1,1 1>. Ilość jedynek odpowiada ilości słów w wierszu. 4. W fazie reduce zliczana jest ilość jedynek i tworzona jest para <słowo, n> obrazująca ilość wystąpienia słowa w pliku tekstowym.

27 Cel impulsem powstania bazy NoSQL Wiele powstających nierelacyjnych baz danych ma podobną historię: początkowo były to projekty mające usprawnić pojedynczą aplikację, w której baza relacyjna nie sprawdzała się najlepiej. W następnych krokach twórcy udostępniali publicznie: albo założenia i architekturę bazy (jak w przypadku BigTable Google'a czy Dynamo Amazona), albo kod źródłowy systemu na otwartej licencji. Upublicznione projekty rozwijały w stronę coraz ogólniejszych zastosowań w miarę jak dodawane były nowe możliwości i usprawnienia. Zawsze jednak bazy nierelacyjne wyróżniają się jedną cechą: każda została stworzona w określonym celu.

28 Wymagania determinują wybór bazy NoSQL Tworząc aplikację używającą bazy relacyjnej wybór konkretnego produktu jest sprawą drugorzędną, oferują one podobne funkcje i spełniają ustalone standardy. Często można stosować jedną bazę relacyjną w fazie tworzenia aplikacji i inną w czasie testów i wdrożenia. W przypadku baz nierelacyjnych wybór konkretnego produktu musi być podyktowany wymaganiami. Nie ma tutaj dowolności zmiany bazy, nawet gdy chodzi o zmianę na podobny rodzaj bazy nierelacyjnej.

29 Systemy hybrydowe Decyzja o zastosowaniu w aplikacji bazy nierelacyjnej wynikać będzie z napotkania limitu możliwości technologii relacyjnych lub potrzeby wydajnego przetwarzania określonych struktur danych (np. grafów, dokumentów). Najczęściej baza relacyjna nie może być całkowicie zastąpiona bazą nierelacyjną, ta ostatnia jest jedynie technologią uzupełniającą. W praktycznych zastosowaniach baza nierelacyjna jest używana jednocześnie z bazą relacyjną - takie rozwiązania nazywamy systemami hybrydowymi.

30 Przykład systemu hybrydowego Aplikacja przetwarzająca tzw. big data będzie wykorzystywała pewien typ bazy nierelacyjnej do przechowywania ogromnej ilości danych na wielu standardowych, niedrogich serwerach. Pojedynczy wpis w takim zbiorze danych może zostać utracony (gdy w grę wchodzi analiza statystyczna utrata małej części danych nie wpłynie na globalne wyniki). Jednak wyniki przetwarzania danych mogą już trafiać do bazy relacyjnej. Ilość zagregowanych danych jest o wiele mniejsza a same informacje cenniejsze (zarówno pod względem wykorzystania biznesowego jak i kosztów uzyskania).

31 Zalety systemów hybrydowych Dodatkowym argumentem za stosowaniem baz nierelacyjnych jako uzupełniania tradycyjnej bazy relacyjnej jest niedojrzałość niedawno powstałych projektów i technologii. Większość nowoczesnych baz nierelacyjnych rozwinęła się stosunkowo niedawno, za początek rozwoju przyjmuje się rok Nie są to więc technologie tak dojrzałe i sprawdzone jak w przypadku baz relacyjnych, a to ma duże znaczenie w komercyjnych zastosowaniach. Ponadto bazy nierelacyjne (np. typu open-source) często wymagają dostosowania do specyficznych potrzeb użytkownika, co dodatkowo podnosi koszt implementacji nowego rozwiązania.

Hurtownie danych wykład 5

Hurtownie danych wykład 5 Hurtownie danych wykład 5 dr Sebastian Zając SGH Warszawa 7 lutego 2017 1 Współbieżność i integracja Niezgodność impedancji 2 bazy danych Współbieżność i integracja Niezgodność impedancji Bazy relacyjne

Bardziej szczegółowo

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

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

Bardziej szczegółowo

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska MongoDB wprowadzenie dr inż. Paweł Boiński, Politechnika Poznańska Plan Historia Podstawowe pojęcia: Dokument Kolekcja Generowanie identyfikatora Model danych Dokumenty zagnieżdżone Dokumenty z referencjami

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

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

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

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

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

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

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

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

Bardziej szczegółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Hbase, Hive i BigSQL

Hbase, Hive i BigSQL Hbase, Hive i BigSQL str. 1 Agenda 1. NOSQL a HBase 2. Architektura HBase 3. Demo HBase 4. Po co Hive? 5. Apache Hive 6. Demo hive 7. BigSQL 1 HBase Jest to rozproszona trwała posortowana wielowymiarowa

Bardziej szczegółowo

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych. *Grafomania z Neo4j Praktyczne wprowadzenie do grafowej bazy danych. Jak zamodelować relacyjną bazę danych reprezentującą następujący fragment rzeczywistości: Serwis WWW opisuje pracowników różnych firm

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

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

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

Bardziej szczegółowo

Bazy danych. 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

Podstawowe zagadnienia z zakresu baz danych

Podstawowe zagadnienia z zakresu baz danych Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane

Bardziej szczegółowo

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

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt) Prosta uczelnia (przykładowy projekt) Autor: Jan Kowalski nr indeksu: 123456 Opis problemu Projekt ten ma na celu stworzenie systemu do przechowywania i obróbki danych o wynikach egzaminacyjnych około

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Kod szkolenia: Tytuł szkolenia: HADOOP Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Dni: 5 Opis: Adresaci szkolenia: Szkolenie jest adresowane do programistów, architektów oraz

Bardziej szczegółowo

Specjalizacja magisterska Bazy danych

Specjalizacja magisterska Bazy danych Specjalizacja magisterska Bazy danych Strona Katedry http://bd.pjwstk.edu.pl/katedra/ Prezentacja dostępna pod adresem: http://www.bd.pjwstk.edu.pl/bazydanych.pdf Wymagania wstępne Znajomość podstaw języka

Bardziej szczegółowo

Tworzenie aplikacji bazodanowych

Tworzenie aplikacji bazodanowych Wydział Informatyki Politechnika Białostocka Studia stacjonarne Tworzenie aplikacji bazodanowych Prowadzący: pokój: E-mail: WWW: Małgorzata Krętowska, Agnieszka Oniśko 206 (Małgorzata Krętowska), 207 (Agnieszka

Bardziej szczegółowo

Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań,

Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań, Bazy danych NoSQL wprowadzenie Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Poznań, 16.05.2012 Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Bazy () danych NoSQL Poznań, 16.05.2012 1 / 37 Plan

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Normalizacja baz danych

Normalizacja baz danych Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi

Bardziej szczegółowo

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia Przedmiot: Bazy danych Rodzaj przedmiotu: Podstawowy Kod przedmiotu: MBM 1 S 0 5 64-4 _1 Rok: III Semestr: 5 Forma studiów:

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

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO Spis treści Przedmowa Podziękowania O książce Rozdział 1. Nowy paradygmat dla Big Data 1.1. Zawartość książki 1.2. Skalowanie tradycyjnej bazy danych 1.2.1. Skalowanie za pomocą kolejki 1.2.2. Skalowanie

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

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: Bda 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Automatyka i Robotyka 5. Specjalność: Informatyka Stosowana

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

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

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

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Organizacyjnie. Prowadzący: dr Mariusz Rafało   (hasło: BIG) Big Data Organizacyjnie Prowadzący: dr Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl (hasło: BIG) Automatyzacja Automatyzacja przetwarzania: Apache NiFi Źródło: nifi.apache.org 4 Automatyzacja

Bardziej szczegółowo

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008 JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Virtuemart 1.1.x - 2.0.x

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

Bardziej szczegółowo

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012 PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS Obowiązuje od roku akademickiego: 2011/2012 Instytut Techniczny Kierunek studiów: Informatyka Kod kierunku: 11.3 Specjalność: Informatyka Stosowana

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Bazy danych 12. Bazy NoSQL. P. F. Góra

Bazy danych 12. Bazy NoSQL. P. F. Góra Bazy danych 12. Bazy NoSQL P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2019 Bazy NoSQL: Nierelacyjne bazy danych, zaprojektowane (między innymi) do tego, aby rozwiazywać problemy z dostępnościa i spójnościa

Bardziej szczegółowo

Temat : SBQL 1 obiektowy język zapytań.

Temat : SBQL 1 obiektowy język zapytań. Laboratorium Języki i środowiska przetwarzania danych rozproszonych Temat : SBQL 1 obiektowy język zapytań. Historia zmian Data Wersja Autor Opis zmian 23.4.2012 1.0 Tomasz Kowalski Utworzenie dokumentu

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

Jarosław Żeliński analityk biznesowy, projektant systemów

Jarosław Żeliński analityk biznesowy, projektant systemów Trendy w architekturze oprogramowania zarządzającego procesami biznesowymi i przepływem pracy - dedykowane czy standardowe? Jarosław Żeliński analityk biznesowy, projektant systemów O mnie Od 1991 roku

Bardziej szczegółowo

Bazy danych w geomatyce Databases in Geomatics

Bazy danych w geomatyce Databases in Geomatics KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 05/06 Bazy danych w geomatyce Databases in Geomatics Załącznik nr 7 do Zarządzenia

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

egroupware czy phpgroupware jest też mniej stabilny.

egroupware czy phpgroupware jest też mniej stabilny. Opengroupware to projekt udostępniający kompletny serwer aplikacji oparty na systemie Linux. Dostępny na licencji GNU GPL, strona domowa: http://www.opengroupware.org/ Jego cechy to wysoka stabilność,

Bardziej szczegółowo

System imed24 Instrukcja Moduł Analizy i raporty

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

Bardziej szczegółowo

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

Baza danych. Baza danych to:

Baza danych. Baza danych to: Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego

Bardziej szczegółowo

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU (pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma

Bardziej szczegółowo

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35 Wzorce projektowe cz. II Wzorce projektowe cz. II 1/35 Wzorce projektowe cz. II 2/35 Iterator Przeznaczenie Wzorzec zapewnia sekwencyjny dostęp do elementów obiektu zagregowanego bez ujawniania jego reprezentacji

Bardziej szczegółowo

Baza danych. Modele danych

Baza danych. Modele danych Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

Alicja Marszałek Różne rodzaje baz danych Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy

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

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 14 Piotr Syga 18.01.2019 Motywacja Ograniczenia relacyjnych baz danych proste typu i struktury klucze (w tym sztuczne) relacje między tabelami uwzględniane w triggerach

Bardziej szczegółowo

Opis Architektury Systemu Galileo

Opis Architektury Systemu Galileo Opis Architektury Systemu Galileo Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Marek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 5 1.1 Cel.......................................... 5 1.2 Zakres........................................

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Galileo - encyklopedia internetowa Plan testów

Galileo - encyklopedia internetowa Plan testów Galileo - encyklopedia internetowa Plan testów Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Matek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1 Cel..........................................

Bardziej szczegółowo

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Deduplikacja danych. Zarządzanie jakością danych podstawowych Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication

Bardziej szczegółowo

Jak przygotować projekt arkusza organizacyjnego jednostki, która zostanie przekształcona w związku z reformą oświaty?

Jak przygotować projekt arkusza organizacyjnego jednostki, która zostanie przekształcona w związku z reformą oświaty? Platforma vedukacja, Sigma moduł Arkusz Jak przygotować projekt arkusza organizacyjnego jednostki, która zostanie przekształcona w związku z reformą oświaty? Reforma oświaty zakłada stopniowe wygaszanie

Bardziej szczegółowo

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6 Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki

Bardziej szczegółowo

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Załącznik nr 1 Specyfikacja przedmiotu zamówienia Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Słowniczek pojęć Badanie

Bardziej szczegółowo

Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.)

Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.) Testowanie aplikacji JAVA Laboratorium 8 (Tabele w scenariuszach JBehave. Projekt z podstaw BDD oraz atrap.) Przykład z użycia bezpośrednio tabel w scenariuszach JBehave znajduje się tutaj. Zadanie 1 (0.5

Bardziej szczegółowo

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30 Zał. nr 4 do ZW 33/01 WYDZIAŁ INFORMATYKI I ZĄRZADZANIA KARTA PRZEDMIOTU Nazwa w języku polskim: Wprowadzenie do SQL Nazwa w języku angielskim: Introduction to SQL Kierunek studiów (jeśli dotyczy): Zarządzanie

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

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

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

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

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

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

Bardziej szczegółowo

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Plan. Raport. Tworzenie raportu z kreatora (1/3) 3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz Katarzyna Klessa RELACJE dwa sposoby tworzenia Tworzenie relacji: ręcznie za pomocą odpowiednich zapytań (ALTER

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

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie warstwy danych Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej

Bardziej szczegółowo

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2007/08 Studia uzupełniajace magisterskie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Podręcznik Integracji

Podręcznik Integracji Podręcznik Integracji Spis treści 1. Integracja oferty... 3 1.1. Samodzielne wprowadzanie oferty sklepu... 3 1.2. Automatyczne wprowadzanie oferty z pliku XML... 3 1.3. Cyklicznie pobieranie oferty ze

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

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

Bazy danych NoSQL. Szymon Francuzik szymon.francuzik@cs.put.poznan.pl. Poznań, 29.10.2012

Bazy danych NoSQL. Szymon Francuzik szymon.francuzik@cs.put.poznan.pl. Poznań, 29.10.2012 Bazy danych NoSQL Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Poznań, 29.10.2012 Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Bazy () danych NoSQL Poznań, 29.10.2012 1 / 45 Plan prezentacji

Bardziej szczegółowo

Projektowanie baz danych za pomocą narzędzi CASE

Projektowanie baz danych za pomocą narzędzi CASE Projektowanie baz danych za pomocą narzędzi CASE Metody tworzenia systemów informatycznych w tym, także rozbudowanych baz danych są komputerowo wspomagane przez narzędzia CASE (ang. Computer Aided Software

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.

Bardziej szczegółowo