Baze podataka RKPedu / Pazin IT Pazin, 17.5.2017..

Slides:



Advertisements
Similar presentations
Visa MasterCard incoming / outgoing Aplikacija VMC
Advertisements

TIPI PODATKOV. Načrt Najprej je potrebno dobro premisliti o problemu Katere podatke hranimo, kako podatke razporediti v tabele, kakšne vrste podatkov.
Baze podataka Osnovni pojmovi Osnovni pojmovi.
Predavanje br. 7 Formiranje GIS-a II Relacione klase.
1.6. Pohrana podataka.
Provisioning Windowsa 10 na IoT, mobilnim i desktop uređajima
Programi zasnovani na prozorima
Uvod u baze podataka © S. Šutalo i D.Grundler, 2009.
PRIJENOS PODATAKA.
v.as.mr. Samir Lemeš Univerzitet u Zenici
predavanja v.as.mr. Samir Lemeš
predavanja v.as.mr. Samir Lemeš
OPERACIJSKI SUSTAVI.
Operativni sistemi.
Microsoft Microsoft je američka softverska tvrtka. Osnovali su je godine Bill Gates i Paul Allen. Osnovna djelatnost tvrtke je razvoj osnovnog računalnog.
RAČUNALNI INŽENJERSKI PROGRAMI
Maja Meško Anamarija Plašćak Gordana Pavlović Vedrana Verić
Pristup podacima Uvod Nikola Vlahović.
NoSQL.
Pojam DBMS. Relacione baze podataka
The Present Perfect Continuous Tense
Programiranje Uvod Nikola Vlahović.
Microsoft Office 2007 MS Office je programski paket koji sadrži više programa: MS Word – program za obradu teksta MS Excel – program za izradu tabela sa.
Multimedijalna e-Learning platforma
SEMINARSKI RAD MS WORD.
Petlje FOR - NEXT.
HT usluge u Oblaku Ivan Cicvara
Komponente izbora i kontejnerske komponente
Uvod u HTML Zoltan Geller 2017
PlayStation Student: Gordan Belas Datum: FESB,Split.
APLIKATIVNI SOFTVER Za razliku od sistemskog softvera čiji je osnovni zadatak usmeravanje, nadgledanje i podržavanje rada računarskog sistema, aplikativni.
Europski dan programiranja
Izrada web-stranica.
Elektrotehnički fakultet – Podgorica Operativni sistemi
14 UNUTRAŠNJE I ANONIMNE KLASE
Armin Teskeredzic Zagreb, Hrvatska,
LAPLACEOVA TRANSFORMACIJA
SUDOKU Ivo Doko Saša Buzov.
Besplatni softverski alati
MessageBox.
Sustavi za praćenje i vođenje procesa
predavanja v.as.mr. Samir Lemeš
Pojmovi digitalnog zapisa
Networking u Windows-u 2000 i Windows-u XP
Office Graph development ili kako iskoristi Delve za svoje aplikacije
PROGRAMSKI JEZIK PASCAL
XML baze podataka Juraj Urbanke.
PRAĆENJE STATISTIKE POSEĆENOSTI WEB-PREZENTACIJE
Osnovni simboli jezika Pascal
Razvojne okoline Kolegij: Programski jezik C++ Ak. god. 2017/2018
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
Memorije Vrste memorija i osnovni pojmovi Ispisne memorije
posljednja faza razvoja podatkovnih komunikacija
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
5. Baze podataka Postavke MS Accessa.
Nizovi.
C++ WORKSHOP Šimec Tino - FOI.
Fakultet elektrotehnike i računarstva
Naredbe u php-u.
Programski jezik C++ - Vježbe - 5. dio
Programski jezik Python
Priprema prezentacije
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
Pristupni rad KOMPARATIVNI POREZNI SUSTAVI
1. Sigurno u virtualnom svijetu
BILJEŽNICA MS WORD.
7. Baze podataka Postavke MS Accessa.
Darko Anđelković University of Niš
Utvrđivanje kvalitete oblikovanih pričuva šteta – run off analiza
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Presentation transcript:

Baze podataka RKPedu / Pazin IT Pazin, 17.5.2017.

Predavači Za vas danas: Marko Pernić Ivan Guštin www.rkp.hr

Baze podataka Povijest organiziranih zbirki podataka Osnovni pojmovi Sadržaj Povijest organiziranih zbirki podataka Osnovni pojmovi Pregled tipova i organizacija baza podataka Sustavi upravljanja bazama podataka Projektiranje baze podataka NoSQL baze podataka Memorijske baze podataka i trendovi www.rkp.hr

Organizirane zbirke podataka Povijest Organizirane zbirke podataka 1970. Relacijska baza 2000. XML 1963. Pojam baze podataka 1980. Komercijalni proizvodi (DB2, Oracle) www.rkp.hr

