Bazy dokumentów. MongoDB
|
|
- Nadzieja Rogowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 azy dokumentów. MongoDB 1/67 Bazy dokumentów. MongoDB Technologie Zarządzania Treścią dr inż. Robert Perliński Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej 25 października 2016
2 Bazy dokumentów. MongoDB 2/67 Plan prezentacji 1 JSON 2 Bazy dokumentów 3 MongoDB Format BSON, typy danych MongoDB shell Dodawanie danych Pobieranie danych Aktualizacja danych Usuwanie danych 4 Źródła
3 Bazy dokumentów. MongoDB 3/67 JSON JSON - JavaScript Object Notation. Lekki, tekstowy format wymiany danych. Niezależny od języka programowania i systemu operacyjnego. JSON wykorzystuje składnię JavaScript do opisu obiektów, ale mimo to nadal zachowuje niezależność od języka i platformy. Biblioteki parsujące format JSON są dostępne dla większości języków programowania. JSON to format samoopisujący się i łatwy do zrozumienia. Zbudowany na bazie dwóch struktur: kolekcji par klucz-wartość, uporządkowanej listy wartości.
4 Bazy dokumentów. MongoDB 4/67 JSON - przykład JSON { } "dane" : { "user" : [ { "imie" : "Jan", "nazwisko" : "Kowalski" }, { "imie" : "Piotr", "nazwisko" : "Nowak" } ] } XML <?xml version="1.0" encoding="utf-8"?> <dane> <user> <imie>jan</imie> <nazwisko>kowalski</nazwisko> </user> <user> <imie>piotr</imie> <nazwisko>nowak</nazwisko> </user> </dane>
5 Bazy dokumentów. MongoDB 5/67 JSON vs. XML Podobieństwa: format tekstowy (plain text) samoopisujący się i czytelny dla użytkownika hierarchiczny (obiekty wewnątrz innych obiektów) Różnice: brak znaczników zamykających krótszy szybszy zapis i odczyt wykorzystuje tablice brak zastrzeżonych słów kluczowych
6 Bazy dokumentów. MongoDB 6/67 Kolekcja par nazwa-wartość Kolekcja par klucz-wartość jest umieszczana w nawiasach klamrowych i może zawierać wiele par nazwa/wartość. Nie jest uporządkowana. Można ją nazywać obiektem, strukturą, tablicą hashowaną czy asocjacyjną, słownikem. { } "imie" : "Piotr", "nazwisko" : "Nowak"
7 Bazy dokumentów. MongoDB 7/67 Uporządkowana lista wartości Uporządkowana lista wartości jest umieszczana w nawiasach kwadratowych. Może zawierać wiele wartości. Można ją nazywać tablicą, wektorem, listą czy sekwencją. "studenci":[ {"imie":"james", "nazwisko":"bond"}, {"imie":"jaś", "nazwisko":"fasola"}, {"imie":"angus", "nazwisko":"mcgyver"} ]
8 Bazy dokumentów. MongoDB 8/67 Wartości w JSONie Wartości JSON to: liczby (integer lub float) ciągi znakowe (string w podwójnych cudzysłowach) wartości logiczne (true lub false) tablice (w nawiasach kwadratowych) obiekt (w nawiasach klamrowych) wartość null
9 Bazy dokumentów. MongoDB 9/67 Ciąg znaków String jest sekwencją zero lub więcej znaków Unicode zamkniętych w podwójne cudzysłowy. Możliwe jest wykorzystanie sekwencji unikowych zaczynających się od \ (ang. backslash escapes). Pojedynczy znak jest traktowany jako ciąg znaków składających się z jednego znaku.
10 Bazy dokumentów. MongoDB 10/67 Liczby w JSON Bardzo podobne do liczb w języku C lub Java, poza tym wyjątkiem, że... nie używa się formatów ósemkowych i szesnastkowych.
11 Bazy dokumentów. MongoDB 11/67 JSON - proste przykłady prawidłowe 0 12 true null E+3-2e-23 "" " " "\n\t\\" {} { a : 12} { "asdf": []} błędne falsee 1234E + 3 """ nulla nulla 12, 23 {"name", "surname"} [1, "asdf": 12] [] [1, 2, 3] [{}, {}] [1, {"asdf": 12}]
12 Bazy dokumentów. MongoDB 12/67 JSON - ciekawszy przykład { } "data": [{ "id": "X999_Y999", "from": { "name": "Tom Brady", "id": "X12" }, "message": "Looking forward to 2010!", "actions": [{ "name": "Comment", "link": " }, { "name": "Like", "link": " }], "type": "status", "created_time": " T21:27: " }, { "id": "X998_Y998", "from": { "name": "Peyton Manning", "id": "X18" }, "message": "Where s my contract?", "type": "status", "created_time": " T21:27: ", "updated_time": " T21:27: " }]
13 JSON i obiekty JavaScript Obiekty JavaScript i JSON - ta sama składnia, taki sam dostęp: <html> <body> <p> Name: <span id="jname"></span><br /> Age: <span id="jage"></span><br /> Address: <span id="jstreet"></span><br /> Phone: <span id="jphone"></span><br /> </p> <script type="text/javascript"> var JSONObject= { "name":"john Johnson", "street":"oslo West 555", "age":33, "phone":" " }; document.getelementbyid("jname").innerhtml=jsonobject.name document.getelementbyid("jage").innerhtml=jsonobject.age document.getelementbyid("jstreet").innerhtml=jsonobject.street document.getelementbyid("jphone").innerhtml=jsonobject.phone </script> </body></html> Bazy dokumentów. MongoDB 13/67
14 Bazy dokumentów. MongoDB 14/67 JSON, JavaScript i funkcja eval W języku JavaScript nie ma potrzeby używania parserów. Funkcja eval() przekształca tekst w formacie JSON na obiekt. Dane tekstowe w formacie JSON przekazane do funkcji eval powinny zostać zamknięte w nawiasy okrągłe. Np JSON: {"imie": "Ala"} var JSONobject = eval("({\"imie\":\"ala\"})");
15 Bazy dokumentów. MongoDB 15/67 JSON, JavaScript i funkcja eval <html> <body> Imie: <span id="imie_label"></span><br /> Wiek: <span id="wiek_label"></span> <script type="text/javascript"> var jsono = eval(" ( { \"osoby\": [ {\"imie\": \"Jan\",\"wiek\":23}, {\"imie\": \"Ala\",\"wiek\":25} ] } ) "); document.getelementbyid("imie_label").innerhtml= jsono.osoby[1].imie document.getelementbyid("wiek_label").innerhtml= jsono.osoby[1].wiek </script> </body> </html> ( {"osoby": [ {"imie": "Jan", "wiek":23}, {"imie": "Ala", "wiek":25} ] } )
16 Bazy danych dokumentów Popularne bazy danych dokumentów (klasyfikacja według serwisu db-engines.com): MongoDB (4 ) Couchbase (22 ) Amazon DynamoDB (24 ) CouchDB (27 ) MarcLogic (multimodel, 33 ) OrientDB (multimodel, 42 ) RethinkDB (46 ) Cloudant (50 ) RavenDB (53 ) GemFire (59 ) Microsoft Azure DocumentDB (62 ) Virtuoso (multimodel, 68 ) Apache Drill (multimodel, 72 ) bazy danych dokumentów na 316 wszystkich (to jest prawie 14%) Bazy dokumentów. MongoDB 16/67
17 Statystyki dla modeli danych - liczba DBMS Bazy dokumentów. MongoDB 17/67
18 Statystyki dla modeli danych - udział w rynku Bazy dokumentów. MongoDB 18/67
19 Bazy dokumentów. MongoDB 19/67 Instancja bazy danych dokumentów Każda instancja bazy dokumentów może posiadać wiele baz. Każda baza składa się z wielu kolekcji. Kolekcje zawierają zbiór dokumentów.
20 Bazy dokumentów. MongoDB 20/67 Bazy danych dokumentów Bazy danych dokumentów: dokumenty są głównym składnikiem, format dokumentów: XML, JSON, BSON i inne, są do siebie podobne ale mogą się różnić - nie ma schematu. Dokumenty: samoopisujące się, hierarchiczne struktury drzewiaste, mogą składać się z map, kolekcji, wartości skalarnych.
21 Bazy dokumentów. MongoDB 21/67 Bazy danych dokumentów Bazy danych dokumentów: zapewniają elastyczność baz NoSQL, pozwalają na zarządzanie bardziej złożonlymi strukturami niż te w bazach klucz-wartość, nie wymagają definiowania wspólnej struktury, jest możliwe filtrowanie czy odpytywanie kolekcji dokumentów (podobnie do bazy relacyjnej), inna składnia zapytań niż w bazach relacyjnych ale podobna funkcjonalność.
22 Bazy dokumentów. MongoDB 22/67 Więcej o dokumentach Dokumenty: różne dokumenty mogą znajdować się w jednej kolekcji, dokumenty mogą mieć różne nazwy atrybutów, brak pustych atrybutów - jak nie ma wartośći to po prostu nie ma atrybutu, możliwość dodawania nowych atrybutów w każdej chwili.
23 Bazy dokumentów. MongoDB 23/67 Baza danych MongoDB MongoDB: open-source, baza danych dokumentów, nie potrzeba mapowania obiektowo-relacyjnego (ORM), łatwa w wykorzystaniu i skalowaniu, zawiera swój własny język zapytań, obecnia wersja to 3.2.
24 Bazy dokumentów. MongoDB 24/67 Terminologia w Oracle i w MongoDB Oracle instancja bazy danych schemat tabela wiersz rowid złączenie MongoDB instancja MongoDB baza danych kolekcja dokument id DBRef W Mongo pole id występuje we wszystkich dokumentach, może być ustawiane przez użytkownika. DBRef - referencja wskazująca na dokument w bazie MongoDB. Składa się z pól: $ref (kolekcja), $id oraz opcjonalnie $db (baza danych).
25 Bazy dokumentów. MongoDB 25/67 Dokument w MongoDB Dokument w MongoDB: odpowiednik rekordu w bazach relacyjnych, przechowuje dane w formacie BSON, jest bardzo podobny do obiektów JSON, składa się par nazwa:wartość, wartości mogą zawierać inne dokumenty, tablice i tablice dokumentów, np.: db.osoby.insert({"name":[1, 2, "Jan Kowalski"]}) sam dokument nie może być tablicą, zawiera pole id o unikalnej wartości, trochę jak primary key.
26 Bazy dokumentów. MongoDB 26/67 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.
27 Bazy dokumentów. MongoDB 27/67 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.
28 Bazy dokumentów. MongoDB 28/67 MongoDB shell, polecenia systemowe Polecenia systemowe w MongoDB 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.
29 Bazy dokumentów. MongoDB 29/67 Format BSON Binary JSON - binarna serializacja dokumentów w formacie JSON tak samo jak JSON, wspiera zagnieżdżanie dokumentów i tablic wewnątrz innych dokumentów czy tablic zawiera również rozszerzenie pozwalające na reprezentację danych nie będących formatem JSON, np. posiada typy Date czy BinData jest binarnym formatem wymiany danych biblioteki dla BSON istnieją dla większości współczesnych języków programowania; część implementacji obsługi BSON jest częścią sterownika do bazy MongoDB
30 Bazy dokumentów. MongoDB 30/67 BSON - charakterystyka Lekkość - minimalny narzut na zajmowaną przestrzeń; bardzo ważne dla każdego formatu reprezentacji danych, szczególnie w zastosowaniach internetowych. Łatwość przeszukiwania/przeglądania - BSON został zaprojektowany aby dało się go łatwo przeszukiwać; cecha konieczna dla głównego formatu przechowywania danych w MongoDB. Efektywność - kodowanie/dekodowanie danych do/z formatu BSON jest bardzo szybkie w większości języków programowania.
31 azy dokumentów. MongoDB 31/67 BSON - przykład Dokumentem w formacie BSON nazywamy zero lub więcej par klucz/wartość przechowywanych jako jedna jednostka (obiekt). Fragment specyfikacji: document ::= int32 e_list "\x00" BSON Document e_list ::= element e_list "" element ::= "\x01" e_name double 64-bit binary floating point "\x02" e_name string UTF-8 string... e_name ::= cstring wartość klucza string ::= int32 (byte*) "\x00" cstring ::= (byte*) "\x00" Przykład {"hello": "world"} \x16\x00\x00\x00 // całkowity rozmiar dokumentu, 22b \x02 // 0x02 = typ String hello\x00 // nazwa pola \x06\x00\x00\x00world\x00 // wartość pola \x00 // 0x00 = typ EOO ( end of object )
32 Bazy dokumentów. MongoDB 32/67 Typy danych BSON BSON pozwala na przechowywanie danych następujących typów: Typ Numer Alias Notatki Double 1 double String 2 string Object 3 object Array 4 array Binary data 5 bindata Undefined 6 undefined przestarzały Object id 7 objectid Boolean 8 bool Date 9 date Typy mają przypisany numer i alias do wykorzystania z operatorem $type. Istnieje alias number odnoszący się do typów: double, int oraz long. Aliasy działają od wersji 3.2 (najnowszej).
33 Bazy dokumentów. MongoDB 33/67 Typy danych BSON II BSON pozwala na przechowywanie danych następujących typów (cd.): Typ Numer Alias Notatki Null 10 null Regular Expression 11 regex DBPointer 12 dbpointer JavaScript 13 javascript Symbol 14 symbol przestarzały JavaScript (with scope) 15 javascriptwithscope 32-bit integer 16 int Timestamp 17 timestamp 64-bit integer 18 long Min key -1 minkey Max key 127 maxkey
34 Bazy dokumentów. MongoDB 34/67 Rozszerzenia formatu JSON I JSON uwzględnia tylko część danych z formatu BSON. Zachowanie informacji o typie wymaga od MongoDB dodania pewnych rozrzeszeń do formatu JSON: tryb rygorystyczny (ang. strict mode) reprezentacja formatu BSON zawsze zgodna z JSON, każdy parser JSON sobie poradzi z zawartością (pary klucz:wartość), tylko parser MongoDB rozpozna informacje o typie danych, tryb mongo Shell (ang. mongo Shell mode) parsowany przez wewnętrzny parser MongoDB, parsowany przez mongo shell.
35 Bazy dokumentów. MongoDB 35/67 Rozszerzenia formatu JSON II Tryb rygorystyczny może być parsowany z rozpoznaniem informacji o typie: przez interfejsy REST (różne języki programowania), mongoimport, różne narządzia MongoDB przy opcji --query Inne parsery JSONa (włącznie z mongo shell i db.eval() dokonają parsowania ale nie rozpoznają typów danych w trybie rygorystycznym. Tryb mongo Shell może być parsowany z rozpoznaniem informacji o typie: przez interfejsy REST (różne języki programowania), mongoimport, różne narządzia MongoDB przy opcji --query, mongo shell.
36 Bazy dokumentów. MongoDB 36/67 Rozszerzenia formatu - dane wyjściowe, reprezentacje Dane wyjściowe w trybie rygorystycznym: mongoexport, interfejsy REST i HTTP Dane wyjściowe w trybie mongo Shell: bsondump Niektóre typy danych BSON i ich reprezentacje: tryb rygorystyczny tryb mongo shell { $date : <date> } new Date ( <date> ) { $binary : <bindata>, $type : <t> } BinData ( <t>, <bindata> ) { $oid : <id> } ObjectId( <id> ) { $numberlong : <number> } NumberLong( <number> )
37 Bazy dokumentów. MongoDB 37/67 Typy danych BSON - MinKey, MaxKey MinKey, MaxKey Używane przy porównywaniu, najczęściej do wewnętrznego użycia. Ze wszystkich możliwych wartości jakie mogą przyjąć dane w BSON: MinKey zawsze będzie miało najmniejszą wartość, MaxKey zawsze będzie miało największą wartość, dodawanie danych do kolekcji: db.dane.insert({numer: MinKey(12345)}) db.dane.insert({numer: MaxKey(12345)})
38 Typy danych BSON - Date Data - 64-bitowa liczba całkowita, liczba milisekund od epoki Unixa (1.I.1970). Wartośći ujemne reprezentuja czas przed Utworznie daty: Date() - konstruktor zwraca datę jako String new Date() - konstruktor zwraca datę ISODate ISODate() - j.w. Na obiekcie daty można wywoływać wiele funkcji (JavaScript), m.in.: getdate(), getutcdate(), getyear(), getutcfullyear(), getmonth(),... setdate(), setyear(), setfullyear(), setmonth(),... todatestring(), totimestring(), tojson(), tostring(),... Działanie na datach: var d = ISODate() (ISODate()-d)/1000 // liczba sekund od zapamiętanej wartości do wywołania d instanceof Data // true typeof "jakiś napis..." // string typeof (ISODate()-d) // number Bazy dokumentów. MongoDB 38/67
39 Bazy dokumentów. MongoDB 39/67 Operator $type $type - operator pozwala wybrać dokumenty, w których wartość wybranego pola jest konkretnego typu BSON. Przydaje się dla dokumentów o nieznanej, bardzo zmiennej strukturze. Składnia wyrażenia z operatorem $type: { pole: { $type: <numer typu danych BSON> <String alias> } } Operator dopasowuje dokumenty, w których typ pola jest zgodny z podanym. Tablice Dla typu array operator dopasowue wewnętrzną zawartość podanego pola. Przykładowo: { dane: { $type: 4 } } wybierze dokumenty, w których pole dane ma wewnątrz tablicę. Samo pole dane może być tablicą, nie musi, typ pola dane nie ma znaczenia, ważne czy ma zagnieżdżoną tablicę.
40 Bazy dokumentów. MongoDB 40/67 Operator $type - przykłady Dane typu: string, double (domyślny typ numeryczny), int, long. Dodawanie danych różnych typów (pole kod): db.rozne.insert({"_id":1,adres:"długa 123", kod: "42200"}) db.rozne.insert({"_id":2,adres:"okólna 23", kod: 42262}) db.rozne.insert({"_id":3,adres:"korczaka 12 m 8", kod: NumberLong(42217)}) db.rozne.insert({"_id":4,adres:"nowotarska 45", kod: NumberInt(34312)}) Dane w kolekcji rozne, db.rozne.find(): { "_id" : 1, "adres" : "Długa 123", "kod" : "42200" } { "_id" : 2, "adres" : "Okólna 23", "kod" : } { "_id" : 3, "adres" : "Korczaka 12 m 8", "kod" : NumberLong(42217) } { "_id" : 4, "adres" : "Nowotarska 45", "kod" : } Przykładowe zapytania i wyniki: db.rozne.find({kod: {$type:1}}) -- double: Okólna 23 db.rozne.find({kod: {$type:2}}) -- string: Długa 123 db.rozne.find({kod: {$type:16}}) -- int: Nowotarska 123 db.rozne.find({kod: {$type:18}}) -- long: Korczaka 12 m 8
41 Bazy dokumentów. MongoDB 41/67 Porządek porównywania/sortowania Porównywanie różnych typów danych BSON w MongoDB - uzwględniana jest określona kolejność, od najmniejszego do największego priorytetu: 1 MinKey (typ wewnętrzny) 2 Null 3 Numbers (ints, longs, doubles) 4 Symbol, String 5 Object 6 Array 7 BinData 8 ObjectId 9 Boolean 10 Date 11 Timestamp 12 Regular Expression 13 MaxKey (typ wewnętrzny)
42 Bazy dokumentów. MongoDB 42/67 Porządek porównywania/sortowania - przykład Dodajemy różne dane do kolekcji: db.dane.insert({"_id": 1,numer: "12345"}) // string db.dane.insert({"_id": 2,numer: 12345}) // double db.dane.insert({"_id": 3,numer: NumberLong(12345)}) db.dane.insert({"_id": 4,numer: NumberInt(12345)}) db.dane.insert({"_id": 5,numer: true}) db.dane.insert({"_id": 6,numer: null}) db.dane.insert({"_id": 7,numer: new Date()}) // data jako ISODate db.dane.insert({"_id": 8,numer: Timestamp()}) db.dane.insert({"_id": 9,numer: [1,2,3]}) // tablica db.dane.insert({"_id":10,numer: [1,2,["a","b","c"]]}) // tablica z tablicą ale... db.dane.insert({"_id":11,numer: new BinData(2,"1234")}) db.dane.insert({"_id":12,numer: MinKey(12345)}) db.dane.insert({"_id":13,numer: MaxKey(12345)}) db.dane.insert({"_id":14,numer: Date()}) // data jako string Wyniki przy sortowaniu, db.dane.find().sort({numer:1}): { "_id" : 12, "numer" : { "$minkey" : 1 } } { "_id" : 6, "numer" : null } { "_id" : 10, "numer" : [ 1, 2, [ "a", "b", "c" ] ] } { "_id" : 9, "numer" : [ 1, 2, 3 ] } { "_id" : 2, "numer" : } { "_id" : 3, "numer" : NumberLong(12345) } { "_id" : 4, "numer" : } { "_id" : 1, "numer" : "12345" } { "_id" : 14, "numer" : "Wed Jan :06:39 GMT+0100 (CET)" } { "_id" : 11, "numer" : BinData(2,"1234") } { "_id" : 5, "numer" : true } { "_id" : 7, "numer" : ISODate(" T22:45:10.584Z") } { "_id" : 8, "numer" : Timestamp( , 1) } { "_id" : 13, "numer" : { "$maxkey" : 1 } }
43 Bazy dokumentów. MongoDB 43/67 Porządek porównywania/sortowania - przykład Dodajemy różne dane do kolekcji: db.dane.insert({"_id": 1,numer: "12345"}) // string db.dane.insert({"_id": 2,numer: 12345}) // double db.dane.insert({"_id": 3,numer: NumberLong(12345)}) db.dane.insert({"_id": 4,numer: NumberInt(12345)}) db.dane.insert({"_id": 5,numer: true}) db.dane.insert({"_id": 6,numer: null}) db.dane.insert({"_id": 7,numer: new Date()}) // data jako ISODate, dzięki new! db.dane.insert({"_id": 8,numer: Timestamp()}) db.dane.insert({"_id": 9,numer: [1,2,3]}) // tablica db.dane.insert({"_id":10,numer: [1,2,["a","b","c"]]}) // tablica z tablicą ale... db.dane.insert({"_id":11,numer: new BinData(2,"1234")}) db.dane.insert({"_id":12,numer: MinKey(12345)}) db.dane.insert({"_id":13,numer: MaxKey(12345)}) db.dane.insert({"_id":14,numer: Date()}) // data jako string Wyniki przy sortowaniu, db.dane.find().sort({numer:-1}): { "_id" : 13, "numer" : { "$maxkey" : 1 } } { "_id" : 8, "numer" : Timestamp( , 1) } { "_id" : 7, "numer" : ISODate(" T22:45:10.584Z") } { "_id" : 5, "numer" : true } { "_id" : 11, "numer" : BinData(2,"1234") } { "_id" : 10, "numer" : [ 1, 2, [ "a", "b", "c" ] ] } { "_id" : 14, "numer" : "Wed Jan :06:39 GMT+0100 (CET)" } { "_id" : 1, "numer" : "12345" } { "_id" : 2, "numer" : } { "_id" : 3, "numer" : NumberLong(12345) } { "_id" : 4, "numer" : } { "_id" : 9, "numer" : [ 1, 2, 3 ] } { "_id" : 6, "numer" : null } { "_id" : 12, "numer" : { "$minkey" : 1 } }
44 Bazy dokumentów. MongoDB 44/67 Dodawanie danych do MongoDB Dodawanie danych w MongoDB shell: db.studenci.insert({...}) - dodaje dokument do kolekcji studenci, tworzy kolekcję studenci jeśli nie istniała, zwraca obiekt WriteResult zawierający status operacji, np.: WriteResult({ "{}ninserted" : 1 }), dodaje automatycznie pole id, chyba, że podano jawnie.
45 Bazy dokumentów. MongoDB 45/67 Dodawanie danych do MongoDB Polecenie db.kolekcja.insert() - dodawanie dokumentów: kolekcja par klucz wartość czyli obiekt, przykłady: pusty obiekt: db.osoby.insert( {} ) jeden atrybut: db.osoby.insert( {"name":"jan Kowalski"} ) dwa atrybuty: db.osoby.insert( {"name1":"jan Nowak","name2":"Patryk Wilk"} ) tablica jako składowa obiektu: db.osoby.insert( {"names":["jan Kowalski","Wojtek Nowak"]} ) uporządkowaną listę wartości czyli tablicę, każdy element tablicy musi być poprawnym obiektem, każdy element tablicy dodaje osobny dokument, przykład: db.osoby.insert( [ {"name":"james Bond"}, {"name":"tomasz Kalosz"}, {"name":"roman Witek"} ] )
46 Bazy dokumentów. MongoDB 46/67 Restauracje - przykładowy dokument { "_id" : ObjectId(" cc04bb98aabd9b"), "adres" : { "numer" : "1007", "wspolrzedne" : [ , ], "ulica" : "Morris Park Ave", "kod" : "10462" }, "dzielnica" : "Bronx", "jedzenie" : "Bakery", "oceny" : [ { "data" : ISODate(" T00:00:00Z"), "ocena" : "A", "punkty" : 2 }, { "data" : ISODate(" T00:00:00Z"), "ocena" : "A", "punkty" : 6 }, { "data" : ISODate(" T00:00:00Z"), "ocena" : "A", "punkty" : 10 } ], "nazwa" : "Morris Park Bake Shop", "rest_id" : " " }
47 Bazy dokumentów. MongoDB 47/67 Pobieranie danych Wyszukiwanie danych - metoda find(): db.kolekcja.find(<zapytanie>, <projekcja>) oba parametry są opcjonalne, <zapytanie> określa kryteria wyboru dokumentów z kolekcji brak parametru <zapytanie> albo pusty dokument ({}) zwraca całą kolekcję, <projekcja> określa, które pola dokumentu mają być zwrócone, zwrócenie całej zawartości dokumentu poprzez opuszczenie parametru <projekcja>.
48 Bazy dokumentów. MongoDB 48/67 Pobieranie danych Pobieranie danych: wszystkie zapytania mają zasięg pojedynczej kolekcji, find() zwraca wyniki w postaci kursora - obiekt, po którym iterujemy zawierający dokumenty, find() w mongo shell automatycznie iteruje wyniki kursora wyświetlając po 20, polecenie it wyświetla kolejne 20 wyników. Pobieranie wszystkich dokumentów: db.restaurants.find() - pobiera listę wszystkich restauracji, db.restaurants.count() - zwraca liczbę dokumentów w kolekcji, db.restaurants.find().pretty() - lista restauracji, ładne formatowanie JSONa.
49 azy dokumentów. MongoDB 49/67 Parametr <projekcja> <projekcja> to dokument w postaci: { pole1: <boolean>, pole2: <boolean>... } Z parametrem <projekcja> dokument zwracany przez find() zawiera: pola wyróżnione w projekcji oraz pole id, pole id można wykluczyć, domyślnie jest uwzględniane, wartość logiczna <boolean> może mieć wartość: 1 albo true dla uwzględnienia pola w metodzie find(), 0 albo false dla wykluczenia pola. projekcja zawiera albo tylko wykluczenia albo tylko uwzględnienia parametrów, jedynym wyjątkiem jest parametr id, przykłady dla kolekcji restaruracji: db.restaurants.find({},{nazwa:1}) - dokumenty z id i nazwą, db.restaurants.find({},{adres:0,oceny:0}) - wszystko poza adresem i ocenami db.restaurants.find({},{ id:0,adres:1}) - sam adres, bez pola id
50 Bazy dokumentów. MongoDB 50/67 Zapytania, warunki równościowe Dokumenty będące zapytaniem z warunkiem równościowym mają formę: { <pole1>: <wartosc1>, <pole2>: <wartosc2>,... } dla pól najwyższego poziomu (bezpośrednio w dokumencie) nazwę pola można wziąść w cudzysłów albo go pominąć: db.restaurants.find( { dzielnica: "Manhattan"} ) db.restaurants.find( { "dzielnica": "Manhattan"} ) dla pól niższego poziomu (zagnieżdżonych w dokumencie) używamy notacji kropkowej, trzeba użyć cydzysłowu: db.restaurants.find( { "adres.kod": "10075"} ) analogicznie odwołujemy się do zagnieżdżonych tablic: db.restaurants.find( { "oceny.ocena": "B"} )
51 Bazy dokumentów. MongoDB 51/67 Zapytania, określanie warunków z operatorami Zapytania z określeniem warunku generalnie mają formę: { <pole1>: { <operator1>: <wartosc1> } } Przykłady: restauracje - przynajmniej jedna z ocen większa niż 30: db.restaurants.find( { "oceny.punkty": { $gt: 30 } } ) restauracje - oceny nie zwierają kategorii B : db.restaurants.find( { "oceny.ocena": { $ne: "B"} } )
52 Bazy dokumentów. MongoDB 52/67 Zapytania, operatory porównania Operatory porównania: $eq - wartości równe podanej wartości, $gt - wartości większe niż podana wartość, $gte - wartości większe lub równe podanej wartości, $lt - wartości mniejsze niż podana wartość, $lte - wartości mniejsze lub równe podanej wartości, $ne - wartości różne od podanej, $in - dopasowuje dane zawierające którąkolwiek z wartości podanych w tablicy, np.: db.testowa.find( { tab:{ $in:[1,3] } } ) $nin - dopasowuje wszystkie dane nie zawierające wartości podanych w tablicy.
53 Bazy dokumentów. MongoDB 53/67 Zapytania, operatory logiczne Operatory logiczne: $or - łączy klauzule zapytania logicznym OR, zwraca dokumenty spełniające którąkolwiek z klauzul, $and - łączy klauzule zapytania logicznym AND, zwraca dokumenty, które spełniają wszystkie klauzule, $not - negacja logiczna, zwraca dokumenty, które nie spełniły warunków utworzonego zapytania, $nor - łączy klauzule zapytania logicznym NOR, zwraca dokumenty, które nie spełniły obu klauzul zapytania.
54 Bazy dokumentów. MongoDB 54/67 Zapytania, łączenie warunków, operator AND Zapytania z warunkiem łączonym AND, oddzielone przecinkiem: { <pole1>: <wartosc1>, <pole2>: <wartosc2>,... } restauracje - ocena mniejsza niż 10 AND kod pocztowy równy 10462: db.restaurants.find({ "oceny.punkty":{ $lt:10 }, "adres.kod":"10462" }) Zapytania z warunkiem łączonym AND, operator $and, warunki w tablicy: { $and: [ {<pole1>: <wartosc1>}, {<pole2>: <wartosc2>},... ] } restauracje - ocena mniejsza niż 10 AND kod pocztowy równy 10462: db.restaurants.find({ $and:[ {"oceny.punkty":{$lt:10} }, {"adres.kod":"10462"} ] })
55 Bazy dokumentów. MongoDB 55/67 Zapytania, łączenie warunków, operator OR Zapytania z warunkiem łączonym OR, operator $or, warunki w tablicy: { $or: [ {<pole1>: <wartosc1>}, {<pole2>: <wartosc2>},... ] } restauracje - ocena mniejsza niż 10 OR kod pocztowy równy 10462: db.restaurants.find( { $or:[ {"oceny.punkty": {$lt:10} }, {"adres.kod": "10462"} ] } )
56 Bazy dokumentów. MongoDB 56/67 Zapytania, operator NOT { <pole>: { $not: { <wyrażenie-operatorowe> } } } Logiczna operacja NIE dla podanego <wyrażenia-operatorowego>, wybiera dokumenty nie spełniające <wyrażenia-operatorowego>, czyli wybiera też elementy nie posiadające pola <pole> Przykład restauracje (5756 wyników): ocena mniejsza lub równa 10 albo w ogóle brak pola oceny.punkty: db.restaurants.find({ "oceny.punkty": {$not: {$gt: 10} } }) Przykład restauracje (21055 wyników): ocena mniejsza lub równa 10 db.restaurants.find({ "oceny.punkty": {$lte: 10} })
57 Bazy dokumentów. MongoDB 57/67 Zapytania, operatory dotyczące elementów i tablicowe Operatory dotyczące elementów: $exists - dopasowuje dokumenty zawierające podane pole, $type - dopasowuje dokumenty, w których podane pole jest określonego typu. Operatory tablicowe: $all - dopasowuje tablice, które zawierają wszystkie elementy określone w zapytaniu, $elemmatch - dopasowuje dokumenty, w których jest tablica z przynajmniej jednym elementem spełniającym wszystkie kryteria podane w $elemmatch, $size - dopasowuje dokumenty, w których podana tablica ma określoną wielkość.
58 Bazy dokumentów. MongoDB 58/67 Zapytania, metody limit() i skip() cursor.limit() określa liczbę dokumentów zwracaną przez kursor, nie pobieramy więcej niż jesteśmy w stanie przetworzyć. Przykład - pobranie pierwszych 7 restauracji: db.restaurants.find().limit(7) cursor.skip() określa liczbę początkowych pominiętych dokumentów, można wykorzystać do tworzenia przeglądania danch stronami. Przykład - lista restauracji bez pierwszych 5: db.restaurants.find().skip(5)
59 Bazy dokumentów. MongoDB 59/67 Zapytania, sortowanie wyników Określenie kolejności danych wyjściowych - metoda sort(): db.kolekcja.find().sort( { kryterium1, kryterium2,... } ) Do metody sort() przekazujemy dokument zawierający: Przykład: pola, po których sortujemy, typ sortowania: 1 - porządek rosnący, -1 - porządek malejący. restaruracje uporządkowane najpierw malejąco po nazwach dzielnic i następnie rosnąco po kodzie pocztowym: db.restaurants.find().sort( { "dzielnica": -1, "adres.kod": 1 } )
60 Bazy dokumentów. MongoDB 60/67 Aktualizacja danych Aktualizacja danych - metoda upadate(): db.kolekcja.update( <zapytanie>, <update>, { upsert: <boolean>, multi: <boolean>, writeconcern: <document> } ) modyfikuje dokument(y) w kolekcji, które odpowiadają zapytaniu, modyfikuje wybrane pola albo całe dokumenty - parametr <update>, domyślnie aktualizuje jeden dokument, parametry upsert, multi i writeconcern są opcjonalne.
61 Bazy dokumentów. MongoDB 61/67 Aktualizowane dane db.kolekcja.update( <zapytanie>, <update>, { upsert: <boolean>, multi: <boolean>, writeconcern: <document> } ) <update> - dokument aktualizacyjny, np. { $inc: { wydajnosc: -2, "zamówienia.liczba": 1 } } Polecenie update() - aktualizacja konkretnych pól: dokument aktualizacyjny zawiera operatory aktualizacji, update() aktualizuje tylko pola określone w operatorach aktualizacji. Polecenie update() - aktualizacja całego dokumentu: dokument aktualizacyjny zawiera tylko wyrażenia pole:wartość, bez operatorów, dokumenty dopasowane przez <zapytanie> są zastępowane przez dokument aktualizacyjny, pole id nie jest zmieniane, update() nie aktualizuje wielu dokumentów na raz.
62 Bazy dokumentów. MongoDB 62/67 Operatory aktualizacji pól Najważniejsze operatory wykorzystywanie przy aktualizacji danych: $inc - zwiększa wartość pola o podaną liczbę, $mul - mnoży wartość pola podaną liczbę razy, $rename - zmienia nazwę (klucz) pola, $set - zmienia/ustawia wartość pola, $unset - usuwa podane pole z dokumentu, $min, $max - aktualizuje pole tylko, jeśli podana wartość jest mniejsza, większa niż bieżąca wartość pola, $currentdate - ustawia wartość pola na bieżącą datę jako typ Date albo Timestamp, $setoninsert - ustawia wartość pola jeśli update() skończyło się dodaniem nowego dokumentu, w przypadku aktualizacji nie wpływa na dane.
63 Bazy dokumentów. MongoDB 63/67 Aktualizacja tablic - operatory Operatory wykorzystywanie przy aktualizacji tablic: $ - działa jako symbol zastępczy do aktualizacji pierwszego z elementów tablicy spełniającego warunki zapytania, $addtoset - dodaje element do tablicy pod warunkiem, że nie ma go obecnie w tablicy, $pop - usuwa pierwszy albo ostani element z tablicy, $pullall - usuwa z podanych tablic wszystkie wymienione elementy, $pull - usuwa wszystkie elementy z tablic spełniające określone warunki, $push - dodaje pola do podanych tablic.
64 Bazy dokumentów. MongoDB 64/67 Aktualizacja tablic - modyfikatory Modyfikatory dla operatora $push: $each - pozwala na dodanie listy elementów do tabeli, $slice - pozwala zachować określoną liczbę elementów w tablicy, pozostałe są usuwane, $sort - pozwala na porządkowanie elementów w tablicy po ich aktualizacji, $position - określa pozycję, w której dodajemy element do tablicy. Operacje bitowe na polach dokumentu: $bit - wykonuje bitowe operacje AND, OR, XOR na polach z wartością całkowitą.
65 Bazy dokumentów. MongoDB 65/67 Aktualizacja danych Aktualizacja danych - metoda upadate(): db.kolekcja.update( <zapytanie>, <update>, { upsert: <boolean>, multi: <boolean>, writeconcern: <document> } ) upsert, opcjonalny, dla true tworzy nowy dokument jeśli zapytanie żadnego nie dopasowało, domyślnie false - przy braku dopasowania nic nie dodaje, multi, opcjonalny, dla true aktualizuje wszystkie dopasowane dokumenty, domyślnie false, writeconcern, opcjonalny, dokument określający writeconcern czyli troskę o zapis.
66 Bazy dokumentów. MongoDB 66/67 Usuwanie danych Usuwanie danych: db.kolekcja.remove( <zapytanie>, <justone> ) remove() usuwa dokumenty z kolekcji, które odpowiadają zapytaniu, parametr <justone> jest opcjonalny - dla true, remove() usuwa tylko jeden dokument, usuwa te dokumenty, które metoda find() by pobrała, przykłady: db.restaurants.find({ adres.ulica :"Corson Ave"}) db.restaurants.remove({ adres.ulica :"Corson Ave"}) db.restaurants.remove() db.restaurants.remove({}) db.restaurants.remove({ adres.ulica :"Grand Ave"}, true) db.restaurants.remove({ adres.ulica :"Grand Ave"}, { justone: 1})
67 Bazy dokumentów. MongoDB 67/67 Źródła best-nosql-databases-fall-2015/ Redis-RDB-Dump-File-Format
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. 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
SQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
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
Bazy danych. Polecenia SQL
Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony
strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Baza numerów Wersja 1.1
Baza numerów Wersja 1.1 SPIS TREŚCI 1. Wprowadzenie 1.1 Adresy URL do połączenia z aplikacją 1.2 Informacje zwrotne wysyłane z API w odpowiedzi na odebrane odwołania I. Zarządzanie grupami Bazy Numerów
JS:Obiekty, tablice, JSON
1 JS:Obiekty, tablice, JSON SYSTEMY SIECIOWE Michał Simiński 2 Obiekty i takblice Jak to wygląda z tymi obiektami? Tablice w JS Tablice w JS, czyli obiekty Tablice w JS metody Tablice w JS sortowanie Jak
Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
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
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:
Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:
Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym
Kiedy i czy konieczne?
Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle
Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.
Za operacje na bazie odpowiada biblioteka mysqli (i jak improved). Posiada ona interfejs obiektowy jak i proceduralny. Podłączenie do bazy (obiektowo) mysqli:: construct() ([ string $host [, string $username
Krzysztof Kadowski. PL-E3579, PL-EA0312,
Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza
Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność
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,
INFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
Wprowadzenie do baz danych
Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
XLink i XPointer. środa, 4 stycznia 12
XLink i XPointer XLink - XML Linking Language XLink jest wykorzystywany do tworzenia linków w dokumentach XML Każdy element XML może zachowywać się jako link XLink wspiera linki proste (np. w dokumentach
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Wykład 3 Składnia języka C# (cz. 2)
Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest
Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]
1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA JavaScript tak
Instrukcja CREATE TABLE
Podstawy języka SQL 2 Instrukcja CREATE TABLE CREATE TABLE tabela (pole_1 typ [(rozmiar)] [NOT NULL] [indeks_1] [, pole_2 typ [(rozmiar)] [NOT NULL] [indeks_2] [,...]] [, CONSTRAINT indeks_wielopolowy
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Ć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
Test przykładowy 2 PAI WSB Wrocław /06/2018
Imię i Nazwisko: Student ID: Part 1: (Prawda lub Fałsz (T lub F)) 15. Która z poniższych deklaracji funkcji jest nieprawidłowa: A. function Sum(a, b, c){; B. function Sum(var a, var b); C. function Sum(a){;
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
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,
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Java Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Język SQL, zajęcia nr 1
Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze
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
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
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych
Bazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Język SQL. Rozdział 2. Proste zapytania
Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji
MATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
Laboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Podstawy programowania. Podstawy C# Tablice
Podstawy programowania Podstawy C# Tablice Tablica to indeksowany zbiór elementów Tablica jest typem referencyjnym (deklaracja tworzy tylko referencję, sama tablica musi być utworzona oddzielnie, najprościej
Wykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9
Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn
4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Języki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
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
Oczywiście plik musi mieć rozszerzenie *.php
Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.
Relacyjne bazy danych. Podstawy SQL
Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.
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
Właściwości i metody obiektu Comment Właściwości
Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz
Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie
Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną
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ć,
na podstawie bazy Oracle NoSQL
na podstawie bazy Oracle NoSQL Rozproszona baza danych stworzona w oparciu o Oracle Berkeley DB Java Edition Podstawowa organizacja danych typu kluczwartość Klucz złożony z klucza głównego i podrzędnego
Przykładowy dokument XML
Przykładowy dokument XML DTD - wady Ograniczona kontrola nad strukturą dokumentów. Zbyt wysokopoziomowe typy danych: liczby, daty są zawsze reprezentowane jako tekst! Bardzo ogólne metody definiowania
Odnawialne Źródła Energii I rok. Tutorial PostgreSQL
Tutorial PostgreSQL 1. Instalacja na własnym komputerze: a. Zainstaluj program ze strony: https://www.postgresql.org/download/ Wersja odpowiednia dla systemu operacyjnego Linux, Mac, Windows Przy pierwszym
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
Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.
Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny
PODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /
Ref. 7 - Język SQL - polecenia DDL i DML
Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość
Bazy danych TERMINOLOGIA
Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.
Bloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
PHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
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
Bazy danych. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat Sortowanie tablic Do sortowania tablic służą funkcje: Sortowanie tablic Do sortowania tablic służą funkcje: sort($tablica) - sortowanie w porządku rosnącym bez kluczy; Sortowanie
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1 Bazy Danych Instrukcja laboratoryjna Temat: Obsługa bazy danych za pomocą phpmyadmin oraz phppgadmin 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do phpmyadmin oraz phppgadmin
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
Krótki kurs JavaScript
Krótki kurs JavaScript Java Script jest językiem wbudowanym w przeglądarkę. Gdy ma się podstawy nabyte w innych językach programowania jest dość łatwy do opanowania. JavaScript jest stosowany do powiększania
Model semistrukturalny
Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze
Podstawy Informatyki Metalurgia, I rok Wykład 3 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 1948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych
Wykład 4. SQL praca z tabelami 1
Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy
Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)
Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane
Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Algorytmy i struktury danych. wykład 1
Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,
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
29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Powtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż
opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)
Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje
Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:
Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu
Podstawy programowania III WYKŁAD 2
Podstawy programowania III WYKŁAD 2 Jan Kazimirski 1 Komunikacja z bazami danych 2 PHP i bazy danych PHP zapewnia dostęp do wielu popularnych baz danych. Kilka poziomów abstrakcji: Funkcje obsługujące
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 5 Podstawy JavaScript Agenda Czym jest JavaScript? Podstawowe typy danych Zmienne Tablice Funkcje Zakres
Java - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
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
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
Powtórka algorytmów. Wprowadzenie do języka Java.
Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy
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
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
Platformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
SWIFT. Zaawansowane Programowanie Obiektowe
SWIFT Zaawansowane Programowanie Obiektowe Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje