2.2/20 IEGULDĪJUMS TAVĀ NĀKOTNĒ! Eiropas Reģionālās attīstības fonds Prioritāte: 2.1. Zinātne un inovācijas Pasākums: Zinātne, pētniecība un at

Līdzīgi dokumenti
Oracle SQL teikuma izpildes plāns (execution plan)

Microsoft Word - Papildmaterials.doc

G.Plivna-sistemanalize

Grozījumi darbības programmas „Uzņēmējdarbība un inovācijas” papildinājumā

1

OWASP Top 10 Latvijā Biežākās drošības problēmas 4mekļa lietojumos Agris Krusts, IT Centrs, SIA

7. Tēma: Polinomi ar veseliem koeficientiem Uzdevums 7.1 (IMO1982.4): Prove that if n is a positive integer such that the equation x 3 3xy 2 + y 3 = n

IEGULDĪJUMS TAVĀ NĀKOTNĒ Projekts Nr. 2009/0216/1DP/ /09/APIA/VIAA/044 NESTRIKTAS KOPAS AR VĒRTĪBĀM PUSGREDZENĀ UN MONĀDES PĀR KATEGORIJU Jāni

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Bakalaura studij

Tehniskās prasības darbam ar VISMA Horizon un HoP Aktualizēts

Datorzinātņu doktorantūras zinātniskais seminārs Atrašanās vietas inteliģences metodes datu noliktavu mobilai lietotnei 1.k.doktorante: Daiga Plase Da

2012 Komandu olimpiāde Atvērtā Kopa Atrisinājumi 10. klasei 1. Tā kā LM ir viduslīnija, tad, balstoties uz viduslīnijas īpašībām, trijstūra 1 laukums

Microsoft Word - ZinojumsLV2015_2.doc

Mūsu programmas Programmu ilgums 1 semestris 15 nodarbības 1,5 h nodarbības ilgums

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Bakalaura studij

APSTIPRINĀTS

Norādījumi par kopējo aktīvu un kopējās riska pozīcijas veidņu aizpildīšanu maksu noteicošo faktoru informācijas apkopošanai

Microsoft Word - kn817p3.doc

Komandu olimpiāde Bermudu trijstūris Katru uzdevumu vērtē ar 0 5 punktiem. Risināšanas laiks - 3 astronomiskās stundas Uzdevumi 7. klasei 1. Doti 5 sk

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Bakalaura studij

OGRES NOVADA PAŠVALDĪBA OGRES 1.VIDUSSKOLA Reģ.Nr , Zinību iela 3, Ogre, Ogres nov., LV-5001 Tālr , fakss , e-pasts: ogres1v

OPEL ZAFIRA paneļa apgaismojuma lampu maiņa Kā nomainīt apgaismojuma lampiņas ZAFIRA mēraparātu panelī tas ir viens no jautājumiem, kuru var lasīt daž

LV IEVĒRO: VISAS LAPASPUŠU NORĀDES ATTIECAS UZ SPĒLES KOMPLEKTĀ IEKĻAUTO SPĒLES NOTEIKUMU GRĀMATIŅU. SPĒLES KOMPLEKTS: 12 pentamino, 5 sarkani klucīši

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Maǧistra studiju

KURSA KODS

Microsoft Word - du_5_2005.doc

Klimata valoda eksperimenta būtība Klimats vai laikapstākļi? Kurš ir kurš? Kas ir kas? Laikapstākļi ir tas, ko mēs šobrīd redzam aiz loga. Var būt sau