Povijest Tekstualna datoteka Strukturirana datoteka DBMS ? Načini spremanja podataka Tekstualna datoteka Strukturirana datoteka DBMS ? www.rkp.hr

Lokalne i mrežne baze podataka Osnovni pojmovi Lokalne i mrežne baze podataka Lokalne baze Mrežne baze Paradox FoxPro MS Access Oracle DB2 MS SQL MySQL www.rkp.hr

Komunikacija Web aplikacija - Baza Osnovni pojmovi Komunikacija Web aplikacija - Baza www.rkp.hr

Osnovni pojmovi Sustavi upravljanja bazama podataka Datoteka 1 Datoteke Datoteka 1 Datoteka 2 Datoteka 3 Log 1 Log 2 Raspored pohranjivanja Shema Pogledi Matični podaci učenika Povijest obroka Uplate Aplikacije / Programi Evidencija učenika Topli obrok Financije www.rkp.hr

Osnovni pojmovi Povezivanje ODBC - standard namijenjen za pristupu sustavima za upravljanje bazom podataka koji ne ovisi o bazi, operativnom sustavu ni programskom jeziku. ADO.NET - objektni model sastavljen od skupa klasa koje omogućuju pristup i manipulaciju podacima iz različitih izvora podataka. TCP/IP – jedan od načina povezivanja na bazu smještenu bilo gdje. PDO – PHP Data Object – sučelje za pristup bazama u PHP-u www.rkp.hr

Povezivanje - primjeri Osnovni pojmovi Povezivanje - primjeri Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername; Password=myPassword; $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); OdbcConnection DbConnection = new OdbcConnection("DSN=SAMPLE_ISAM") www.rkp.hr

Osnovni pojmovi Tablica Atribut Slog Veza Često korišteni pojmovi Tablica Atribut Slog Veza Organizirani skup podataka unutar baze Stupac u tablici Redak u tablici Odnos između atributa u tablicama www.rkp.hr

Tipovi baza podataka Tipovi Data warehouse – skladište podataka koje se puni po zadanim pravilima u predviđenim intervalima In-Memory – memorijske baze podataka koje se sve češće koriste zbog brzine pristupa podacima Cloud – baze smještene u online cloud servise (Google, Amazon, …) Embeded – baze podataka ugrađene u neke aplikacije (npr. vlastita To-Do lista) www.rkp.hr

Organizacija baze podataka Mogućnosti Pula RyanAir Oslo London Croatia Zagreb Hijerarhijske Baza je predoĉena jednim stablom (hijerarhijom) ili skupom stabala. Svako stablo sastoji se od ĉvorova i veza „nadređeni-podređeni“ zmeĊu ĉvorova. Ĉvorovi su tipovi zapisa, a odnos „nadreĊeni-podreĊeni" izražava hijerarhijske veze među tipovima zapisa. Mrežne Baza je predočena mrežom koja se sastoji od čvorova i usmjerenih lukova. Čvorovi predstavljaju tipove zapisa (slogova podataka), a lukovi definiraju veze među tipovima zapisa. "Owner - Member" model, svaki Member ima samo jednog Ownera. Relacijske Zasnovan je na matematičkom pojmu relacije. I podaci i veze među podacima prikazuju se tablicama koje se sastoje od redaka i stupaca. Objektno-orijentirane Inspiriran je objektno-orijentiranim programskim jezicima. Baza je predočena kao skup trajno pohranjenih objekata koji se sastoje od svojih internih „atributa“ (podataka) i „metoda“ (operacija) za rukovanje tim podacima. www.rkp.hr

Organizacija baze podataka Relacijske baze podataka U relacijskim bazama veze se uspostavljaju na osnovu sadržaja odgovarajućih polja, pri čemu se pozicije tih veza mogu dinamički mijenjati u toku rada. Veze 1:1 Jedan primjerak iz T1 može biti vezan s najviše jednim iz T2; i obratno 1:M Jedan primjerak iz T1 može biti vezan s mnogo iz T2; Jedan primjerak iz T2 može biti vezan samo s jednim iz T1 M:1 Jedan primjerak iz T1 može biti vezan s jednim iz T2; Jedan primjerak iz T2 može biti vezan s više iz T1 M:M Jedan primjerak iz T1 može biti vezan s više iz T2; i obratno www.rkp.hr

Organizacija baze podataka Relacijske baze podataka www.rkp.hr

Organizacija baza podataka Tipovi podataka Numeric Date and Time String Other INT SMALLINT DECIMAL FLOAT BIT BOOLEAN … DATE DATETIME TIMESTAMP TIME … CHAR VARCHAR TEXT BINARY BLOB … GEOMETRY POLYGON LINESTRING GEOGRAPHY XML … NULL; Auto Increment; Length; Default; Collation; … www.rkp.hr

