25
СРЕДНЕЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАНИЕ И.А. КУМСКОВА БАЗЫ ДАННЫХ Рекомендовано ФГУ «Федеральный институт развития образования» в качестве учебника для использования в учебном процессе образовательных учреждений, реализующих программы среднего профессионального образования Министерство образования и науки Российской Федерации ФГУ «Федеральный институт развития образования» Регистрационный номер рецензии № 184 от 28.04.2009 Рекомендовано для освоения профессий из списка ТОП-50 наиболее востребованных на рынке труда, новых и перспективных профессий Третье издание, переработанное КНОРУС МОСКВА 2020

BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

СРЕДНЕЕПРОФЕССИОНАЛЬНОЕОБРАЗОВАНИЕ

И.А. КУМСКОВА

БАЗЫ ДАННЫХ Рекомендовано ФГУ «Федеральный институт развития образования»в качестве учебника для использования в учебном процессе образовательных учреждений,реализующих программы среднего профессионального образования

Министерство образования и науки Российской Федерации ФГУ «Федеральный институт развития образования» Регистрационный номер рецензии № 184 от 28.04.2009

Рекомендовано для освоения профессий из списка ТОП-50 наиболее востребованных на рынке труда, новых и перспективных профессий

Третье издание, переработанное

КНОРУС • МОСКВА • 2020

Page 2: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

УДК 004(075.32)ББК 32.973я723 К90

Рецензенты:О.А. Ильченко, заведующий лабораторией ГОУ «Учебно-методический центр по информационно-аналитической работе» департамента образования г. Москвы, канд. пед. наук,А.И. Кириллов, заместитель директора по информатизации образовательного процесса ГОУ СПО «Политехнический колледж № 19» департамента образова-ния г. Москвы

Кумскова, Ирина Александровна.К90 Базы данных : учебник / И.А. Кумскова. — 3-е изд., перераб. — Москва :

КНОРУС, 2020. — 400 с. — (Среднее профессиональное образование).ISBN 978-5-406-07467-1

Рассматриваются вопросы последовательной нормализации отношений, по-строения ER-модели и использования CASE-систем при проектировании. Описа-ны технологии организации процессов обработки информации в базе данных с ис-пользованием структурного языка программирования, языка SQL и визуальных средств среды Visual FoxPro. Представлены возможности встроенных средств среды разработки Visual FoxPro по аспектам управления базой данных, защите базы дан-ных, реализации многопользовательского режима работы с базой данных.

Соответствует ФГОС СПО последнего поколения.Рекомендовано для освоения профессий из списка ТОП-50 наиболее востребо-

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

«Информационные системы», «Разработка информационных систем», «Базы данных».УДК 004(075.32)ББК 32.973я723

Кумскова Ирина АлександровнаБАЗЫ ДАННЫХ

Изд. № 516916. Формат 60×90/16. Гарнитура «NewtonC». Усл. печ. л. 25,0. Уч.-изд. л. 22,5.

ООО «Издательство «КноРус». 117218, г. Москва, ул. Кедрова, д. 14, корп. 2.

Тел.: 8-495-741- 46- 28. E-mail: [email protected] http://www.knorus.ru

Отпечатано в АО «Т8 Издательские Технологии». 109316, г. Москва, Волгоградский проспект, д. 42, корп. 5.

Тел.: 8-495-221-89-80.

© Кумскова И.А., 2020ISBN 978-5-406-07467-1 © ООО «Издательство «КноРус», 2020

Page 3: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Оглавление

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

Раздел1. Проектированиебазыданных

Глава1. Основныеконцепциибазданных 1.1. Информационные системы и банки данных . . . . . . . . . . . . 16 1.2. Базы данных и системы управления базами данных . . . . . . . . 23 1.3. Способы разработки и выполнения приложений . . . . . . . . . 34 Контрольные вопросы. . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Глава2. Проектированиебазыданных 2.1. Жизненный цикл базы данных . . . . . . . . . . . . . . . . . . . . 41 2.2. Модели данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.3. Реляционная модель данных . . . . . . . . . . . . . . . . . . . . . 56 2.4. Проектирование реляционных баз данных . . . . . . . . . . . . . 63 2.5. Проектирование реляционных баз

