В курсе излагаются основные понятия и методы организации реляционных баз данных и манипулирования ими, а также описываются базовые подходы к проектированию реляционных баз данных. Вводится понятие реляционной модели данных, обсуждаются структурная, манипуляционная и целостная составляющие модели. Обсуждаются важные аспекты теории баз данных, связанные с функциональными зависимостями. Описываются процесс проектирования реляционных баз данных на основе принципов нормализации, а также подходы к проектированию реляционных баз данных с использованием диаграммных семантических моделей данных.
Курс состоит из десяти лекций. В первой, вводной лекции обосновывается потребность в технологии баз данных и обсуждаются основные функции СУБД. В лекции 2 предлагается общее введение в реляционную модель данных. Вводятся основные термины, обсуждаются структурная и целостная части модели. Лекции 3-5 посвящаются манипуляционной части реляционной модели данных. В лекции 3 описываются классический вариант реляционной алгебры, восходящий к основоположнику реляционного подхода Эдгару Кодду, а в лекции 4 – современная версия алгебры Криса Дейта и Хью Дарвена. В лекции 5 обсуждаются две разновидности реляционных исчислений – исчисления кортежей и доменов. В лекции 6 приводятся основные определения, утверждения и теоремы теории реляционных баз данных, связанные с функциональными зависимостями. В лекции 7 рассматриваются фундаментальные методы проектирования реляционных баз данных путем нормализации отношений на основе учета функциональных зависимостей, а лекция 8 посвящена методам дальнейшей нормализации реляционных баз данных с принятием во внимание и многозначных зависимостей и зависимостей проекции/соединения. Наконец, материал лекций 9-10 посвящен более практическим методам проектирования реляционных баз данных с использованием семантических моделей данных. Мы ограничиваемся двумя разновидностями диаграммных семантических моделей, а именно диаграммами “сущность/связь”, введенными в обиход Питером Ченом, и диаграммами классов языка UML. Вводятся основные понятия этих моделей и обсуждаются методы перехода от концептуальных схем баз данных, представленных в терминах диаграммных моделей, к реляционным схемам баз данных.
Основной целью курса является формирование у студентов общей культуры современных баз данных. Понимание основных принципов реляционной модели данных позволяет лучше ориентироваться в особенностях организации коммерческих и свободно распространяемых систем управления базами данных. Знание абстрактных алгебраических и логических средств манипулирования данными позволяет быстрее и глубже понять специфику современных практических языков баз данных. Знакомство с теорией реляционных баз данных и проектированием баз данных на основе принципа нормализации способствует осознанию требований к структуре практически используемых баз данных. Наконец, освоение подходов к проектированию баз данных с использованием диаграммных моделей облегчит освоение средств автоматизации проектирования.
Требуется базовая математическая подготовка в объеме первого курса классического или технического университета – теория множеств, математическая логика. Полезна, но не необходима некоторая предварительная подготовка в области языков программирования, главным образом, в связи с понятием типов данных.
SQL и процедурно-ориентированные языки
Введение в модель данных SQL
Основы работы с базами данных
Банки данных Интернет (Интернет базы данных)
Основы проектирования приложений баз данных
В этой вводной лекции мы, прежде всего, обсудим предпосылки появления в компьютерах устройств внешней памяти, а также обоснуем принципиальную важность дисковых устройств с подвижными магнитными головками для организации информационных систем. Далее будут рассмотрены особенности организации и основное функциональное назначение одного из ключевых компонентов современных операционных систем – систем управления файлами. Наконец, в третьем разделе лекции мы покажем, почему возможностей файловых систем недостаточно для создания информационных программных систем. Будет продемонстрировано, что естественные требования информационных систем к средствам управления данными во внешней памяти приводят к необходимости наличия систем управления базами данных (СУБД). В ходе этого анализа будут определены основные черты, которыми должны обладать СУБД.
В этом курсе, главным образом, обсуждаются различные аспекты реляционных баз данных. Принято считать, что реляционный подход к организации баз данных был заложен в конце 1960-х гг. Эдгаром Коддом. В последние десятилетия этот подход является наиболее распространенным (с оговоркой, что в называемых в обиходе реляционными системах баз данных, основанных на языке SQL, в действительности нарушаются некоторые важные принципы классического реляционного подхода). Достоинствами реляционного подхода принято считать следующие свойства: реляционный подход основывается на небольшом числе интуитивно понятных абстракций, на основе которых возможно простое моделирование наиболее распространенных предметных областей; эти абстракции могут быть точно и формально определены; теоретическим базисом реляционного подхода к организации баз данных служит простой и мощный математический аппарат теории множеств и математической логики; реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти. Компьютерный мир далеко не сразу признал реляционные системы. В 70-е года прошлого века, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 80-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение. В этой лекции на сравнительно неформальном уровне вводятся основные понятия реляционных баз данных, а также определяется сущность реляционной модели данных. Основной целью лекции является демонстрация простоты и возможности интуитивной интерпретации этих понятий. В следующих лекциях будут приводиться более формальные определения, на которых основана теория реляционных баз данных.
В предыдущей лекции упоминались три составляющих реляционной модели данных. Две из них – структурную и целостную части – мы рассмотрели более или менее подробно, а манипуляционной части реляционной модели данных посвящается эта и следующие две лекции. Мы уделяем данной теме такое большое внимание, поскольку понимание формальных механизмов манипулирования реляционными данными исключительно важно для понимания технологии баз данных вообще. В этой лекции после небольшого введения будет рассмотрен вариант реляционной алгебры, предложенный Кристофером Дейтом около 15 лет тому назад. Этот вариант алгебры кажется наиболее понятным, хотя предлагаемый набор операций несколько избыточен. В следующей лекции мы обсудим новый "минимальный" вариант алгебры, предложенный Дейтом и Дарвеном в конце 1990-х гг. Возможно, новая алгебра не очень практична, но зато красива и элегантна. После этого в лекции 5 мы перейдем к реляционному исчислению, достаточно подробно рассмотрим один из вариантов реляционного исчисления кортежей и кратко обсудим особенности исчисления доменов.
В этой лекции мы обсудим новый "минимальный" вариант алгебры, предложенный несколько лет тому назад Дейтом и Дарвеном. Как уже отмечалось в предыдущей лекции, возможно, новая алгебра не очень практична, но зато красива и элегантна.
Эта лекция завершает цикл лекций, посвященных манипуляционному аспекту реляционной модели данных. Материал лекции интересен и сам по себе, поскольку демонстрирует, насколько аппарат математической логики упрощает формулировку запросов к базам данных.
Эта и две следующие лекции посвящены вопросам теории реляционных баз данных. Поскольку всё направление реляционного подхода к организации баз данных является сугубо практическим, эта теория, главным образом, прагматическая. Основная проблема, на решение которой направлена теория реляционных баз данных, состоит в обнаружении полезных свойств некоторых схем баз данных и выработке способов построения таких схем. Принято кратко называть эту проблему проблемой проектирования реляционных баз данных.
Эта лекция открывает серию из четырех лекций, посвященных проектированию реляционных баз данных. В данной лекции речь пойдет о нормализации схем отношений с учетом только функциональных зависимостей между атрибутами отношений. Эти "первые шаги" нормализации позволяют получить схему базы данных, в которых все переменные отношений находятся в нормальной форме Бойса-Кодда, удовлетворяющей нуждам большей части приложений.
В этой лекции мы обсудим два более сложных вида зависимостей между атрибутами отношений – многозначные зависимости и зависимости проекции/соединения, а также основанные на учете таких зависимостей нормальные формы отношений. Основанная на учете зависимости проекции/соединения пятая нормальная форма отношения является "окончательной" нормальной формой, которую можно получить путем декомпозиции отношений на основе их проецирования.
В этой и следующей лекциях обсуждаются подходы к проектированию реляционных баз данных на основе использования семантических моделей данных. Лекции обеспечивают начальный уровень знаний в этой области и не заменяют книг, целиком посвященных данной теме. Настоящая лекция посвящена общему введению в семантические модели данных и краткому рассмотрению диаграммной семантической модели “Сущность-Связь”. Анализируются стандартные приемы преобразования концептуальной схемы базы данных, представленной в терминах ER-модели, в реляционную схему.
В этой лекции мы обсудим основные понятия диаграмм классов языка UML и возможности применения этой диаграммной модели для проектирования реляционных баз данных. Кроме того, в лекции будет кратко рассмотрен язык объектных ограничений OCL и приведены примеры формулировок на языке OCL ограничений целостности в терминах концептуальной схемы базы данных.