Представление о базах данных

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

Способ № 1. Обойти все магазины города и найти нужный вам стол.

Способ № 2. Взять в руки каталоги по мебели и прайс-листы отдельных мебельных магазинов и в них найти нуж­ный вам стол.

Способ № 3. Обратиться в информационную систему.

Очевидно, что первый способ требует большого напряжения сил и значительной траты времени. Второй способ уже несколько удоб­нее, т. к. в этом случае не надо никуда ходить, а достаточно сесть за телефон и обзвонить магазины, торгующие подобной мебелью. По­следний способ предполагает обращение в информационную систе­му, где в разделе «Мебель» нужно выбрать стол, среди столов вы­брать компьютерные, затем — деревянные, далее рассмотреть столы из ореха, автоматически соединиться по телефону с необхо­димым магазином и отправиться по указанному адресу за покуп­кой. В нашей ситуации наиболее рациональным является, навер­ное, третий способ. Как же организована подобная информационная система, и каким образом можно организовать хранение и представ­ление информации в ней?

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

Какими параметрами характеризуются объекты данной группы? Наверное, это: наименование песни, исполнитель, стиль, дата со­здания, страна. Если мы распишем информацию по каждой песне отдельно, то в результате получим такие записи.

«Тучи» «Моряк»

Иванушки International Агата Кристи

Рор Rock

996 1997

Россия Россия

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

Таблица 1. Сведения о песнях

Наименование Исполнитель Стиль Дата Страна ? ? ?
«Тучи» Иванушки International Рор 1996 Россия      
«Моряк» Агата Кристи Rock 1997 Россия      
«Крылья» Наутилус Помпилиус Rock 1994 Россия      

В этой таблице мы можем выделить цветом интересующий нас стиль песни, например Rock.Это значительно ускорит поиск пе­сен, относящихся к этому стилю. Для закрепления материала вы­полним несколько простых заданий.

Задания

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

2. Выделите стиль одним цветом, а любимого исполнителя или груп­пу — другим.

Построив таблицу «Сведения о песнях», мы с вами создали ин­формационную модель объекта. Известно, что любой объект имеет свои параметры, характеризующие его свойства. Экземпляр объек­та со своими свойствами образует запись.

Поле — простейший объект базы данных, предназначенный для хра­нения значений одного параметра реального объекта или процесса.

Запись — совокупность логически связанных полей, характеризую­щих типичные свойства реального объекта.

Значения записи отражают свойства конкретного объекта.

Рассмотрим структуру созданной нами таблицы. Объектом в ней, как мы уже отмечали ранее, является песня, а конкретным объек­том — конкретная песня, например «Тучи». Шапка в таблице — информационная модель объекта. Запись — конкретные значения параметров (Иванушки International, Рор, 1996, Россия).

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

Таким образом, мы перешли к структурированной форме записи данных в табличной форме. Что же такое структурирование?

Структурирование данных - процесс группировки данных по определенным параметрам.

В нашем примере мы представили данные в виде таблицы, в которой записью является набор сведений об одной песне, а каждое поле содержит значения соответствующего параметра песни. Ины­ми словами, мы с вами сформировали базу данных, в которой каж­дый объект расположен в особом порядке. Чтобы отличить одну базу данных от другой, каждая из них должна иметь свое имя (в на­шем примере — «Любимые песни»). Таким образом, мы можем дать определение базы данных.

База данных — поименованная совокупность структурированных дан­ных предметной области.

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

Задания

1. Возьмите лист бумаги и создайте карточку, которая содержит сведе­ния о книге. Какие пункты в нее можно включить и с какой целью?

2. Рассмотрев сведения, записанные в карточки, приведите примеры действий, которые можно совершать над базой данных, созданной по этим карточкам.

3. Нарисуйте таблицу на листе бумаги, которая описывает предметный каталог книг (одна предметная область). Какие параметры сле­дует отобразить в столбцах этой таблицы?