данных с использованием нормализации . . . . . . . . . . . . . . 68 2.6. Проектирование реляционных баз данных на основе

концептуальной модели . . . . . . . . . . . . . . . . . . . . . . . . 74 2.7. Средства автоматизации проектирования баз данных . . . . . . . 76 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 101

Раздел2. Организацияпроцессовобработкиданныхвбазеданных

Глава3. Созданиебазыданных 3.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.2. Проект, состав и назначение элементов . . . . . . . . . . . . . . 107 3.3. Создание таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.4. Механизм индексирования. . . . . . . . . . . . . . . . . . . . . . 127 3.5. Организация связей . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.6. Обеспечение ссылочной целостности . . . . . . . . . . . . . . . 133 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 137

Глава4. Работасбазойданныхсиспользованиемязыкапрограммирования

4.1. Выражения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 4.2. Переменные и константы . . . . . . . . . . . . . . . . . . . . . . 140 4.3. Типы данных и стандартные функции

для работы с данными определенного типа . . . . . . . . . . . . 142 4.4. Команды для работы с записями таблицы . . . . . . . . . . . . . 145 4.5. Управляющие конструкции . . . . . . . . . . . . . . . . . . . . . 194 4.6. Массивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 4.7. Средства отладки программ . . . . . . . . . . . . . . . . . . . . . 208 Контрольные вопросы. . . . . . . . . . . . . . . . . . . . . . . . . . 211

Page 4: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

4 • Оглавление

Глава5. РаботасбазойданныхсиспользованиемязыказапросовSQL

5.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 5.2. Операторы языка определения данных . . . . . . . . . . . . . . 219 5.3. Операторы манипулирования данными . . . . . . . . . . . . . . 229 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 240

Глава6. Разработкаприложенийсиспользованиемвизуальныхсредств

6.1. Основные понятия визуального объектно-ориентированного программирования . . . . . . . . . . . . . . . 241

6.2. Создание экранных форм . . . . . . . . . . . . . . . . . . . . . . 242 6.3. Создание отчетов . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 6.4. Создание запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 6.5. Создание меню и построение приложения . . . . . . . . . . . . 312 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 330

Раздел3. Cредствауправлениябазойданныхизащитабазыданных

Глава7. Расширенныесредствауправлениябазойданных 7.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 7.2. Условия достоверности ввода данных . . . . . . . . . . . . . . . 336 7.3. Хранимые процедуры . . . . . . . . . . . . . . . . . . . . . . . . . 342 7.4. Триггеры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 350

Глава8. Представленияданных 8.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 8.2. Локальные представления . . . . . . . . . . . . . . . . . . . . . . 354 8.3. Удаленные представления . . . . . . . . . . . . . . . . . . . . . . 363 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 378

Глава9. Многопользовательскаяработавлокальнойсети . . . . . . 380 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 393

Глава10.Функциизащитыбазыданных . . . . . . . . . . . . . . . . . . 394 Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . . 399

Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

Page 5: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

введение

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

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

Второе направление — это использование средств вычислитель-ной техники в информационных системах. В самом широком смыс-ле информационная система (ИС) представляет собой программный комплекс, функции которого состоят в поддержке надежного хране-ния информации в памяти компьютера, выполнении специфических преобразований информации и (или) вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно объемы информации, с которыми работают такие системы, достаточ-но велики, а сама информация имеет достаточно сложную структуру. Классическими примерами информационных систем являются бан-ковские системы, системы резервирования авиационных или желез-нодорожных билетов, мест в гостиницах и т.д.

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

Информационные системы предназначены для сбора, хране-ния и обработки информации, поэтому в основе любой ИС лежит сре-да хранения и доступа к данным.

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

Page 6: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

6 • Введение

Таким образом, основными задачами при создании информацион-ной системы являются:

•   разработка базы данных, выполняющей функции хранилища ин-формации;

•   разработка пользовательского приложения для работы с базой данных.

Термин «база данных» (БД) появился в начале 60-х гг. XX в., когда были сформулированы требования к организации данных в автомати-зированных системах управления предприятиями. Суть этих требова-ний сводилась к двум положениям:

1) данные должны накапливаться и храниться централизованно, создавая динамически обновляемую модель предметной области;

2) данные должны быть максимально независимы от программ их обработки.

