Введение в модель данных SQL

Курс посвящен описанию базовых средств языка SQL в соответствии со стандартом SQL:2003. Задача состоит в том, чтобы представить язык как специфическую модель данных, происходящую от реляционной модели, но значительно от нее отличающуюся. В соответствии с общими принципами представления модели данных в курсе представляется структурная часть модели – средства определения таблиц и представлений, целостная часть – средства определения ограничений целостности и триггеров, а также манипуляционная часть – оператор SELECT. Для полноты также обсуждаются средства обновления баз данных, контроля доступа, управления транзакциями, сессиями и подключениями к серверу баз данных.
Для специалистов
Записаться
Объём

36 час.
Длительность

30 дней
Нагрузка

6 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебный курс посвящен глубокому изучению модели данных SQL и ее реализации в стандарте SQL:2003. В материалах SQL рассматривается не просто как язык запросов, а как полноценная модель данных со своей структурой, правилами целостности и способами манипулирования информацией. Слушатели изучат методы проектирования таблиц, создания ограничений и триггеров, а также научатся строить сложные аналитические и рекурсивные запросы. Курс будет полезен разработчикам баз данных, системным аналитикам и специалистам, стремящимся освоить фундаментальные принципы работы с реляционными и объектно-реляционными базами данных на профессиональном уровне.
Цели
  • Сформировать понимание SQL как специфической модели данных и его отличий от классической реляционной модели.
  • Раскрыть принципы организации структурной и целостной частей модели SQL.
  • Систематизировать знания о методах манипулирования данными и управлении доступом в современных СУБД.
Чему я научусь?
  • Определять таблицы и представления с использованием стандартизированных средств SQL.
  • Проектировать ограничения целостности и триггеры для обеспечения качества данных.
  • Конструировать сложные запросы с использованием оператора SELECT, включая аналитические и рекурсивные функции.
  • Использовать средства языка для управления транзакциями, сессиями и правами доступа.
  • Применять объектные расширения SQL для решения специфических задач моделирования.

Авторы

Кузнецов Сергей Дмитриевич
Доктор технических наук, профессор факультета ВМиК МГУ, профессор ФУПМ МФТИ.
Чему я научусь?
  • Определять таблицы и представления с использованием стандартизированных средств SQL.
  • Проектировать ограничения целостности и триггеры для обеспечения качества данных.
  • Конструировать сложные запросы с использованием оператора SELECT, включая аналитические и рекурсивные функции.
  • Использовать средства языка для управления транзакциями, сессиями и правами доступа.
  • Применять объектные расширения SQL для решения специфических задач моделирования.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз.
