Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Базы данных

Учебник: В 2 книгах Книга 1: Локальные базы данных
Покупка
Основная коллекция
Артикул: 109600.11.01
К покупке доступен более свежий выпуск Перейти
В предлагаемом учебнике рассмотрена проблема создания приложения локальной базы данных. Начиная с изучения теоретических основ построения базы данных, которые органично переходят в этапы проектирования, студент подходит к изучению пракгических приемов реализации базы данных в среде DELPHI 7. Учебный материал изложен в наиболее удобной и логичной для изучения последовательности. Плавный переход от одной главы к другой главе позволяет проектировать базу данных с постепенным ее усложнением за счет добавления новых функций и возможностей. Каждая глава снабжена большим количеством примеров и контрольными вопросами для самоподготовки. Учебник предназначен для студентов высших учебных заведений обучающихся по направлению 09.03.01 «Информатика и вычислительная техника», а также может быть рекомендован для студентов средних специальных учебных заведений соответствующих специальностей.
Агальцов, В. П. Базы данных : учебник : в 2-х кн. Книга 1. Локальные базы данных. — Москва : ФОРУМ : ИНФРА-М, 2020. — 352 с. : ил. — (Высшее образование). - ISBN 978-5-8199-0377-3. - Текст : электронный. - URL: https://znanium.com/catalog/product/1068927 (дата обращения: 28.03.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Допущено Учебно-методическим объединением вузов
по университетскому политехническому образованию 
в качестве учебника для студентов высших учебных заведений, 
обучающихся по направлению 09.03.01 «Информатика
и вычислительная техника»

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

Агальцов В.П.
Базы данных. В 2-х кн. Книга 1. Локальные базы данных : 
учебник / В.П. Агальцов. — Москва : ИД «ФОРУМ»: ИНФРА-М, 
2020. — 352 с: ил. — (Высшее образование).

Светлой памяти 
Агалы10вой Серафимы Федоровны 
посвящаю

От автора

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

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

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

Проектирование базы данных и приложения выполнено в двух 
средах — Delphi 7 и Visual FoxPro. Учебник снабжен большим количеством примеров, в которых предусмотрено для каждого вида обработки информации несколько методов. Все примеры построены 
по принципу «от простого к сложному», что позволяет студентам 
легче освоить учебный материал.

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

При описании форматов команд приняты следующие обозначения:
< ... > — угловые скобки содержат имя объекта (таблицы, 
поля и т. д). При написании программных кодов угловые скобки 
не пишутся;

От автора

[ ... ] — квадратные скобки содержат необязательный параметр 
или аргумент;

| — выбор программиста. При написании программного кода 
необходимо указать или аргумент (параметр) слева, или аргумент 
справа.

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

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

Учебник рассчитан на чтение лекций по дисциплине «Базы данных» для студентов технических специальностей в высших учебных заведениях.

Раздел I

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

Глава 1

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ 
ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ

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

По мере развития средств вычислительной техники совершенствовались способы обработки и хранения данных. На первых 
этапах данные хранились в самой обрабатывающей программе. Поэтому сначала возникли и развивались языки программирования. 
Хранение данных в виде строк фиксированной длины накладывает 
жесткие ограничения на процедуры обработки данных. Так, любое 
изменение длины строки (добавление или удаление нового данного) 
приводит к переработке всего программного кода, обеспечивающего обработку данных. Кроме того, увеличение размеров файлов данных приводит к резкому снижению быстродействия программных 
продуктов. Поэтому необходимость хранения и обработки больших 
объемов данных с одновременным сокращением времени их обработки привели к отделению самих данных от средств их обработки. 
С начала 70-х годов процедуры хранения данных стали выделяться 
в самостоятельные программные продукты, которые стали называться базами данных. Внедрение баз данных вызвало к жизни создание универсального структурированного языка запросов (8С)Ь).

Глава 1. Теоретические основы проектирования базы данных

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

