PRZEGLĄD WYBRANYCH BAZ NOSQL. Sławomir Dadas

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

Download "PRZEGLĄD WYBRANYCH BAZ NOSQL. Sławomir Dadas 30.01.2012"

Transkrypt

1 PRZEGLĄD WYBRANYCH BAZ NOSQL Sławomir Dadas

2 PLAN PREZENTACJI Bazy dokumentowe (document store): MONGODB ORIENTDB Bazy klucz-wartośd (key-value store): REDIS ORACLE NOSQL DATABASE Bazy grafowe (graph database): NEO4J

3

4 strona oficjalna: wersje dla 32 i 64 bitowych systemów operacyjnych sterowniki dla większości popularnych języków programowania (C/C++, Java, Scala, Python, Ruby, Perl itd.) oficjalne wsparcie w springu (spring-data-mongodb) obecnie jedna z najpopularniejszych baz NoSQL

5 Ograniczenia: wersja 32 bitowa nie nadaje się do zastosowao produkcyjnych (ograniczenie wielkości bazy do 2.5 GB) ograniczenie na rozmiar pojedynczego dokumentu (odpowiednik wiersza w bazie relacyjnej) starsze wersje 4 MB, nowsze 16 MB

6 Elastyczna baza dokumentowa będąca alternatywą dla baz relacyjnych. pojedyncza instancja mongo może zawierad wiele baz (odpowiednik schematów) bazy składają się z kolekcji (odpowiedników tabel) kolekcje zawierają dokumenty (odpowiedniki wierszy) dokumenty posiadają pola (odpowiedniki kolumn)

7 Nie wymaga skomplikowanej konfiguracji. Uruchamianie serwera mongo: mongod --dbpath [sciezka] lub mongod --config [sciezka] Uruchamianie domyślnego klienta (shell bazujący na JavaScripcie): mongo

8 Schema-less. Nie jest wymagane definiowanie struktury danych w kolekcji. Do każdej kolekcji możliwe jest wstawianie dowolnych dokumentów, zawierających dowolny zestaw atrybutów. Natywną reprezentacją danych w dokumentach jest BSON (Binary JSON) JSON zserializowany do postaci binarnej. Obiekty są serializowane i deserializowane przez bazę, użytkownik może posługiwad się zwykłą reprezentacją JSON. {type: 'monster', name: 'goblin', attack: 5, defense: 1}

9 Wstawianie dokumentu do kolekcji : db.monsters.insert({name: 'goblin', attack: 5}) Kolekcja jest tworzona automatycznie po dodaniu pierwszego dokumentu. Każdy dokument posiada unikalne pole _id: { "_id" : ObjectId("4f2460d47d69f6b5db16b55b"), "name" : "goblin", "attack" : 5 } Identyfikator może byd nadany przez użytkownika (dowolna unikalna wartośd). W przeciwnym przypadku zostanie wygenerowany automatycznie.

10 Wyszukiwanie dokumentów w kolekcji: db.monsters.find() db.monsters.find({name: 'goblin'}) db.monsters.find({name: {$ne: 'vampire'}, attack: {$gt: 4, $lt: 10}}) db.monsters.find({defense: {$exists: false}}) db.monsters.find($or: [name: 'goblin', likes: 'chocolate']) Polecenie zwraca kursor. Kursor służy do iteracji po wynikach zapytania. Wyniki nie są zwracane od razu. Możliwe jest ustawienie dodatkowych opcji na kursorze przed pobraniem wyników.

11 Możliwe jest wyszukiwanie elementów tablic oraz zagnieżdżonych obiektów. db.monsters.insert({name: 'dragon', likes: ['virgins', 'sheep', 'lollypops'], attack: {type: 'fire', damage: 12}}) db.monsters.find({likes: 'virgins', 'attack.type': 'fire'}) Możliwośd wykonywania dowolnie skomplikowanych zapytao: przekazywanie funkcji javascriptowej jako argumentu zapytania. f = function() { return this.attack > 3; } db.monsters.find(f);

