Теория баз данных


         

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

В языке отсутствовали средства явной синхронизации доступа к объектам БД со стороны параллельно выполняемых транзакций: с самого начала предполагалось, что необходимую синхронизацию неявно выполняет СУБД.
В настоящее время язык SQL реализован во всех коммерческих реляционных СУБД и почти во всех СУБД, которые изначально основывались не на реляционном подходе. Все компании-производители провозглашают соответствие своей реализации стандарту SQL, и на самом деле реализованные диалекты SQL очень близки. Этого удалось добиться не сразу.
Наиболее близки к System R были две системы компании IBM – SQL/DS и DB22). Разработчики обеих систем использовали опыт проекта System R, а СУБД SQL/DS напрямую основывалась на программном коде System R. Отсюда предельная близость диалектов SQL, реализованных в этих системах, к SQL System R. Из SQL System R были удалены только те части, которые были недостаточно проработаны (например, точки сохранения) или реализация которых вызывала слишком большие технические трудности (например, ограничения целостности и триггеры). Можно назвать этот путь к коммерческой реализации SQL движением сверху вниз.

Краткая история языка SQL
В начале лекции мы представим небольшой исторический обзор SQL. Язык уже далеко не молод. В 2004 г. сообщество баз данных отмечает его 30-летний юбилей. Поэтому, чтобы правильно понимать и трактовать современные варианты SQL, нужно знать историю языка хотя бы в общих чертах.

Краткая история языка SQL
Краткая история языка SQL - 2
Структура языка SQL
Типы данных SQL
Tочные числовые типы
Истинно целые типы
Типы, допускающие наличие дробной части
Приближенные числовые типы
Типы символьных строк
Типы битовых строк

Средства определения, изменения и ликвидации базовых таблиц
Как мы уже отмечали в лекции 1, к спецификации языка SQL можно относиться как к спецификации некоторой модели данных, в определенных аспектах близкой к реляционной модели. Мы стремимся к тому, чтобы порядок лекций, посвященных языку SQL, способствовал правильному пониманию именно этой модели, а не технических тонкостей языка. Предыдущая лекция посвящалась тому, что (т. е. данные каких типов) может храниться в SQL-ориентированной базе данных.

Средства определения, изменения и ликвидации
Определение базовой таблицы
Определение столбца
Значения столбца по умолчанию
Ограничения целостности столбца
Определение табличного ограничения
Ограничение первичного или возможного ключа
Проверочное табличное ограничение
Табличное ограничение внешнего ключа
Сопоставление значений внешнего ключа

Скалярные выражения
Несмотря на то что язык SQL является полным языком баз данных, включающим множество разнообразных средств определения схемы, ограничения и поддержки целостности базы данных, поддержки администрирования, заполнения и модификации таблиц базы данных, поддержки разработки приложений и т. д., для подавляющего большинства пользователей этот язык остается языком запросов, т. е. языком, позволяющим формулировать произвольно сложные и точные декларативные запросы к базе данных.

Скалярные выражения
Правила построения скалярных выражений
Численные выражения
Символьные или битовые строки
Выражения даты-времени
Булевские выражения
Выражения с переключателем
Общая структура оператора выборки в языке SQL
Выражения, значениями которых являются строки
Семантика оператора выборки

Логические выражения раздела WHERE
Конструкции оператора SELECT языка SQL в значительной степени ортогональны. В частности, выбор способа указания ссылки на таблицы в разделе FROM никак не влияет на выбор варианта формирования условия выборки в разделе WHERE. Это полезное свойство языка позволяет нам абстрагироваться от обсуждавшегося в предыдущей лекции многообразия способов указания ссылки на таблицу и сосредоточиться на возможностях формирования запросов при использовании различных предикатов, допускаемых стандартом SQL:1999 в логических выражениях раздела WHERE.

Предикат сравнения
Предикат сравнения - 2
Использование предиката сравнения
Использование предиката сравнения - 2
Использование предиката сравнения - 3
Предикат between
Использование предиката between
Предикат null
Использование предиката null
Предикат in

Теория баз данных

Теория баз данных — сравнительно молодая область знаний. Возраст ее составляет немногим более 30 лет. Однако изменился ритм времени, оно уже не бежит, а летит, и мы вынуждены подчиняться ему во всем. Поэтому столь молодая область знаний является практически обязательной для изучения студентами всех технических специальностей. В соответствии с новыми стандартами учебная дисциплина «Базы данных» включена в стандарты всех специальностей, связанных с подготовкой специалистов по вычислительной технике: это группа специальностей 22.01, 22.02, 22.03 и 22.04. В остальные технические специальности раздел, посвященный базам данных, включен в общий курс информатики и вычислительной техники.
И действительно, современный мир информационных технологий трудно представить себе без использования баз данных. Практически все системы в той или иной степени связаны с функциями долговременного хранения и обработки информации. Фактически информация становится фактором, определяющим эффективность любой сферы деятельности. Увеличились информационные потоки и повысились требования к скорости обработки данных, и теперь уже большинство операций не может быть выполнено вручную, они требуют применения наиболее перспективных компьютерных технологий. Любые административные решения требуют четкой и точной оценки текущей ситуации и возможных перспектив ее изменения. И если раньше в оценке ситуации участвовало несколько десятков факторов, которые могли быть вычислены вручную, то теперь таких факторов сотни и сотни тысяч, и ситуация меняется не в течение года, а через несколько минут, а обоснованность принимаемых решений требуется большая, потому что и реакция на неправильные решения более серьезная, более быстрая и более мощная, чем раньше. И, конечно, обойтись без информационной модели производства, хранимой в базе данных, в этом случае невозможно.

От автора
История развития баз данных
Основные понятия и определения
Теоретико-графовые модели данных
Основные определения
История развития SQL
Проектирование реляционных БД на основе принципов нормализации
Инфологическое моделирование
Принципы поддержки целостности в реляционной модели данных
Физические модели баз данных
Распределенная обработка данных
Модели транзакций
Встроенный SQL
Защита информации в базах данных
Обобщенная архитектура СУБД
Перспективы развития БД и СУБД

Опционы - перейти
Опционы - перейти
Реальные опционы - перейти
Математика опционов - перейти
Торговые стратегии - перейти
Советы трейдеров - перейти
Стратегии мастеров - перейти
Энциклопедия стратегий - перейти
Защита информации - перейти
Угрозы компьютерной безопасности - перейти
Программы-шпионы - перейти
Парольная защита операционных систем - перейти
Безопасность компьютерной сети - перейти
Основы криптографии - перейти
Криптографические ключи - перейти