MongoDB. Narzędzia, transakcje, referencje
|
|
- Jan Piasecki
- 7 lat temu
- Przeglądów:
Transkrypt
1 ongodb. Narzędzia, transakcje, referencje 1/73 MongoDB. Narzędzia, transakcje, referencje Technologie Zarządzania Treścią dr inż. Robert Perliński Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej 2 grudnia 2017
2 MongoDB. Narzędzia, transakcje, referencje 2/73 Plan prezentacji 1 MongoDB 2 MongoDB shell 3 Narzędzia administracyjne od twórców MongoDB darmowe od innych dostawców komercyjne do przeglądania danych 4 Referencje w MongoDB 5 Zapytania z polami tablic 6 Transakcje 7 Źródła
3 MongoDB. Narzędzia, transakcje, referencje 3/73 Importowanie danych do MongoDB Importowanie danych zawartych w plikach JSON poleceniem mongoimport Przykład: mongoimport --db test --collection restaurants --drop --file restaurants-dataset.json Polecenie mongoimport: wstawia dokumenty do bazy test, do kolekcji restaurants, jeśli kolekcja restauracje już istaniała to zostanie usunięta: --drop, dane zawarte w pliku restaurants-dataset.json, parametr --file, dane w pliku to lista dokumentów nie oddzielonych przecinkiem, łączy się z mongod uruchomionym na localhost, port 27017, parametry --host i --port w razie potrzeby.
4 MongoDB. Narzędzia, transakcje, referencje 4/73 Exportowanie danych z MongoDB Exportowanie danych znajdujących się w bazie MongoDB mongoexport Przykład: mongoexport --db test --collection restaurants --query '{"dzielnica":"bronx"}' --fields dzielnica,adres --out bronxrestaurants.json Polecenie mongoexport: zapisuje kolekcję restaurants z bazy test w pliku tekstowym, dane zapisywane są w pliku bronxrestaurants.json, parametr --out, (domyślnym formatem jest JSON), parametr --query pozwala wprowadzić zapytanie w formacie JSON ograniczające liczbę dokumentów pobranych z kolekcji, parametr --fields pozwala określić, które pola dokumentu mają być eksportowane, łączy się z mongod uruchomionym na localhost, port 27017, parametry --host i --port w razie potrzeby.
5 MongoDB. Narzędzia, transakcje, referencje 5/73 MongoDB shell (mongo) MongoDB shell: interakcyjne narzędzie dla MongoDB, interfejs w JavaScript, składowy komponent pakietu MongoDB, pozwala na pobieranie, aktualizację danych, operacje administracyjne, uruchamiane poleceniem mongo, domyślnie łączy się z localhost na porcie 27017, instancja MongoDB musi być uruchomiona, zawiera polecenie help, klawisz <tab> dopełnia polecenia.
6 MongoDB. Narzędzia, transakcje, referencje 6/73 Wybrane polecenia w mongo shell I Polecenia w mongo: help - wyświetla pomoc, klawisz TAB dopełnia polecenia, show dbs - wyświetla listę baz, use test - przełącza na bazę test, show collections - wyświetla listę kolekcji, db.help() - wyświetla listę dostępnych metod dla bazy danych, db.dropdatabase() - uwuwa bieżącą bazę danych, db.getname() - wyświetla nazwę bieżącej bazy, db.stats() - wyświetla statystyki bieżącej bazy, db.hostinfo() - informacje o serwerze, db.version() - wyświetla wersję serwera.
7 MongoDB. Narzędzia, transakcje, referencje 7/73 Wybrane polecenia w mongo shell II Polecenia w mongo: db.osoby.help() - wyświetla listę dostępnych metod dla kolekcji osoby, db.osoby.count() - wyświetla liczbę dokumentów w kolekcji, db.osoby.find() - wyświetla zawartość kolekcji osoby, db.osoby.find({"imie":"wojciech"}) zwraca te dokumenty, które spełniają warunek, db.osoby.remove() - usuwa dokumenty z kolekcji, db.osoby.drop() - usuwa kolekcję osoby z bazy danych, db.osoby.insert({ "imie": "Wojciech", "nazwisko": "Paluch", "dataur": "1985/07/14", "kraj": "Polska" }) - wstawia dane do kolekcji, db.osoby.getindexes() - wyświetla informacje o indeksach kolekcji osoby.
8 MongoDB. Narzędzia, transakcje, referencje 8/73 Część listy poleceń dla kolekcji Polecenie db.osoby.help(): db.osoby.find().help() - show DBCursor help db.osoby.count() db.osoby.copyto(newcoll) - duplicates collection by copying all documents to newcoll db.osoby.converttocapped(maxbytes) - calls {converttocapped:'osoby', size:maxbytes}} command db.osoby.datasize() db.osoby.distinct( key ) - e.g. db.osoby.distinct( 'x' ) db.osoby.drop() drop the collection db.osoby.dropindex(index) - e.g. db.osoby.dropindex("indexname") or db.osoby.dropindex( {"indexkey" : 1} ) db.osoby.dropindexes() db.osoby.ensureindex(keypattern[,options]) db.osoby.find(...).count() db.osoby.find(...).limit(n) db.osoby.find(...).skip(n) db.osoby.find(...).sort(...) db.osoby.findone([query]) db.osoby.findandmodify( { update :..., remove : bool [, query: {}, sort: {}, 'new': false] } ) db.osoby.getdb() get DB object associated with collection db.osoby.getindexes() db.osoby.group( { key :..., initial:..., reduce :...[, cond:...] } ) db.osoby.insert(obj) db.osoby.mapreduce( mapfunction, reducefunction, <optional params> ) db.osoby.remove(query) db.osoby.renamecollection( newname, <droptarget> ) renames the collection. db.osoby.runcommand( name, <options> ) runs a db command with the given name db.osoby.save(obj) db.osoby.stats() db.osoby.storagesize() - includes free space allocated to this collection db.osoby.totalindexsize() - size in bytes of all the indexes db.osoby.totalsize() - storage allocated for all data and indexes db.osoby.update(query, object[, upsert_bool, multi_bool])
9 MongoDB. Narzędzia, transakcje, referencje 9/73 Przykładowa metoda dla kolekcji osoby Polecenie db.osoby.stats() zwraca: { "ns" : "test.osoby", "count" : 50, "size" : 24608, "avgobjsize" : , "storagesize" : 28672, "numextents" : 1, "nindexes" : 1, "lastextentsize" : 28672, "paddingfactor" : 1, "systemflags" : 1, "userflags" : 0, "totalindexsize" : 8176, "indexsizes" : { "_id_" : 8176 }, "ok" : 1 }
10 MongoDB. Narzędzia, transakcje, referencje 10/73 Polecenia systemowe w mongo shell Polecenia systemowe w mongo shell: ls() - lista zawartości bieżącego katalogu jako tablica JSON, listfiles() - lista zawartości bieżącego katalogu, jako tablia JSON, każde pole to obiekt (nazwa, wielkość, czy jest katalogiem), pwd() - pokazje bieżący katalog, cd() - zmiana katalogu, np. cd("pulpit"), cd(".."), cat() - wyświetla zawartość pliku, np. cat("plik.json"), mkdir() - tworzy katalog, np. mkdir("templates"), removefile() - usuwa plik, katalog, np. removefile("abc.json"), exit, quit() - wyłącza mongo shell.
11 MongoDB. Narzędzia, transakcje, referencje 11/73 Skrypty w mongo shell Skrypty w mongo shell: korzystają z poleceń mongo shell i języka JavsScript, uruchamiamy z terminala: mongo [--quiet] < skrypt.js Przykład 1: skrypt.js use lab06 print('liczba dokumentów w kolekcji osoby, polecenie:'); db.osoby.count() Przykład 2: skrypt.js - wykorzystanie języka JavaScript print('nazwy wszystkich osób z kolekcji'); var cursor = db.osoby.find( {}, {_id:0,nazwa:1} ) while (cursor.hasnext()) { print(tojson(cursor.next())); }
12 MongoDB. Narzędzia, transakcje, referencje 12/73 Narzędzia dla bazy MongoDB Serwer MongoDB nie dostarcza narzędzia z GUI do zarządzania danymi czy ich przeglądania. Wszystkie operacje na bazie wykonuje się z wykorzytaniem mnogo shell. Narzędzi dla MongoDB jest bardzo dużo. Niektóre są komercyjne, inne darmowe, tworzone przez społeczności. Nietkóre służą do administracji, inne do przeglądania danych.
13 MongoDB. Narzędzia, transakcje, referencje 13/73 Narzędzia dostarczone przez zespół MongoDB MongoDB Compass (dostępne na Windows, RedHat i Ubuntu, Mac OS): graficzny przegląd danych, wykonywanie operacji CRUD na danych, szczegółowe informacje o indeksach, wykonywanie zapytań ad hoc, wyświetla graficzne plany wykonania zapytania aby ułatwić poprawę jego wydajności.
14 MongoDB. Narzędzia, transakcje, referencje 14/73 Narzędzia dostarczone przez zespół MongoDB MongoDB Atlas (hosting MongoDB od twórców bazy), GUI pozwala na: użycie bazy danych jako usługi, konfigurację i zarządzanie klastrem, skalowanie z automatycznym współdzieleniem, monitorowanie wykorzystania bazy uruchomionej w MongoDB Atlas, zarządzanie kopiami bezpieczeństwa i odzyskiwanie danych, konfigurowanie zabezpieczeń.
15 MongoDB. Narzędzia, transakcje, referencje 15/73 Narzędzia dostarczone przez zespół MongoDB MongoDB Cloud Manager: platforma do zarządzania MongoDB, działa w chmurze, monitorowanie wykorzystania baz i ustawianie określonych ostrzeżeń, automatyzacja ustawiania bazy i zarządzania nią, wizualizacja wydajności zapytań i wygodniejsze ich optymalizowanie, zarządzanie procesem automatyzacji wykonywania kopii bezpieczeństwa i odzyskiwania danych.
16 MongoDB. Narzędzia, transakcje, referencje 16/73 Narzędzia dostarczone przez zespół MongoDB MongoDB Stitch - pozwala na wykorzystanie bazy MongoDB jako backendu w roli usługi, konfigurujemy bakcend naszej aplikacji w chmurze, MongoDB Connector for BI (Business Intelligence) - podłączenie danych z bazy MongoDB do platformy analizy danych, do hurtowni danych (proces ETL), Ops Manager - narzędzie do zarządzania MongoDB w centrum danych (monitorowanie, automatyzacja aktualizacji czy zarządzania indeksami, tworzenie backupu, optymalizacja zapytań), MongoDB Connector for Apache Spark - pozwala na podłączenie danych z MongoDB do Apache Spark i używanie wszystkich jego bibliotek (narzędzia analityczne: zapytania w SQL, uczenie maszynowe, przetwarzanie grafów, strumieniowanie danych).
17 MongoDB. Narzędzia, transakcje, referencje 17/73 Darmowe narzędzia innych dostawców Mongoclient - przeglądanie danych, wsparcie przy tworzeniu zapytań, statystyki bazy mongo-express - przeglądanie i modyfikowanie danych adminmongo - działające w przeglądarce, napisane w Node.js Edda - wizualizacja logów, raczej nam się nie przyda Fluentd - narzędzie do zarządzania logami, ma integrację z MongoDB (logi są zapisywane w MongoDB) HumongouS.io - interfejs użytkownika bazy MongoDB w przeglądarce - warto sprawdzić, działa online, zakłada się konto i już, ładnie wygląda Fang of Mongo - interfejs do MongoDB w przeglądarce, chyba tylko przeglądanie danych
18 MongoDB. Narzędzia, transakcje, referencje 18/73 Darmowe narzędzia innych dostawców MongoHub - GUI do MongoDB pod OSX, wydaje się fajne ale nie było jak przetestować MongoVision - narzędzie do zarządzania MongoDB, działa w przeglądarce, chyba tylko do przeglądania danych MongoVUE - GUI do MongoDB napisane w.net Mongo Explorer - plugin do WebStorm NoSQL Manager for MongoDB - porządne narzędzie komercyjne, 30-dniowy trial, tylko na Windows mviewer - proste narzędzie administracyjne do MongoDB
19 MongoDB. Narzędzia, transakcje, referencje 19/73 Darmowe narzędzia innych dostawców PHPMoAdmin - narzędzie do administracji MongoDB napisane w PHP (tylko jeden plik) PHPmongoDB - zarządznie MongoDB w przeglądarce, napisane w PHP RockMongo - program do zarządzania MongoDB, napisany w PHP, instalka zawiera jakieś wirusy... Genghis - samodzielny program działający w przeglądarce, na bazie Ruby albo PHP, bardzo prosta funkcjonalność Meclipse - plugin do Eclipse Humongous - przeglądarka danych z MongoDb napisana w Ruby MongoDB ODA plugin for BIRT - plugin do Eclipse mongobird - z jakiejść chińskiej strony, nie udało się pobrać mongoowl - j.w. (nie udało się pobrać) Robomongo - dość proste ale wygodne GUI do zarządzania bazą MongoDB, jest zbudowane wokół mnogo shell
20 MongoDB. Narzędzia, transakcje, referencje 20/73 Darmowe narzędzia innych dostawców Toad Mac Edition - narzędzie do pracy z bazami danych, tutaj werjs na Mac OS, która uwzględnia też MongoDB Opricot - GUI napisne w PHP do obsługi MongoDB Moa(db) - GUI działające w przeglądarce napisane w PHP... trzeba mieć serwer PHP postawiony MongoApp - pozwala na uruchomienie MongoDB z wykorzystaniem graficznego interfejsu, działa na Mac OS Mongri - interfejs do obsługi MongoDB w przeglądarce, wykorzystuje Node.js, nic wyjątkowego MongoCMS - panel administratora dla systemów CMS napisany do użycia z MongoDB i Node.js NoSQL Viewer - tylko na windows, pozwala na przeglądanie danych ale na różne sposoby, wiele różnych baz NoSQL
21 MongoDB. Narzędzia, transakcje, referencje 21/73 Robo 3T (dawniej Robomongo) - przegląd i edycja danych Funkcjonalność podobna do mongo shell ale dobrze przygotowany przegląd danych (na trzy sposoby), możliwość łatwej edycji danych, wygodny wybór baz i kolekcji
22 MongoDB. Narzędzia, transakcje, referencje 22/73 Narzędzia komercyjne Studio 3T (Free Edition) - wcześniej MongoChef Core, najlepsze narzędzie jakie znalazłem Database Master - potężne i zrozbudowane narzędzie ale działa w.net czyli generalnie na Windows, trial działa 30 dni DbSchema - tylko na 15 dni, napisane w Javie, generuje schematy modeli danych do chyba wszystkich baz dostępnych na rynku, rozbudowane i na pewno użyteczne narzędzie... MongoDBPumper for Oracle - transfer danych między Oracle i MongoDB json Studio - komercyjne, nie ma wersji trialowej,... MongoBooster - fajne narzędzie, rozbudowane, ma darmową wersję, warto zainstalować MongoMonitor - połączenie z bazą MongoDB z iphone Mongo Management Studio - Community Edition - fajne narzędzie, działa w przeglądarce, wykorzystuje Node.js, ładne graficznie
23 MongoDB. Narzędzia, transakcje, referencje 23/73 MongoChef Core Studio T3 (Free Edition) - super narzędzie, warto się tym pobawić bardzo wygodny przegląd danych importowanie i eksportowanie w JSON i CSV bardzo wygodne wprowadzanie zapytań łącznie z możliwością ich graficzengo utworzenia walidacja poprawności wprowadzanych zapytań wsparcie do pracy z narzędziem mongo shell darmowa wersja do użytku niekomercyjnego statystyki wykorzystania serwera
24 MongoDB. Narzędzia, transakcje, referencje 24/73 MongoChef Core - przegląd danych, zapytania Lista baz i kolekcji, indeksy, zapytania z projekcją, sortowaniem i limitem
25 MongoDB. Narzędzia, transakcje, referencje 25/73 MongoChef Core - graficzne budowanie zapytań Mamy możliwość budowania zapytania z pomocą graficznego narzędzia
26 MongoDB. Narzędzia, transakcje, referencje 26/73 MongoChef Core - graficzne budowanie zapytań Ładny i czytelny przeląd statystyk serwera
27 MongoDB. Narzędzia, transakcje, referencje 27/73 MongoChef Core - graficzne budowanie zapytań Wsparcie dla strumienia agregacji
28 MongoDB. Narzędzia, transakcje, referencje 28/73 MongoBooster I Lista baz, kolekcji i indeksów, różny sposób przeglądania dokumentów
29 MongoDB. Narzędzia, transakcje, referencje 29/73 MongoBooster II Statystyki serwera, analiza statystyczna kolekcji, inmortowanie, eksportowanie, podgląd dokumentów w formacie JSON,...
30 MongoDB. Narzędzia, transakcje, referencje 30/73 Narzędzia do przeglądania danych Narzędzia do przeglądania danych: Mongs ( działa w przeglądarce vulture (sęp), działa w przeglądarce
31 MongoDB. Narzędzia, transakcje, referencje 31/73 Mongs - przeglądanie danych Mongs: adres: do przelądania danych, działa w przeglądarce, na porcie 29017, napisana w języku python (framework Aspen), instalacja: $ git clone $ cd mongs $ make run adres w przeglądarce: zapytania:
32 mongs - przeglądanie danych MongoDB. Narzędzia, transakcje, referencje 32/73
33 MongoDB. Narzędzia, transakcje, referencje 33/73 Vulture - przeglądanie danych Vulture: adres: zaawansowane narzędzie do przelądania danych w interfejsie webowym (przeglądarka), domyślnie działa na porcie 8000, zainspirowany projektem mongs ale ma więcej funkcji, napisany w języku Go, wspiera indeksy GeoJson, pokazuje proste statystyki, udostępnia dane również po REST API, pozwala na łatwe filtrowanie danych, wspiera strumień agregacji z MongoDB, instalacja: ściąga się paczkę, rozpakowuje i uruchamia dane binarne.
34 Vulture - przeglądanie danych MongoDB. Narzędzia, transakcje, referencje 34/73
35 Vulture - przegląd wybranych pól MongoDB. Narzędzia, transakcje, referencje 35/73
36 MongoDB. Narzędzia, transakcje, referencje 36/73 Vulture - REST API Dane dostępne w formacie JSON (REST API), przykład dla adresu: {"document":{ "_id":"54531ba74f495b15ca8c3a4c", "address":"7881 Jewess Meadows Suite 834\nNorth Emmett, MA 77794", "birthdate":" ", "height": , "i":7550, "mail":"tschuster@gmail.com", "name":"rettie Hilpert", "position":{"coordinates":[ , ], "type":"point"}, "sex":"f", "username":"inez40"}, "enlapsed_time": , "meta":{ "count":10000,"indexes":[ {"keys":["_id"],"name":"_id_","unique":false}, {"keys":["$2dsphere:position"], "name":"position_2dsphere","unique":false}]} }
37 Vulture - statystyki MongoDB. Narzędzia, transakcje, referencje 37/73
38 Vulture - dane przestrzenne - OpenStreetMap MongoDB. Narzędzia, transakcje, referencje 38/73
39 Vulture - potok agregacji MongoDB. Narzędzia, transakcje, referencje 39/73
40 MongoDB. Narzędzia, transakcje, referencje 40/73 Rerferencje w MongoDB I MongoDB: nie wspiera złączeń, dane są zdenormalizowane, przechowywane z powiązanymi danymi w jednym dokumencie (nie ma potrzeby złączeń), w pewnych przypadkach sensowne jest przechowywanie powiązanych informacji w innych dokumentach (w innych kolekcjach, innych bazach danych). Dwa rodzaje przechowywania powiązań: proste referencje, ręcznie tworzone (ang. manual references) zapisujemy wartość pola _id jednego dokumentu w innym dokumencie co tworzy nam referencję, dodatkowe zapytanie pozwala nam pobrać powiązany referencją dokument, są proste i wystarczają w większości przypadków,
41 MongoDB. Narzędzia, transakcje, referencje 41/73 Rerferencje w MongoDB II DBRefs łączą dwa dokumenty z różnych kolekcji, a nawet różnych baz danych, używają wartości pola _id, nazwy kolekcji i opcjonalnie nazwy bazy danych, pozwala na prostsze łączenie dokumentów z jednej kolekcji z dokumentami z wielu różnych kolekcji, uzyskanie dostępu do dołączonego dokumentu wymaga dodatkowego zapytania pobierającego dołączony dokument, wiele bibliotek zawiera metody, które automatycznie tworzą zapytanie na bazie DBRefs, dostarcza wspólny format i typ reprezentujący połączenia między dokumentami, dostarcza wspólną semantykę reprezentacji połączeń między dokumentami jeśli baza danych musi komunikować się z wieloma szabonami aplikacji czy narzędziami. DBRefs używamy tylko w razie konieczności. Kiedy tylko to możliwe używamy prostych referencji.
42 MongoDB. Narzędzia, transakcje, referencje 42/73 Proste rerferencje Przykład dwóch kolekcji: miejsca i ludzie id = ObjectId(); db.miejsca.insert({ "_id": id, "nazwa": "Zielona Góra", "url": " }) db.ludzie.insert({ "imie": "Matylda", "nazwisko": "Barańska", "pochodzenie": id }) Zapytanie do kolekcji ludzie zwraca id miejsca ich pochodznia. W razie potrzeby można te dane uzyskać kolejnym zapytaniem.
43 MongoDB. Narzędzia, transakcje, referencje 43/73 Proste rerferencje - dostęp do danych Pierwsze i drugie zapytanie z wynikami: db.ludzie.findone({imie:"matylda", nazwisko:"barańska"}) { "_id" : ObjectId("583c1ba1c35740bad326fb36"), "imie" : "Matylda", "nazwisko" : "Barańska", "pochodzenie" : ObjectId("583c1b9dc35740bad326fb35") } db.miejsca.findone({"_id":objectid("583c1b9dc35740bad326fb35")}) { "_id" : ObjectId("583c1b9dc35740bad326fb35"), "nazwa" : "Zielona Góra", "url" : " }
44 MongoDB. Narzędzia, transakcje, referencje 44/73 Proste rerferencje - użycie Proste referencje: wykorzystujemy w prawie każdym przypadku, są używane zawsze, kiedy tylko wystarczają, łatwo się je tworzy, tworzone aplikacje łatwo sobie radzą z takimi referencjami. Ograniczenia Proste referencje nie przechowują nazwy kolekcji i bazy danych. Jeśli dokumenty z jednej kolekcji mają referencje na dokumenty więcej niż jednej kolekcji to można rozwazyć wykorzystanie DBRefs.
45 MongoDB. Narzędzia, transakcje, referencje 45/73 DBRefs DBRefs: to pewna konwencja reprezentacji dokumentów bardziej niż jakiś typ referencyjny, zawierają wartość pola _id dokumentu, nazwę kolekcji, nazwę bazy danych (w pewnych przypadkach), składają się z następujących pól: $ref - przechowuje nazwę kolekcji docelowego dokumentu, $id - przechowuje wartość pola _id docelowego dokumentu, $db - pole opcjonalne, przechowuje nazwę bazy danych z docelowym dokumentem, tylko niektóre sterowniki obsługują to pole. { "$ref" : <value>, "$id" : <value>, "$db" : <value> }
46 MongoDB. Narzędzia, transakcje, referencje 46/73 DBRefs - przykład Dodajemy pole znajomi (tablica) do kolekcji ludzie, które zawiera referencje do dokumentów z kolekcji osoby z bazy test. { } "_id" : ObjectId("583c1ba1c35740bad326fb36"), "imie" : "Matylda", "nazwisko" : "Barańska", "pochodzenie" : ObjectId("583c1b9dc35740bad326fb35"), "znajomi" : [ DBRef("osoby", ObjectId("566893bd2ae04f8923cb23c3"), "test") ] Kolejność pól w DBRefs ma znaczenie, nie można jej zmieniać. Nie wszystkie sterowniki mają wsparcie dla DBRefs. W niektórych trzeba przechodzić po referencjach ręcznie. Sterownik do Node.js wspiera DBRefs. Używamy klasy DBRefs i metody dereference.
47 MongoDB. Narzędzia, transakcje, referencje 47/73 Kilka instrukcji z DBRefs Dostęp do pól w DBRef: var zn = db.ludzie.findone( {"znajomi.$id":objectid("566893bd50873fdd7adc45a8")} ).znajomi[0] // DBRef("osoby", ObjectId("566893bd50873fdd7adc45a8")) zn // osoby bd50873fdd7adc45a8 lab06 print(zn.$ref + " " + zn.$id + " " + zn.$db) db2 = db.getsiblingdb(zn.$db); coll = db2.getcollection(zn.$ref); coll.findone({"_id":zn.$id.str}); db.getsiblingdb(zn.$db).getcollection(zn.$ref).findone({"_id":zn.$id.str}); db.getsiblingdb(nazwabd) - zwraca inną bazę danych bez zmiany bieżącej w mongo shell db2.getcollection(nazwakol) - zwraca obiekt kolekcji o podanej nazwie
48 MongoDB. Narzędzia, transakcje, referencje 48/73 Praca z bazą danych Funkcja zwracająca ID miejsca po jego nazwie: db.miejsca.find() { "_id" : ObjectId(" cb048847f3cf8f11e"), "nazwa" : "Zakopane", "url" : " } { "_id" : ObjectId("583c19c1deb9a913adfd231a"), "nazwa" : "Małe Ciche", "url" : " }... // pobieranie id miejsca po nazwie function pobierzidmiejsca(nazwa) { id = db.miejsca.findone({"nazwa":regexp(nazwa)},{_id:1}) if(id!==null) return id._id; else return null; } pobierzidmiejsca('małe'); ObjectId("583c19c1deb9a913adfd231a")
49 MongoDB. Narzędzia, transakcje, referencje 49/73 Praca z bazą danych Dodawanie osoby do kolekcji, nie przekazujemy wartości wszystkich pól: function dodajosobe(imie, nazwisko, pochodznie) { db.ludzie.insert({ "imie": imie, "nazwisko": nazwisko, "pochodzenie": pochodznie }); } // dodawanie osób dodajosobe("tomasz", "Kowalkowski", pobierzidmiejsca('częstochowa')); dodajosobe('klara', 'Słoczyńska', ObjectId("583c18d2deb9a913adfd2312"));... { "_id" : ObjectId("583c56a7c35740bad326fb38"), "imie" : "Tomasz","nazwisko" : "Kowalkowski", "pochodzenie" : ObjectId("583c186bdeb9a913adfd230c") } { "_id" : ObjectId("583c57b2c35740bad326fb39"), "imie" : "Klara", "nazwisko" : "Słoczyńska", "pochodzenie" : ObjectId("583c18d2deb9a913adfd2312") }
50 MongoDB. Narzędzia, transakcje, referencje 50/73 Praca z bazą danych Pobieranie ID osoby po jej imieniu i nazwisku: // pobieranie ID osoby function pobierzidosoby(imie, nazwisko) { id = db.ludzie.findone({"imie":imie,"nazwisko":nazwisko},{_id:1}) if(id!==null) return id._id; else return null; } pobierzidosoby('tomasz', 'Kowalkowski') ObjectId("583c56a7c35740bad326fb38") pobierzidosoby('tomasz', 'Kowalkowskii') null
51 ongodb. Narzędzia, transakcje, referencje 51/73 Praca z bazą danych Dodawanie miejsca, określamy nazwę i adres URL strony: // dodawanie miejsca function dodajmiejsce(nazwa, url) { id = ObjectId(); db.miejsca.insert({ "_id": id, "nazwa": nazwa, "url": url }); return id; } dodajmiejsce("zamość", " db.miejsca.find()... { "_id" : ObjectId("583c5866c35740bad326fb3a"), "nazwa" : "Zamość", "url" : " }
52 MongoDB. Narzędzia, transakcje, referencje 52/73 Praca z bazą danych Lista osób pochodzących z konkretnej miejscowości: function listaosob(pochodzenie) { var idmiejsca = db.miejsca.findone({nazwa:pochodzenie})._id; print(idmiejsca); var cur = db.ludzie.find({"pochodzenie":idmiejsca},{_id:0}); print('lista OSÓB Z '+ pochodzenie.touppercase()); while (cur.hasnext()) { var os = cur.next(); print(os.imie+" "+os.nazwisko); } } listaosob('częstochowa') LISTA OSÓB Z CZĘSTOCHOWA Tomasz Kowalkowski Bartosz Rolnik Kamila Bartosik...
53 MongoDB. Narzędzia, transakcje, referencje 53/73 Składowanie kodu JavaScript w bazie danych Kod JavaScript przechowywany na serwerze JavaScript jest bardzo ważnym językiem dla MongoDB. Mongo shell korzysta z języka JavaScript. Server posiada również wbudowany interpreter JavaScript używany m.in. w: Map/Reduce funkcji db.eval() klauzuli $where Istnieje możliwość przechowywania funkcji zapisanych w JavaScript na serwerze i wywoływanie ich. Funkcje zapisywane są w specjalnej kolekcji system.js. Zawartość kolekcji system.js można przeglądać, modyfikować, usuwać jak każdą inną kolekcję.
54 MongoDB. Narzędzia, transakcje, referencje 54/73 Składowanie kodu JavaScript w bazie danych - uwagi Kod JavaScript przechowywany na serwerze Nie powinno się przechowywać logiki aplikacji w bazie danych. Przechowywanie kodu JavaScript na serwerze ma ograniczenia wydajnościowe. Kod aplikacji jest zwykle najbardziej wydajny, jeśli rozwija się razem z aplikacją, ma ten sam system kontroli wersji.
55 MongoDB. Narzędzia, transakcje, referencje 55/73 Składowanie kodu JavaScript w bazie danych Poniższy kod przykładowej funkcji function sumaliczb(a, b) { return a+b; } sumaliczb(12, 9) można zapisać w bazie, w kolekcji system.js db.system.js.save({ _id:"dodajliczby", value:function(a, b){ return a+b; } }); i uruchomić, np. poniższym poleceniem db.eval("dodajliczby(2, 3);"); // db.eval(dodajliczby, 12, 7); // wczytywanie funkci z serwera i uruchamianie ich na w mongo shell db.loadserverscripts(); dodajliczby(7, 5);
56 MongoDB. Narzędzia, transakcje, referencje 56/73 Funkcja eval() Funkcja eval(funkcja, [arg1, arg2,...]): porzucona w wersji 3.0 działa, ale jej użycie jest niezalecane, pozwala na wykonanie się kodu JavaScript na serwerze, domyślnie blokuje całą bazę danych na czas działania, nie można używać na kolekcjach współdzielonych (ang. sharding), powinno się jej unikać jeśli w klastrze mamy wspódzielone dane, jednak można używać na niewspółdzielonych kolekcjach i bazach danych, nawet jeśli klaster jest ze współdzieleniem. db.eval( function (a, b) { print("hello on MongoDB server"); return a+b; }, 12, 3); 15
57 MongoDB. Narzędzia, transakcje, referencje 57/73 Zawartość kolekcji system.js db.system.js.save({ _id: "hello", value : function() { print("hello World"); return "Witaj Świecie"; } }); db.system.js.save({ _id:"dodajliczby", value:function(a, b){ return a+b; } }); db.eval("hello()"); // wykonuje się na serwerze db.loadserverscripts(); hello(); // wczytana z serwera, wykonuje się w mongo shell Zawartość kolekcji system.js: pole _id zawiera nazwę funkcji, jest unikalne w obszarze bazy danych, pole value zawiera definicję funkcji, nie jako tekst ale jako funkcję.
58 MongoDB. Narzędzia, transakcje, referencje 58/73 Zapytania z polami tablic > db.tabs.find() > db.tabs.insert({tab:[1,2,3,4,5,7]}) > db.tabs.insert({tab:[3,4,5]}) > db.tabs.insert({tab:[1,4,8,12]}) > db.tabs.insert({tab:[7,8,9,10]}) > db.tabs.find({},{_id:0}) { "tab" : [ 1, 2, 3, 4, 5, 7 ] } { "tab" : [ 3, 4, 5 ] } { "tab" : [ 1, 4, 8, 12 ] } { "tab" : [ 7, 8, 9, 10 ] } > db.tabs.find({"tab":{"$lt":4}}).count() // 3 > db.tabs.find({"tab":{"$lte":4}}).count() // 3 > db.tabs.find({"tab":{"$gt":4}}).count() // 4 > db.tabs.find({"tab":{"$gte":4}}).count() // 4 > db.tabs.find({"tab":{$not:{"$lte":4}}}).count() // 1 > db.tabs.find({"tab":{$not:{"$gt":4}}}).count() // 0
59 MongoDB. Narzędzia, transakcje, referencje 59/73 Tablice w kolekcji restauracji // Liczba wszystkich restauracji, z polem punkty i bez niego > db.restaurants.count({}) // > db.restaurants.count({"oceny.punkty":{$exists:1}}) // > db.restaurants.count({"oceny.punkty":{$exists:0}}) // 737 // Liczba restauracji posiadających ocenę mniejszą/większą lub równą 10 > db.restaurants.count({ "oceny.punkty": {$lte: 10} }) // > db.restaurants.count({ "oceny.punkty": {$gte: 10} }) // // Liczba restauracji nie posiadających oceny większej/mniejszej niż 10 > db.restaurants.count({ "oceny.punkty": {$not: {$gt: 10} } }) // 5754 > db.restaurants.count({ "oceny.punkty": {$not: {$lt: 10} } }) // 6292
60 MongoDB. Narzędzia, transakcje, referencje 60/73 Obsługa transakcji w MongoDB W MongoDB: operacje zapisu są atomowe na poziomie dokumentu nawet jeśli zapis modyfikuje wiele zagnieżdżonych dokumentów wewnątrz jednego dokumentu, polecenie modyfikujące wiele dokumentów jest atomowe na każdym dokumencie z osobna, ale operacja w całości atomowa nie jest, zapisy poszczególnych dokumentów mogą się przeplatać z operacjami zapisu innego polecenia, operator $isolated pozwala izolować pojedyncze polecenie zapisu, które dotyczy wielu dokumentów operator $isolated powoduje, że operacja zapisu uzyskuje wyłączny dostęp do kolekcji, operator $isolated nie działa na klastrach ze współdzieleniem (dane podzielone na różne serwery),
61 MongoDB. Narzędzia, transakcje, referencje 61/73 Semantyka zbliżona do transakcji Ponieważ jeden dokument może zawierać wiele zagnieżdżonych dokumentów, to atomowość operacji na pojedynczym dokumencie zwykle wystarcza w wielu praktycznych przypadkach. Dla przypadków, w których ciąg operacji zapisu musi być wykonany jak w jednej transakcji, można zaimplementować dwustopniowe zatwierdzenie (ang. two-phase commit). Dwustopniowe zatwierdzenie oferuje semantykę tylko zbliżoną do transakcji, zapewnia spójność danych ale jest możliwe, że aplikacja zwróci pośrednie dane (pomiędzy tymi dwoma fazami) albo wykona rollback.
62 MongoDB. Narzędzia, transakcje, referencje 62/73 Kontrola współbieżności Współbieżność pozwala na działanie różnym aplikacjom w tym samym czasie bez występowania konfliktów czy niespójności danych. Dwa podejścia obsługi współbieżności w MongoDB: jedno podejście zapewniające spójność polega na tworzeniu indeksów unikalnych na polach, w których wartości nie mogą się powtarzać, zapobiega to tworzeniu się powielonych wartości przy wstawianiu czy aktualizacji dokumentów, inne podejście wymaga określenia oczekiwanej biażącej wartości pola w predykacie zapytania operacji zapisu, dwustopniowe zatwierdzanie wprowadza pewną wariację tego rozwiązania, w której predykat zawiera identyfikator aplikacji jak również oczekiwaną bieżącą wartość pola podczas przeprowadania operacji zapisu.
63 MongoDB. Narzędzia, transakcje, referencje 63/73 Dwustopniowa operacja zapisu W MongoDB: wzorzec wykonywania aktualizacji danych na wielu dokumentach, coś jak transakcja na wielu dokumentach używamy dwustopniowej operacji zapisu (ang. two-phase commit) przy zapisie danych do wielu dokumentów dodatkowo można rozszerzyć ten proces do uzyskania funkcjonalności zbliżonej do polecenia rollback
64 MongoDB. Narzędzia, transakcje, referencje 64/73 Dwustopniowa operacja zapisu Przy wykonywaniu transakcji składających się z operacji sekwencyjnych, pojawiają się pewne uwagi: atomowość: jeśli jakaś operacja zakończy się niepowodzeniem, wcześniejsze operacje w transakcji muszą zostać wycofane, trzeba zrobić rollback do wcześniejszego stanu, spójność: w przypadku poważnych problemów (sieć, sprzęt), które przeszkodziły transakcji, baza danych musi być w stanie odzyskać wcześniejszy stan spójności. Dwustopniowe zatwierdzanie pozwala na wsparcie dla aktualizacji danych w wielu dokumentach. Dwustopniowe zatwierdzanie zapewnia, że dane w bazie będą spójne i, w przypadku błędów, stan przed rozpoczęciem transakcji jest osiągalny. Podczas wykonywana tego dwustopniowego zatwierdzania dokumenty są w stanie zawieszenia, nie są dostępne.
65 MongoDB. Narzędzia, transakcje, referencje 65/73 Dwustopniowa operacja zapisu Przygotowanie kont, na których będzie operacja przelewu db.accounts.insert( [ { _id: "A", balance: 1000, pendingtransactions: [] }, { _id: "B", balance: 1000, pendingtransactions: [] } ] ) db.accounts.find() { } { } "_id" : "A", "balance" : , "pendingtransactions" : [ ] "_id" : "B", "balance" : , "pendingtransactions" : [ ]
66 MongoDB. Narzędzia, transakcje, referencje 66/73 Dwustopniowa operacja zapisu Inicjalizacja transakcji db.transactions.insert( { _id: 1, source: "A", destination: "B", value: 100, state: "initial", lastmodified: new Date() } ) db.transactions.findone() { } "_id" : NumberInt(1), "source" : "A", "destination" : "B", "value" : NumberInt(100), "state" : "initial", "lastmodified" : ISODate(" T08:15: ")
67 MongoDB. Narzędzia, transakcje, referencje 67/73 Dwustopniowa operacja zapisu 1. Pobieramy transakcję w celu jej rozpoczęcia var t = db.transactions.findone( { state: "initial" } ) t { } "_id" : NumberInt(1), "source" : "A", "destination" : "B", "value" : NumberInt(100), "state" : "initial", "lastmodified" : ISODate(" T08:15: ")
68 MongoDB. Narzędzia, transakcje, referencje 68/73 Dwustopniowa operacja zapisu 2. Zmiana stanu transakcji na w toku db.transactions.update( { _id: t._id, state: "initial" }, { $set: { state: "pending", lastmodified: new Date() } } ) db.transactions.findone() { } "_id" : NumberInt(1), "source" : "A", "destination" : "B", "value" : NumberInt(100), "state" : "pending", "lastmodified" : ISODate(" T08:19: ")
69 MongoDB. Narzędzia, transakcje, referencje 69/73 Dwustopniowa operacja zapisu 3 - Apply the transaction to both accounts db.accounts.update( { _id: t.source, pendingtransactions: { $ne: t._id } }, { $inc: { balance: -t.value }, $push: { pendingtransactions: t._id } } ) db.accounts.update( { _id: t.destination, pendingtransactions: { $ne: t._id } }, { $inc: { balance: t.value }, $push: { pendingtransactions: t._id } } ) db.accounts.find().pretty() { } { } "_id" : "A", "balance" : 900.0, "pendingtransactions" : [ 1.0 ] "_id" : "B", "balance" : , "pendingtransactions" : [ 1.0 ]
70 MongoDB. Narzędzia, transakcje, referencje 70/73 Dwustopniowa operacja zapisu 4 - Update transaction state to wykonana db.transactions.update( { _id: t._id, state: "pending" }, { $set: { state: "applied", lastmodified: new Date() } } ) db.transactions.findone() { } "_id" : NumberInt(1), "source" : "A", "destination" : "B", "value" : NumberInt(100), "state" : "applied", "lastmodified" : ISODate(" T08:23: ")
71 MongoDB. Narzędzia, transakcje, referencje 71/73 Dwustopniowa operacja zapisu 5 - Update both accounts list of pending transactions db.accounts.update( { _id: t.source, pendingtransactions: t._id }, { $pull: { pendingtransactions: t._id } } ) db.accounts.update( { _id: t.destination, pendingtransactions: t._id }, { $pull: { pendingtransactions: t._id } } ) db.accounts.find().pretty() { } { } "_id" : "A", "balance" : 900.0, "pendingtransactions" : [ ] "_id" : "B", "balance" : , "pendingtransactions" : [ ]
72 MongoDB. Narzędzia, transakcje, referencje 72/73 Dwustopniowa operacja zapisu - zakończenie transakcji 6. Zmiania statusu transakcji na zakończona db.transactions.update( { _id: t._id, state: "applied" }, { $set: { state: "done", lastmodified: new Date() } } ) db.transactions.findone() { } "_id" : NumberInt(1), "destination" : "B", "lastmodified" : ISODate(" T08:26: "), "source" : "A", "state" : "done", "value" : NumberInt(100)
73 MongoDB. Narzędzia, transakcje, referencje 73/73 Źródła administration-interfaces/ stored-javascript-in-mongodb-and-pymongo.html getting-started-with-stored-procedures-in-mongodb.html
MongoDB - pomoc do laboratorium
ongodb - pomoc do laboratorium 1/19 MongoDB - pomoc do laboratorium Technologie Zarządzania Treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej
MongoDB. Narzędzia i biblioteki
ongodb. Narzędzia i biblioteki 1/99 MongoDB. Narzędzia i biblioteki Technologie Zarządzania Treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej
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
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
Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014
Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................
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
dziennik Instrukcja obsługi
Ham Radio Deluxe dziennik Instrukcja obsługi Wg. Simon Brown, HB9DRV Tłumaczenie SP4JEU grudzień 22, 2008 Zawartość 3 Wprowadzenie 5 Po co... 5 Główne cechy... 5 baza danych 7 ODBC... 7 Który produkt
Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych
Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...
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
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
CouchDB. Michał Nowikowski
CouchDB Michał Nowikowski Agenda Wprowadzenie do CouchDB Mój przypadek Wyniki i wnioski Dokumenty CouchDB Format JSON Pary nazwa wartość Możliwe tablice i struktury Załączniki Brak limitów na liczbę i
Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Część I Rozpoczęcie pracy z usługami Reporting Services
Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...
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
NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki
29 października 2014 Igor Wojnicki (AGH, KIS) CouchDB 29 października 2014 1 / 53 NoSQL Not Only SQL, CouchDB Apache CouchDB has started. Time to relax. Igor Wojnicki Katedra Informatyki Stosowanej, Akademia
Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:
Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko
WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.
WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy
Problemy techniczne SQL Server
Problemy techniczne SQL Server Jak utworzyć i odtworzyć kopię zapasową bazy danych za pomocą narzędzi serwera SQL? Tworzenie i odtwarzanie kopii zapasowych baz danych programów Kadry Optivum, Płace Optivum,
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.
Projektowanie systemów baz danych
Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do
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
Tomasz Grześ. Systemy zarządzania treścią
Tomasz Grześ Systemy zarządzania treścią Co to jest CMS? CMS (ang. Content Management System System Zarządzania Treścią) CMS definicje TREŚĆ Dowolny rodzaj informacji cyfrowej. Może to być np. tekst, obraz,
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
Typy tabel serwera MySQL
Typy tabel serwera MySQL Kopie zapasowe baz danych Zabezpieczanie serwera MySQL Zakładanie konta użytkownika z określonymi uprawnieniami Zarządzanie kontem i bazą danych Kilka kolejnych informacji na temat
Ć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
Podstawowe wykorzystanie Hibernate
Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia
Aplikacje webowe z wykorzystaniem Node.js oraz Express
Aplikacje webowe z wykorzystaniem Node.js oraz Express Adresaci szkolenia: Kurs przeznaczony jest dla programistów pragnących tworzyć skalowalne aplikacje z wykorzystaniem Node.js. Parametry szkolenia:
Problemy techniczne SQL Server
Problemy techniczne SQL Server Jak utworzyć i odtworzyć kopię zapasową za pomocą narzędzi serwera SQL? Tworzenie i odtwarzanie kopii zapasowych baz danych programów Kadry Optivum, Płace Optivum, MOL Optivum,
Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017
Analityka danych w środowisku Hadoop Piotr Czarnas, 27 czerwca 2017 Hadoop i Business Intelligence - wyzwania 1 Ładowane danych do Hadoop-a jest trudne 2 Niewielu specjalistów dostępnych na rynku Dostęp
Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Wykład 5: PHP: praca z bazą danych MySQL
Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych
Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9
Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do
Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.
Projekt współfinansowany przez Unię Europejską z Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego Województwa Śląskiego na lata 2007-2013 Czerwionka-Leszczyny 6.11.2012
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
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
OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi
OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur
Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Oracle Application Express -
Oracle Application Express - Wprowadzenie Wprowadzenie Oracle Application Express (dawniej: HTML DB) to narzędzie do szybkiego tworzenia aplikacji Web owych korzystających z bazy danych Oracle. Od użytkownika
Programowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Backend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie WCF Data Services Obsługa żądania OData Podstawy języka OData Narzędzia i biblioteki Gdzie można skorzystać z OData OData w Web API
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
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Automatyczna instalacja oprogramowania.
1 (Pobrane z slow7.pl) Samo zainstalowanie systemu nie nastręcza wielu problemów i z reguły cały proces przebiega szybko i sprawnie. Dłużej czasu zajmuje Nam odszukanie aktualnych sterowników do posiadanych
Zmiana treści Specyfikacji Istotnych Warunków Zamówienia.
Projekt współfinansowany przez Unię Europejską z Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego Województwa Śląskiego na lata 2007-2013 ZP.271.1.2013 Czerwionka-Leszczyny
Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików
Sprawozdanie (notatki) Sieci komputerowe i bazy danych Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików Piotr Morawiec 22.03.2017 FTP (ang. File transfer Protocol) - protokół wymiany
git krótki przewodnik
git krótki przewodnik Spis treści Podstawy pracy z systemem git (pojęcia)... 2 Instalacja klienta git Atlassian SourceTree... 2 Konfiguracja Atlassian SourceTree do współpracy z bitbucket.org... 3 Tworzenie
William R. Stanek. Vademecum administratora. Microsoft. SQL Server 2012. Przekład: Krzysztof Szkudlarek
William R. Stanek Vademecum administratora Microsoft SQL Server 2012 Przekład: Krzysztof Szkudlarek APN Promise 2012 Spis treści Wprowadzenie................................... xiii Część I Podstawy Microsoft
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
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
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
Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010
Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa
Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1
Viatoll Calc Instrukcja użytkownika Strona 1 Spis treści 1 Wstęp...3 2 Opis panelu głównego...3 2.1 Menu aplikacji...4 2.2 Tabela z trasami...5 2.3 Strona kalkulatora viatoll...6 2.4 Pasek statusu...7
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
Bash - wprowadzenie. Bash - wprowadzenie 1/39
Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:
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
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.
Odpowiedź II wyjaśnienie na zapytania do Specyfikacji Istotnych Warunków Zamówienia.
Projekt współfinansowany przez Unię Europejską z Europejskiego Funduszu Rozwoju Regionalnego w ramach Regionalnego Programu Operacyjnego Województwa Śląskiego na lata 2007-2013 Czerwionka-Leszczyny 6.11.2012
Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5
Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką Autor: Paweł Konieczny Promotor: dr Jadwigi Bakonyi Kategorie: aplikacja www Słowa kluczowe: Serwis
Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
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 możliwości utworzenia struktury bazy danych z
Szczegółowy opis zamówienia:
Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h
Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4
Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...
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
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.
Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić
ActiveXperts SMS Messaging Server
ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych
Ćwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
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
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
MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT
MS Windows Vista Autor: Jacek Parzonka, InsERT Spis treści SPIS TREŚCI... 1 WSTĘP... 2 PROBLEMY... 2 UŻYWANIE AUTENTYKACJI WINDOWS DLA MS SQL SERVERA 2005 EXPRESS... 2 Run as administrator... 3 Modyfikacja
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
Przetwarzanie danych w chmurze
Materiały dydaktyczne Katedra Inżynierii Komputerowej Przetwarzanie danych w chmurze Podstawy Google App Engine dr inż. Robert Arsoba Robert.Arsoba@weii.tu.koszalin.pl Koszalin 2017 Wersja 1.0 Podstawy
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
Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu
Dane wejściowe Oracle Designer Generowanie bazy danych Diagramy związków encji, a w szczególności: definicje encji wraz z atrybutami definicje związków między encjami definicje dziedzin atrybutów encji
AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi
AE/ZP-27-16/14 Załącznik B Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi Wykonywanie kopii zapasowych Oprogramowanie do archiwizacji musi współpracować z infrastrukturą
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
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.
RFP. Wymagania dla projektu. sklepu internetowego B2C dla firmy Oplot
RFP Wymagania dla projektu sklepu internetowego B2C dla firmy Oplot CEL DOKUMENTU Celem niniejszego dokumentu jest przedstawienie wymagań technicznych i funkcjonalnych wobec realizacji projektu budowy
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
2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL
Instalacja, konfiguracja Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Kontakt: piotr.dziwinski@kik.pcz.pl 2 Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management
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:
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
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
System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010
System kontroli wersji - wprowadzenie Rzeszów,2 XII 2010 System kontroli wersji System kontroli wersji (ang. version/revision control system) służy do śledzenia zmian głównie w kodzie źródłowym oraz pomocy
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
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
BIURO USŁUG INFORMATYCZNYCH "T-SOFT"
JPK DOKUMENTACJA 2016-07-14 BIURO USŁUG INFORMATYCZNYCH "T-SOFT" s.c. 30-702 Kraków ul. Romanowicza 17 1. Ogólne Program do generowania jednolitego pliku kontrolnego jest przewidziany do uruchomienia na
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
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
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.
IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)
IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja wielokrotna) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Instalowanie produktu............ 1 Praca
4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152
Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy
Analityka danych w środowisku Hadoop. Piotr Czarnas, 5 czerwca 2017
Analityka danych w środowisku Hadoop Piotr Czarnas, 5 czerwca 2017 Pytania stawiane przez biznes 1 Jaka jest aktualnie sytuacja w firmie? 2 Na czym jeszcze możemy zarobić? Które procesy możemy usprawnić?
Splunk w akcji. Radosław Żak-Brodalko Solutions Architect Linux Polska Sp. z o.o.
Splunk w akcji Radosław Żak-Brodalko Solutions Architect Linux Polska Sp. z o.o. 1 Splunk agent wiedzy o infrastrukturze czyli SIEM i coś więcej 2 Splunk gromadzi oraz integruje informacje dotyczące funkcjonowania
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ą
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
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