12 Tworzenie indeksów. db.monsters.ensureindex({attack:1}); Rodzaje indeksów: standardowe unikalne (unique) rzadkie (sparse) indeksują tylko te dokumenty w kolekcji, które zawierają indeksowane pole przestrzenne (geospatial) indeksowane po parach współrzędnych, umożliwiają wykonywanie zapytao z operatorami $near oraz $within

13 Sortowanie i paginacja: db.monsters.find().sort({attack: 1}) db.monsters.find().limit(10).skip(20) Wykonywanie update (zastępowanie i aktualizacja): db.monsters.update({name: 'goblin'}, {attack: 10}) db.monsters.update({name: 'goblin'}, {$set: {attack: 10}}) Brak operacji JOIN. Dwa podejścia w przypadku łączenia dokumentów: przechowywanie listy pól _id zależnych rekordów, manualne pobieranie przechowywanie listy obiektów DBRef, automatyczne pobieranie przez bazę

14 Inne możliwości: Replikacja danych pomiędzy serwerami na kilku maszynach. Sharding, dzielenie danych na kilka maszyn w celu poprawy wydajności. Operacje atomowe na bazie Wparcie dla map/reduce do agregacji i przetwarzania dużych ilości danych

15 Gdzie szukad informacji? Manual Java Tutorial Java API api.mongodb.org/java/current The Little Mongo Book openmymind.net/mongodb.pdf

16

17 strona oficjalna: działa na JVM przechowywane dokumenty są obiektami javowymi może działad w trybie embedded (wystarczy dodad jedno dependency do mavena) lub jako oddzielny proces natywnie wspiera przechowywanie dowolnych obiektów javowych

18 Baza z szerokim zestawem funkcjonalności, doskonale zintegrowana z javą. Trzy poziomy abstrakcji danych, realizowane przez trzy różne API dostępu do bazy: baza dokumentowa Document API, najniższy poziom, manualne tworzenie dokumentów baza obiektowa Object API, automatyczne zapisywanie dowolnych obiektów javowych baza grafowa Graph API, opakowuje obiekty javowe do postaci wierzchołków oraz krawędzi grafu

19 Obiekty w bazie zorganizowane są klastrach (cluster) oraz klasach (class) : Klasy definiują logiczną organizację danych (grupują wszystkie obiekty danego typu np. obiekty tej samej klasy javowej lub dokumenty z tym samym zestawem pól) Klastry definiują fizyczną lub logiczną organizację danych (grupują obiekty reprezentujące wspólny zbiór dokumentów, są odpowiednikiem tabeli w bazie relacyjnej). Mogą zawierad obiekty z różnych klas.

20 Klastry są numerowane, podobnie jak dokumenty. Każdy dokument zawiera unikalny RecordID wygenerowany przez bazę danych. RecordID jest postaci: [numer_klastra]:[numer_dokumentu_w_klastrze] np. 5:11, 3:128, 1:0...

21 Zapisywanie rekordów. Dla Document API: ODocument monster = new ODocument(db, "Monster"); monster.field("name", "Goblin"); monster.field("attack", 5); monster.field("likes", new ODocument(db, "Food").field("name", "apple")); monster.save(); Dla Object API: Monster monster = new Monster(); monster.setname("goblin"); monster.setattack(5); monster.setlikes(arrays.aslist(new Food().setName("apple")); db.save(monster);

22 Orient domyślnie działa w trybie schema-less, ale umożliwia zdefiniowanie schematów dla wszystkich klas lub tylko dla pewnego podzbioru. W zależności od preferencji programisty, można definiowad bazy: schema-less schema-full schema-hybrid OSchema schema = database.getmetadata().getschema(); OClass keywordclass = schema.createclass(okeyword.class); keywordclass.createproperty("language", OType.STRING); keywordclass.createproperty("name", OType.STRING); keywordclass.createproperty("key", OType.STRING); keywordclass.createindex("idx_kc_key", OClass.INDEX_TYPE.UNIQUE, "key");

23 Łączenie obiektów realizowane jest na dwa sposoby: embedded relationship - zagnieżdżanie obiektów podrzędnych wewnątrz obiektu nadrzędnego referenced relationship - przechowywanie referencji do zależnych obiektów Łączenie obiektów wykonywane jest automatycznie. Domyślnie orient leniwie pobiera zależne obiekty (w momencie odwołania do tych obiektów). Możliwe jest zdefiniowanie planów zapytania (fetch plan), które określają, w jaki sposób pobierad zależności.

24 Orient wspiera SQL*. Zapytania można definiowad w postaci natywnych javowych obiektów zapytao lub za pomocą pseudo-sql: select from Monster order by name desc select * from Monster order by name desc select * from animal where races contains (name.tolowercase().substring(0,1) = 'e') select from profile where any() like '%danger%' update Profile remove nick update Account put addresses = 'Luca', #12:0 Dla Graph API dostępne są dodatkowe grafowe języki zapytao np. gremlin. * język zapytao, który przypomina SQL

25 Tworzenie indeksów: CREATE INDEX user.id UNIQUE; CREATE INDEX thumbsvalue ON Movie (thumbs by value) NOTUNIQUE; CREATE INDEX books ON Book (author, title, publicationyear) DICTIONARY; Rodzaje indeksów: NOTUNIQUE standardowy nieunikalny indeks UNIQUE indeks unikalny, nie pozwala na dodawanie duplikatów FULLTEXT indeks pełnotekstowy, indeksuje wszystkie słowa w polach typu String DICTIONARY indeks unikalny z zastępowaniem rekordów

26 Optymalizacja wydajności. Orient może byd przełączony w tryb optymalizacji operacji odczytu lub zapisu danych. Tryb masowego zapisu: declare intent massiveinsert Tryb masowego odczytu: declare intent massiveread Powrót do domyślnego trybu: declare intent null

27 Inne możliwości: Wsparcie dla dziedziczenia klas, wyszukiwanie po klasach dziedziczących Security, możliwośd tworzenia użytkowników i nadawania im uprawnieo Transakcje Wsparcie dla dokumentów zawierających pliki (pola typu BLOB)

28 Jeszcze więcej możliwości: Możliwośd definiowania hooków implementowanych w javie (odpowiednik triggerów w bazach relacyjnych) Replikacja i sharding Konfiguarowalny automatyczny backup danych Dostęp do bazy przez interfejs RESTowy Konfigurowalne logowanie do plików

29

30 strona oficjalna: redis.io wydajna baza typu klucz-wartośd działająca w pamięci operacyjnej zaimplementowana w ANSI C, wspierana przez VMware oficjalne wsparcie w springu (spring-data-redis) brak oficjalnego wydania na systemy Windows

31 Redis przechowuje wszystkie dane w pamięci operacyjnej (i w pamięci wirtualnej). Dane te są okresowo zapisywane na dysk. Awaria bazy powoduje utratę części danych Możliwe jest wyszukiwanie tylko po kluczach. Wartości znajdujące się pod kluczami nie mają większego znaczenia. Wartości mogą byd jednym z pięciu zdefiniowanych typów danych. Do typów tych należą stringi (skalary, lub typy proste) oraz cztery różne kolekcje typów prostych.

32 Klucze mogą byd tylko łaocuchami znaków. Redis nie wymusza formatu kluczy, ale przyjęta jest konwencja: [sciezka_oddzielona_dwukropkami]:[id_obiektu]:[opcja_atrybut_obiektu] np. user:12 user:jacekplacek user:jacekplacek:roles user:roles:45 publication:15:keyword:name:12

33 Pięd typów danych. Każdy posiada własny zestaw operacji. Wszystkie operacje na danych są atomowe. Typy danych: stringi, typy proste (strings) tablice haszujące (hashes) listy (lists) zbiory (sets) posortowane zbiory (sorted sets)

34 Skalary, typy proste (strings) Natywną reprezentacją wartości dla typów prostych jest tablica bajtów. Wartości mogą byd czymkolwiek: Zserializowanymi obiektami Javy Łaocuchami znakowymi Dokumentami w formacie JSON itd. set user:jacekplacek "{name: 'jacek', surname: 'placek'}" get user:jacekplacek strlen user:jacekplacek append user:jacekplacek "a to sobie dopisze"

35 Tablice hashujące (hashes) Zbiór par klucz-wartośd. Operacje: Dodawanie i pobieranie wartości dla klucza Usuwanie kluczy, sprawdzanie czy klucz istnieje Pobieranie wszystkich kluczy i inne hset moj:hash pole "ala ma kota" hget moj:hash pole hkeys moj:hash hgetall moj:hash

36 Listy (lists) Uporządkowany zbiór skalarów. Operacje: Dodawanie elementów na początek i koniec listy Pobieranie elementów listy Zamiana elementów, pobieranie zakresu elementów (paginacja) i inne rpush moja:lista "element na koniec" lpush moja:lista "element na pocz¹tek" ltrim moja:lista 0 10 llen moja:lista lrange moja:lista 0 10

37 Zbiory (sets) Nieuporządkowany zbiór skalarów z szybkimi operacjami pobierania i modyfikacji elementów. Operacje: Dodawanie, usuwanie, pobieranie, przenoszenie elementów Operacje sumy, przecięcia, różnicy zbiorów Pobieranie losowych elementów i inne sadd przyjaciele:gosia jacek agatka monika natasza sismember przyjaciele:gosia jacek sinter przyjaciele:gosia przyjaciele:krysia sinterstore przyjaciele:gosia przyjaciele:krysia przyjaciele:jacek

38 Posortowane zbiory (sorted sets) Zbiór skalarów uporządkowany według wag. Operacje: Dodawanie, usuwanie, pobieranie elementów Zliczanie, pobieranie, usuwanie elementów po przedziałach wag Operacje sumy, przecięcia zbiorów i inne zadd przyjaciele:gosia 100 jarek 99 ewa 12 krysia zrank przyjaciele:gosia ewa zrangebyscore przyjaciele:gosia zrangebyscore przyjaciele:gosia -inf +inf

39 Inne możliwości: Wsparcie dla transakcji Liczniki (odpowiedniki sekwencji w bazach relacyjnych) Tworzenie kluczy czasowych (expiration) dane będą automatycznie usuwane po upłynięciu określonej liczby sekund Pipelining przesyłanie do serwera wielu poleceo na raz Replikacja i tworzenie klastrów maszyn

40 Gdzie szukad informacji? lista poleceo (dla każdego informacja o złożoności obliczeniowej) redis.io/commands dokumentacja redis.io/documentation sterownik dla Javy github.com/xetorthio/jedis The Little Redis Book openmymind.net/redis.pdf

41

42 strona oficjalna: baza NoSQL firmy Oracle zbudowana na podstawie Berkeley DB, popularnej bazy typu klucz-wartośd wspieranej przez Oracle

43 Klucze składają się z dwóch części: Major components częśd klucza reprezentująca identyfikator kolekcji lub zbioru atrybutów Minor components częśd klucza reprezentująca elementy kolekcji lub atrybuty Key key = Key.createKey("monster", "goblin"); byte [] value = SerializationUtils.serialize(goblinObject); store.put(key, value);

44 Wartości są tablicami bajtów. Można w nich przechowywad pliki, zserializowane obiekty, łaocuchy znaków itd. Możliwe jest zwracanie wartości dla konkretnego klucza lub wszystkich wartości dla major component i opcjonalnie zakresu minor components. Iterator<KeyValueVersion> iterator = store.multigetiterator(direction.forward, 1000, Key.createKey("monster"), null, Depth.PARENT_AND_CHILDREN); SortedMap<Key, ValueVersion> results = store.multiget(key.createkey("monster"), null, Depth.PARENT_AND_CHILDREN);

45 Inne możliwości: Transakcyjnośd w obrębie pojedynczego major component Replikacja oraz sharding Konsola administracyjna w postaci aplikacji webowej

46 Gdzie szukad informacji? Manual docs.oracle.com/cd/nosql/html/gettingstartedguide Administracja docs.oracle.com/cd/nosql/html/adminguide Java API docs.oracle.com/cd/nosql/html/javadoc/index.html

47

48 strona oficjalna: neo4j.org baza przechowująca dane o strukturze grafowej: obiekty przechowywane w bazie reprezentują wierzchołki lub krawędzie grafu działa w trybie embedded lub jako oddzielny proces zaimplementowana w Javie oficjalne wsparcie w springu (spring-data-neo4j)

49 Neo4j przeznaczony jest do przechowywania obiektów (dokumentów) oraz zależności między nimi. Sprawdza się najlepiej w przypadku danych z dużą liczbą powiązao. Wierzchołki i krawędzie w grafie są obiektami i mogą posiadad dowolną liczbę atrybutów. Poza wydajnymi operacjami łączenia obiektów (wydajniejszymi od relacyjnych JOINów), neo4j umożliwia również tworzenie indeksów na atrybutach i wyszukiwanie obiektów z ich użyciem.

50 Neo4j posiada dedykowane narzędzie Neoclipse do łączenia się z bazą, modelowania struktury danych, wykonywania zapytao itp. Jest to zmodyfikowana wersja Eclipsa.

51 Neo4j umożliwia wykonywanie zapytao w językach zaprojektowanych do wyszukiwania danych w bazach grafowych. Domyślnym językiem tego typu opracowanym dla Neo4j jest cypher. Wspierany jest również inny popularny język przeszukiwania grafów gremlin.

52 Inne możliwości: Transakcje Wbudowane implementacje popularnych algorytmów grafowych (wyszukiwanie ścieżek, dijkstra, A*) Webowa aplikacja do administracji bazą Dodatkowe funkcjonalności związane z utrzymaniem bazy (np. automatyczne backupy w wersji Enterprise) API RESTowe

53 Gdzie szukad informacji? neo4j manual docs.neo4j.org/chunked/milestone Java API api.neo4j.org/current spring-data-neo4j

54 TESTY WYDAJNOŚCI Przetestowane bazy: MONGODB ORIENTDB (W WERSJI EMBEDDED) REDIS ORACLE NOSQL DATABASE Przetestowano na domyślnej konfiguracji, na sprzęcie dostępnym w pracy, w środowisku Windows.

55 WSTAWIANIE DANYCH INSERT 3M INSERT 300K 506, , , ,776 90,101 85,373 9,49 13,28 12,371 7,03 6,82 220,192 24,32 51,101 MongoDB Embedded MongoDB References OrientDB References Redis Embedded Redis References Oracle Embedded Oracle References

56 ODCZYT DANYCH READ 3M READ 300K 1582, , , ,334 98,825 85,307 1,869 14,294 5,938 8,557 12,322 23,171 1,848 3,271 MongoDB Embedded MongoDB References OrientDB References Redis Embedded Redis References Oracle Embedded Oracle References

57 DOSTĘP DO DANYCH PO KLUCZACH RANDOM ACCESS 100K RANDOM ACCESS 10K 52,112 35,515 33,256 26,05 19,153 7,151 8,53 0,662 1,879 1,139 0,85 2,619 3,664 4,754 MongoDB Embedded MongoDB References OrientDB References Redis Embedded Redis References Oracle Embedded Oracle References

58 DOSTĘP DO DANYCH PO INDEKSIE INDEX ACCESS 100K INDEX ACCESS 10K 9,525 9,545 4,389 0,858 0,939 1,206 MongoDB Embedded MongoDB References OrientDB References

59 dziękuję za uwagę

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

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

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

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

Bardziej szczegółowo

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

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

Grafowe języki zapytań. Anna Kosieradzka

Grafowe języki zapytań. Anna Kosieradzka Grafowe języki zapytań Anna Kosieradzka Grafowe języki zapytań Ogólne: Blueprints Gremlin GraphQL SPARQL Związane z jedną bazą danych: SQL (OrientDB) GQL (sones GraphDB) inne API Graf na dzisiaj Graf z

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

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk

Wstęp wprowadzający do laboratorium 2. mgr inż. Rafał Grycuk Wstęp wprowadzający do laboratorium 2 mgr inż. Rafał Grycuk Plan prezentacji 1. Czym jest T-SQL i czym się różni od standardu SQL 2. Typy zapytań 3. Zapytanie typu SELECT 4. Słowo o indeksach T-SQL (1)

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

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

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

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python DBM, SQL 10 listopada 2011 Rodzaje baz danych Trwałe słowniki Klient-serwer SQL Bekreley DB Gnu dbm (n)dbm Firebird Sqlite Oracle MySQL PostgeSQL DB/2 Plan wykładu 1 Bazy danych DBM 2 3 4 Grafowe bazy

Bardziej szczegółowo

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2012 Plan wykładu Modele danych i bazy danych Modele danych Migracje Bazy danych w Railsach Rusztowania Walidacja modeli Modele danych Definicje

Bardziej szczegółowo

CouchDB. Michał Nowikowski

CouchDB. Michał Nowikowski CouchDB Michał Nowikowski Agenda Wprowadzenie do CouchDB Mój przypadek Wyniki i wnioski Dokumenty CouchDB Format JSON Pary nazwa wartość Możliwe tablice i struktury Załączniki Brak limitów na liczbę i

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 11 Marcin Młotkowski 19 grudnia 2014 Plan wykładu 1 Projekt 2 Modele danych 3 4 5 Marcin Młotkowski Programowanie w Ruby 2 / 38 Zasady Projekt Składowe projektu przynajmniej

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

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

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

LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy.

LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy. LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy. Zanim ktokolwiek postanowi użyd tego w swoim projekcie, należy zaznaczyd

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

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED Mariusz Gil mariusz.gil@scalability.pl 4Developers 2011, Warszawa BIO 2 CZYM JEST MEMCACHED? 3 DISTRIBUTED HASH TABLE 4 ZASADA DZIAŁANIA cache 1GB cache 1GB memcached

Bardziej szczegółowo

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015 Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski Poznań, 30.09.2015 Plan Geneza Architektura Cechy Instalacja Standard SQL Transakcje i współbieżność Indeksy Administracja Splice Machince vs.

Bardziej szczegółowo

Fizyczna organizacja danych w bazie danych

Fizyczna organizacja danych w bazie danych Fizyczna organizacja danych w bazie danych PJWSTK, SZB, Lech Banachowski Spis treści 1. Model fizyczny bazy danych 2. Zarządzanie miejscem na dysku 3. Zarządzanie buforami (w RAM) 4. Organizacja zapisu

Bardziej szczegółowo

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1

1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Spis treści Przedmowa... ix Podziękowania... x Wstęp... xiii Historia serii Inside Microsoft SQL Server... xiii 1 Instalowanie i uaktualnianie serwera SQL Server 2005... 1 Wymagania SQL Server 2005...

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

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

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie

Bardziej szczegółowo

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

NARZĘDZIA WIZUALIZACJI

NARZĘDZIA WIZUALIZACJI Kurs interaktywnej komunikacji wizualnej NARZĘDZIA WIZUALIZACJI Andrzej Łachwa andrzej.lachwa@uj.edu.pl 3 4/8 Zobacz film: http://www.ted.com/talks/david_mccandless_the_beauty_of_dat a_visualization.html

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

Programowanie wielowarstwowe i komponentowe

Programowanie wielowarstwowe i komponentowe Programowanie wielowarstwowe i komponentowe HIBERNATE CD. Rodzaje relacji Jeden do wielu Pojedyncza Osoba ma wiele Wpisów Wiele do jednego Wiele Wpisów należy do jednej Osoby Jeden do jednego Pojedyncza

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

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

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków

Bardziej szczegółowo

Definicja. Not Only SQL

Definicja. Not Only SQL Definicja Not Only SQL Baza danych NoSQL to program zapewniający szybki dostęp do danych różniący się w jakiś sposób od stadardowych baz RDBMS. Baza NoSQL to szereg różnych rozwiązań nazwanych jednym określeniem.

Bardziej szczegółowo

Wykład XII. optymalizacja w relacyjnych bazach danych

Wykład XII. optymalizacja w relacyjnych bazach danych Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych

Bardziej szczegółowo

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006 OBIEKTOWOŚĆ W BAZIE DANYCH ORACLE Monika Kruk Mariusz Grabowski Informatyka Stosowana WFiIS, AGH 13 grudzień 2006 Plan prezentacji kilka słów o bazie danych ORACLE rzecz o obiektach ORACLE tworzenie typów

Bardziej szczegółowo

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

Bardziej szczegółowo

Raport dotyczący przeprowadzonych zmian w aplikacji

Raport dotyczący przeprowadzonych zmian w aplikacji Łukasz Dobrodziej Warszawa, 8.01.2011 Jakub Madkowiak Raport dotyczący przeprowadzonych zmian w aplikacji Optymalizacja wydajnościowa Operacjami wykazującymi znaczący czas wykonywania się są grupowe operacje

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

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 12 Bezpieczeństwo SQL Servera Tryby uwierzytelniania Zarządzanie kontami Regulacja dostępu do

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

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

Tworzenie aplikacji bazodanowych w delphi dla dużych baz danych FRAMEWORK IMPET

Tworzenie aplikacji bazodanowych w delphi dla dużych baz danych FRAMEWORK IMPET Tworzenie aplikacji bazodanowych w delphi dla dużych baz danych FRAMEWORK IMPET Maciej Szymczak, maj 2001 soft@home.pl Ostatnia aktualizacja: 2012-03-31 1 Plan widoczny podczas całego wykładu Numer slajdu

Bardziej szczegółowo

Hbase, Hive i BigSQL

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

Bardziej szczegółowo

3. Budowa prostych raportów opartych o bazę danych

3. Budowa prostych raportów opartych o bazę danych 3. Budowa prostych raportów opartych o bazę danych 1. Przy pomocy kreatora utwórz raport tabelaryczny, wyświetlający dane dotyczące prowadzących listę przebojów. W tym celu: a. Uruchom narzędzie Application

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo

Zarządzanie kontami użytkowników w i uprawnieniami

Zarządzanie kontami użytkowników w i uprawnieniami 106 Plan prezentacji 107 Zarządzanie kontami użytkowników w i uprawnieniami Schematy a użytkownicy Tworzenie użytkowników, uwierzytelnianie Przywileje systemowe i obiektowe, role Profile kontrola wykorzystania

Bardziej szczegółowo

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

SQL - DDL. 1 Tabele systemowe. 2 Typy danych SQL - DDL DDL (ang. data definition language) jest częścią języka zapytań SQL obejmująca tworzenie i zarządzanie (modyfikację, usuwanie i przydzielanie uprawnień) obiektami w bazie danych (tabelami, perspektywami,

Bardziej szczegółowo

Pojęcie systemu informacyjnego i informatycznego

Pojęcie systemu informacyjnego i informatycznego BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM

Bardziej szczegółowo

Kurs programowania aplikacji bazodanowych

Kurs programowania aplikacji bazodanowych Wykład 5 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do XPO Podstawowe obiekty Utrwalanie obiektów Transakcje i współbieżność Wzorzec unit of work Odwzorowanie dziedziczenia Asocjacje

Bardziej szczegółowo

Fizyczna struktura bazy danych w SQL Serwerze

Fizyczna struktura bazy danych w SQL Serwerze Sposób przechowywania danych na dysku twardym komputera ma zasadnicze znaczenie dla wydajności całej bazy i jest powodem tworzenia między innymi indeksów. Fizyczna struktura bazy danych w SQL Serwerze

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH 1 Technologie informacyjne WYKŁAD IV WPROWADZENIE DO BAZ DANYCH MAIL: WWW: a.dudek@pwr.edu.pl http://wgrit.ae.jgora.pl/ad Bazy danych 2 Baza danych to zbiór danych o określonej strukturze. zapisany na

Bardziej szczegółowo

Administracja bazami danych

Administracja bazami danych Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi

Bardziej szczegółowo

Wielojęzykowość w aplikacjach J2EE. Tomasz.Skutnik@e-point.pl

Wielojęzykowość w aplikacjach J2EE. Tomasz.Skutnik@e-point.pl e-point SA 7 marca, 2009 Co to jest duży system? Domeny narodowe Warianty językowe Funkcje (ekrany) Klucze lokalizacyjne Tabele językowe w bazie danych Gdzie mogą wystąpić problemy? Środowisko uruchomieniowe

Bardziej szczegółowo

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

Baza danych. Baza danych to:

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

Bardziej szczegółowo

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

QUERY język zapytań do tworzenia raportów w AS/400

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu. Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

Bardziej szczegółowo

Projektowanie struktury danych

Projektowanie struktury danych Jarosław aw Kuchta Rozproszonych Projektowanie qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej

Bardziej szczegółowo

KURS ACCESS 2003 Wiadomości wstępne

KURS ACCESS 2003 Wiadomości wstępne KURS ACCESS 2003 Wiadomości wstępne Biorąc c udział w kursie uczestnik zapozna się z tematyką baz danych i systemu zarządzania bazami danych jakim jest program Microsoft Access 2003. W trakcie kursu naleŝy

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

Bazy danych. Wykład III Tabele. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład III Tabele. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład III Tabele Copyrights by Arkadiusz Rzucidło 1 Dwanaście zasad Codda Informacje są reprezentowane logicznie w tabelach Dane są logicznie dostępne przez podanie nazwy tabeli, wartości

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Porównanie systemów zarządzania relacyjnymi bazami danych

Porównanie systemów zarządzania relacyjnymi bazami danych Jarosław Gołębiowski 12615 08-07-2013 Porównanie systemów zarządzania relacyjnymi bazami danych Podstawowa terminologia związana z tematem systemów zarządzania bazami danych Baza danych jest to zbiór danych

Bardziej szczegółowo

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres Artur Kozubski Software Development GigaCon Warszawa 2008 Plan Historia projektu Firebird Architektura serwera Administracja

Bardziej szczegółowo

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ 1. ELEMENTY SYSTEMU INFORMACJI GEOGRAFICZNEJ DANE GEOGRAFICZNE

Bardziej szczegółowo

Wymagania dotyczące oprogramowania bazodanowego

Wymagania dotyczące oprogramowania bazodanowego Nr i data umowy o dofinansowanie projektu w ramach RPO WO 2007 2013 w ramach: Osi priorytetowej RPOP.02.02.00 Społeczeństwo informacyjne Działania RPOP.02.02.00 Moduły informacyjne, platformy e-usługi

Bardziej szczegółowo

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1 Bazy danych wprowadzenie teoretyczne Piotr Prekurat 1 Baza danych Jest to zbiór danych lub jakichkolwiek innych materiałów i elementów zgromadzonych według określonej systematyki lub metody. Zatem jest

Bardziej szczegółowo

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w

Bardziej szczegółowo

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki 29 października 2014 Igor Wojnicki (AGH, KIS) CouchDB 29 października 2014 1 / 53 NoSQL Not Only SQL, CouchDB Apache CouchDB has started. Time to relax. Igor Wojnicki Katedra Informatyki Stosowanej, Akademia

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Ogólne informacje o Systemie Archiwizacji ZEUS

Ogólne informacje o Systemie Archiwizacji ZEUS Ogólne informacje o Systemie Archiwizacji ZEUS System Archiwizacji ZEUS przeznaczony jest do opracowywania zasobów archiwalnych. Oprogramowanie powstało w wyniku wielomiesięcznej analizy potrzeb jednego

Bardziej szczegółowo