4. Нарисуйте таблицы, которые описывали бы базу данных школьной библиотеки.

Контрольные вопросы

1. Что такое структурирование данных?

2. Что такое база данных?

3. Что такое поле и запись?

ВИДЫ МОДЕЛЕЙ БАЗ ДАННЫХ

Чтобы обеспечить быстроту и качество поиска данных в базе, этот процесс должен быть автоматизирован. Компьютерную базу дан­ных можно создать несколькими способами:

• С помощью алгоритмических языков программирования, та­ких как Basic, Pascal, С++ и т. д. Данный способ применяется для создания уникальных баз данных опытными программи­стами.

• С помощью прикладной среды, например Visual Basic. Дан­ный способ требует некоторых навыков работы в программ­ных средах и навыков программирования. С его помощью можно создавать базы данных, требующие каких-то индиви­дуальных особенностей построения. Создание такой базы под силу только опытным пользователям.

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

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

Система управления базами данных (СУБД) — комплекс программ­ных средств для создания баз данных, хранения и поиска в них необ­ходимой информации.

В настоящее время существует несколько видов СУБД. Наибо­лее известными и популярными СУБД являются Access, FoxPro. Каждая из этих систем обладает своими достоинствами и недостатками. Остановим свой выбор на базе данных Асеева, кото­рая входит в программный продукт Microsoft Office и является наи­более доступной для изучения в школьном курсе. Прежде чем пере­ходить к работе по созданию базы данных на компьютере, необходимо перейти от информационной модели данных, созданию которой была посвящена предыдущая тема, к модели, ориентиро­ванной на компьютерную реализацию.

База данных может быть основана на одной модели или на сово­купности нескольких моделей. Любую модель данных можно рас­сматривать как объект, который характеризуется своими свойства­ми (параметрами), и над ней, как над объектом, можно производить какие-то действия.

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

РЕЛЯЦИОННАЯ МОДЕЛЬ

Термин «реляционный» - ука­зывает прежде всего на то, что такая модель хранения данных построена на взаимоотношении составляющих ее частей. В про­стейшем случае она представляет собой двухмерный массив или двухмерную таблицу, а при создании сложных информационных моделей составит совокупность взаимосвязанных таблиц. Рассмот­рим табл. 2, в которой хранятся сведения об учениках вашей школы (фамилия, имя, отчество, год рождения, класс, номер лич­ного дела). Каждая строка такой таблицы называется записью. Каждый столбец в такой таблице называется полем. На основа­нии этой таблицы создадим базу данных школьников и назовем ее «Наша школа».

Таблица 2. Наша школа

№ лич­ного де­ла Класс Фамилия Имя Отчество Дата рожде­ния
К-25 8 «Б» Коноплев Михаил Александрович 13.10.83
M -20 9 «Б» Коннонов Алексей Алексеевич 30.03.84
У- 7 8 «Б» Украинская Татьяна Леонидовна 24.08.84
И-33 10 «А» Иванова Елена Сергеевна 14.02.81
Ф-3 9 «Б» Фонарева Анастасия Александровна 11.11.84

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

• Каждый элемент таблицы — один элемент данных.

• Все столбцы в таблице являются однородными, т. е. имеют один тип (числа, текст, дата и т. д.).

• Каждый столбец (поле) имеет уникальное имя.

• Одинаковые строки в таблице отсутствуют.

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

Рассмотрим приведенный выше пример. Данные в нем представ­лены в виде таблицы, которая содержит сведения об учениках шко­лы. Раз мы хотим создать базу данных, то данной таблице необхо­димо присвоить имя. Пусть она называется «Школа». В столбцах данной таблицы будем записывать параметры, характеризующие каждого ученика, а в строках будем записывать сведения об од­ном конкретном ученике. Каждый столбец (поле) также должен иметь свое имя. В нашем случае это: номер личного дела, класс, фамилия, имя, отчество, дата рождения. Имена полей в одной таблице не могут повторяться. Если вы хотите поместить в табли­цу телефоны (домашний и рабочий родителей), вы должны создать два поля с разными названиями, например: Телдом и Телраб.

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

