Системы автоматизированного

Хранения информации.

Базы данных. СУБД

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


Заметим, что очень часто одни и те же данные использу­ются для решения различных задач. Или же данные могут быть разные, но процедуры их размещения, хранения, поис­ка, обработки — одни и те же.

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

Пример. Хранилищем данных является ваш классный журнал. Наименование этого хранилища данных — название ва­шего класса и номер учебного года. Например: «11 б класс 2002/2003 учебный год». Данными в нем являют­ся фамилии учеников класса, названия изучаемых пред­метов, фамилии преподавателей, даты проведения заня­тий, текущие, четвертные и годовые оценки, краткий перечень пройденного материала. Также данными могут быть сведения о родителях, домашние адреса, отметки о пропусках занятий.

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

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

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


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

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

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

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

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

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

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


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

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

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

Логическая организация представляет собой модель структуры всей совокупности данных (ориентирована на че­ловека). По сути, это способ объединения данных в записи, это «взгляд» на данные с точки зрения их использования в прикладных программах.

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

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

 

ФИО Год рождения Факультет Кафедра Должность
Илюшин И. И. эконом. БУиА ассистент
Ипатов С. С. технолог. тмм профессор
Кедров К. К. архитект. пгс доцент

Данные о структуре управления удобно представлять в виде дерева (рис 2.3.1).

Рис. 2.3.1

Пример иерархической модели данных


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

Рис. 2.3.2

Пример сетевой модели данных

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

Наиболее распространены реляционные СУБД. Это такие известные программные средства, как dBASE, Ребус, Lotus, FoxPro, Clipper, Access, Paradox и многие другие.

К СУБД иерархического типа можно отнести многие сис­темы управления файлами, в частности Norton Commander, Far Manager, Диспетчер файлов и пр. Большинство СУБД, предназначенных для создания и ведения библиотечных баз данных, также имеют иерархический тип.

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

Рассмотрим несколько подробнее реляционные БД.

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


Рис. 2.3.3

Элементы табличной структуры данных

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

Наиме­нование товара Фирма-произво­дитель Дата поступл. партии Объем партии Цена изделия Наличие гарантии Гаран­тийный срок
               

1|2Гз|4|5|б| 7 I 8 ~
№ Найме- Фирма- Дата Объем Цена Наличие Гаран-
нование произво- поступл. партии изделия гарантии тийный
товара дитель партии___________________________________ срок_____

Поле 1 — номер по порядку. Часто используется как

уникальный ключ записи.

Поля 2, 3 предназначены для записи символьных строк.

Поле 4 — поле даты.

Поля 5, 8 — поля числового типа.

Поле б — поле денежного типа.

Поле 7 — поле логического типа.

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

Современная СУБД должна обеспечивать работу прило­жений и пользователей с информационной моделью:

• на ЭВМ разной архитектуры с установленными на них различными операционными системами;

• в компьютерных сетях разных типов, работающих по раз­личным протоколам;

• с различными графическими и символьными системами представления информации.


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

При создании и ведении базы данных необходимо учиты­вать следующие требования:

• адекватность информации состоянию предметной облас­ти. Информация, хранимая в БД, должна полно и точно отражать объекты описываемой предметной области, их свойства и отношения. Отсюда вытекает необходимость периодического внесения изменений в данные — добавле­ния описания для новых объектов, корректировки для изменившихся, удаления для «выбывших»;

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

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

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

• непротиворечивость данных;

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

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


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

Пример.Чтобы с помощью описанной выше базы данных магази­на узнать, товар на какую сумму поступил в первом квартале 2002 года, в запросе надо указать, что отбира­ются только те записи, для которых значение реквизи­тов 4-го поля лежат в интервале от 1.01.2002 до 31.03.2002, и что затем надо суммировать произведения значений 5-го и 6-го полей.

Чтобы определить, какая часть поступивших процессо­ров фирмы Intel подлежит гарантийному обслуживанию, необходимо в запросе указать, что реквизит 2-го поля от­бираемых записей должен совпадать со строкой «процес­сор», реквизит 3-го поля должен совпадать со строкой «Intel», реквизит 7-го поля должен быть равен True (ис­тина) и что затем надо разделить количество отобранных записей, удовлетворяющих всем указанным условиям, на общее количество записей.

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

База данных(database) — множество данных, организо­ванных для быстрого и удобного поиска и извлечения.

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


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

База данных является информационной моделью предмет­ной области.

Существуют два уровня организации базы данных — фи­зический и логический.

Физическая организациябазы данных — это способ представления, размещения и хранения даных на носителе.

Логическая организациябазы данных есть модель струк­туры совокупности данных, способ объединения данных в записи.

Система управления базами данных(database manage­ment system) — совокупность программ и языковых средств, предназначенных для создания, ведения и использования баз данных.

В состав СУБДвходят:

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

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

сервисные программы, обеспечивающие удобный для по­льзователя интерфейс;

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

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

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

Банк данных(databank) — автоматизированная инфор­мационная система централизованного хранения и коллек­тивного многоцелевого использования данных.

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


Рис. 2.3.4

Компоненты и способы организации банков данных

Администраторбаз данных — специалист (или группа специалистов), контролирующий проектирование и исполь­зование баз данных.

В функции администратора БД входят:

• разработка модели предметной области и определение структуры БД;

• изменение структуры БД;

• обеспечение эффективной работы БД в данной организа­
ции;

• контроль за целостностью БД и ее своевременным обнов­
лением;

• регистрация подключения к системе новыхпользовате­лей;

• контроль за полномочиями пользователей;

• обеспечение надежности функционирования;

• защита от несанкционированного доступа.

Задание 1

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


ской) в наибольшей степени соответствует данной предметной области? Какие задачи вы можете решить с помощью этой базы данных, если она будет наполнена? Как часто вам придется ее об­новлять? Что вам потребуется сделать, если вы решите перенес­ти ее на компьютер? Какую СУБД вы выберете для ее создания и ведения и почему?

Задание 2

Если на вашем компьютере установлена СУБД, то:

а) определите, к какому типу она относится;

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

в) исследуйте интерфейс и выясните способы создания, наполне­
ния и редактирования базы данных;

г) выясните, какой язык запросов поддерживает СУБД;

д) откройте существующую БД, сформулируйте запрос и проана­
лизируйте полученный результат.

Задание 3

Создайте и заполните базу данных «Расписание занятий». Если на вашем компьютере СУБД не установлена, используйте для этой цели электронные таблицы.

Задание 4

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

Разработайте структуры базы данных «Каталог библиотеки» в расчете на реляционную СУБД и на иерархическую СУБД.

Задание 5

При создании структуры базы данных часто можно не только указать тип каждого поля, но и диапазон возможных значений. Например, если создается база данных «Учащиеся школы», то на значения поля «Год рождения» можно наложить ограниче­ние, чтобы возраст учащихся был от 6 до 18 лет. Для кого такого рода ограничения предназначены в большей сте­пени — для администратора БД или ее пользователя? Выполне­ние какого требования к БД обеспечивают эти ограничения? От­вет обоснуйте.


Есть ли разница между понятиями «информация» и «данные» по отношению к базам данных?

Есть ли разница между тезаурусом некоторой предметной области и банком данных этой же области?

Примечание. Тезаурус (общественный, коллективный, индивидуальный) — упорядоченная совокупность знаний о данной предметной области, которыми на определенный мо­мент располагает общество, коллектив или индивидум.

Использование модели данных при работе с БД неизбеж­но по нескольким причинам.

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

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

За время существования разработок программных систем предложено много различных моделей разной степени рас­пространенности .