Выполнение этих требований привело к созданию единого для всех задач, решаемых в рамках автоматизированной системы, блока дан-ных — базы данных и к разработке управляющей программы, пред-назначенной для манипулирования данными, — системы управления базой данных (СУБД).

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

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

Page 7: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Введение • 7

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

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

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

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

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

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

Page 8: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

8 • Введение

программных систем, названных системами управления базами дан-ных, а сами хранилища информации, работающие под управлением данных систем, получили название баз данных.

История развития СУБД насчитывает более 30 лет. В 1968 г. была введена в эксплуатацию первая промышленная СУБД — система IMS фирмы IBM. В 1975 г. появился первый стандарт Ассоциации по язы-кам систем обработки данных — Conference of Data System Languages (CODASYL), который определил ряд фундаментальных понятий в те-ории систем баз данных, до сих пор являющихся основополагающими для сетевой модели данных.

В дальнейшее развитие теории баз данных большой вклад внес американский математик Э.Ф. Кодд — создатель реляционной модели данных. В 1981 г. Э.Ф. Кодд получил за создание реляционной моде-ли и реляционной алгебры престижную премию Тьюринга Американ-ской ассоциации по вычислительной технике.

Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ, мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation — DEC) и на разных моде-лях HP (фирмы Hewlett Packard).

Базы данных хранились во внешней памяти центральной ЭВМ. Пользователями этих баз данных были задачи, запускаемые в ос-новном в пакетном режиме. Интерактивный режим доступа обеспе-чивался с помощью консольных терминалов, которые не обладали собственными вычислительными ресурсами (процессором, внешней памятью) и служили только устройствами ввода-вывода для цен-тральной ЭВМ. Программы доступа к БД писались на различных языках и запускались как обычные числовые программы. Мощные операционные системы обеспечивали возможность условно-парал-лельного выполнения всего множества задач. Эти системы можно от-нести к системам распределенного доступа, потому что база данных была централизованной, хранилась на устройствах внешней памяти одной центральной ЭВМ, а доступ к ней поддерживался от многих пользователей-задач.

Особенности 1-го этапа развития СУБД: •   все СУБД базировались на мощных мультипрограммных опера-

ционных системах (MVS, SVM, RTE, OSRV, RSX, UNIX), поэто-му в основном поддерживалась работа с централизованной базой данных в режиме распределенного доступа;

•   функции управления распределением ресурсов в основном осу-ществлялись операционной системой (ОС);

Page 9: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Введение • 9

•   поддерживались языки низкого уровня манипулирования дан-ными, ориентированные на навигационные методы доступа к данным;

•   значительная роль отводилась администрированию данных; •   проводились серьезные работы по обоснованию и формализа-

ции реляционной модели данных, и была создана первая система (System R), реализующая идеологию реляционной модели дан-ных;

•   организовывались теоретические исследования по оптимизации запросов и управлению распределенным доступом к централизо-ванной БД, было введено понятие транзакции;

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

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

Появились программы, названные системами управления базами данных, позволяющие хранить значительные объемы информации. Они имели удобный интерфейс для заполнения данных, встроенные средства для генерации различных отчетов. Эти программы позволяли автоматизировать многие учетные функции, которые раньше велись вручную. Компьютеры стали инструментом ведения документации и собственных учетных функций. Все это сыграло как положитель-ную, так и отрицательную роль в развитии баз данных. Многие раз-работчики стали проектировать недолговечные базы данных, не отве-чающие законам развития и взаимосвязи реальных объектов. Однако доступность персональных компьютеров заставила специалистов мно-гих областей знаний, которые ранее не применяли вычислительную технику в своей деятельности, обратиться к ней. Спрос на развитые удобные программы обработки данных заставлял разработчиков про-граммного обеспечения создавать все новые системы, которые при-нято называть настольными (desktop) СУБД. Конкуренция заставляла совершенствовать эти системы, расширять возможности, улучшать интерфейс и быстродействие систем, снижать их стоимость. Наличие на рынке большого числа СУБД, выполняющих сходные функции, потребовало разработки методов экспорта-импорта данных для этих систем и открытия форматов хранения данных. Несмотря на появле-

Page 10: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

10 • Введение

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

