Учебный ресурс кафедры физики твёрдого тела ФТИ ПетрГУ

Курс "Базы данных" для студентов заочного обучения

Курс включает в себя выполнение домашнего задания (во время семестра), самостоятельную теоретическую подготовку по экзаменационным вопросам (во время семестра), прохождение онлайн-тестирования (во время семестра), выполнение учебного задания (во время летней сессии), устный экзамен (во время летней сессии).


Домашняя работа

  1. Задание - создать собственную базу данных, в меру своих способностей, интересов и квалификации. СУБД - на ваш выбор. Пользовательский интерфейс может быть любым, включая web-интерфейс или интерфейс командной строки. Если у вас нет идей, интересов и необходимой квалификации - вы можете использовать методическое пособие по Microsoft Access (это пошаговая, однако не  очень простая инструкция). В этом пособии достаточно будет выполнить вторую главу. Отчёт по заданию оформляется в электронном или печатном виде и включает в себя описание базы данных в целом, описание таблиц и связей между ними, описание пользовательского интерфейса, примеры выполнения запросов, выводы. Проект демонстрируется преподавателю на практических занятиях. 
  2. После самостоятельной подготовки по основам языка SQL следует пройти онлайн-тест по курсу "Базы данных", который находится на сайте tests.scilink.ru. Для прохождения тестирования следует самостоятельно зарегистрироваться в системе, зайти с вашим логином и паролем и самостоятельно записаться на курс "Базы данных" (кодовое слово – SQL). После записи выбираете "Тест 1" и проходите тестирование в любое время. Даётся 10 попыток, проходной балл – 8 из 10. Засчитывается наивысший балл.
  3. Если что-то вдруг пошло не так, оперативно связываетесь с преподавателем по указанному вам на вводной лекции адресу электронной почты и описываете суть проблемы.

Практика и экзамен

Во время прохождения практики вам будут выданы задания по вариантам (0123456789). Работаем с СУБД PostgreSQL в оболочке DBeaver. Студенты, не выполнившие домашнее задание, не прошедшие тестирование - к экзамену не допускаются.

Список вопросов для подготовки к экзамену.

 

Базы данных: вопросы к экзамену

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

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

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

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

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

 

Язык SQL и СУБД PostgreSQL.

1. Основные характеристики, возможности и сравнительный анализ современных сетевых реляционных баз данных. СУБД PostgreSQL - общие сведения, характеристики, язык, особенности использования. Типы данных PostgreSQL.

2. История развития и стандарты языка SQL. Наборы команд SQL и примеры операторов. Оператор SELECT: синтаксис, ключевые слова и псевдонимы, разделы, постановка условий, предикаты, создание связей между таблицами, группировка, использование функций агрегирования, групповая фильтрация, сортировка, использование вложенных запросов, коррелируемые запросы, возможности записи результата, объединение таблиц. Операторы манипулирования данными (INSERT, UPDATE, DELETE).

3. Элементы PostgreSQL: представления, курсоры, хранимые процедуры, пользовательские функции,  триггеры, временные таблицы – примеры создания, использования и удаления средствами языков SQL и PL/pgSQL. Использование пользовательских типов данных, объектно-реляционный подход.

4. Обеспечение безопасности и сохранности данных. Администрирование баз данных на примере PostgreSQL: интерфейсы администрирования. Роли, схемы данных. Управление доступом к данным. Команды GRANT, REVOKE - примеры использования. Методы и технологии защиты данных.

 

Реляционные, постреляционные и нереляционные СУБД.

1. СУБД Microsoft SQL Server – общие сведения, типы данных, перспективы использования. Язык Transact-SQL. Элементы Microsoft SQL Server: временные таблицы, представления, курсоры, хранимые процедуры, пользовательские функции, ограничения, триггеры - создание, использование и удаление. Способы и средства управления и администрирования. Управление правами пользователей (команды GRANT, DENY, REVOKE). Конструкции PIVOT и WITH в Transact-SQL.

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

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

4. Суть объектно-реляционного подхода. Способы работы с объектами в реляционных базах данных в соответствии со стандартом SQL-3. СУБД Oracle – общие сведения, состав, типы данных, язык, примеры запросов. Пользовательские типы данных. 

5. Концепция объектно-ориентированных баз данных. Преимущества и недостатки использования ООБД, примеры ООБД.

6. Документо-ориентированные нереляционные базы данных на примере MongoDB: особенности, преимущества и недостатки по сравнению с реляционными СУБД. Язык запросов на основе JavaScript.

 

Работа с данными.

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

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

3. Механизмы клиент-серверного взаимодействия с СУБД. Интерфейсы ODBC, JDBC, OLE DB, ADO.NET. Разработка клиентских приложений на языке Python. Объектно-реляционное отображение (ORM) и технология "Code First". Microsoft Visual Studio, C# и технология LINQ. Примеры LINQ-запросов.

4. Способы организации Интернет-доступа к сетевым СУБД. Протокол HTTP. Примеры программирования активных серверных страниц для организации доступа к сетевым реляционным СУБД на языке PHP. Интернет-атаки на базы данных. SQL-инъекции: суть проблемы, примеры, методы защиты.

 

"Базы данных", второй курс, очное обучение

Эти материалы необходимы при выполнении лабораторного практикума по курсу "Базы данных" и для подготовки к экзамену.

Материалы для подготовки к экзамену

Материалы для подготовки к экзамену

Некоторые лекции: 1 2 3 5 5+.

Список вопросов для подготовки к экзамену.