- •Основные понятия
- •Реляционные базы данных
- •Реляционные связи между таблицами баз данных
- •Отношение "один–ко–многим"
- •Отношение "один–к–одному"
- •Отношение "многие–ко–многим"
- •Стандарт и реализация языка sql
- •Введение в технологию клиент-сервер
- •Типы команд sql
- •Команды управления транзакциями
- •Преимущества языка sql
- •Запись sql-операторов
- •Описание учебной базы данных
- •Типы данных языка sql, определенные стандартом
- •Символьные данные
- •Битовые данные
- •Точные числа
- •Округленные числа
- •Дата и время
- •Понятие домена
- •Типы данных, используемые в sql-сервере Системные типы данных
- •Создание пользовательского типа данных
- •Получение информации о типах данных
- •Преобразование типов
- •Выражения
- •Переменные
- •Управляющие конструкции sql
- •Основные объекты структуры базы данных sql-сервера
- •Представления
- •Пользовательские типы данных
- •Ограничения целостности
- •Правила
- •Умолчания
- •База данных Создание базы данных
- •Создание базы данных в среде ms sql Server
- •Изменение базы данных
- •Удаление базы данных
- •Создание таблицы
- •Изменение таблицы
- •Удаление таблицы
- •Индексы Индексы в стандарте языка
- •Индексы в среде ms sql Server
- •Создание индекса
- •Некластерный индекс
- •Кластерный индекс
- •Уникальный индекс
- •Удаление индекса
- •Предложение select
- •Предложение from
- •Предложение where
- •Сравнение
- •Диапазон
- •Принадлежность множеству
- •Соответствие шаблону
- •Значение null
- •Предложение order by
- •Операция выборки
- •Операция проекции
- •Декартово произведение
- •Операция соединения по двум отношениям (таблицам)
- •Операция тета-соединения
- •Естественное соединение
- •Левое внешнее соединение
- •Полусоединение
- •Операция объединения
- •Операция пересечения
- •Операция разности
- •Операция деления отношений
- •Построение вычисляемых полей
- •Использование итоговых функций
- •Предложение group by
- •Предложение having
- •Понятие подзапроса
- •Использование подзапросов, возвращающих единичное значение
- •Использование подзапросов, возвращающих множество значений
- •Использование операций in и not in
- •Использование ключевых слов any и all
- •Использование операций exists и not exists
- •Запрос добавления
- •Запрос удаления
- •Запрос обновления
- •Введение в понятие "целостность данных"
- •Ссылочная целостность
Основы SQL
Информация о курсе Развернутое введение в SQL на основе стандарта SQL:1999. Обсуждаются типы данных, допускаемые в SQL; средства определения объектов базы данных; манипулирование данными; управление соединениями, сессиями и транзакциями; обеспечение безопасности; динамический и встроенный SQL. На сегодняшний день (и в обозримом будущем) язык SQL является единственным признанным стандартом языка баз данных, поддерживаемым всеми основными поставщиками СУБД. С годами (а история SQL насчитывает уже около 30 лет) язык развивается и усложняется. Хорошее владение языком SQL является обязательным для профессиональных разработчиков приложений баз данных и их администраторов. Данный курс основан на последнем международном стандарте SQL:1999, хотя не охватывает все аспекты языка. В курс включены темы, являющиеся, во-первых, наиболее важными для пользователей и разработчиков приложений и, во-вторых, наиболее проработанными в текущей версии стандарта. Во вводной части курса обсуждаются история языка, его основные концепции, типы данных, допустимые в SQL. Приводится обзор подходов SQL к определению данных и манипулированию ими. В основной части последовательно обсуждаются следующие темы: значения, базовые функции и выражения SQL; арифметические выражения с переключателями и преобразованием типа, выражения со строковыми значениями; виды предикатов, допустимых в логических выражениях; соединения и теоретико-множественные операции; виды выражений запросов; ограничения целостности и ссылочная целостность; триггеры; встроенный SQL и язык модулей; принципы работы с курсорами; привилегии, пользователи и безопасность; управление транзакциями; управление соединениями и удаленный доступ к базам данных; хранимые процедуры и функции; динамический SQL; интерфейс уровня вызовов; диагностика и управление ошибочными ситуациями; вопросы интернационализации и локализации; информационная схема. Цель Подавляющее большинство практических специалистов в области баз данных устойчиво работает с продуктами одного поставщика. Однако, как показывает опыт, для профессиональной работы с SQL не хватает фирменной документации. Курс обеспечивает знания, позволяющие охватить общие принципы языка SQL, не зависящие от его реализации. Предварительные знания Курс ориентирован на практиков, которые понимают скрывающиеся за конструкциями SQL реальные действия сервера баз данных. Поэтому для правильного усвоения материала курса желательно предварительно пройти курсы "Введение в реляционные базы данных".
1. Лекция: Введение в структурированный язык запросов SQL
Дается определение структурированного языка запросов SQL. Вводится понятие базы данных, реляционной базы данных, СУБД. Определяется место языка SQL в разработке информационных систем, организованных на основе технологии клиент-сервер. Приводится классификация команд SQL: определение структуры базы данных, манипулирование данными, выборка данных, управление данными, команды администрирования данных и управления транзакциями. Дается описание учебной базы данных.
Основные понятия
Всякая профессиональная деятельность так или иначе связана с информацией, с организацией ее сбора, хранения, выборки. Можно сказать, что неотъемлемой частью повседневной жизни стали базы данных, для поддержки которых требуется некоторый организационный метод, или механизм. Такой механизм называется системой управления базами данных (СУБД). Итак, введем основные понятия.
База данных (БД) – совместно используемый набор логически связанных данных (и их описание), предназначенный для удовлетворения информационных потребностей организации.
СУБД (система управления базами данных) – программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также получать к ней контролируемый доступ.
Системы управления базами данных существуют уже много лет, многие из них обязаны своим происхождением системам с неструктурированными файлами на больших ЭВМ. Наряду с общепринятыми современными технологиями в области систем управления базами данных начинают появляться новые направления, что обусловлено требованиями растущего бизнеса, все увеличивающимися объемами корпоративных данных и, конечно же, влиянием технологий Internet.
Реляционные базы данных
Управление основными потоками информации осуществляется с помощью так называемых систем управления реляционными базами данных, которые берут свое начало в традиционных системах управления базами данных. Именно объединение реляционных баз данных и клиент-серверных технологий позволяет современному предприятию успешно управлять собственными данными, оставаясь конкурентоспособным на рынке товаров и услуг.
Реляционные БД имеют мощный теоретический фундамент, основанный на математической теории отношений. Появление теории реляционных баз данных дало толчок к разработке ряда языков запросов, которые можно отнести к двум классам:
-
алгебраические языки, позволяющие выражать запросы средствами специализированных операторов, применяемых к отношениям;
-
языки исчисления предикатов, представляющие собой набор правил для записи выражения, определяющего новое отношение из заданной совокупности существующих отношений. Следовательно, исчисление предикатов есть метод определения того отношения, которое желательно получить как ответ на запрос из отношений, уже имеющихся в базе данных.
В реляционной модели объекты реального мира и взаимосвязи между ними представляются с помощью совокупности связанных между собой таблиц (отношений).
Даже в том случае, когда функции СУБД используются для выбора информации из одной или нескольких таблиц (т.е. выполняется запрос), результат также представляется в табличном виде. Более того, можно выполнить запрос с применением результатов другого запроса.
Каждая таблица БД представляется как совокупность строк и столбцов, где строки (записи) соответствуют экземпляру объекта, конкретному событию или явлению, а столбцы (поля) – атрибутам (признакам, характеристикам, параметрам) объекта, события, явления.
В каждой таблице БД необходимо наличие первичного ключа – так именуют поле или набор полей, однозначно идентифицирующий каждый экземпляр объекта или запись. Значение первичного ключа в таблице БД должно быть уникальным, т.е. в таблице не допускается наличие двух и более записей с одинаковыми значениями первичного ключа. Он должен быть минимально достаточным, а значит, не содержать полей, удаление которых не отразится на его уникальности.