Особенности 2-го этапа развития СУБД:•   все СУБД были рассчитаны на создание БД в основном с моно-

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

•   большинство СУБД имели развитый и удобный пользователь-ский интерфейс и инструментарий для разработки готовых при-ложений без программирования;

•   во всех настольных СУБД поддерживался только внешний уро-вень представления реляционной модели, т.е. только внешний, табличный вид структур данных;

•   при наличии высокоуровневых языков манипулирования данными типа реляционной алгебры и SQL (Structured Query Language) в настольных СУБД поддерживались низкоуровневые языки манипулирования данными на уровне отдельных строк таблиц;

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

•   наличие монопольного режима работы фактически привело к вы-рождению функций администрирования БД и в связи с этим — к отсутствию инструментальных средств администрирова- ния БД;

•   требования к аппаратному обеспечению со стороны настольных СУБД были сравнительно скромными.

Яркие представители этого семейства — очень широко использо-вавшиеся до недавнего времени СУБД: Dbasc (DbaseIII+, DbaselV), FoxPro, Clipper, Paradox.

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

Page 11: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Введение • 11

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

Особенности 3-го этапа развития СУБД:•   все СУБД обеспечивают поддержку полной реляционной моде-

ли, а именно:—   структурной целостности — допустимыми являются только

данные, представленные в виде отношений реляционной мо-дели;

—   языковой целостности, т.е. языков манипулирования данны-ми высокого уровня (в основном SQL);

—   ссылочной целостности, контроля за соблюдением ссылоч-ной целостности в течение всего времени функционирования системы,

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

•   необходимость поддержки многопользовательской работы с ба-зой данных и возможность децентрализованного хранения дан-ных потребовали развития средств администрирования БД с реа-лизацией общей концепции средств защиты данных;

•   потребность в новых реализациях вызвала создание серьезных те-оретических трудов по оптимизации реализаций распределенных БД и по работе с распределенными транзакциями и с запросами с внедрением полученных результатов в коммерческие СУБД;

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

Именно к этому этапу относится разработка ряда стандартов в рам-ках языков описания и манипулирования данными, начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными

Page 12: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

12 • Введение

СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft.

В это время начинаются разработки, связанные с концепцией объектно-ориентированных БД — СУБД. Представителями СУБД, относящимися к этому этапу, являются MS Access 97 и все современ-ные серверы баз данных Оrас1е7Д, Оrас1е 8.4, MS SQL6.5, MS SQL7.0, System 10, System 11, Informix, DB2, SQL Base и другие современные серверы баз данных, которых в настоящий момент насчитывается не-сколько десятков.

Четвертый этап характеризуется появлением Интернета — новой технологии доступа к данным. Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обе-спечения. Для работы с удаленной базой данных используется стан-дартный браузер Интернета, например Microsoft Internet Explorer или Netscape Navigator, и для конечного пользователя процесс обращения к данным происходит аналогично путешествию по Всемирной па-утине. При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языках Java, Java-script, Perl и др., отслеживает все действия пользователя и транслирует их в низ-коуровневые SQL-запросы к базе данных, выполняя таким образом ту работу, которой в технологии клиент-сервер занимается клиентская программа.

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

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

Page 13: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Введение • 13

эффективность любой сферы деятельности, становится информация. Увеличились информационные потоки и повысились требования к скорости обработки данных. Большинство операций не могут вы-полняться вручную, они требуют применения наиболее перспектив-ных компьютерных технологий.

Учебник адресован широкому кругу пользователей. Он ориенти-рован на студентов учебных заведений, изучающих дисциплины «Ин-формационные системы», «Разработка информационных систем», «Базы данных», а также на разработчиков баз данных и других специ-алистов в области информационных систем. Основное назначение учебника — помощь студентам в освоении знаний в области теории баз данных и выработки практических навыков применения этих зна-ний.

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

Раздел 1 посвящен вопросам проектирования баз данных и состоит из двух глав. В главе 1 излагаются концепции баз данных. В главе 2 рассмотрены современные методологии проектирования баз данных, основанные на концепции жизненного цикла баз данных.

