25. C-sharp 21 04-02-2014

Created Tuesday 04 February 2014

  1. Проверить блог Сергея
  2. Две главные темы:
    1. Как программировать прикладные задачи, у которых есть веб-интерфейс пользователя
    2. Как работать с базами данных
  3. Поворение:
    1. Module 2 (our book)
      1. Optional parameters (Lesson 2)
      2. Named parameters (Lesson 2)
      3. Exceptions (Lesson 3)
        1. Не для описания ошибки пользователю, а для бесперебойной работы программы + запись ошибок в лог-файлы
      4. Performance counters
    2. Module 4
      1. Reference types and value types — !
      2. Boxing and unboxing — !
      3. Static classes
      4. Testing classes — read (TDD)
      5. Interfaces — !
      6. Polimorphysm
      7. Collections
      8. Generics — !
      9. Enumerable collections
    3. Module 5
      1. Inheritance
      2. Abstract classes
      3. Sealed classes
      4. Virtual methods
      5. Extending .NET Framework classes
      6. Creating custom exceptions
      7. Inheriting from generic types
      8. Extension methods — !
    4. Module 6 (manipulating files)
      1. Lesson 2: Serialize and deserialize — read
    5. Module 7 (accessing a database)
  4. Course 10265 — разработка доступа к данным
    1. CRUD — набор стандартных операций с базами данных — 4 операции:
      1. Create
      2. Read
      3. Update
      4. Delete
    2. ADO.NET
      1. .NET Framework представляет из себя большую систему, разбитую на подсистемы.
      2. ADO.NET — подсистема (набор классов) для работы с базами данных
      3. Entity Framework — одна из 4-х технологий ADO.NET
      4. LINQ — на определённом этапе Майкрософт решила, что программистам сложно изучать различные способы для работы с данными. LINQ позиционируется как универсальный инструмент для работы с различными данными (файлами, массивами и т.д.) — расширение C#.
        1. Подъязык C#
        2. C# — командный (императивный) язык
        3. LINQ — язык функциональный, основанный на вызове цепочки функций
  5. Базы данных
    1. База данных — это хранилище данных
    2. DBMS — DataBase Management System
    3. Часто бывает, что база данных и СУБД находятся на разных хостах
    4. MS SQL server — флагманский продукт Майкрософт для работы с базами данных — программа, предназначенная для обслуживания запросов к базе данных SQL. Эта программа работает в фоновом режиме — как классический сервер. Не имеет пользовательского интерфейса.
    5. Client/server — многие программы существуют в 2-х частях — серверная и клиентская. Они знают протокол взаимодействия (связи) друг с другом и часто имеют общий язык (например, SQL).
    6. Наши программы будут реализовывть клиенты для работы с SQL-сервером.
    7. Существует клиент для MS SQL сервера — MS SQL Server Management Studio
    8. При установке MS SQL server можно выбрать Instance — это даёт возможность запускать несколько MS SQL сервисов (возможно, разных версий)
    9. Можно выбрать Windows Authentication mode
    10. В качестве клиента можно использовать Visual Studio
  6. ADO.NET
    1. Включает возможности работы с базами данных MS SQL и Access
    2. У Майкрософт есть очень сильный соперник — Oracle
      1. Майкрософт купила компании Fox base и Access + вошла в сотрудничество с компанией Sybase и через 2 года появился MS SQL как две капли воды похожий на Sybase. Sybase существует по сей день (очень дорогие продукты).
    3. ADO.NET — наследник старых технологий Майкрософт, сегодня это название уже не несёт смысла своей аббревиатуры
    4. Предоставлял несколько классов, которые предполагали знание SQL — эти классы позволяли соединиться с сервером базы данных и передавать ему запросы SQL для определённой базы данных — ADO.NET + SQL
    5. Там же предлагалось воспользоваться уже известными классами: DataSet, DataTable, etc.. Результат запроса преобразовывался в соответствующую объектную модель.
    6. Прошло несколько лет и Майкрософт предлагает ещё одну технологию работы с базами данных: к тому времени в моду вошли технологии ORM — Object Relational Model — стало модно закрывать объекты базы данных классами и работать не напротив базы данных, а при помощи этих классов. Всё ещё надо было знать SQL, потому что для выполнения метода надо было передать ему SQL-запрос. С этого момента всё развитие методов работы с базами данных связано с ORM.
    7. Typed DataSet. Вводится типизированный DataTable, и тогда каждая таблица - класс, состоящий из структур, а каждое поле — это свойство своего типа данных. Т.о. ORM по сути — это генерация классов на основе таблиц.
    8. Майкрософт (ещё через несколько лет) стала внедрять LINQ -> ORM + LINQ. Майкрософт предложила работать с ORM не с помощью C#, а с языком LINQ — LINQ to SQL
    9. LINQ транслирует свои комманды в SQL
    10. Через пару лет Майкрософт предложила новую технологию на базе LINQ — Entity Framework. Этот ORM работает в две стороны — можно не только читать из базы в объектную модель, но и создавать классы (объектную модель) из которой сгенерируется база данных.
    11. Применение LINQ к работе с базами данных — лишь одна его часть, на деле это универсальный язык.
  7. Базы данных, которые рассматривают данные как совокупности таблиц, называются реляционными.
  8. ДЗ:
    1. Научиться пользоваться дизайнером Visual Studio
    2. Установить MS SQL Server и Management Studio
    3. Изучить типы данных SQL-сервера
    4. Найти таблицу соответствия типов данных SQL Server (язык TSQL) и C# (в интернете)



Backlinks: