К. Дж. Дейт | SQL и реляционная теория. Как грамотно писать код на SQL [2010] [PDF]
Автор: К. Дж. Дейт
Название: SQL и реляционная теория. Как грамотно писать код на SQL
Год: 2010
Издательство: Символ-Плюс
ISBN: 978-5-93286-173-8
Формат: PDF
Качество: Изначально электронное (ebook)
Количество страниц: 474
Описание:Язык SQL распространен повсеместно. Но работать с ним непросто: он сложен, запутан, при написании SQL-команд легко допустить ошибку. Понимание теории, лежащей в основе SQL, - лучший способ гарантировать, что ваш код будет написан правильно, а сама база данных надежна и легко сопровождаема.
В предлагаемой книге К.Дж.Дейт - признанный эксперт, начавший заниматься этими вопросами еще в 1970 году - демонстрирует, как применить реляционную теорию к повседневной практике работы с SQL. Автор подробно объясняет различные аспекты этой модели, рассуждает и доказывает, приводит многочисленные примеры использования этого языка в соответствии с реляционной теорией.
Не будучи привязанным ни к какому конкретному продукту, издание опирается на многолетний опыт исследований и представляет наиболее актуальное на сегодняшний день изложение материала. Всякий, имеющий хоть какой-то опыт использования SQL - от скромного до весьма обширного, - получит от прочтения этой книги немалую пользу и удовольствие.
Скриншоты:
Глава 1. Введение
Реляционная модель очень плохо понята
Некоторые замечания о терминологии
Принципы, а не продукты
Обзор оригинальной модели
Модель и реализация
Свойства отношений
Базовые и производные отношения
Отношения и переменныеотношения
Значения и переменные
Заключительные замечания
Упражнения
Глава 2. Типы и домены
Типы и отношения
Сравнения на равенство
Атомарность значений данных
Что такое тип?
Скалярные и нескалярные типы
Скалярные типы в SQL
Проверка и приведение типов в SQL
Схемы упорядочения в SQL
Тип строки и таблицы в SQL
Заключительные замечания
Упражнения
Глава 3. Кортежи и отношения, строки и таблицы
Что такое кортеж?
Следствия из определений
Строки в SQL
Что такое отношение?
Отношения и их тела
Отношения n-мерны
Сравнение отношений
TABLE_DUM и TABLE_DEE
Таблицы в SQL
Именование столбцов в SQL
Заключительные замечания
Упражнения
Глава 4. Нет дубликатам, нет null-значениям
Чем плохи дубликаты?
Дубликаты: новые проблемы
Как избежать дубликатов в SQL
Чем плохи null-значения?
Как избежать null-значений в SQL
Замечание о внешнем соединении
Заключительные замечания
Упражнения
Глава 5. Базовые переменныеотношения, базовые таблицы
Определения данных
Обновление - это операция над множеством
Реляционное присваивание
Принцип присваивания
Еще о потенциальных ключах
Еще о внешних ключах
Переменныеотношения и предикаты
Отношения и типы
Упражнения
Глава 6. SQL и реляционная алгебра I: оригинальные операторы
Предварительные сведения
Еще о замкнутости
Ограничение
Проекция
Соединение
Объединение, пересечение и разность
Какие операторы являются примитивными?
Пошаговое конструирование выражений
В чем смысл реляционных выражений?
Вычисление табличных выражений в SQL
Трансформация выражений
Зависимость от имен атрибутов
Упражнения
Глава 7. SQL и реляционная алгебра II: дополнительные операции
Полусоединение и полуразность
Расширение
Отношения-образы
Деление
Агрегатные операторы
Еще об отношенияхобразах
Обобщение
Еще об обобщении
Группирование и разгруппирование
Запросы "что если"
А как насчет ORDER BY?
Упражнения
Глава 8. SQL и ограничения целостности
Ограничения типа
Еще об ограничениях типа
Ограничения типа в SQL
Ограничения базы данных
Ограничения базы данных в SQL
Транзакции
Почему ограничения базы данных должны проверяться немедленно
Но разве можно не откладывать проверку некоторых ограничений?
Ограничения и предикаты
Разное
Упражнения
Глава 9. SQL и представления
Представления - это переменныеотношения
Представления и предикаты
Операции выборки
Представления и ограничения
Операции обновления
Зачем нужны представления?
Взгляды и снимки
Упражнения
Глава 10. SQL и формальная логика
Простые и составные высказывания
Простые и составные предикаты
Квантификация
Реляционное исчисление
Еще о квантификации
Некоторые эквиваленции
Заключительные замечания
Упражнения
Глава 11. Использование формальной логики для формулирования SQL-выражений
Некоторые правила трансформации
Пример 1. Логическая импликация
Пример 2. Добавление квантора всеобщности
Пример 3. Импликация и квантор всеобщности
Пример 4. Коррелированные подзапросы
Пример 5. Именование подвыражений
Пример 6. Еще об именовании подвыражений
Пример 7. Устранение неоднозначности
Пример 8. Использование COUNT
Пример 9. Запросы с соединением
Пример 10. Квантор UNIQUE
Пример 11. Сравнения с ALL или ANY
Пример 12. GROUP BY и HAVING
Упражнения
Глава 12. Различные вопросы, связанные с SQL
SELECT *
Явные таблицы
Квалификация имен
Переменные кортежа
Подзапросы
"Потенциально недетерминированные" выражения
Пустые множества
БНФ-грамматика табличных выражений SQL
Упражнения
Приложение A. Реляционная модель
Реляционная и другие модели
Определение реляционной модели
Цели реляционной модели
Некоторые принципы баз данных
Что осталось сделать?
Приложение B. Теория проектирования баз данных
Место теории проектирования
Функциональные зависимости и нормальная форма Бойса/Кодда
Зависимости соединения и пятая нормальная форма
Тост за здоровье нормализации
Ортогональность
Некоторые замечания о физическом проектировании
Заключительные замечания
Упражнения
Приложение С. Ответы к упражнениям
Приложение B
Приложение D. Дополнительная литература
Время раздачи: По возможности круглосуточно