В разделе 2 в четырех главах рассматриваются технологии органи-зации процессов обработки данных в базе данных. В главе 3 рассказы-вается о средствах создания базы данных в среде Visual FoxPro. Главы 4 и 5 раскрывают возможности обработки данных с помощью и языка SQL. В главе 6 изложены возможности разработки приложения с ис-пользованием визуальных средств среды Visual FoxPro.

Раздел 3 данного учебника посвящен средствам управления базой данных и защите базы данных. Он включает четыре главы, которые раскрывают широкие возможности встроенных средств среды разра-ботки Visual FoxPro, в том числе реализацию многопользовательского режима работы с базой данных.

Page 14: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Раздел 1

ПРОектиРОвание базы данных

Page 15: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

ГлаВа 1ОснОвные кОнцеПции

баз данных

1.1. информационные системы и банки данных

Основныепонятия

Система(от греч. systema — целое, составленное из частей соедине-ние) — это совокупность элементов, взаимодействующих друг с дру-гом, образующих определенную целостность, единство. Приведем некоторые понятия, часто использующиеся для характеристики си-стемы.

Элементсистемы — часть системы, имеющая определенное функ-циональное назначение. Сложные элементы систем, в свою очередь состоящие из более простых взаимосвязанных элементов, часто назы-вают подсистемами.

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

Структурасистемы — состав, порядок и принципы взаимодействия элементов системы, определяющие основные свойства системы.

Архитектурасистемы — совокупность свойств системы, существен-ных для пользователя.

Целостность системы — принципиальная несводимость свойств системы к сумме свойств отдельных ее элементов и в то же время за-висимость свойств каждого элемента от его места и функции внутри системы.

Информационнаясистема — взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и вы-дачи информации в интересах достижения поставленной цели. Цель существования информационных систем — обеспечить предоставле-

Page 16: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Глава 1. Основные концепции баз данных • 17

ние достоверной информации в определенное время, определенному лицу, в определенном месте, за определенную плату.

В Федеральном законе № 149-ФЗ «Об информации, информацион-ных технологиях и о защите информации», принятом Государственной Думой 27 июля 2006 г., дается следующее определение: «Информаци-оннаясистема— совокупность содержащейся в базах данных инфор-мации и обеспечивающих ее обработку информационных техноло-гий и технических средств».

Разнообразие задач, решаемых с помощью ИС, привело к появле-нию множества разнотипных систем, отличающихся принципами по-строения и заложенными в них правилами обработки информации.

В зависимости от объема решаемых задач, области применения, используемых технических средств, организации функционирования информационные системы можно классифицировать по целому ряду различных признаков:

•  характеру хранимой информации;•  масштабу (объему решаемых задач);•  характеру обработки информации;•  способу организации (реализуемой архитектуре).По характеру хранимой информации ИС подразделяются на факто-

графические и документальные (рис. 1.1).

Информационныесистемы (ИС)

ФактографическиеИС

ДокументальныеИС

Рис.1.1.Классификация информационных систем по характеру хранимой информации

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

Page 17: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

18 • Раздел 1. ПРОектиРОВание базы данных

По масштабу информационные системы подразделяются на сле-дующие группы (рис. 1.2):

•  локальные;•  сетевые;•  корпоративные.

Информационные системы (ИС)

Сетевые ИС Локальные ИС Корпоративные ИС

Рис.1.2. Классификация информационных систем по масштабу

Локальные информационные системы реализуются, как правило, на автономном персональном компьютере (без использования ком-пьютерной сети). Такая система рассчитана на работу одного поль-зователя или группы пользователей, разделяющих по времени одно рабочее место, и, как правило, содержит несколько простых прило-жений, связанных общей информационной базой. Такие приложе-ния создаются с помощью так называемых настольных или локаль-ных систем управления базами данных (СУБД). Среди локальных СУБД наиболее известными являются Clarion, Clipper, FoxPro, Paradox, dBase и Microsoft Access.

Сетевые информационные системы строятся на базе локальной вы-числительной сети и ориентированы на коллективное использование информации членами рабочей группы. При разработке таких прило-жений применяются серверы баз данных (SQL-серверы). Существует довольно большое количество различных SQL-серверов — как ком-мерческих, так и свободно распространяемых. Среди них наиболее из-вестны Oracle, DB2, Microsoft SQL Server, InterBase, Sybase, Informix.

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

Page 18: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Глава 1. Основные концепции баз данных • 19

