Файл: Могилев А.В. Информатика.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 6778

Скачиваний: 51

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

151 

анализе и обработке данных. 

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

имеется  информация  о  некоторых  альбомах:  1965,  Led  Zeppelin  4,  Lp,  Help!,  Atlantic,  1971. 
Lp(England),  EMI.  1970,  Flash  Gordon,  Parlophone,  1980,  Led  Zeppelin  3,  Soundtrack,  Lp,  Atlantic. 
Этот список мало о чем говорит. Извлечь какую-либо информацию из этого набора данных прак-
тически невозможно. 

Представим данные в виде табл. 2.2. 
 

Таблица 2.2 Информация об альбомах музыкальных групп 

 

Название альбома 

Год выпуска 

Тип 

Фирма альбома 

Help! 

1965 

Lp (England) 

Parlophone 

Led Zeppelin 4 

1971 

Lp 

Atlantic 

Led Zeppelin 3 

1970 

Lp 

Atlantic 

Flash Gordon 

1980 

Soundtrack 

EMI 

 

Теперь воспринимать и использовать информацию стало гораздо удобнее. Представленная 

таблица является

 информационной моделью.

 Объектами, отраженными в этой модели, являются 

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

 

взаимосвязаны.

 

 

6.2. ВИДЫ СТРУКТУР ДАННЫХ 

 

В  информатике  совокупность  взаимосвязанных  данных  называется

  информационной

 

структурой,

  или 

структурой данных

. В нашем примере объектами модели являются музыкаль-

ные  альбомы.  Свойства  же  этих  объектов  находятся  в  столбцах  таблицы  («Название  альбома», 
«Год  выпуска»,  «Тип  альбома»,  «Фирма»),  их  называют 

атрибутами

  объектов.  Таким  образом, 

каждая строка таблицы - есть совокупность атрибутов объекта. Такую строку называют

 записью,

 

а столбец - 

полем записи

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

чить  дополнительную  информацию.  К  примеру,  нетрудно  узнать  (в  предположении,  что  наша 
табл. 2.2 заполнена данными): 

• какая группа выпустила больше альбомов за определенный период; 
• число альбомов данной группы; 
• сколько имеется альбомов типа Soundtrack (музыка к фильму); 
• какая фирма выпустила наибольшее число альбомов данной группы.  
Табличная организация данных называется также

 реляционной.

 Кроме табличной структу-

ры данных существуют другие виды структурной организации данных. 

Для 

иерархических  структур

  (рис.2.22)  характерна  подчиненность  объектов  нижнего 

уровня  объектам  верхнего  уровня.  Важно  отметить,  что  в  дереве,  между  верхними  и  нижними 
объектами, задано отношение «один ко многим» (т.е. одной группе соответствует много альбомов, 
одному альбому соответствует много песен). 

 

Рис. 2.22.

 Пример иерархической организации данных 

 

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

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


background image

 

152 

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

Сетевую структуру 

данных можно представить в виде схемы, рис. 2.23. 

 

 

Рис. 2.23.

 Пример сетевой организации данных 

Глядя на рис. 2.23, можно определить, какими инструментами владеет музыкант, является 

ли он вокалистом. В этом случае есть два уровня взаимосвязанных объектов, но отношение между 
ними «многие ко многим». 

Пусть  в  этой  сетевой  структуре  данные  о  музыкантах  и  «инструментах»  состоят  из  сле-

дующих атрибутов: музыкант - ФИО, рост, цвет волос, время рождения; инструмент- название ин-
струмента, какой фирмой изготовлен инструмент. 

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

рархическая, сети); 

• строится конкретная информационная структура. 
 

6.3. ВИДЫ БАЗ ДАННЫХ 

 

Дадим основное определение. База данных - это реализованная с помощью компьютера ин-

формационная структура (модель), отражающая состояние объектов и их отношения. 

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

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

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

делят на три рассмотренные выше типа: табличные (реляционные), сетевые, иерархические. 

Опыт использования баз данных позволяет выделить общий набор их рабочих характери-

стик: 

• 

полнота

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

(однако, не должно быть избыточной информации); 

• 

правильная  организация

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

найти необходимые сведения; 

• актуальность -

 любая база данных может быть точной и полной, если она постоянно об-

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

• 

удобство для использования

 - база данных должна быть проста и удобна в использова-

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

Соответственно  возможностям  организации  реляционных,  иерархических  и  сетевых  ин-

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


background image

 

153 

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

 

Реляционные базы данных  

 
Наиболее  распространенными  в  практике  являются  реляционные  базы  данных.  Название 

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

Всякое отношение  должно иметь  свое имя. Пусть есть отношение  с названием «Альбомы 

группы». В этом случае структура базы данных, состоящая из одной таблицы, запишется так: 

Аль-

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

 

альбома,  фирма).

 

Однако  чаще  база  данных 

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

а

 и 2.3, 

б. 

 

Таблица 2.3, 

а

 Музыкальные альбомы групп 

 

Код альбома  Код группы 

Название альбома 

Год выпуска 

Тип альбома 

Фирма 

25 

Help! 

1965 

Lp (English) 

Pariophone 

36 

Led Zeppelin 4 

l97l 

Lp 

Atlantic 

35 

Led Zeppelin 4 - 

1970 

Lp 

Atlantic 

34 

Flash Gordon 

1980 

