Bazy dokumentów. MongoDB

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

Download "Bazy dokumentów. MongoDB"

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

SQL (ang. Structured Query Language)

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

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

Baza numerów Wersja 1.1

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

Bardziej szczegółowo

JS:Obiekty, tablice, JSON

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Bash - wprowadzenie. Bash - wprowadzenie 1/39

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:

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

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

Bardziej szczegółowo

Kiedy i czy konieczne?

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

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

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

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ść

Bardziej szczegółowo

Bazy danych - wykład wstępny

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

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

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

Bardziej szczegółowo

Wprowadzenie do baz danych

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

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

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 -

Bardziej szczegółowo

XLink i XPointer. środa, 4 stycznia 12

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Wykład 3 Składnia języka C# (cz. 2)

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

Bardziej szczegółowo

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

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

Bardziej szczegółowo

Instrukcja CREATE TABLE

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

Bardziej szczegółowo

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.) 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

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Test przykładowy 2 PAI WSB Wrocław /06/2018

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){;

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

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.

Bardziej szczegółowo

2017/2018 WGGiOS AGH. LibreOffice Base

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

Bardziej szczegółowo

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.) 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

Bardziej szczegółowo

Java Podstawy. Michał Bereta

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

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

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

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

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ść

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

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,

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

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

Bardziej szczegółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ II

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

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Tablice

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

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

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,

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

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

Bardziej szczegółowo

4. Funkcje. Przykłady

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

Bardziej szczegółowo

Języki skryptowe w programie Plans

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

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

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

Bardziej szczegółowo

Oczywiście plik musi mieć rozszerzenie *.php

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.

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

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.

Bardziej szczegółowo

Projektowanie systemów baz danych

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

Bardziej szczegółowo

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ś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

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

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ć,

Bardziej szczegółowo

na podstawie bazy Oracle NoSQL

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

Bardziej szczegółowo

Przykładowy dokument XML

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

Bardziej szczegółowo

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

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

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

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

Bardziej szczegółowo

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

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

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

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

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

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 /

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Bazy danych TERMINOLOGIA

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.

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

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

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

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ą

Bardziej szczegółowo

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, 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

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Bazy danych. dr Radosław Matusik. radmat

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

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

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

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

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

Bardziej szczegółowo

Krótki kurs JavaScript

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

Bardziej szczegółowo

Model semistrukturalny

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

Bardziej szczegółowo

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 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,

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

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

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

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

Bardziej szczegółowo

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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)

Bardziej szczegółowo

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

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

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

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

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Bardziej szczegółowo

Algorytmy i struktury danych. wykład 1

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,

Bardziej szczegółowo

Podstawowe wykorzystanie Hibernate

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

Bardziej szczegółowo

29. Poprawność składniowa i strukturalna dokumentu XML

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ę

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

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

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

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ż

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

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

Bardziej szczegółowo

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

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

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 2

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

Bardziej szczegółowo

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

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

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

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

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

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

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Aplikacje w środowisku Java

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

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

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

Bardziej szczegółowo

SWIFT. Zaawansowane Programowanie Obiektowe

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

Bardziej szczegółowo