Elektronikas, elektrotehnikas un saistīto nozaru uzņēmumu darbinieku profesionālo zināšanu pilnveides apmācības (7.daļa) IEPIRKUMS (iepirkuma identifi

OGRES NOVADA PAŠVALDĪBA OGRES 1.VIDUSSKOLA Reģ.Nr , Zinību iela 3, Ogre, Ogres nov., LV-5001 Tālr , fakss , e-pasts: ogres1v

PowerPoint Presentation

Imants Gorbāns. E-kursa satura rādītāja izveide IEGULDĪJUMS TAVĀ NĀKOTNĒ Imants Gorbāns E-kursa satura rādītāja izveide Materiāls izstrādāts ESF Darbī

Pārskatu aizpildīšana

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Bakalaura studij

Apstiprināts Latvijas farmaceitu biedrības valdes gada 30. maija sēdē, prot. Nr. 17 Ar grozījumiem līdz LFB valdes sēdei gada 18. oktobrī,

VISMA Horizon 535. versijas apraksts Galvenās izmaiņas un uzlabojumi 535. versijā: Sistēma Lietotāju pārvaldība Horizon lietotāja dati Lietotāju sarak

FMzino_

Slide 1

Speckurss materiālu pretestībā 3. lekcija

Nintex Workflow 2010 instalēšanas ceļvedis Instalēšanas ceļvedis Nintex USA LLC 2012, visas tiesības paturētas. Kļūdas un izlaidumi novērsti.

Ievads par privātumu Dalībnieki izpētīs savu attieksmi pret privātumu, kā arī privātuma nozīmi savā dzīvē. Dalībnieki izvērtēs, kāda veida informāciju

DATORMĀCĪBA

PowerPoint Presentation

Nevienādības starp vidējiem

Microsoft PowerPoint - Relaksejosie_vingrojumi

LU 68 Fizikas sekcija DocBook

Red button

PowerPoint Presentation

Slide 1

PowerPoint Presentation

Bakalaura darbu un maģistra darbu tēmas

PowerPoint Presentation

ro41_uzd

skaitampuzle instrukcija

KURSA KODS

Datu bāžu vadības sistēma – MS Access

1

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Bakalaura studij

32repol_uzd

Virsraksts (Heading 2)

RIGA International College of Economics and Business Administration

Microsoft Word - kn17p1.doc

Mācību sasniegumu vērtēšanas formas un metodiskie paņēmieni

Microsoft Word - LRN_JS_SHEMA_GROZ_11_12_2018.docx

ESF projekts Pedagogu konkurētspējas veicināšana izglītības sistēmas optimizācijas apstākļos Vienošanās Nr.2009/0196/1DP/ /09/IPIA/VIAA/001 Pr

Microsoft Word - ! SkG makets 4-5. nodala.doc

Sūtījuma noformēšana Epaka.lv sūtījumu veidošanas programmā Autorizācija 1. Sekojiet norādei E-pastā, lai atvērtu DPD Epaka programmu. Pēcāk, lai auto

Apstiprinu:

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Bakalaura studij

SANCO/11120/2012-EN

Latvijas Universitātes Studentu padome Reģ. Nr Raiņa bulvāris , LV-1586, Rīga, Latvija Tālrunis , Fakss , E-pasts: l

PowerPoint Presentation

Microsoft Word - lv-COM674.doc

Pārbaudes darbs. Varbūtību teorija elementi. 1.variants Skolēna vārds,uzvārds... 1.uzdevums. ( 1punkts) Kurš no notikumiem ir drošs notikums: a) nākoš

EBA Guidelines on AMA changes and extensions

PowerPoint Presentation

PowerPoint Presentation

Laboratorijas darbi mehānikā

Microsoft Word - Kartiba_Cemex_ RTUAF-341.doc

Dārzā Lidijas Edenas teksts Andras Otto ilustrācijas Zaķis skatās lielām, brūnām acīm. Ko tu redzi, zaķīt? Skaties, re, kur māmiņas puķu dārzs! Nē, nē

Prezentācijas tēmas nosaukums

Microsoft PowerPoint - RTU_Karjeras_dienas_CV_Mar2012 [Compatibility Mode]

DPP

Folie 1

Ziņojums par Kopienas Augu šķirņu biroja gada pārskatiem ar Biroja atbildēm

Saturs Sākums Beigas Atpakaļ Aizvērt Pilns ekrāns 1 DAUGAVPILS UNIVERSITĀTE Dabaszinātņu un matemātikas fakultāte Matemātikas katedra Bakalaura studij

suvenīru katalogs

ESIF finanšu instrumenti attīstībai Eiropas Lauksaimniecības fonds lauku attīstībai Finanšu instrumenti

Latvijas labie piemēri vietu zīmola veidošanā un popularizēšanā.