формационных системах наибольшее распространение получили сер-веры Oracle, DB2 и Microsoft SQL Server.

Для сетевых и корпоративных систем существенно повышаются требования к надежности функционирования и сохранности данных.

По характеру обработки информации информационные системы обычно подразделяются на четыре группы (рис. 1.3):

•  системы обработки данных (EDP — Electronic Data Processing);•   информационная система управления (MIS — Management

Information System);•   система поддержки принятия решений (DSS — Decision Support

System).

Информационные системы (ИС)

ИС управления

ИС обработки

данных

ИС поддержки принятия решений

Рис.1.3. Классификация информационных систем по сфере применения

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

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

Page 19: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

20 • Раздел 1. ПРОектиРОВание базы данных

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

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

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

Рис.1.4. Классификация информационных систем по способу организации

По способу организации сетевые и корпоративные информационные системы подразделяются на следующие классы (рис. 1.4):

•  системы на основе архитектуры файл-сервер;•  системы на основе архитектуры клиент-сервер;

Page 20: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Глава 1. Основные концепции баз данных • 21

•   системы на основе многоуровневой (трехуровневой) архитек-туры;

•  системы на основе интернет (интранет-технологий).Только централизованное хранение данных способно обеспе-

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

При выполнении запроса к базе данных, расположенной на файло-вом сервере, в действительности происходит запрос к локальной ко-пии данных на компьютере пользователя. Поэтому перед выполнени-ем запроса данные в локальной копии обновляются из реальной БД. Обновление выполняется в полном объеме, что соответственно сказы-вается на быстродействии сети.

Архитектура клиент-сервер предназначена для разрешения проблем файл-серверных приложений. Особенностью архитектуры клиент-сервер является использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL (Structured Query Language) и выполняющих поиск, сортировку и агре-гирование информации. Сервер баз данных занимается поиском и под-держанием целостности данных.

Page 21: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

22 • Раздел 1. ПРОектиРОВание базы данных

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

Развитием архитектуры клиент-сервер стала многоуровневая (трехуровневая) архитектура. Информационная система, построен-ная на основе трехуровневой архитектуры, представляется в виде со-вокупности трех компонент: сервера баз данных, клиентского при-ложения и сервера приложений, отвечающего за выполнение логики приложения. В трехуровневой модели сервер баз данных предназна-чен только для хранения данных и обработки запросов. Основными преимуществами выделения логики приложения в отдельную состав-ляющую являются возможность повторного использования логики приложения, повышение производительности используемого сервера базы данных, возможность масштабирования системы в целом и от-носительная независимость системы от конкретного производителя системы управления базами данных.

Возникновение и внедрение в широкую практику высокоуровневых служб Internet (e-mail, ftp, telnet, Gopher, WWW и т.д.) естественным об-разом повлияли на технологию создания корпоративных информаци-онных систем, породив направление, известное теперь под названием Intranet. По сути дела, информационная Intranet-система — это корпо-ративная система, в которой используются методы и средства Internet. Такая система может быть локальной, изолированной от остального мира Internet, или опираться на виртуальную корпоративную подсеть Internet. Все решения Intranet-приложений для взаимодействия с БД основаны на архитектуре клиент-сервер, а именно на трехуровневой архитектуре.

Информационная система в общем случае состоит из следующих компонентов:

•  базы (нескольких баз) данных; •  системы управления базами данных;•  словаря данных;•  администратора банка данных;•  вычислительной системы;•  обслуживающего персонала.База данных представляет собой совокупность специальным обра-

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

Page 22: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Глава 1. Основные концепции баз данных • 23

Система управления базой данных — это комплекс языковых и про-граммных средств, предназначенных для создания, ведения и совмест-ного использования базы данных многими пользователями.

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

Администратор банка данных — это человек или группа лиц, кото-рые участвуют в разработке базы данных и принимают основные ре-шения.

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

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

Обобщая изложенный материал, можно сделать два вывода:•   современная информационная система должна иметь дело с дан-

ными, организованными в базы данных;•   создание баз данных и поддержка их функционирования должны

осуществляться с помощью специализированных программных продуктов — систем управления базами данных.

1.2. базы данных и системы управления базами данных

