ПРЕДСТАВЛЕНИЕ О БАЗАХ ДАННЫХ
Веками человечество накапливало знания, навыки работы, сведения об окружающем нас мире, другими словами — собирало информацию. Вначале информация передавалась из поколения в поколение в виде преданий и устных рассказов. Возникновение и развитие книжного дела позволило передавать и хранить информацию в более надежном письменном виде. Открытия в области электричества привели к появлению телеграфа, телефона, радио, телевидения — средств, позволяющих оперативно передавать и накапливать информацию. Развитие прогресса обусловило резкий рост информации, в связи, с чем вопрос о ее сохранении и переработке становился год от года острее. С появлением вычислительной техники значительно упростились способы хранения, а главное, обработки информации. Развитие вычислительной техники на базе микропроцессоров приводит к совершенствованию компьютеров и программного обеспечения. Появляются программы, способные обработать большие потоки информации. С помощью таких программ создаются информационные системы. Целью любой информационной системы является обработка данных об объектах и явлениях реального мира и предоставление нужной человеку информации о них. Если мы рассмотрим совокупность некоторых объектов, то сможем выделить объекты, обладающие одинаковыми свойствами. Такие объекты выделяют в отдельные классы (рыбы, мебель, ученики и т. д.). Внутри выделенного класса объекты можно упорядочивать как по общим правилам классифицирования, например по алфавиту, так и по некоторым конкретным общим признакам, например по цвету или материалу. Группировка объектов по определенным признакам значительно облегчает поиск и отбор нужной информации. Допустим, что вы желаете приобрести деревянный компьютерный стол из ореха. Для этого можно выбрать несколько способов.
Способ № 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. Составьте реляционную модель табеля успеваемости учеников вашего класса.
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ
Иерархическая модель базы данных представляет собой совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф). Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы модели таков, что несколько узлов более низкого уровня соединяется при помощи связи с одним узлом более высокого уровня.
Узел — информационная модель элемента, находящегося на данном уровне иерархии.
Рассмотрим иерархическую модель на примере базы данных «Наша школа», построенной нами ранее. С точки зрения иерархической модели, она должна принять следующий вид: в состав школы входят классы; параллельные классы делятся по буквам, в состав каждого класса входят конкретные ученики. Модель может быть представлена в виде схемы
Рис.Пример иерархической модели «Школа»
Задание
1.Опишите более подробно параметры каждого узла в иерархической модели «Школа».
Рассмотрев данный пример, мы можем записать следующие свойства иерархической модели базы данных:
• несколько узлов низшего уровня связано только с одним узлом высшего уровня;
• иерархическое дерево имеет только одну вершину (корень), не подчиненный никакой другой вершине;
• каждый узел имеет свое имя (идентификатор);
Существует только один путь от корневой записи к более частной записи данных.
В примере с базой данных «Школа» следует обратить внимание на то, что каждый узел в этой схеме удобно описывать в виде таблиц, т. е. применять реляционную модель. Таким образом, базы данных можно описывать совокупностью нескольких моделей.
Рассмотрим достоинства и недостатки двух предложенных моделей для базы данных «Школа».
Таблица. Сравнительный анализ моделей базы данных «Школа»
Реляционная модель | Иерархическая модель | ||
Достоинства | |||
1. | Быстрый поиск данных, так как все данные находятся в одной таблице. Поиск осуществляется по записям. | 1. Удобный переход от одного класса к другому, который организован с помощью кнопок, созданных в базе данных. | |
2. | Создается только одна таблица, в которой сведения о каждом ученике сохранены в виде отдельных записей. | ||
3. | Возможность сортировки данных и выборка по заданным условиям. | ||
Недостатки | |||
1.Переход к отдельному ученику по имени возможен только в последовательности от одной записи к другой или через специальный инструмент — «Поиск». | 1. Необходимо создавать таблицу на каждого ученика в отдельности. | ||
2. Затруднен поиск и сортировка данных. | |||
3. Переход по записям одного уровня невозможен, необходимо выйти на предыдущий уровень и войти в другую ветвь связей. | |||
СЕТЕВАЯ МОДЕЛЬ
Сетевая модель базы данных похожа на иерархическую. Она имеет те же основные составляющие (узел, уровень, связь), однако характер их отношений принципиально иной. В сетевой модели принята свободная связь между элементами разных уровней. В качестве примера рассмотрим базу данных, хранящую сведения о закреплении учителей-предметников за определенными классами. Видно, что один учитель может преподавать в нескольких классах и что один и тот же предмет могут вести разные учителя.
Учитель (предмет, фамилия, имя, отчество)
Класс (индекс класса, фамилия старосты)
Рис.Сетевая модель
Задания
1. Создайте на листе бумаги базу данных, которая описывала бы административное устройство какого-либо предприятия или фирмы. Какую модель базы данных лучше применить в этом случае?
2. Создайте на листе бумаги базу данных, которая описывала бы любую административную структуру.
Контрольные вопросы
1. Назовите виды моделей баз данных.
2. Какими параметрами характеризуется реляционная база данных?
3. Какими параметрами характеризуется иерархическая модель базы данных?
4. Назовите принципиальные различия между иерархической и реляционной базами данных.
5. Чем отличается иерархическая модель от сетевой?
ТИПЫ ДАННЫХ
Рассматривая предыдущую тему, мы несколько раз говорили о том, что данные в одном поле должны быть одного типа. На пример базы данных «Школа», мы можем сделать следующие выводы.
• Поля Фамилия, Имя, Отчество могут быть описаны при помощи текста, состоящего, как правило, из одного слова.
• Поле Дата рождения описывается при помощи даты (не числа)
• Поля № личного дела и Класс также являются текстом.
В поле, содержащее текст, может быть записана разная информация, которая отличается длиной записи, т. е. количеством символов. Под каждое поле в базе данных отводится определенное место в памяти компьютера, поэтому очень важно знать объем информации, который будет записан в данное поле (одно слово или длинный текст). Если вы отведете мало места под поле, то ваш: данные не поместятся в базе данных, а если вы отведете много места, то память будет перегружена и база данных будет работать медленно.
При работе с базой данных допустимы следующие типы данных:
° текстовый;
° поле МЕМО;
° числовой;
° дата/время;
° денежный;
° счетчик;
° логический;
° поле объекта ОLЕ.