Soundtrack 

EMI 

 

Таблица 2.3, 

б Рок

 группы 

 

Код группы 

Название группы 

Страна 

Дата создания 

Дата распада 

The Bealles 

Англия 

1963 

I970 

2  

Led Zeppelin 4  
Flash Gordon 

Англия  
Англия 

1989  
199I 


 

Эти две таблицы связаны между собой общим полем «Код группы». Поле «Код альбома» в 

таблице 2.3, 

а

 создается для того, чтобы отличать альбомы друг от друга. Это очень важно, так как 

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

Необходимость  использования  больше  одной  таблицы  станет  заметной,  если  объединить 

эти таблицы в одну (табл. 2.4). 

 

Таблица 2.4 Объединение таблиц 23 

 

Название 
группы 

Страна  Дата создания  Дата рас-

пада 

Название альбома  Год вы-

пуска 

Тип аль-
бома 

Фирма 

 

 

 

 

 

 

 

 

The Beatles  Англия  1963 

I970 

With the Beatles 

1963 

Lp 

Pariophone 

The Beatles  Англия  1963 

I970 

Please, please me  1963 

Lp 

Pariophone 

The Beatles  Англия  1963 

I970 

Rubber soul 

1963 

Lp 

Pariophone 

 

Из таблицы 2.4 видно, что при внесении в нее данных об альбомах определенной группы 

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


background image

 

154 

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

 

EMI; 

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

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

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

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

 

6.4. СОСТАВ И ФУНКЦИИ СИСТЕМ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 

 

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

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

Ниже перечислены основные функции СУБД. 
1.

  Определение  данных

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

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

2. 

Обработка  данных

  -  данные  могут  обрабатываться  самыми  различными  способами. 

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

3.

  Управление  данными

  -  можно  указать,  кому  разрешено  знакомиться  с  данными,  кор-

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

Входящие  в  состав  современных  СУБД  средства  совместно  выполняют  следующие  функ-

ции: 

• 

описание

 данных, их структуры (обычно описание данных и их структуры происходит при 

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

• 

первичный ввод, пополнение

 информации в базе данных; 

• 

удаление

 устаревшей информации из базы данных; 

• 

корректировку

 данных для поддержания их актуальности; 

• 

упорядочение (сортировку)

 данных по некоторым признакам; 

• 

поиск информации

 по некоторым признакам (для описания запросов имеется специальный 

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

• 

подготовку  и  генерацию  отчетов

  (средства  подготовки  отчетов  позволяют  создавать  и 

распечатывать сводки по заданным формам на основе информации базы данных); 

• 

защиту  информации  и  разграничение  доступа

  пользователей  к  ней  (некоторые  разделы 

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


background image

 

155 

• резервное сохранение и восстановление

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

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

• 

поддержку  интерфейса  с  пользователями,

  который  обеспечивается  средствами  ведения 

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

• наличие развитой системы помощи (подсказки), к которой в любой момент может обра-

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

•  защиту  от  необдуманных  действий,  предупреждающую  пользователя  и  предотвращаю-

щую потерю информации в случае поспешных или ошибочных команд; 

• наличие нескольких вариантов выполнения одних и тех же действий, из которых пользо-

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

• тщательно продуманную систему ведения человеко-машинного диалога, отображение ин-

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

• реляционные базы данных, 1970 - 90 гг.; 
• объектно-ориентированные базы данных, 1980 - 90 гг.; 
• интеллектуальные базы данных, 1985 - 90 гг.; 
• распределенные базы данных, начало 1990 гг.; 
• базы данных мультимедиа и виртуальной реальности настоящего времени. 
Архитектурно  СУБД  состоит  из  двух  основных  компонентов;

  языка  описания  данных

 

(ЯОД),  позволяющего  создать  схему  описания  данных  в  базе,  и

  языка  манипулирования  дан-

ными

  (ЯМД),  выполняющего  операции  с  базой  данных  (наполнение,  обновление,  удаление,  вы-

борку информации). Данные языки могут быть реализованы в виде тренажеров или интерпретато-
ров.  Помимо  ЯОД  и  ЯМД  к  СУБД  следует  отнести 

средства

  (или  языки)

  подготовки  отчетов

 

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

Язык описания данных (ЯОД) - это язык высокого уровня 

декларативного 

(непроцедурно-

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

Язык манипулирования данными (или язык запросов) представляет собой систему команд, 

например, следующего типа: 

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

заданным условиям; 

• найти в базе позицию данного и поместить туда новое  значение (или  удалить данное)  и 

т.д. 

Широкое  распространение  имеют  СУБД  для  персональных  компьютеров  типа  DBASE 

(DBASE III, IV, FoxPro, Paradox), Clipper, Clarion. Эти СУБД ориентированы на однопользователь-
ский режим работы с базой данных и имеют очень ограниченные возможности. Языки подобных 
СУБД представляют собой сочетание команд выборки, организации диалога, генерации отчетов. В 
связи с развитием компьютерных сетей, в которых персональные компьютеры выступают в каче-
стве развитых (интеллектуальных) терминалов, новые версии СУБД все в большей степени вклю-
чают в себя возможности описанного ниже языка манипулирования данными SQL. 

В последнее время стали среди СУБД популярными ACCESS (входит в состав MS Office), 

Lotus, Oracle. 

 

Язык манипулирования данными SQL