Введение в модель данных SQL
Курс посвящен описанию базовых средств языка SQL в соответствии со стандартом SQL:2003. Задача состоит в том, чтобы представить язык как специфическую модель данных, происходящую от реляционной модели, но значительно от нее отличающуюся.
В соответствии с общими принципами представления модели данных в курсе представляется структурная часть модели – средства определения таблиц и представлений, целостная часть – средства определения ограничений целостности и триггеров, а также манипуляционная часть – оператор SELECT. Для полноты также обсуждаются средства обновления баз данных, контроля доступа, управления транзакциями, сессиями и подключениями к серверу баз данных.
Язык SQL появился в 1974 г. при выполнении исследовательского проекта System R компании IBM. Тогда и долгое время спустя считалось, что язык SQL является практической реализацией идей реляционной модели данных, а многие пользователи языка и сегодня придерживаются того же мнения. Однако в действительности эта точка зрения является неправильной, а данный курс направлен на то, чтобы обеспечить правильное понимание модели данных языка SQL. Следуя общим принципам определения модели данных, в первых двух лекциях курса мы описываем основные понятия структурной части модели данных SQL – типы данных и средства определения базовых таблиц. В этих же лекциях рассматривается целостная часть модели: средства определения целостности на уровне доменов, столбцов, таблиц и баз данных в целом. Следующие четыре лекции посвящены обсуждению различных аспектов манипуляционной части модели данных SQL, которая существенно сложнее традиционных алгебраических и логических механизмов реляционной модели данных. В лекции 7 рассматриваются средства языка SQL, предназначенные для обновления содержимого существующих баз данных, а также механизм определения и функционирования триггеров. Восьмая лекция посвящена обсуждению средств авторизации доступа, управления транзакциями, сессиями и подключениями. Наконец, завершающая курс лекция 9 содержит описание так называемых «объектных» расширений языка SQL, сближающих синтаксис языка с синтаксисом языковых средств объектно-ориентированных СУБД и еще более отдаляющих модель языка SQL от реляционной модели данных.
Основной целью курса является обеспечение базового понимания основ языка SQL в соответствии с последними стандартами языка (SQL:1999 и SQL:2003). Для этого мы абстрагируемся от многих особенностей языка, не носящих, по нашему мнению, фундаментального характера (в частности, от методов использования языка при разработке приложений и способов программирования серверных процедур и функций), а сосредотачиваемся на базовых, модельных свойствах языка. Правильное понимание языка на модельном уровне, четкое осознание отличия модели языка SQL от реляционной модели данных помогает избежать многих серьезных ошибок при разработке приложений на основе SQL-ориентированных СУБД, а также способствует более глубокому проникновению в технологию баз данных.
Учебный план
Вы можете
посмотреть лекцию
Лекция 1. Общее введение |
|||||
Лекция 2. Типы данных SQL | |||||
Лекция 3. Средства определения доменов | |||||
Тест 1 для курса # 23204 | |||||
Лекция 4. Средства определения базовых таблиц | |||||
Лекция 5. Средства определения и отмены общих ограничений целостности | |||||
Тест 2 для курса # 23204 | |||||
Лекция 6. Скалярные выражения | |||||
Лекция 7. Общая характеристика оператора SELECT и организация списка ссылок на таблицы в разделе FROM | |||||
Тест 3 для курса # 23204 | |||||
Лекция 8. Предикаты раздела WHERE оператора SELECT (часть 1) | |||||
Лекция 9. Предикаты раздела WHERE оператора SELECT (часть 2) | |||||
Тест 4 для курса # 23204 | |||||
Лекция 10. Группировка и условия раздела HAVING | |||||
Лекция 11. Порождаемые и соединенные таблицы | |||||
Тест 5 для курса # 23204 | |||||
Лекция 12. Средства формулировки аналитических запросов | |||||
Лекция 13. Рекурсивные запросы | |||||
Тест 6 для курса # 23204 | |||||
Лекция 14. Средства манипулирования данными | |||||
Лекция 15. Представления, над которыми возможны операции обновления | |||||
Лекция 16. Операции обновления баз данных и механизм триггеров | |||||
Тест 7 для курса # 23204 | |||||
Лекция 17. Средства языка SQL для обеспечения авторизации доступа к данным | |||||
Лекция 18. Управление транзакциями в SQL | |||||
Лекция 19. Подключения и сессии | |||||
Тест 8 для курса # 23204 | |||||
Лекция 20. Объектные расширения | |||||
Лекция 21. Типизированные таблицы | |||||
Тест 9 для курса # 23204 | |||||
Экзамен |