Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025

Jazyk C# - přístup k datům

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-CS2 KZ 4 0P+3C česky
Garant předmětu:
Pavel Štěpán
Přednášející:
Cvičící:
Pavel Štěpán
Předmět zajišťuje:
katedra softwarového inženýrství
Anotace:

Student se seznámí s několika technologiemi pro přístup k datům - databázovým, XML, NoSQL apod. - na platformě firmy Microsoft. Pozná objekty, které přístup k datům v programu realizují - např. Connection, Command, DataReader a DataAdapter v ADO.NET. Dále se naučí používat i novější technologie jako LINQ - jednotný prostředek pro dotazování a úpravy dat, integrovaný přímo do jazyků platformy .NET a to ve variantách LINQ to Objects, LINQ to XML i LINQ to SQL. Seznámí se též s Entity Frameworkem - mapováním objektových a relačních modelů a jeho realizací v programech (ORM). Zde se seznámi s variantami Code First, Database First, Model First. Také pozná Conceptual Model, Storage Model, Mapping (XML popis).

Tento předmět proběhne jako bloková výuka v průběhu zkouškového období (v rozsahu, odpovídajícím standardní výuce).

Požadavky:

Předpokládá se znalost programování v jazyce C# a alespoň základů objektového programování. Dalším požadavkem je schopnost vytvářet skripty v SQL a praxe s používáním nějaké relační databáze. Nikoli nezbytná, ale užitečná, je i (alespoň částečná) znalost XML.

Osnova přednášek:
Osnova cvičení:

1. Základ ADO.NET

- Základní principy přístupu k datům

- Historie vývoje databázových interfaces u MS (DAO, ADO, RDO, ...)

- SQL Server/ostatní; .NET Data Providers

2. Práce s daty v „přímém“ (connected) režimu

- Objekty Connection a Command

- Čtení dat - objekt DataReader

- Úpravy dat - použití objektu Command

- Práce se Stored Procedurami

- Transakce

3. Práce s daty v „disconnected“ režimu

- Objekty DataSet, DataTable a DataView

- Práce s daty v DataSetu

- Spojení s datovým zdrojem - DataAdapters, TableAdapters

- Commands pro DataAdapters a TableAdapter

- Relace a constraints v DataSetu

- Řešení konfliktů (concurrency) při multiuživatelském přístupu

- DataSet na nezávislý na databázi

- Data Binding

- Používání visuálních metod pro tvorbu Data Bound aplikací

- Objekty BindingSource a BindingNavigator

- Objekt DataGridView

4. LINQ (Language Integrated Query)

- Opakování lambda výrazů

- LINQ - zahrnutí dotazovacích metod přímo do konstrukcí jazyka

- Syntaxe výrazů LINQ

- Základní použití LINQ s kolekcemi objektů

- LINQ to XML

- LINQ to SQL

5. Entity Framework

- Entitní datový model

- Tři základní strategie: DB First, Model First a Code First

- Vytvoření datového modelu na základě databázových struktur

- Práce s vytvořeným modelem (s jeho objekty)

- Řesení kolizí (concurrency)

- Code First a jeho podvarianty Code First From DB a Code First From Objects

- Code first

- principy

- třídy DbContext a DbSet

- Conventions

- DataAnnotations

- Fluent API

- DB Initialisation, zrušení inicializace

- Migration

6. NoSQL „databáze“

- základní informace o NoSQL

- MongoDB - nejrozšířenější NoSQL

- Instalace MongoDB

- Struktury dat v MongoDB

- Příkazy

- Drivery pro MongoDB

- Vytváření programů, používajících MongoDB na základě ADO.NET

- Vytváření programů, používajících MongoDB na základě Entity Framework

Cíle studia:
Studijní materiály:

Vzhledem k tomu, že jde (zejména v pokročilejších částech) o velice aktuální a stále vyvíjené technologie, představují hlavní studijní materiál programy, vytvářené v průběhu výuky. Dále doporučujeme sledovat materiály firmy Microsoft jako je MSDM apod.

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://moodle-vyuka.cvut.cz/course/search.php?search=BI-CS2

Další informace:
https://moodle-vyuka.cvut.cz/course/search.php?search=BI-CS2
Rozvrh na zimní semestr 2024/2025:
Rozvrh není připraven
Rozvrh na letní semestr 2024/2025:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 4. 10. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet5073606.html