Опубликован: 10.09.2004 | Уровень: для всех | Доступ: платный | ВУЗ: Ульяновский государственный университет
Развернутое введение в SQL на основе стандарта SQL:1999. Обсуждаются типы данных, допускаемые в SQL; средства определения объектов базы данных; манипулирование данными; управление соединениями, сессиями и транзакциями; обеспечение безопасности; динамический и встроенный SQL.
На сегодняшний день (и в обозримом будущем) язык SQL является единственным признанным стандартом языка баз данных, поддерживаемым всеми основными поставщиками СУБД. С годами (а история SQL насчитывает уже около 30 лет) язык развивается и усложняется. Хорошее владение языком SQL является обязательным для профессиональных разработчиков приложений баз данных и их администраторов. Данный курс основан на последнем международном стандарте SQL:1999, хотя не охватывает все аспекты языка. В курс включены темы, являющиеся, во-первых, наиболее важными для пользователей и разработчиков приложений и, во-вторых, наиболее проработанными в текущей версии стандарта. Во вводной части курса обсуждаются история языка, его основные концепции, типы данных, допустимые в SQL. Приводится обзор подходов SQL к определению данных и манипулированию ими. В основной части последовательно обсуждаются следующие темы: значения, базовые функции и выражения SQL; арифметические выражения с переключателями и преобразованием типа, выражения со строковыми значениями; виды предикатов, допустимых в логических выражениях; соединения и теоретико-множественные операции; виды выражений запросов; ограничения целостности и ссылочная целостность; триггеры; встроенный SQL и язык модулей; принципы работы с курсорами; привилегии, пользователи и безопасность; управление транзакциями; управление соединениями и удаленный доступ к базам данных; хранимые процедуры и функции; динамический SQL; интерфейс уровня вызовов; диагностика и управление ошибочными ситуациями; вопросы интернационализации и локализации; информационная схема.
Цель: Подавляющее большинство практических специалистов в области баз данных устойчиво работает с продуктами одного поставщика. Однако, как показывает опыт, для профессиональной работы с SQL не хватает фирменной документации. Курс обеспечивает знания, позволяющие охватить общие принципы языка SQL, не зависящие от его реализации.
Необходимые знания: Курс ориентирован на практиков, которые понимают скрывающиеся за конструкциями SQL реальные действия сервера баз данных. Поэтому для правильного усвоения материала курса желательно предварительно пройти курсы "Введение в реляционные базы данных".

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
53 минуты
Введение в структурированный язык запросов SQL
Дается определение структурированного языка запросов SQL. Вводится понятие базы данных, реляционной базы данных, СУБД. Определяется место языка SQL в разработке информационных систем, организованных на основе технологии клиент-сервер. Приводится классификация команд SQL: определение структуры базы данных, манипулирование данными, выборка данных, управление данными, команды администрирования данных и управления транзакциями. Дается описание учебной базы данных.
Оглавление
    -
    Тест 1
    9 минут
    -
    Лекция 2
    45 минут
    Определение структуры данных
    Рассматриваются поддерживаемые в SQL типы данных и преобразование типов. Описывается создание пользовательских типов данных. Дается понятие выражения и оператора в SQL. Приводится определение основных объектов базы данных: таблиц, представлений, индексов, ограничений, правил, хранимых процедур, функций пользователя, триггеров.
    Оглавление
      -
      Тест 2
      18 минут
      -
      Лекция 3
      50 минут
      Создание базы данных и проектирование таблиц
      Определяется процесс создания базы данных. Описываются операторы создания, изменения базы данных. Рассматривается возможность указания имени файла или нескольких файлов для хранения данных, размеров и местоположения файлов. Анализируются операторы создания, изменения, удаления пользовательских таблиц. Приводится описание параметров для объявления столбцов таблицы. Дается понятие и характеристика индексов. Рассматриваются операторы создания и изменения индексов. Определяется роль индексов в повышении эффективности выполнения операторов SQL.
      Оглавление
        -
        Тест 3
        15 минут
        -
        Лекция 4
        22 минуты
        Эффективное выполнение запросов для извлечения данных
        Дается синтаксис оператора SELECT. Описываются предложение FROM и использование синонимов. Определяется построение условий выбора данных с применением операторов сравнения, логических операторов IS NULL, BETWEEN, IN, LIKE и логических связок OR и AND. Предлагаются способы использования оператора ORDER BY для сортировки записей в запросах выборки.
        Оглавление
          -
          Тест 4
          18 минут
          -
          Лекция 5
          36 минут
          Соединения и теоретико-множественные операции над отношениями
          Рассматриваются специальные операции над отношениями: выборка, проекция, декартово произведение, соединение. Приводятся различные типы соединений: соединение по эквивалентности, естественное, внешнее соединение, полусоединение. Операции над отношениями иллюстрируются на примерах оператора SELECT. Рассматриваются примеры выбора данных из нескольких таблиц. Приводится объединение результатов нескольких запросов.
          Оглавление
            -
            Тест 5
            18 минут
            -
            Лекция 6
            18 минут
            Вычисления и подведение итогов в запросах
            Описывается использование арифметических операторов и построение вычисляемых столбцов. Рассматриваются итоговые (агрегатные) функции COUNT, SUM, AVG, MAX, MIN. Дается пример использования оператора GROUP BY для группировки в запросах выборки данных. Описывается применение предложения HAVING.
            Оглавление
              -
              Тест 6
              18 минут
              -
              Лекция 7
              24 минуты
              Построение нетривиальных запросов
              Дается определение подзапроса. Приводятся примеры формирования вложенных подзапросов. Показывается способ построения подзапросов, возвращающих множественные и единичные значения с использованием операторов EXISTS, ALL, ANY.
              Оглавление
                -
                Тест 7
                18 минут
                -
                Лекция 8
                31 минута
                Запросы модификации данных
                Рассматриваются запросы модификации данных в реляционной таблице: вставка отдельной записи INSERTѕ VALUESѕ или группы записей из имеющейся таблицы INSERTѕ SELECTѕ, удаление записей по условию DELETE, изменение записей по условию UPDATE. Вводится понятие целостности данных. Определяются целостность сущностей и ссылочная целостность.
                Оглавление
                  -
                  Тест 8
                  18 минут
                  -
                  Лекция 9
                  44 минуты
                  Определение ограничений целостности
                  Дается определение понятий целостности данных в стандарте языка SQL. Рассматриваются вопросы определения декларативной и каскадной ссылочной целостности. Приводятся примеры создания ограничений первичного и внешнего ключа, ограничений на значение и по умолчанию, а также примеры создания и использования правил и умолчаний.
                  Оглавление
                    -
                    Тест 9
                    18 минут
                    -
                    Лекция 10
                    25 минут
                    Представления
                    Дается понятие представлений. Определяется роль представлений в вопросах безопасности данных. Описывается процесс управления представлениями: создание, изменение, применение, удаление представлений.
                    Оглавление
                      -
                      Тест 10
                      18 минут
                      -
                      Лекция 11
                      31 минута
                      Функции пользователя
                      Дается определение функций пользователя, приводятся примеры их создания и использования. Рассматриваются различные типы функций. Анализируются встроенные функции языка SQL.
                      Оглавление
                        -
                        Тест 11
                        18 минут
                        -
                        Лекция 12
                        29 минут
                        Хранимые процедуры
                        Определяется понятие хранимых процедур. Приводятся примеры создания, изменения и использования хранимых процедур с параметрами. Дается определение входных и выходных параметров. Приводятся примеры создания и вызова хранимых процедур.
                        Оглавление
                          -
                          Тест 12
                          18 минут
                          -
                          Лекция 13
                          38 минут
                          Курсоры: принципы работы
                          Дается определение курсора. Приводится описание его типов и поведения: статические, динамические, последовательные и ключевые курсоры. Описываются принципы управления курсором: создание и открытие курсора, считывание данных, закрытие курсора. Приводятся примеры программирования курсора.
                          Оглавление
                            -
                            Тест 13
                            18 минут
                            -
                            Лекция 14
                            34 минуты
                            Триггеры: создание и применение
                            Дается определение триггера, область его использования, место и роль триггера в обеспечении целостности данных. Описываются типы триггеров. Рассматриваются операторы создания, изменения, удаления триггера. Программирование триггера иллюстрируется примерами создания триггеров для реализации ограничений целостности и сбора статистических данных.
                            Оглавление
                              -
                              Тест 14
                              18 минут
                              -
                              Лекция 15
                              17 минут
                              Триггеры в рекурсивных структурах
                              Дается определение рекурсивной структуры в реляционной базе данных. Приводится пример создания таблицы, реализующей рекурсивную иерархию. Определяются правила целостности, непротиворечивости и достоверности данных в таблицах с рекурсивными связями. Описывается программирование триггеров, поддерживающих целостность данных в рекурсивных структурах.
                              Оглавление
                                -
                                Тест 15
                                15 минут
                                -
                                Лекция 16
                                1 час 3 минуты
                                Транзакции и блокировки
                                Приводится определение транзакции и ее свойств; представлены явные, неявные, автоматические и вложенные транзакции. Описываются средства обработки и управления транзакциями. Рассматривается механизм сохранения и отката транзакций. Вводится понятие параллельности в работе базы данных и методы управления параллельностью с использованием блокировок. Приводится описание уровней блокировок и уровней изоляции сервера. Выделяются основные и специальные типы блокировок.
                                Оглавление
                                  -
                                  Тест 16
                                  18 минут
                                  -
                                  Лекция 17
                                  54 минуты
                                  Основные методы защиты данных. Управление пользователями
                                  Рассматривается система безопасности, принятая в языке SQL. Излагаются общие правила разграничения доступа. Описываются режимы аутентификации и компоненты структуры безопасности (пользователи, роли баз данных), администрирование системы безопасности (создание учетных записей и управление ими, управление пользователями и ролями). Дается определение прав пользователя на доступ к объектам базы данных. Рассматриваются неявные права, вопросы запрета доступа и неявного отклонения доступа, а также конфликты доступа.
                                  Оглавление
                                    -
                                    Тест 17
                                    18 минут
                                    -
                                    Лекция 18
                                    52 минуты
                                    Внедрение SQL-операторов в прикладные программы
                                    Описываются возможности использования языка SQL в прикладных программах. Определяется роль технологии ODBC как единого интерфейса для доступа к смешанным базам данных SQL. Рассматриваются архитектура ODBC и варианты доступа к базам данных с использованием технологии ADO и Java. Методы доступа иллюстрируются примерами.
                                    Оглавление
                                      -
                                      Тест 18
                                      18 минут
                                      -
                                      5 часов
                                      -
                                      Федор Антонов
                                      Федор Антонов

                                      Здравствуйте!

                                      Записался на ваш курс, но не понимаю как произвести оплату.

                                      Надо ли писать заявление и, если да, то куда отправлять?

                                      как я получу диплом о профессиональной переподготовке?

                                      Ирина Мельник
                                      Ирина Мельник

                                      Здравствуйте, записалась на курс основы SQL, подскажите, стоимость курса.

                                      Амир Атигаев
                                      Амир Атигаев
                                      Россия, Новосибирск, ФГБОУ ВО "Сибирский государственный университет телекоммуникаций и информатики"