1 Общее введение, типы данных и средства определения доменов Оставшаяся часть этого курса посвящается языку реляционных баз данных SQL. В курсе о реляционных базах данных... Оставшаяся часть этого курса посвящается языку реляционных баз данных SQL. В курсе о реляционных базах данных невозможно обойтись без материала, который относится к этому языку. Это связано совсем не с тем, что язык представляет собой особое достижение в области реляционных БД. Напротив, многие черты SQL, начиная с самых первых его вариантов, противоречили принципам реляционной модели данных, заложенным Эдгаром Коддом. С другой стороны, спецификация языка SQL, по своей сути, является завершенной спецификацией модели данных, которая сегодня играет роль суррогата реляционной модели. Если бы мы попытались обойтись в этом курсе без обсуждения языка SQL, курс был бы полностью оторван от жизни. Сегодня SQL является lingua franca в мире баз данных. Интерфейсы, основанные на SQL, поддерживаются почти во всех используемых СУБД, далеко не все из которых первоначально разрабатывались как реляционные системы. И похоже, что эта ситуация при жизни нынешнего поколения радикальным образом не изменится. Кроме того, язык сам по себе достаточно интересен. В нем нашел отражение многолетний практический опыт многих людей, и он впитал в себя многие положительные (и отрицательные) черты других языков и подходов (не только языков баз данных и не только реляционного подхода). В данной лекции после небольшой исторической справки и краткого введения в структуру языка SQL будут рассмотрены типы данных, допустимые в языке SQL и в SQL-ориентированных базах данных, а также языковые средства определения, изменения определения и отмены определения доменов. ещё
Общее введение, типы данных и средства определения доменов тест для курса Введение в модель данных SQL 25 мин
2 Средства определения базовых таблиц и ограничений целостности Лекция посвящена средствам языка SQL, позволяющим определять (создавать) базовые таблицы, изменять определения базовых таблиц и отменять... Лекция посвящена средствам языка SQL, позволяющим определять (создавать) базовые таблицы, изменять определения базовых таблиц и отменять их. Поскольку важными составляющими определения базовой таблицы являются определения ограничений на уровнях столбцов и таблицы целиком, мы сочли уместным включить в эту же лекцию материал, посвященный средствам определения ограничений целостности общего вида (не привязанных к определениям базовых таблиц), изменения и отмены таких определений. ещё
Средства определения базовых таблиц и ограничений целостности тест для курса Введение в модель данных SQL 25 мин
3 Общая характеристика оператора SELECT и организация списка ссылок на таблицы в разделе FROM "В этой и следующих трех лекциях рассматривается важнейший оператор языка SQL - оператор SELECT, предназначенный для... "В этой и следующих трех лекциях рассматривается важнейший оператор языка SQL - оператор SELECT, предназначенный для выборки данных из SQL-ориентированной базы данных. Этот оператор имеет довольно сложную и развитую структуру, но, по нашему мнению, его необходимо знать любому специалисту, так или иначе связанному с использованием баз данных ещё
Общая характеристика оператора SELECT и организация списка ссылок на таблицы в разделе FROM тест для курса Введение в модель данных SQL 25 мин
4 Предикаты раздела WHERE оператора SELECT В этой лекции мы продолжим рассматривать механизм выборки данных языка SQL - оператора SELECT. Лекция целиком... В этой лекции мы продолжим рассматривать механизм выборки данных языка SQL - оператора SELECT. Лекция целиком посвящена видам условных выражений, которые могут содержаться в разделе WHERE оператора выборки. Определяются и иллюстрируются на примерах запросов все виды предикатов, специфицированных в стандарте SQL:1999. ещё
Предикаты раздела WHERE оператора SELECT тест для курса Введение в модель данных SQL 25 мин
5 Группировка и условия раздела HAVING, порождаемые и соединенные таблицы "В этой лекции мы завершаем обсуждение основных (традиционных) конструкций оператора SELECT языка SQL. В разделе ""Агрегатные... "В этой лекции мы завершаем обсуждение основных (традиционных) конструкций оператора SELECT языка SQL. В разделе ""Агрегатные функции, группировка и условия раздела HAVING"" обсуждаются разделы GROUP BY и HAVING. Основной акцент делается на способах конструирования условий раздела HAVING. На примерах демонстрируется, что разделы GROUP BY и HAVING действительно полезны, а иногда и необходимы при формулировке запросов с вызовами агрегатных функций. В разделах ""Ссылки на порождаемые таблицы в разделе FROM"" и ""Более сложные конструкции оператора выборки"" мы возвращаемся к разновидностям ссылок на таблицу в разделе FROM и последовательно обсуждаем порождаемые таблицы, соединенные таблицы и порождаемые таблицы с горизонтальной связью." ещё
Группировка и условия раздела HAVING, порождаемые и соединенные таблицы тест для курса Введение в модель данных SQL 25 мин
6 Средства формулировки аналитических и рекурсивных запросов В этой лекции мы завершаем обсуждение средств выборки данных языка SQL коротким описанием сравнительно недавно появившихся... В этой лекции мы завершаем обсуждение средств выборки данных языка SQL коротким описанием сравнительно недавно появившихся в языке SQL средств формулировки аналитических и рекурсивных запросов. ещё
Средства формулировки аналитических и рекурсивных запросов тест для курса Введение в модель данных SQL 25 мин
7 Средства манипулирования данными "Название этой лекции не совсем правильно отражает ее реальное содержание. Собственно средствам языка SQL, предназначенным для... "Название этой лекции не совсем правильно отражает ее реальное содержание. Собственно средствам языка SQL, предназначенным для обновления базы данных, посвящается только один из трех основных разделов. Однако и следующие два раздела непосредственно примыкают к этой теме. В разделе ""Представления, над которыми возможны операции обновления"" рассматриваются возможности выполнения операций обновления базы данных через представляемые таблицы. Обсуждается проблема в целом, подход к ее решению, применявшийся в ранних вариантах стандарта SQL, и решение, принятое в стандарте SQL:1999. Последний основной раздел лекции посвящается механизму триггеров, специфицированному в стандарте SQL:1999. Здесь тоже имеется явная связь с основной темой лекции, потому что главным условием срабатывания триггера является выполнение некоторой операции обновления базы данных, и действия, выполняемые в триггерной процедуре, как правило, тоже связаны с обновлением базы данных." ещё
Средства манипулирования данными тест для курса Введение в модель данных SQL 25 мин
8 Средства языка SQL для обеспечения авторизации доступа к данным, управления транзакциями, сессиями и подключениями В этой лекции обсуждаются основные средства SQL:1999, предназначенные для регулирования работы с базами данных. Сначала рассматривается... В этой лекции обсуждаются основные средства SQL:1999, предназначенные для регулирования работы с базами данных. Сначала рассматривается механизм авторизации доступа к объектам SQL-ориентированной базы данных, основанный на понятиях идентификатора пользователя, имени роли и привилегии доступа. Затем описываются особенности SQL-транзакций и основные языковые средства, воздействующие на поведение транзакций. Наконец, обсуждаются зафиксированные в стандарте SQL средства управления подключением к серверу баз данных. ещё
Средства языка SQL для обеспечения авторизации доступа к данным, управления транзакциями, сессиями и подключениями тест для курса Введение в модель данных SQL 25 мин
9 Объектные расширения "В последней лекции этого курса мы кратко изложим суть объектных расширений, которые включены в стандарт SQL:1999.... "В последней лекции этого курса мы кратко изложим суть объектных расширений, которые включены в стандарт SQL:1999. Лекция основана не на официальном тексте стандарта (он очень формален и скучен), а на книге Джима Мелтона ""Advanced SQL:1999. Understanding Object-Relational and Other Advanced Features"" (Morgan Kaufmann Publishers, 2003), которая, по сути, является неформальным описанием семантики (rationale) соответствующей части языка. В указанной книге объектным расширениям языка SQL посвящено более 200 страниц. Естественно, наше изложение будет гораздо более кратким." ещё
Объектные расширения тест для курса Введение в модель данных SQL 25 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз.
Экзамен