• сортировку данных (например, по алфавиту);

• выборку данных по группам (например, по датам рождения или по фамилиям);

• поиск записей (например, по фамилиям) и т. д.

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

Ключ — поле, которое однозначно определяет соответствующую за­пись.

В нашем примере в качестве ключа может служить номер лич­ного дела учащегося.

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

Задания

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

2. Составьте реляционную модель табеля успеваемости учеников ваше­го класса.

ИЕРАРХИЧЕСКАЯ МОДЕЛЬ

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

Узел — информационная модель элемента, находящегося на данном уровне иерархии.

Рассмотрим иерархическую модель на примере базы данных «Наша школа», построенной нами ранее. С точки зрения иерархи­ческой модели, она должна принять следующий вид: в состав шко­лы входят классы; параллельные классы делятся по буквам, в со­став каждого класса входят конкретные ученики. Модель может быть представлена в виде схемы

представление о базах данных - student2.ru

Рис.Пример иерархической модели «Школа»

Задание

1.Опишите более подробно параметры каждого узла в иерархической модели «Школа».

Рассмотрев данный пример, мы можем записать следующие свойства иерархической модели базы данных:

• несколько узлов низшего уровня связано только с одним уз­лом высшего уровня;

• иерархическое дерево имеет только одну вершину (корень), не подчиненный никакой другой вершине;

• каждый узел имеет свое имя (идентификатор);

Существует только один путь от корневой записи к более част­ной записи данных.

В примере с базой данных «Школа» следует обратить внимание на то, что каждый узел в этой схеме удобно описывать в виде таб­лиц, т. е. применять реляционную модель. Таким образом, базы данных можно описывать совокупностью нескольких моделей.

Рассмотрим достоинства и недостатки двух предложенных мо­делей для базы данных «Школа».

Таблица. Сравнительный анализ моделей базы данных «Школа»

Реляционная модель Иерархическая модель
Достоинства
1. Быстрый поиск данных, так как все данные находятся в одной таблице. Поиск осуществляется по записям. 1. Удобный переход от одного класса к другому, который ор­ганизован с помощью кнопок, созданных в базе данных.
2. Создается только одна таблица, в которой сведения о каждом уче­нике сохранены в виде отдель­ных записей.  
3. Возможность сортировки данных и выборка по заданным условиям.    
Недостатки
1.Переход к отдельному ученику по имени возможен только в по­следовательности от одной запи­си к другой или через специаль­ный инструмент — «Поиск». 1. Необходимо создавать таблицу на каждого ученика в отдельности.
2. Затруднен поиск и сортировка данных.
3. Переход по записям одного уров­ня невозможен, необходимо выйти на предыдущий уровень и войти в другую ветвь связей.
       

СЕТЕВАЯ МОДЕЛЬ

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

Учитель (предмет, фа­милия, имя, отчество)

Класс (индекс класса, фамилия старосты)

представление о базах данных - student2.ru

Рис.Сетевая модель

Задания

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

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

Контрольные вопросы

1. Назовите виды моделей баз данных.

2. Какими параметрами характеризуется реляционная база данных?

3. Какими параметрами характеризуется иерархическая модель базы данных?

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

5. Чем отличается иерархическая модель от сетевой?

ТИПЫ ДАННЫХ

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

• Поля Фамилия, Имя, Отчество могут быть описаны при помощи текста, состоящего, как правило, из одного слова.

• Поле Дата рождения описывается при помощи даты (не числа)

• Поля № личного дела и Класс также являются текстом.

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

При работе с базой данных допустимы следующие типы данных:

° текстовый;

° поле МЕМО;

° числовой;

° дата/время;

° денежный;

° счетчик;

° логический;

° поле объекта ОLЕ.

Наши рекомендации