Top Banner
Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija sa bazom podataka 13. tjedan T. Cari´ c, T. Erdeli´ c Zavod za inteligentne transportne sustave Fakultet prometnih znanosti Sveuˇ ciliˇ ste u Zagrebu Baze podataka T. Cari´ c, T. Erdeli´ c ITS::Baze podataka (13. tjedan)1/17
17

Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Jan 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

Povezivanje aplikacija sa bazompodataka13. tjedan

T. Caric, T. Erdelic

Zavod za inteligentne transportne sustaveFakultet prometnih znanosti

Sveuciliste u Zagrebu

Baze podataka

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)1/17

Page 2: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

Pregled 1. poglavlja

Primjer aplikacije koja koristi bazu podatakaCrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

Objektno-relacijsko preslikavanje

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)2/17

Page 3: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

Primjer aplikacije koja koristi bazu podataka

I CrosbiFPZI Aplikacija prati broj objavljenih publikacija svih nastavnika sa

Fakulteta prometnih znanostiI Nastavnici su podijeljeni u katedre i zavodeI Osim pojedinacne evidencije publikacija potrebno je pratiti i

grupnu (zavodi, katedre) evidenciju o publikacijama premagodinama odnosno rasponu godina koji se promatra

I Izvor podataka za aplikaciju je sluzbena Hrvatska znanstvenabibliografija (CROSBI) (www.bib.irb.hr)

I Svaka publikacija pripada u jednu od vrsta publikacije (radoviu casopisima, radovi objavljeni na konferenciji, disertacije, . . . )

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)3/17

Page 4: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

Izvor podataka - CROSBI

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)4/17

Page 5: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

Izvor podataka - CROSBI

I URL adresa CROSBI-a: www.bib.irb.hrI URL adresa za pristup publikacijama svakog autora

pojedinacnoI Svaki nastavnik ima jedinstveni maticni broj znanstvenikaI www.bib.irb.hr/lista-radova?autor=213324I Koristi se uvijek isti URL mijenja se samo crveni dio URL-a

koji predstavlja broj znanstvenika te na taj nacin se mozepristupiti popisu radova svakog nastavnika

I Na ovoj stranici se dobije popis svih publikacija (naslov, autori,mjesto i vrsta publikacije), ali ne i detalji o njoj

I URL za pristup svakoj publikaciji posebnoI https://bib.irb.hr/prikazi-rad?&rad=602946

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)5/17

Page 6: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

CrosbiFPZ

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)6/17

Page 7: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

CrosbiFPZ

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)7/17

Page 8: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

CrosbiFPZ

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)8/17

Page 9: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

CrosbiFPZ

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)9/17

Page 10: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

Relacijski model

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)10/17

Page 11: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

CrosbiFPZ - opis zahtjevaCrosbiFPZ - izvor podatakaCrosbiFPZ - desktop aplikacijaCrosbiFPZ - relacijski model i upiti

Upiti

I Dohvati sve vrste ugovoraSELECT Id , Naziv , Active FROM VrstaUgovora

I Azuriraj vrstu ugovora@active bit , @id int --parametri

UPDATE VrstaUgovoraSET Active = @active

WHERE Id = @id

I Dohvati popis nastavnika koji pripadaju odredenoj katedri ilizavodu@katedraId int , @zavodId int --parametri

SELECT * FROM NastavnikWHERE KatedraId = @katedraId OR ZavodId = @zavodId

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)11/17

Page 12: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

Pregled 2. poglavlja

Primjer aplikacije koja koristi bazu podataka

Objektno-relacijsko preslikavanje

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)12/17

Page 13: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

Objektno-relacijsko preslikavanje

I Objektno-relacijsko preslikavanje - posredovanje izmedu bazepodataka i aplikacije

I Objektno-relacijska neuskladenost podatakaI Relacijski model podatak shvaca kao

I instanca entiteta je n-torkaI veze se ostvaruju spajanjem tablica odnosno stranim

kljucevimaI Objektni model podatak shvaca kao

I instanca entiteta je objektI objekti su povezani referencama, nasljedivanjem, ...

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)13/17

Page 14: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

ORM maperi

I ORM maperi su programi koji automatski radeobjektno-relacijsko preslikavanje

I Koristenjem ORM mapera znacajno se ubrzava razvoj ismanjuje se cijena odrzavanja aplikacije te je sa njimaomogucen agilan razvoj

I Mana ORM maperima su njihove performanse koje uglavnomdolaze dolaze do izrazaja jer njihovi korisnici ne znaju do krajaiskoristiti njihove prednosti

I Neki od najcesce koristenih suI LINQ to SQLI NHibernate

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)14/17

Page 15: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

LINQ 2 SQL (Entity Framework)

I Prvi Microsoftov OR maper - preslikava relacijski model bazeu objektni model aplikacije

I To je infrastruktura koja upravlja relacijskim podacima ipredstavlja ih kao obicne objekte u aplikaciju

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)15/17

Page 16: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

LINQ 2 SQL (Entity Framework)

I EDM - podatkovni model se sastoji od tri glavna dijela:konceptualnog, mapiranja i baze podataka (Storage Model)

I Storage Model se sastoji od tablica, veza medu njima ipodataka u njima te svega onoga sto smo ucili do sada

I Mapiranje se brine o tome kako je konceptualni modelpovezan sa bazom podataka

I LINQ 2 SQL|Entities je klijentski upitni jezikI Object Service - je zaduzen za materijalizaciju podatakaI Entity Client Data Provider - ovaj upitni jezik LINQ 2

SQL|Entities automatski pretvara u SQL upiteI ADO.Net Data Provider - komunikacija sa bazom koristenjem

ADO.Net.-a

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)16/17

Page 17: Povezivanje aplikacija sa bazom podataka - 13. tjedan podataka/Predavanja/05...Primjer aplikacije koja koristi bazu podataka Objektno-relacijsko preslikavanje Povezivanje aplikacija

Primjer aplikacije koja koristi bazu podatakaObjektno-relacijsko preslikavanje

Pitanja

T. Caric, T. Erdelic ITS::Baze podataka (13. tjedan)17/17