Sustavi upravljanja bazama podataka Elementi Table Skup podataka s istim atributima; View Pogled, virtualna tablica; Stored procedure Niz SQL naredbi koje se mogu izvršiti na nekoliko načina; Koriste se za centraliziranje logike programa; Trigger Skup naredbi koje se izvršavaju vezano na događaj manipulacije podacima ili strukturom; www.rkp.hr

Sustavi upravljanja bazama podataka Pregled Oracle MSSQL MySQL SQLite www.rkp.hr

Sustavi upravljanja bazama podataka Oracle Oracle Oracle je najjači proizvođač baza podataka. Baza im se zove kao i tvrtka. Druga najveća softwareska tvrtka u svijetu (nakon Microsofta). Napravili su prvu komercijalnu bazu podataka. PL/SQL za pisanje procedura, ali se kod može pisati i u Javi. Baza radi na bilo kojem OS-u (Unix, Linux, Windows). Web sučelje, SQL developer i Toad sučelje za upravljanje bazom i podacima. Oracle Forms za izradu aplikacija za rad s bazom. Besplatna verzija Oracle XE. G verzija je grid; c verzija je cloud. www.rkp.hr

Sustavi upravljanja bazama podataka Microsoft SQL Server MSSQL Prva verzija SQL servera je izašla 1989. godine, a razvio ga je Sybase. Aktualna verzija je 2016, u najavi je vNext. Koristi T-SQL (Transact SQL) implementaciju SQL-a. Administriranje i upravljanje podacima kroz SQL Server Management Studio (SSMS). Besplatna verzija je Express edition (1 jezgra, 1 GB RAMa, 10 GB baza). Mogućnost slaganja „With Advanced Services” – Analytics Services i Reporting Services. Od pred malo podrška i za linux. www.rkp.hr

Sustavi upravljanja bazama podataka MySQL MySQL Open source RDBMS. Radi na Linuxu i Windowsima. Nedavno ih je kupio Oracle. Podrška za Windows i Linux. Napisana je u C-u i C++u. Razvija se od 1995. Trenutna verzija 5.7. Alat za administraciju i podatke je phpMyAdmin i MySQL Workbench. www.rkp.hr

Sustavi upravljanja bazama podataka SQLite SQLite Relacijska baza podataka temeljena na jednoj datoteci. Podržava većinu SQL92 standarda i ne treba podešavanje. Baza podataka je smještena na jednoj datoteci na disku. Podržava baze veličine u terabajtima. Česta upotreba u aplikacijama na mobilnim uređajima i telefonima. Prigodna i za web stranice s malim posjetima (ispod 100.000 klikova na dan). Alat za administraciju je DB Browser. www.rkp.hr

Sustavi upravljanja bazama podataka Rangiranje / popularnost Izvor: db-engines.com www.rkp.hr

Sustavi upravljanja bazama podataka Mogućnosti Mirroring Jedna od funkcionalnosti visoke dostupnosti; (Principal, Mirror, Witness) Replikacija Postoji nekoliko vrsta razmjene podataka između dvije iste baze na dva ili više servera (Published, Subscriber, Distributor) Integracija Razmjena podataka između baze i različitih sustava (SSIS, SQL Workbench) www.rkp.hr

Sustavi upravljanja bazama podataka Istovremenost Row/Record locking Transaction / Commit / Rollback www.rkp.hr

Sustavi upravljanja bazama podataka Backup / Restore FULL Ukupna sigurnosna kopija baze podataka. Obuhvaća trenutno stanje podataka u bazi. DIFFERENTIAL Sigurnosna kopija samo razlike nastale od zadnjeg FULL backupa. TRANSACTION LOG Sigurnosna kopija transakcijskih logova, koja omogućava „point in time” recovery. COPY ONLY Sigurnosna kopija baze, bez postavljanja zastavica da je sigurnosna kopija napravljena. www.rkp.hr

Sustavi upravljanja bazama podataka Backup / Maintenance plan www.rkp.hr

Sustavi upravljanja bazama podataka Jezici u bazama podataka - SQL SQL – Structured Query Language; ANSI i ISO standardiziran Prvi put predstavljen 1970. godine kao alat za rad s relacijskim bazama Koristi se za upravljanje strukturom, podacima, pravima, transakcijama, … www.rkp.hr

Sustavi upravljanja bazama podataka Jezici u bazama podataka - SQL www.rkp.hr

Sustavi upravljanja bazama podataka Jezici u bazama podataka CREATE TABLE [dbo].[PozivneOznake]( [IDPozivneOznake] [int] IDENTITY(1,1) NOT NULL, [PozivnaOznaka] [varchar](30) NOT NULL, [DatumOd] [datetime] NOT NULL, [DatumDo] [datetime] NOT NULL, [KlubID] [int] NULL, [ClanID] [int] NULL ) Data Description Language INSERT INTO Callsigns ('Callsign', 'Member_ID', 'Date_from', 'Date_to') VALUES ('9A8MM', 1313, '20060101', null); Data Manipulation Language SELECT Ime, Prezime FROM Clanovi WHERE Mjesto = 'Pazin' Structured Query Language www.rkp.hr