База данных — это совокупность данных, хранящихся во внешней памяти и обладающая такими свойствами, как:

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

коне РФ от 23 сентября 1992 г. «О правовой охране программ для электронных вычислительных машин и баз данных» дано следующее определение: «База данных — это объективная форма представле-ния и организации совокупности данных (например, статей, расче-тов), систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ».

Page 23: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

24 • Раздел 1. ПРОектиРОВание базы данных

При изложении материала будем опираться на следующее опреде-ление.

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

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

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

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

Структурирование — это введение соглашений о способах пред-ставления данных. Неструктурированными называют данные, запи-санные, например, в текстовом файле.

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

Из приведенных определений становятся очевидными следующие аспекты:

•   БД — это единое хранилище, которое определяется один раз;•   доступ к базе данных могут иметь одновременно несколько поль-

зователей;•  БД содержит не только данные, но и описания этих данных;•   в БД информация должна быть организована так, чтобы обеспе-

чить минимальную долю ее избыточности;•   в БД должны храниться данные, логически связанные между

собой.Чтобы обеспечить все эти требования, база данных должна обладать

определенными свойствами: независимостью данных от использую-щих их прикладных программ; целостностью; восстанавливаемостью;

Page 24: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

Глава 1. Основные концепции баз данных • 25

безопасностью; эффективностью; предельными размерами и эксплуа-тационными ограничениями.

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

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

Восстанавливаемость базы данных предполагает возможность вос-становления БД после сбоя системы.

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

Эффективность опирается на два основных критерия: минималь-ное время реакции и выполнения запроса пользователя и минималь-ные потребности в памяти.

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

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

Система управления базами данных — комплекс программно-ап-па-ратных средств, обеспечивающих создание, поддержку и доступ к БД и управление данными.

Первые СУБД, поддерживающие opганизацию и ведение БД, по-явились в конце 60-х гг. XX в. Основной сферой применения первых СУБД было планирование производства для компаний, занимаю-щихся выпуском продукции. Одной из наиболее популярных СУБД

Page 25: BD 3 finfin · 2019. 7. 12. · Оглавление Введение. .5 Раздел 1. Проектирование базы данных Глава 1. Основные концепции

литеРатУРа

1. Вендров А.М. CASE-технологии. Современные методы и средства про-ектирования информационных систем. М. : Финансы и статистика, 2005.

2. Вендров А.М. Проектирование программного обеспечения экономических информационных систем : учебник. М. : Финансы и статистика, 2006.

3. Дейт К. Дж. Введение в системы баз данных. М. : Вильямс, 2005. 4. Диго С.М. Базы данных : учебник для вузов. М. : Финансы и статистика,

2005. 5. Избачков Ю., Петров В. Информационные системы : учебник для ву-

зов. СПб. : Питер, 2006. 6. Использование Visual FoxPro 6. Специальное издание : пер. с англ. /

М. Базиян [и др.]. М. : Вильямс, 2003. 7. Каратыгин С.А., Тихонов А.Ф., Тихонова Л.Н. Visual FoxPro 7. М. : БИ-

НОМ, 2002. 8. Карпова Т. Базы данных: модели, разработка, реализация. СПб. : Пи-

тер, 2002. 9. Когаловский М.Р. Энциклопедия технологий баз данных. М. : Финансы

и статистика, 2002. 10. Маклаков С.В. BPWin и ERWin. CASE-средства разработки информаци-

онных систем. М. : Диалог-МИФИ, 2001. 11. Малыхина М.П. Базы данных : учеб. пособие для вузов. СПб. : БХВ-

Петербург, 2007. 12. Пэддок Р., Петерсен Дж., Тэлмейдж Р. Visual FoxPro 6. : разработка кор-

поративных приложений. М. : ДМК Пресс, 2000. 13. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономиче-

ских информационных систем : учебник / под ред. Ю.Ф. Тельнова. М. : Финансы и статистика, 2002.

14. Советов Б.Я., Цехановский В.В., Чертовский В.Д. Базы данных: теория и практика : учебник для вузов. М. : Юрайт, 2013.

15. Ульман Дж. Д., Уидом Дж. Введение в системы баз данных. М. : Лори, 2006.

16. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных : учебник для вузов. СПб. : КОРОНА-Век, 2009.