Apstiprināts ar rīkojumu Nr /35 A/S Transporta un sakaru institūts (turpmāk tekstā - TSI) NOLIKUMS par doktorantu/zinātniskā grāda p

CEĻVEDIS PIRCĒJIEM GRÖNLID Dīvāni DIZAINS Frānsiss Kajuets (Francis Cayouette). DAĻAS Atpūtas krēsls Roku balsts Zviļņa modulis Stūra modulis Kāju sol

Microsoft Word - Zinjojums

KANDAVAS NOVADA DOME KANDAVAS NOVADA IZGLĪTĪBAS PĀRVALDE ZEMĪTES PAMATSKOLA Pils, Zemīte, Zemītes pagasts, Kandavas novads, LV Reģ. Nr

Nr

VALMIERA šodien

4

Microsoft Word - Parskats_Kraslava_2007.doc

Transkripts:

2.2/20 IEGULDĪJUMS TAVĀ NĀKOTNĒ! Eiropas Reģionālās attīstības fonds Prioritāte: 2.1. Zinātne un inovācijas Pasākums: 2.1.1. Zinātne, pētniecība un attīstība Aktivitāte: 2.1.1.1. Atbalsts zinātnei un pētniecībai Projekts: Multi - modeļu izstrādes tehnoloģija.net pielietojumu projektiem Projekta sākuma datums: 2014.gada 1.janvāris. Projekta beigu datums: 2015.gada 30.jūnijs. Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 ESF finansējuma saņēmējs: SIA, SWH SETS Sadarbības partneris: Elektronikas un datorzinātņu institūts (EDI) Projekta aktivitātes Nr.3.6 "Savienošanas (join) meta modelis" progresa pārskats Pārskats Nr.25. par periodu no 2014.gada 1.jūlija līdz 2014.gada 31.decembrim.

SATURS 1. Kopsavilkums... 3 2. Ievads... 4 3. Tabulu kombinēšana... 5 3.1. SQL valodā... 5 3.1.1. Inner join... 5 3.1.2. Cross join... 5 3.1.3. Outer joins... 5 3.2. Tabulu kombinēšana Entity Framework... 6 3.3. Prasības Join metamodelim... 7 4. Join metamodelis tehnoloģiskajam modelim... 8 4.1. Join... 8 4.2. Jpart... 9 4.3. JCondition... 9 4.4. JoiningPair... 9 5. Rezultāti... 10 6. Literatūras saraksts... 11 Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 2

1. Kopsavilkums Pārskata periodā (2014-07-01 2014-12-31.) projekta Multi - modeļu izstrādes tehnoloģija.net pielietojumu projektiem aktivitātes Nr.3.6 "Savienošanas (join) meta modelis" ietvaros veikti šādi darbi: 1. Tabulu kombinēšanas SQL valodā izpēte. 2. Tabulu kombinēšana Entity Framework izpēte. 3. Prasību analīze Join metamodelim. 4. Tehnoloģiskā modeļa Join metamodelim izstrāde. 5. Join metamodeļa paraugģeneratora izstrāde. 6. Aktivitātes pētnieciskā darbība apspriesta ik nedēļas projekta semināros. Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 3

2. Ievads Šis pārskats ir veltīts projekta apakšaktivitātes Nr.3.6 "Savienošanas (join) meta modelis" ietvaros paveiktajam. Pārskata trešā nodaļā ir aprakstīta tabulu kombinēšana SQL valodā un Entity Framework, kā arī ir izklāstītas Join metamodeļa prasības. Savukārt, pārskata ceturtā nodaļa veltīta tehnoloģiskajam modelim Join metamodelim. Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 4

