Базы данных - модели, разработка, реализация

От автора


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

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

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


В него включены разделы по распределенной обработке данных с использованием технологии "клиент - сервер", которые могут быть использованы для дальнейшего освоения современной теории и практики работы с базами данных.

Учебное пособие полностью соответствует требованиям стандарта по дисциплине "Базы данных" для всех вычислительных специальностей, а также для бакалавров по направлению 5528 "Информатика и вычислительная техника".

7

Пособие состоит из 14 глав. Оно может быть использовано для самостоятельного освоения курса "Базы данных" и подготовке к сдаче экзамена или как дополнение к лекционным курсам, читаемым в высших учебных заведениях.

Первая глава пособия посвящена истории возникновения области знаний, связанной с базами данных, в данной главе выделены основные этапы развития теории и практики баз данных, даются сравнительные характеристики этих этапов.

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

Глава 3 посвящена первым теоретико - графовым моделям, которые использовались в ранних системах управления базами данных.

В главе 4 начинается обсуждение современной реляционной модели, которая является основой практически для всех коммерческих систем управления базами данных (СУБД) и наиболее распространена в настоящий момент. В этой же главе дается описание первого языка манипулирования данными, предложенного для данной модели ее создателем американским математиком Е.Ф. Коддом -реляционной алгебры.



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


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

Глава 6 посвящена вопросам проектирования баз данных, в ней рассматриваются базовые понятия функциональных и многозначных зависимостей между свойствами объектов, которые моделируются в базе данных. База данных - это фундамент Вашей будущей информационной системы и от того, как он будет построен, зависит во многом успех всей информационной системы, которая будет строиться на данном фундаменте. От корректности и продуманности структуры спроектированной базы данных зависит успех решения не только текущих информационных задач, но и перспективы развития и наращивания системы.

Глава 7 посвящена семантическим или инфологическим моделям, используемым в современных программных системах поддержки проектирования, называемых CASE-системами (Computer Aided Software Engineering).

Глава 8 посвящена принципам поддержки целостности в базах данных. Понятие целостности - одно из базовых понятий в современных базах данных. Принципы целостности составляют набор некоторых правил, которые выполняются автоматически при работе с данной базой данных. При грамотном составлении этих правил мы избавляем операторов, которые работают с базой данных, а также

8

разработчиков приложений от дополнительного контроля за правильностью и взаимосвязанностью вводимой в базу данных информации. Эти функции теперь выполняет сама СУБД, она контролирует вводимые и удаляемые данные, она не допускает ввода некорректной информации.

Глава 9 посвящена физическим моделям баз данных. В этом разделе описываются основные файловые конструкции, применяемые при создании баз данных.

Глава 10 посвящена вопросам распределенной обработки данных, здесь рассматриваются модели клиент - сервер, применяемые в системах баз данных.



Глава 11 посвящена понятию транзакции, которое является базовым при выполнении параллельных запросов к базам Данных. Рассматриваются две базовые модели транзакций: модель ANSI и расширенная модель транзакций, подробно рассматриваются проблемы, выполняемые при параллельном выполнении транзакций.

В главе 12 рассматриваются дополнительные возможности языка SQL , которые используются при разработке хранимых процедур и приложений, работающих с базами данных, а также принципы трансляции операторов языка SQL, порядок трансляции и выполнения SQL-запросов.

Глава 13 посвящена вопросам защиты информации в базах данных. Понятие защиты информации в базах данных чаще всего связано с концепцией защиты от несанкционированного доступа. В данной главе обсуждается общая концепция защиты информации, которая применяется в базах данных, вводится понятие пользователя и рассматриваются вопросы определения прав и привилегий пользователей по работе с отдельными объектами в базе данных.

Глава 14 посвящена рассмотрению обобщенной архитектуры современных баз данных, здесь рассматривается структура системных каталогов, основные функциональные блоки в современных серверах баз данных и их назначение. В этой главе обобщаются все сведения о базах данных, рассмотренные в предыдущих разделах.

В Заключении кратко характеризуются перспективы развития современных систем баз данных, дается перечень тех тем и вопросов, которые рекомендуется рассмотреть для дальнейшего более глубокого знакомства с теорией и практикой баз данных.

В заключение мне бы хотелось поблагодарить тех, кто помог мне написать данную книгу. Прежде всего, это мои многочисленные студенты, которые решали многие задачи, задавали множество вопросов и постоянно будоражили меня, заставляя придумывать новые рисунки и способы объяснения запутанных понятий, упрощать наиболее сложные моменты изложения, делая их доступными и ясными. Однако переход от многолетнего лекционного материала к написанию на его основе учебного пособия оказался весьма непростым для меня, и здесь я благодарна сотрудникам редакции компьютерной литературы издательства "Питер", особенно Екатерине Вячеславовне Строгановой и Илье Александровичу Корнееву.Только их терпение, доброжелательность и настойчивость позволили мне завершить мой труд. И, конечно, я благодарна моим домашним: маме и дочке, которые весь период написания книги терпели мое плохое настроение, недовольство собой и текстом и полное устранение от домашних дел.

Содержание раздела