Telerik Academy

Сподели тази страница

Урок "Бази от данни (Databases)"

Училищна академия - декември 2012 г.

Базите от данни са изключително важна тема в съвременния компютърен свят – както за разработчици на приложения, ползващи бази данни, така и за администратори на бази данни. Ако имате интерес към програмирането на сериозни и добре работещи приложения, или искате да се запознаете както с основите, така и с тънкостите при  създаването и управлението на бази данни – този урок ще ви бъде доста полезна.

Досегът ни до програмирането в Училищната академия стана доста широк – изучавахме както езици и технологии за уеб-клиентски приложения, така и за десктоп и сървърни приложения – по конкретно C# и .NET. Сега е време да се научим как да съхраняваме и управляваме ефективно данните в нашите приложения, чрез ползването бази данни. Ще разгледаме езикът SQL, различни релационни и нерелационни бази данни, инструменти за администрацията им, свързването и ползването на бази данни чрез C#, .NET и Entity Framework и не на последно място ще видим как да увеличим производителността на приложенията и базите си.

Ще запазим и традицията за подготовка за Националната олимпиада по информационни технологии. За целта ще дискутираме примерен ИТ Тест, а ако имате желание винаги ще можете да попитате лекторите за мнение върху проекта/идеята за проект, които имате за олимпиадата. Допълнително на тази среща ще отделим специално време за менторство и обсъждане на проекти за НОИТ и Млади таланти.


Бази данни - видео и материали от урока


Материали - урок по бази данни

Програма - урок по бази данни

    1. Въведение в съвременните бази данни

    • RDBMS системи – сървъри за управление на бази данни
    • Модели за организация и съхранение на данни
    • Релационни бази данни: таблици, първичен ключ, външен ключ, релации, множественост, E/R диаграми, нормализация, индекси, ограничения, език SQL, изгледи, съхранени процедури, тригери
    • Нерелационни (NoSQL) бази данни: модел ключ-стойност, модел "документ", JSON модел
    • Транзакции и нива на изолация
    • Упражнения: инсталиране на MS SQL Server и MySQL и работа с MongoDB в cloud среда

    2. Въведение в MS SQL Server и MySQL

    • MS SQL Server – услуги, бази данни, типове бази, автентикация и достъп, SQL Server Management Studio, създаване на база, създаване на таблици, извличане и редактиране на данни, преместване на база (чрез SQL скрипт, attach / detach, backup / restore)
    • MySQL – конзолен клиент, създаване на бази данни, създаване на таблици,  потребители и автентикация, MySQL Workbench, извличане и редактиране на данни, phpMyAdmin
    • Упражнения: запознаване с SQL Server, SQL Server Management Studio, MySQL и MySQL Workbench

    3. Моделиране на данни и E/R диаграми

    • Моделиране на данни – основни принципи
    • Типове данни в SQL Server и MySQL
    • Създаване на база данни
    • Дефиниране на таблици, колони, първичен ключ и autoincrement / identity колони
    • Дефиниране на релации (връзки) между таблици: едно към много (1 x *), много към много (* x *), едно към едно (1 x 1, наследяване), авторелации
    • Конвенции за именуване на обектите в базата данни
    • Упражнения: дизайн на база данни в SQL Server и в MySQL

    4. Език SQL – основи

    • Синтаксис на езика SQL и DML команди (SEELECT, INSERT, UPDATE, DELETE)
    • SELECT заявки, селектиране на данни, филтриране, сортиране, съединения (joins), вътрешни и външни съединения
    • Добавяне, промяна и изтриване на данни
    • Упражнения: писане на SQL заявки върху релационна база данни

    5. Език SQL – групиране и DDL

    • Вложени заявки
    • Агрегатни функции и групиране
    • Функции в SQL Server и MySQL
    • DDL команди за промяна на релационната схема
    • Упражнения: писане на SQL заявки върху релационна база данни

    6. ORM технологии и Entity Framework

    • Технология LINQ и използване на LINQ заявки в C#
    • Въведение в ORM технологиите
    • ADO.NET Entity Framework (EF), Visual Studio Entity Framework Designer
    • Използване на ObjectContext за създаване, четене, обновяване и изтриване на информация (CRUD операции), LINQ заявки върху EF, проследяване на заявки, избягване на проблема „N+1 заявки“, native SQL заявки, параметрични заявки, съединения и групиране
    • Упражнения: достъп до SQL Server и MySQL от C# през Entity Framework

    7. Нерелационни бази данни: Redis, MongoDB, CouchDB

    • Модели на нерелационните (NoSQL) бази данни: ключ-стойност, документни, JSON-базирани
    • База данни Redis: създаване на обекти, търсене, промяна, изтриване
    • База данни MongoDB: създаване на обекти, търсене, промяна, изтриване
    • База данни CouchDB: създаване на обекти, търсене, промяна, изтриване
    • Упражнения: достъп до данни с Redis, MongoDB и CouchDB (в cloud среда)

    8. Производителност на релационни бази данни (SQL Performance)

    • Производителност на SQL Server
    • Фактори за производителност при релационни бази данни
    • Индекси (клъстерирани и неклъстерирани)
    • Планове за изпълнение (execution plans)
    • Индексирани изгледи (indexed views)
    • Разделяне на таблици (partitioning)
    • Упражнения: оптимизация на производителност при SQL Server бази

    9. Практически проект

    • Създаване на приложение за обработка на данни със C#, SQL Server, MySQL и Entity Framework
    • Работа по отбори

Ключови думи: бази данни, Училищна академия, MS SQL Server, ORM технологии, Entity FrameworkMySQLTelerik School Academy, безплатни уроци, уроци по програмиране