Šablona Závěrečné Práce

Šablona Závěrečné Práce

ABSTRAKT Cílem práce je seznámit čtenáře s problematikou objektově-relačního mapování. Teoretická část popisuje objektově-orientované a relační paradigmata a způsoby jejich mapování. Praktická srovnává objektově-relační frameworky pro .NET a zabývá se způsobem implementace hromadného vkládání dat pro tyto frameworky. KLÍČOVÁ SLOVA Objektově-relační mapování, ORM, .NET, C#, Relační databáze, LINQ, Entity framework, NHibernate, OpenAccess, LLBLGen, hromadné vkládání dat, Microsoft SQL ABSTRACT The aim of the thesis is to explain issues of object-relational mapping. The theoretical part describes object-oriented and relational paradigmas and ways of their mapping. The practical part compares object-relational mapping frameworks for .NET and suggests how to implement bulk insert into these frameworks. KEYWORDS Object-relational mapping, ORM, .NET, C#, relational database, LINQ, Entity framework, NHibernate, OpenAccess, LLBLGen, bulk insert, Microsoft SQL Vais, Z. Frameworky pro mapování relační databáze na objekty vhodné pro platformu .NET. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2014. 59 s., 12 s. příloh. Bakalářská práce. Vedoucí práce: doc. Ing. Ivo Lattenberg, Ph.D. PROHLÁŠENÍ Prohlašuji, že svou bakalářskou práci na téma Frameworky pro mapování relační databáze na objekty vhodné pro platformu .NET jsem vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené bakalářská práce dále prohlašuji, že v souvislosti s vytvořením této bakalářská práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a/nebo majetkových a jsem si plně vědom následků porušení ustanovení § 11 a následujících zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb. V Brně dne .............................. .................................... (podpis autora) PODĚKOVÁNÍ Děkuji vedoucímu bakalářské práce doc. ing. Ivo Lattenbergovi, Ph.D.. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce. V Brně dne .............................. .................................... (podpis autora) OBSAH Obsah v Seznam obrázků ix Seznam tabulek x Úvod 1 1 Relační databáze a SQL 2 1.1 Systém řízení báze dat a SQL ................................................................... 2 1.2 Základní prvky relačních databází ............................................................ 2 1.3 Vazby mezi tabulkami .............................................................................. 3 1.3.1 Stupeň vazby ......................................................................................... 3 1.3.2 Kardinalita ............................................................................................ 3 1.3.3 Volitelnost ............................................................................................. 3 1.4 Nejpoužívanější databázová řešení ........................................................... 4 2 Microsoft SQL Server a SQL CE 5 2.1 Microsoft SQL Server ............................................................................... 5 2.2 Microsoft SQL Server Compact ............................................................... 6 2.3 Rozdíly mezi SQL Serverem a SQL CE ................................................... 7 3 Platforma .NET a Programovací jazyk C# 8 3.1 Microsoft .NET ......................................................................................... 8 3.1.1 Principy ................................................................................................. 8 3.1.2 Architektura a kompilační proces ......................................................... 9 3.2 Programovací jazyk C# ............................................................................. 9 3.2.1 Podporovaná paradigmata ..................................................................... 9 3.2.2 Verze a historie ................................................................................... 10 3.3 Ostatní .NET jazyky ............................................................................... 11 4 Objektově orientované programování 12 4.1 Třídy, instance a objekty ......................................................................... 12 4.2 Koncepty ................................................................................................. 12 v 4.2.1 Zapouzdření ........................................................................................ 12 4.2.2 Dědičnost ............................................................................................ 13 4.2.3 Polymorfimus ...................................................................................... 14 4.3 Vztahy mezi objekty ............................................................................... 14 4.3.1 Asociace .............................................................................................. 14 4.3.2 Agregace ............................................................................................. 15 4.3.3 Kompozice .......................................................................................... 15 5 Funkcionální programování 16 5.1 Koncepty ................................................................................................. 16 5.2 Prvky funkcionálního programování v C# .............................................. 16 5.2.1 Delegáti ............................................................................................... 16 5.2.2 Anonymní funkce ............................................................................... 16 5.2.3 Lambda výrazy ................................................................................... 16 5.2.4 Language Integrated Query ................................................................ 17 6 Objektově-relační mapování 18 6.1 Problém Impedance Mismatch ............................................................... 18 6.2 Mapování základní databázových prvků ................................................ 19 6.3 Mapování databázových vazeb na objekty ............................................. 20 6.3.1 Mapování asociačních vazeb .............................................................. 20 6.3.2 Mapování dědičnosti ........................................................................... 21 6.4 Výhody a nevýhody ................................................................................ 23 7 Objektově-relační frameworky pro .NET 24 7.1 Přehled nejvýznaměnjších projektů ........................................................ 24 7.2 Podporované databáze ............................................................................ 26 8 Srovnání vybraných ORM 27 8.1 Parametry testování ................................................................................. 27 8.1.1 Funkcionalita ...................................................................................... 27 8.1.2 Testovací databáze .............................................................................. 29 8.1.3 Testované dotazy ................................................................................ 29 8.1.4 Výkonnost ........................................................................................... 31 8.2 LINQ to SQL .......................................................................................... 31 8.2.1 Cena .................................................................................................... 31 8.2.2 Dokumentace ...................................................................................... 31 vi 8.2.3 Funkcionalita ...................................................................................... 31 8.2.4 Použití ................................................................................................. 32 8.2.5 Výkonnost ........................................................................................... 33 8.3 Entity framework .................................................................................... 34 8.3.1 Cena .................................................................................................... 34 8.3.2 Dokumentace ...................................................................................... 34 8.3.3 Funkcionalita ...................................................................................... 34 8.3.4 Použití ................................................................................................. 36 8.3.5 Výkonnost ........................................................................................... 37 8.4 NHibernate .............................................................................................. 37 8.4.1 Cena .................................................................................................... 37 8.4.2 Dokumentace ...................................................................................... 38 8.4.3 Funkcionalita ...................................................................................... 38 8.4.4 Použití ................................................................................................. 40 8.4.5 Výkonnost ..........................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    84 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us