3. Tabulu kombinēšana 3.1. SQL valodā Datubāzu vadību sistēmas ir veidotas tā, lai varētu darboties ar ierakstu kopām un lai varētu veikt ierakstu kombinēšanu (join) no dažādām tabulām. Ierakstu kombinēšanas rezultātā rodas rakstu kopa, kuru var izmantot kā tabulu vai arī noglabāt kā tabulu. Šāda pieeja ir efektīva, jo tabulu kombinēšana notiek uz datubāzes servera datubāzes līmenī. SQL valodā tabulu kombinēšana ir viena no valodas pamatkonstrukcijām. Divas tabulas var kombinēt, izmantojot kombinēšanas nosacījumu. SQL ANSI standarts paredz 5 tabulu kombinēšanas veidus: inner join, cross join, left outer join, right outer join un full outer join [1]. 3.1.1. Inner join Inner join atlasa tos un tikai tos ierakstus no tabulām, kur abu tabulu ieraksti atbilst kombinēšanas nosacījumiem. SQL ANSI standartā ir sekojoša Inner join sintakse: FROM <kreisās puses tabula> [INNER] JOIN <labās puses tabula> ON <kombinēšanas nosacījums> To pašu rezultātu iegūst abas tabulas rakstot FROM nosacījumā un nosacījumu pie WHERE: FROM <kreisās puses tabula>,<labās puses tabula> WHERE <kombinēšanas nosacījums> 3.1.2. Cross join Cross join rezultāts satur visas iespējamās tabulu rindiņu kombinācijas t.i. tabulu Dekarta reizinājumu. SQL ANSI standartā ir sekojoša cross join sintakse: FROM <kreisās puses tabula> JOIN <labās puses tabula> To pašu rezultātu iegūst abas tabulas rakstot FROM nosacījumā. FROM <kreisās puses tabula>,<labās puses tabula> 3.1.3. Outer joins Outer join atlasa ierakstus no abām tabulām, kas apmierina nosacījumu un no vienas vai abām tabulām atlasa arī tos ierakstus, kuriem kombinēšanas nosacījumā otras tabulas kolonas vērtība ir NULL. SQL ANSI standartā ir sekojoša outer join sintakse: Left outer join: Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 5

FROM <kreisās puses tabula> LEFT [OUTER] JOIN <labās puses tabula> ON <kombinēšanas nosacījums> Right outer join: FROM <kreisās puses tabula> RIGHT [OUTER] JOIN <labās puses tabula> ON <kombinēšanas nosacījums> Full outer join: FROM <kreisās puses tabula> FULL [OUTER] JOIN <labās puses tabula> ON <kombinēšanas nosacījums> Ir DBVS, piemēram, ORACLE, kurās pastāv alternatīva Outer join sintakse. 3.2. Tabulu kombinēšana Entity Framework Tabulu kombinēšanai Entity Framework izmanto LINQ to Entities. [2] Join sintakse LINQ ir līdzīga kā SQL [3], bet LINQ ir vairāki ierobežojumi. LINQ nav iespējas veidot right outer join un full outer join. Vispārīgā gadījumā join nosacījumā var būt patvaļīgi nosacījumi (vienāds, lielāks, mazāks, lielāks vai vienāds, mazāks vai vienāds), taču LINQ join nosacījumos pieļauj tikai vienādības (equal join), kas ir tipiskais tabulu kombinēšanas paņēmiens. Tā izskatās inner join piemērs: var innerjoinquery = from category in categories join prod in products on category.id equals prod.categoryid select new { ProductName = prod.name, Category = category.name }; Left outer join rakstīšanai iznanto funkciju DefaultIfEmpty: var leftouterjoinquery = from category in categories join prod in products on category.id equals prod.categoryid into prodgroup from item in prodgroup.defaultifempty(new Product { Name = String.Empty, CategoryID = 0 }) select new { CatName = category.name, ProdName = item.name }; Gadījumā ja tabulai ir saliktās atslēgas (composite keys), tabulu kombinēšana var notikt arī salīdzinot vairākus lauku pārus no abām tabulām. [4] Join piemērs ar ko var query = from o in db.orders from p in db.products join d in db.orderdetails on new {o.orderid, p.productid} equals new {d.orderid, d.productid} into details Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 6

from d in details select new {o.orderid, p.productid, d.unitprice}; 3.3. Prasības Join metamodelim Lai arī konkrētajā datubāzes pieejas realizācijā (Entity Framework) [5] netiek atbalstīts right outer join un full outer join, Join metamodelim būtu jābūt tādam, lai ar tā palīdzību varētu aprakstīt visas SQL ANSI standarta kombinēšanas pamatkonstrukcijas, izmantojot tabulu kombinēšanu ar vienādībām, lai izvēloties citu realizācijas vidi, būtu iespējams izmantot minētās konstrukcijas. Metamodelim vajadzētu atbalstīt join nosacījumus ar vienādības nosacījumu, tajā skaitā nosacījumus, kas izmanto saliktās atslēgas. Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 7

