Download presentation
Presentation is loading. Please wait.
Published byKlara Bayer Modified over 6 years ago
1
Baze podataka RKPedu / Pazin IT Pazin,
2
Predavači Za vas danas: Marko Pernić Ivan Guštin
3
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
4
Organizirane zbirke podataka
Povijest Organizirane zbirke podataka 1970. Relacijska baza 2000. XML 1963. Pojam baze podataka 1980. Komercijalni proizvodi (DB2, Oracle)
5
Povijest Tekstualna datoteka Strukturirana datoteka DBMS ?
Načini spremanja podataka Tekstualna datoteka Strukturirana datoteka DBMS ?
6
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
7
Komunikacija Web aplikacija - Baza
Osnovni pojmovi Komunikacija Web aplikacija - Baza
8
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
9
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
10
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")
11
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
12
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)
13
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.
14
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
15
Organizacija baze podataka
Relacijske baze podataka
16
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; …
17
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;
18
Sustavi upravljanja bazama podataka
Pregled Oracle MSSQL MySQL SQLite
19
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.
20
Sustavi upravljanja bazama podataka
Microsoft SQL Server MSSQL Prva verzija SQL servera je izašla 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.
21
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 Trenutna verzija 5.7. Alat za administraciju i podatke je phpMyAdmin i MySQL Workbench.
22
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 klikova na dan). Alat za administraciju je DB Browser.
23
Sustavi upravljanja bazama podataka
Rangiranje / popularnost Izvor: db-engines.com
24
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)
25
Sustavi upravljanja bazama podataka
Istovremenost Row/Record locking Transaction / Commit / Rollback
26
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.
27
Sustavi upravljanja bazama podataka
Backup / Maintenance plan
28
Sustavi upravljanja bazama podataka
Jezici u bazama podataka - SQL SQL – Structured Query Language; ANSI i ISO standardiziran Prvi put predstavljen godine kao alat za rad s relacijskim bazama Koristi se za upravljanje strukturom, podacima, pravima, transakcijama, …
29
Sustavi upravljanja bazama podataka
Jezici u bazama podataka - SQL
30
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, ' ', null); Data Manipulation Language SELECT Ime, Prezime FROM Clanovi WHERE Mjesto = 'Pazin' Structured Query Language
31
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
32
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, …
33
Sustavi upravljanja bazama podataka
SQL injection
34
Sustavi upravljanja bazama podataka
SQL injection
35
Sustavi upravljanja bazama podataka
Alati za upravljanje
36
Sustavi upravljanja bazama podataka
Alati za upravljanje
37
Projektiranje baze podataka
Relacijske baze podataka OIB Ime Prezime Zahtjevi Predavač Normalizacija Održao Skica Predavanje Datum Naziv Opis Bilješke
38
Projektiranje baze podataka
Tablice i veze
39
Projektiranje baze podataka
Ključevi i indeksi
40
Projektiranje baze podataka
Utjecaj indeksa na perfomanse
41
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
42
Projektiranje baze podataka
Migriranje MS SQL 1. Deattach / Attach 2. Backup / Restore 3. SSIS MySQL 1. Backup / Restore 2. SQL Workbench
43
Projektiranje baze podataka
Cloud baze Tko Što Koliko Google MySQL $ / sat Microsoft Azure SQL $ / sat AWS Aurora $ / sat Oracle $ / sat $ / sat
44
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
45
NoSQL baze podataka Općenito
46
NoSQL baze podataka Primjer podataka
47
Upiti u SQL i NoSQL bazama podataka
NoSQL baze podataka Upiti u SQL i NoSQL bazama podataka
48
In-Memory (memorijske) baze podataka
Općenito
49
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
50
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
51
Pitanja?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.