Пример 1.1

Нарзан
240
24,5
01.03.2007
ООО
«Лира»

6 мес.
0,5
Бутылка
Стекло
12

Пшено
510
22
03.03.2007
ОАО

«Нива»

12 мес.
0,5
Пакет
Бумага
7

Горчица
200
14
10.03.2007
ОАО

«Восток»

12 мес.
0,1
Банка
Стекло
15

Тархун
160
28
01.03.2007
ООО
«Лира»

4 мес.
1,0
Бутылка
Пластик
12

Сок
яблочный

100
26,5
01.03.2007
ООО

«Лира»

6 мес.
1,0
Пакет
Тетрапак
12

Рис
300
32
03.03.2007
ОАО

«Нива»

12 мес.
1,0
Пакет
Пластик
7

Горох
120
17
03.03.2007
ОАО

«Нива»

12 мес.
1,0
Пакет
Бумага
7

Паста
томатная

100
8
10.03.2007
ОАО

«Восток»

12 мес.
0,2
Банка
Жесть
15

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

Если добавить строку заголовка (пример 1.2), то интерпретировать данные станет намного легче.

1.1. Основные понятия и определения
7

Пример 1.2

НаимеКолиЦена
Дата
ПоСрок
Емкость
Вид
Тип
Номер

нование
чество
за
посставхране(вес) одупаковупанаклад
товара
ед.
тавки
щик
ния
ной упаковки

ки
ковки
ной

При эксплуатации базы данных вводят следующие два понятия.
Ведение базы данных (сопровождение или поддержка) — добавление, редактирование и удаление записей в базе данных. Эти 
процедуры выполняются оператором базы данных.

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

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

1.1. Основные понятия и определения

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

Глава 1. Теоретические основы проектирования базы данных

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

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

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

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

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

1.1. Основные понятия и определения
9

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

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

• родительская сущность;
• дочерняя (зависимая) сущность;
• мощность связи -— это отношение количества родительских сущностей к соответствующему количеству дочерних сущностей.

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

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

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

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

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

В общем случае процесс построения базы данных можно представить следующим образом (рис. 1.1).

Теоретическая разработка базы данных

Рис. 1.1. Процесс создания базы данных

Все объекты реального мира разделены на большие группы или 
классы. Каждый класс может содержать сотни и тысячи объектов 
(предметов или явлений) реального мира. Таких классов в окружающем нас мире великое множество, поэтому уже создано (и еще 
будет создаваться) много баз данных.

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

1.1. Основные понятия и определения
11

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

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

Полученная концептуальная модель будет избыточной, т. е. собранные из разных источников концептуальные требования будут 
повторяться. Программист анализирует собранные концептуальные 
требования и удаляет повторяющиеся (дублирующие) концептуальные требования. Затем наступает самый длительный и трудоемкий 
этап согласования со всеми конечными пользователями названия и 
содержания каждого концептуального требования. Каждый пользователь привык к какому-то названию атрибута сущности (концептуальному требованию) и не желает никаких перемен в названии. Например, атрибут «Дата поступления товара». Каждый из конечных 
пользователей этот атрибут понимает по-своему. Для заведующего 
складом — это дата поступления товара на склад, для бухгалтера — 
дата «оприходования» товара, для продавца— дата поступления 
товара в торговый зал и т. д. Для программиста понятно, что это три 
разные даты и называться они должны по-разному. Конечные поль12
Глава 1. Теоретические основы проектирования базы данных

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

Достигнутые результаты согласования обязательно должны 
быть зафиксированы в соответствующем документе.

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

1.2. Логические модели

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

Иерархическая логическая модель

Модель этого типа жестко структурирована, т. е. взаимосвязь между объектами внутри модели подчинена строгому ранжиру (рис. 1.2). 
Подчинение объектов разделено на уровни. На первом уровне пред
К покупке доступен более свежий выпуск Перейти