Тренировочная база для малышей серьёзных разработчиков

Теоретические основы реляционных баз данных.

1. Определение информационной системы, способы структурирования информации. Определения: база данных, СУБД, транзакция, согласованность данных. История развития СУБД. Функции и назначение СУБД. Технологии доступа к данным.

2. Этапы проектирования баз данных. Инфологическая, концептуальная, даталогическая, физическая модели. ER-модели, термины инфологического моделирования. Виды связей между сущностями. Модели данных: иерархическая, сетевая, реляционная, объектно-ориентированная.

3. Понятия реляционной модели: атом, домен, кортеж, отношение. Термины реляционной модели и теории множеств. Свойства реляционных баз данных. Реляционная алгебра. Операции над множествами. Примеры.

4. Понятия ключа и ссылочной целостности данных. Первичный, альтернативный и внешний ключи, их свойства. Способы поддержания ссылочной целостности. Нормализация отношений в БД, необходимость нормализации, определение функциональной зависимости атрибутов. Типы и примеры нормальных форм.

Язык Transact-SQL и СУБД Microsoft SQL Server.

1. БД в архитектуре «клиент-сервер». Требования к многопользовательским сетевым реляционным базам данных. Основные характеристики, возможности и сравнительный анализ современных сетевых реляционных баз данных.

2. История развития и стандарты языка SQL. Наборы команд SQL и примеры операторов. Типы данных, управляющие конструкции языка Transact-SQL.

3. Оператор SELECT: синтаксис, ключевые слова и псевдонимы, разделы, постановка условий, предикаты, создание связей между таблицами, группировка, использование функций агрегирования, групповая фильтрация, сортировка, использование вложенных запросов, коррелируемые запросы, возможности записи результата, объединение таблиц. Примеры по каждому определению.

4. Понятия таблиц, представлений и индексов. Создание, модификация и удаление таблиц, представлений и индексов средствами SQL. Операторы манипулирования данными (INSERT, UPDATE, DELETE). Примеры использования.

5. Элементы Microsoft SQL Server: представления, хранимые процедуры, пользовательские функции, ограничения, триггеры – примеры создания, использования и удаления средствами языка. Использование переменных и временных таблиц.

6. Курсоры в Microsoft SQL Server: примеры создания, использования и удаления.

7. Обеспечение безопасности и сохранности данных в Microsoft SQL Server. Управление базами данных. Роли. Назначение прав пользователям (команды GRANT, DENY, REVOKE). Методы и технологии защиты данных в SQL Server.

Примеры реляционных баз данных.

1. СУБД Oracle – характеристики, состав, архитектура, типы данных, язык, примеры запросов. Язык SQL3 – способы работы с объектами в реляционных БД.

2. СУБД MySQL – характеристики, интерфейсы управления и администрирования, типы данных, язык, примеры запросов, перспективы использования.

3. СУБД PostgreSQL - характеристики, язык, примеры запросов, перспективы использования.

3. СУБД Microsoft Access. Основные возможности и недостатки. Объекты Access. Типы данных. Средства программирования: язык VBA, макросы. Примеры реализации SQL-запросов в среде Access. 

4. Основы объектно-ориентированного программирования на VBA Microsoft Access. Основные синтаксические конструкции языка. Объявление и использование процедур и функций. Обработка ошибок. Способы выполнения запросов к данным. Программирование в формах. 

Организация доступа к данным.

1. Механизмы клиент-серверного взаимодействия с СУБД. Технологии ODBC, OLE DB, ADO DB.

2. Способы организации Интернет-доступа к сетевым СУБД. Примеры программирования активных серверных страниц для организации доступа к сетевым реляционным СУБД на языке PHP.

3. Разработка ASP.NET приложений, реализующих доступ к базе данных. Язык LINQ: назначение, синтаксис, группы методов. Идеология MVC.

4. Интернет-атаки на базы данных. SQL-инъекции: суть, примеры, методы защиты.

5. Слабо структурированные данные: хранение информации в XML и JSON-форматах. Структура форматов. Организация хранения данных в XML-формате в СУБД Microsoft SQL Server. Примеры формирования выборок данных с использованием XML-элементов с помощью SQL-запросов. Язык XQuery.

Современные концепции развития СУБД.

1. Недостатки и ограничения реляционной модели. Постреляционные базы данных. Идея ООБД. Преимущества и недостатки использования объектно-ориентированных баз данных.

2. Концепция и терминология анализа данных, суть OLAP. Алгоритмы и идеи Data Mining. Многомерное представление данных: куб данных, измерения, меры, срезы. Принципы разработки и использования информационных хранилищ данных.

3. Назначение Microsoft Analysis Services. Примеры организации запросов к многомерным данным на языке MDX. Создание приложения для анализа данных с использованием возможностей Analysis Services.