Sustavi upravljanja bazama podataka SQL SELECT id, ime, prezime FROM Studenti WHERE AkademskaGodina = '2017‘ ; SELECT SELECT stu.id, stu.ime, stu.prezime, tel.broj FROM Studenti stu INNER JOIN Telefoni tel ON stu.id = tel.studentid AND tel.mobitel = '1' WHERE stu.prezime LIKE 'P%‘ ; JOIN select * from dxcluster c where c.dxcc in ( select distinct dxcc from dxcluster where dxcc not in (select distinct dxcc from qsodata) and band = 1 group by dxcc having count(distinct spotted) = 1 ) order by c.dxcc ; AGGREGATE / SUBQUERY www.rkp.hr

Sustavi upravljanja bazama podataka Sigurnost Korisnici Korisnici koji pristupaju RDBMS-u (sa; domena\korisnik; korisnik). Uloge Uloge kojima korisnik može pripadati. Postoje serverske (sysadmin, public, …) i uloge nad bazom (owner, reader, writer, …) Prava Prava koja se dodjeljuju korisniku, temeljem čega on može raditi aktivnosti u bazi. Pojedinačna dodjela Pojedinačna dodjela prava nad bazama, tablicama, pogledima, … www.rkp.hr

Sustavi upravljanja bazama podataka SQL injection www.rkp.hr

Sustavi upravljanja bazama podataka SQL injection www.rkp.hr

Sustavi upravljanja bazama podataka Alati za upravljanje www.rkp.hr

Sustavi upravljanja bazama podataka Alati za upravljanje www.rkp.hr

Projektiranje baze podataka Relacijske baze podataka OIB Ime Prezime email Zahtjevi Predavač Normalizacija Održao Skica Predavanje Datum Naziv Opis Bilješke www.rkp.hr

Projektiranje baze podataka Tablice i veze www.rkp.hr

Projektiranje baze podataka Ključevi i indeksi www.rkp.hr

Projektiranje baze podataka Utjecaj indeksa na perfomanse www.rkp.hr

Projektiranje baze podataka Testiranje MS SQL 1. Instalirati / zakupiti / naći SQL Server 2. Napraviti novu bazu 3. Napraviti nove tablice 4. Dodati podatke MySQL 1. Instalirati / zakupiti / naći MySQL server 2. Napraviti novu bazu 3. Napraviti nove tablice 4. Dodati podatke www.rkp.hr

Projektiranje baze podataka Migriranje MS SQL 1. Deattach / Attach 2. Backup / Restore 3. SSIS MySQL 1. Backup / Restore 2. SQL Workbench www.rkp.hr

Projektiranje baze podataka Cloud baze Tko Što Koliko Google MySQL $0.0150 / sat Microsoft Azure SQL $0.0202 / sat AWS Aurora $0.0470 / sat Oracle $0.0380 / sat $0.0240 / sat www.rkp.hr

NoSQL baze podataka SQL NoSQL Relacijske baze Općenito SQL NoSQL Relacijske baze Ne-relacijske, distribuirane Bazirana na tablicama Bazirane na paru ključ-vrijednost Predefinirana shema Dinamična shema UnQL Dobre za složene upite Dobre za veliku količinu podataka MySQL, Oracle, MSSQL Mongo, Redis, Cassandra www.rkp.hr

NoSQL baze podataka Općenito www.rkp.hr

NoSQL baze podataka Primjer podataka www.rkp.hr

Upiti u SQL i NoSQL bazama podataka NoSQL baze podataka Upiti u SQL i NoSQL bazama podataka www.rkp.hr

In-Memory (memorijske) baze podataka Općenito www.rkp.hr

In-Memory (memorijske) baze podataka Mogućnosti Potrebe Pristup podacima u stvarnom vremenu Cijena memorije pada Problemi Latencija Dosljednost ACID principima: A - Atomičnost – sve ili ništa C – konzistentnost I – Izolacija transakcija D – trajnost transakcija Zaključak IMDB su korisne za real-time i embedded sustave Glavna primjena je u financijama i praćenju tržišta Smanjuju latenciju i trošenje procesorskog vremena Traži se adekvatna zamjena za disk Sustavi MemSQL H2 ExtremeDB SAP HANA xVelocity www.rkp.hr

In-Memory (memorijske) baze podataka Performanse   Loops/ms Perf. Multiple Insert On-Disk DBMS 4.08 1.00 IMDS + TL 48.13 11.79 Update 14.843 83.143 5.60 Delete 4.082 52.151 12.77 www.rkp.hr

Pitanja?