4. Join metamodelis tehnoloģiskajam modelim Zīmējumā redzams join metamodelis tehnoloģiskajam modelim ar vārdu Joins. Izmantojot join metamodeli, modelī var aprakstīt datu bāzu tabulu kombinēšanu. Zīmējums 1 Metamodelim ir metaatribūts: Vārds Datu tips Apraksts database string Datubāzes vārds. Tālāk tiks aprakstīta katra metaentītijas instance un tai piederošo metaatribūtu un metasaišu instances. 4.1. Join Join reprezentē datu bāzes tabulu kombinēšanu. Vārds Datu tips Apraksts name string Join vārds. main Norāde uz galveno JPart - saturīgi norāde uz tabulu, ar kuru tiek sākta tabulu kombinēšana. Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 8

4.2. Jpart JPart reprezentē datu bāzes tabulu, kura tiek izmantota datu bāzes tabulu kombinēšanā. Vārds Datu tips Apraksts name string JPart vārds. tablename string Tabulas vārds datubāzē. isharddelete bool Ja true, JPart atbilstošajai tabulai tiek veikta fiziska ierakstu dzēšana, pretējā gadījumā dzēšot ierakstu tabulā, tas netiek fiziski dzēsts, bet gan atzīmēts kā dzēsts. next Norāde uz nākošo JPart daļu faktiski norāde uz tabulu, kura tiks pievienota kā nākošā. condition Norāde uz JCondition (kombinēšanas nosacījumu) 4.3. JCondition JCondition reprezentē nosacījumu, kurš tiek izmantota datu bāzes tabulu kombinēšanā. Vārds Datu tips Apraksts isleftjoin bool Ja vērtība ir true, kombinē kā Left outer join. isrightjoin bool Ja vērtība ir true, kombinē kā Right outer join. isbase bool Ja vērtība ir true, kombinēšanas nosacījums kombinē ar bāzes tabulu. [6] sourcejpart Norāde uz kreisās puses Jpart (Tabulu, kurai pievieno). Piezīme. Ja isleftjoin = true un Ja isrightjoin = true, tas nozīmē, ka kombinēšanas nosacījums kombinē kā full outer join. 4.4. JoiningPair JoiningPair reprezentē nosacījuma daļu kas atbilst vienāds operatoram. Tā kā viens JCondition var saturēt vairākus JoiningPair, metamodelis atbalsta kombinēšanu, izmantojot saliktās atslēgas. Vārds Datu tips Apraksts sourcefield String Kreisās puses tabulas lauka vārds targetfield String Labās puses tabulas lauka vārds sourcefieldismandatory Bool true, ja kreisās puses tabulas lauks tabulā ir obligāts targetfieldismandatory Bool false, ja kreisās puses tabulas lauks tabulā ir obligāts type String Nosacījumā esošo lauku datu tips Izmantojot Join metamodeli, tiks ģenerētas klases objektu kombinēšanas atbalstam. Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 9

5. Rezultāti Aktivitātes ietvaros tika izpētīts tabulu kombinēšana valodā SQL un Enitity Framework un izstrādāts Join metamodeļa paraugģenerators. Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 10

6. Literatūras saraksts [1] Join (SQL) http://en.wikipedia.org/wiki/join_%28sql%29 [2] Query Expression Syntax Examples: Join Operators - http://msdn.microsoft.com/enus/library/vstudio/bb896266%28v=vs.110%29.aspx [3] join clause (C# Reference) http://msdn.microsoft.com/en-us/library/bb311040.aspx [4] How to: Join by Using Composite Keys (C# Programming Guide) http://msdn.microsoft.com/en-us/library/bb907099.aspx [5] Nr. 3.4 "MS Entity Framework integrācija" [6] Nr. 3.3 "Datu bāzes meta modeļa izstrāde un pētniecība, kas ietver dažādu datu bāzu vadības sistēmu atbalsta izpēti" Līguma Nr. 2013/0031/2DP/2.1.1.1.0/13/APIA/VIAA/010 11