Раздел: ТЕХНОЛОГИИ ХРАНЕНИЯ И ПОИСКА ИНФОРМАЦИИ
Тема: БАЗЫ ДАННЫХ
Одной из важных возможностей ЭВМ является хранение и обработка больших объемов информации, причем происходит накопление не только текстовых и графических документов (рисунки, чертежи, фотографии, географические карты), но и страниц глобальной сети HTML, звуковых и видеофайлов. Эти возможности реализуются с помощью баз данных.
База данных(БД) — совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, которые относятся к определенной предметной области.
Под даннымипонимается информация, представленная в виде, пригодном для обработки автоматическими средствами при возможном участии человека.
Под предметной областьюпонимается однородная часть реального мира, которая представляет интерес для конкретного исследования.
В качестве примера простейших БД можно назвать телефонный справочник, расписание движения поездов, сведения о сотрудниках предприятия, список цен на товары, алфавитный или предметный каталог книг в библиотеке, словарь иностранных слов, результаты сдачи сессии студентами, каталог видеозаписей, список кулинарных рецептов, каталог товаров (прайслист).
Главное достоинство электронных БД— возможность быстрого поискаи отбора информации, а также простая генерация (создание) отчета по заданной форме. Например, по номерам зачеток легко определить фамилии студентов или по фамилии писателя составить список его произведений.
Пользователей баз данных можно разделить на три категории: конечные пользователи(те, кто вводят, извлекают и используют данные), программистыи системные аналитики(те, кто пишут прикладные программы обработки данных, определяют логическую структуру БД) и администраторы.
Администраторбазы данных — это лицо, отвечающее за выработку требований к базе данных во время ее проектирования, реализацию БД в процессе создания, эффективное использование и сопровождение БД в процессе эксплуатации. Администратор взаимодействует с конечными пользователями и программистами в процессе проектирования БД, контролирует ее работоспособность, отвечает за реорганизацию и своевременное обновление информации, удаление устаревших данных и за восстановление разрушенных данных, за обеспечение безопасности и целостности данных.
Под безопасностьюданных понимают защиту данных от случайного или преднамеренного несанкционированного доступа к ним лиц, не имеющих на это права.
Под целостностьюпонимается возможность восстановления данных в случае возникновения сбоев в работе. Если БД содержит данные, используемые многими пользователями, то очень важно, чтобы данные и связи между ними не разрушались.
Программисты и системные аналитики,создавая БД, стремятся упорядочить информацию по различным признакам (реквизитам, атрибутам), для того чтобы можно было извлекать из БД информацию с произвольным сочетанием признаков.
В современной технологии использования баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляется с помощью специального программного обеспечения — систем управления базами данных.
Системы управления базами данных(СУБД)— пакет программ, обеспечивающих создание БД и организацию данных. СУБД позволяют вводить, отбирать и редактировать данные. СУБД предоставляют средства для извлечения данных по определенному критерию (требованию, правилу). СУБД дают возможность конечным пользователям осуществлять непосредственное управление данными, а программистам и системным аналитикам быстро разрабатывать более совершенные программные средства их обработки.
Рассмотрим существующие классификации баз данных.
По технологии обработки данных БД подразделяются на централизованные и распределенные.
ЦентрализованнаяБД хранится в памяти одной ЭВМ.
РаспределеннаяБД состоит из нескольких частей (возможно, пересекающихся или даже дублирующих друг друга), хранящихся на различных ЭВМ вычислительной сети.
По способу установления связей между данными различают реляционные, иерархические и сетевые БД.
РеляционнаяБД является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин отношение (relation), который и дал название этой БД. Для нее имеется развитый математический аппарат— реляционное исчисление и реляционная алгебра, где определены такие математические операции, как объединение, вычитание, пересечение, соединение и др.
Существенный вклад в разработку БД этого типа сделал американский ученый Е. Кодд(Е. Codd).
Достоинством реляционной БД является сравнительная простота инструментальных средств ее поддержки, недостатком — жесткость структуры данных (невозможность, например, задания строк таблицы произвольной длины) и зависимость скорости ее работы от размера базы данных. Для многих операций, определенных в такой БД, может оказаться необходимым просмотр всей БД.
Иерархическаяи сетеваяБД предполагают наличие связей между данными, имеющими какой-либо общий признак. В иерархической БД такие связи могут быть отражены в виде дерева-графа, где возможны только односторонние связи от старших вершин к младшим. Это ускоряет доступ к необходимой информации, но только если все возможные запросы отражены в структуре дерева. Никакие иные запросы на извлечение информации не будут удовлетворены.
Указанный недостаток снят в сетевой БД, в которой (по крайней мере, теоретически) возможны связи «всех со всеми». Поскольку на практике это осуществить невозможно, приходится прибегать к некоторым ограничениям. Использование иерархической и сетевой БД ускоряет доступ к информации в базе данных. Каждый элемент данных должен содержать ссылки на некоторые другие элементы. По этой причине требуются значительные ресурсы как дисковой, так и оперативной памяти ЭВМ.
Сведения о некоторых СУБД приведены в таблице 1.
Рассмотрим основные понятия и компоненты реляционных БД (например, MS Access), которые в настоящее время имеют наибольшее коммерческое использование.
Реляционная БД ориентирована на организацию данных в виде двумерных таблиц-отношений.Каждая таблица представляет собой двумерный массив и обладает следующими свойствами:
· каждый элемент таблицы — это один элемент данных;
· все столбцы в таблице однородные, т. е. все элементы в столбце имеют одинаковые длину и тип (числовой, символьный и т. д.);
· каждый столбец имеет уникальное имя;
· одинаковые строки в таблице отсутствуют;
· порядок следования строк и столбцов может быть произвольным.
Таблица— это набор данных по конкретной теме (предметной области), например, сведения о студентах высшего учебного заведения. Данные в таблице располагаются в столбцах (полях)и строках (записях).
Поле— это элементарная единица логической организации данных, которая соответствует отдельной, неделимой единице информации — атрибуту.Каждому полю дается имя поля (идентификатор поля внутри записи), например «Фамилия».
Запись— это совокупность логически связанных полей.
В реляционном подходе к построению баз данных используется терминология теории отношений. Столбец таблицы со значениями соответствующего атрибута называется доменом,а строка со значениями разных атрибутов — кортежем.
Итак, для реляционных БД существует несколько равноправных терминов: столбец может называться полем или доменом, а строка — записью или кортежем.
Каждая запись должна однозначно идентифицироваться (определяться) уникальным ключом записи.В общем случае ключи записи бывают двух видов: первичный (уникальный) и вторичный.
Первичный ключ— это одно или несколько полей, однозначно идентифицирующих запись. Если первичный ключ состоит из одного поля, он называется простым,если из нескольких полей — составнымключом.
Вторичный ключ— это такое поле, значение которого может повторяться в нескольких записях, т. е. он не является уникальным. Если по значению первичного ключа может быть найден один-единственный экземпляр записи, то по вторичному ключу — несколько записей.
Одной из основных характеристик БД является набор допустимых типов данных, которые могут содержаться в полях записей. За каждым полем записи строго закреплен конкретный тип данных, определяющий ограниченный набор применимых к нему операций. К типам данных относятся: символьный (текстовый), числовой, булевский (логический), денежный, дата, время, связанный по технологии OLE объект.
В реляционной БД содержится, как правило, несколько таблиц с различными сведениями. Разработчик БД устанавливает связи между отдельными таблицами. При создании связей используют ключевые поля. После установления связей появляется возможность создания запросов, форм и отчетов, в которые помещаются данные из нескольких связанных между собой таблиц.
Для отбора данных из БД, удовлетворяющих определенным условиям, создается запрос. Запрос— это инструкция для отбора нужных сведений из данной БД в соответствии с определенными условиями, которые порой называют критериями.
Большинство СУБД разрешают использовать запросы следующих типов:
• запрос-выборка,предназначенный для отбора данных, хранящихся в таблицах, причем этот вид запроса не изменяет эти данные;
• запрос-изменение,предназначенный для перемещения данных или их модификации (добавление, удаление, обновление записей);
• перекрестный запрос,предназначенный для отображения результатов статистических расчетов (суммы, количества записей, среднего значения), которые группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк;
• подчиненный запрос,включающий в себя инструкцию, находящуюся внутри другого запроса на выборку или изменение.
Запросможно формировать с использованием логических (булевых) операций И (AND), ИЛИ (OR), HE (NOT).
Формапозволяет отобрать данные из одной или нескольких таблиц и вывести их на экран, используя стандартный или созданный пользователем макет. При этом формы могут воссоздавать привычные для конечного пользователя документы. Формы используются не только для вывода данных из БД, но также (и, пожалуй, чаще) и для ввода данных. Содержание формы изменяется пользователем в зависимости от стоящей перед ним задачи.
Отчетсодержит ту информацию из БД, которая должна быть представлена в виде итогового документа. Обычно отчет представляется в напечатанном на бумаге виде (в отличие от таблиц, запросов и форм, которые чаще всего отображаются лишь на экране дисплея).
Нестандартная обработка данных может быть произведена с помощью макросов(последовательности нескольких команд, вызываемых нажатием одной клавиши) либо с помощью программ, написанных на языке Access Visual Basic.Такие программы часто называют модулями.
Для обработки информации в MS Access также используется специализированный язык SQL (Structured Query Language - структурированный язык запросов).
Заметим, что существенным достоинством СУБД MS Access является возможность решать множество прикладных задач без составления программ на специализированных языках.
Современные СУБД позволяют работать с огромными объемами информации. По некоторым оценкам, за последние 15 лет размеры баз данных выросли на два порядка, и процесс этот продолжается. Сегодня стандартными считаются базы данных объемом в 1—10 Гбайт, а некоторые из них перешагнули рубеж 100 Гбайт. По прогнозам специалистов, развитие крупных информационно-поисковых систем и хранилищ данных приведет к созданию БД, вмещающих свыше 10 Тбайт.
Отношения между таблицами (Схемы данных)
Реляционные базы данных состоят из нескольких таблиц, связь между которыми устанавливается с помощью совпадающих полей. Каждая запись в таблицах идентифицирует один объект. Отношение между объектами определяет отношение между таблицами. Существует 3 типа отношений:
Отношение «один к одному» означает, что каждая запись в одной таблице соответствует только одной записи в другой, таблице. Одному гражданину страны соответствует только один паспорта, в то же время как один номер паспорта соответствует только одному человеку.
Отношение «один ко многим» означает, что каждой записи в одной таблице соответствует одна или несколько записей в другой таблице. Один абитуриент может поступать во многие вузы, и в то же время в один вуз может поступать много абитуриентов.
Отношение «многие ко многим» возникает между двумя таблицами в тех случаях, когда:
* одна запись из первой таблицы может быть связана более чем с одной записью из второй таблицы;
* одна запись из второй таблицы может быть связана более чем с одной записью из первой таблицы.
Например, связь между преподавателями и группами студентов. Несколько преподавателей ведут занятия в нескольких группах, и несколько групп занимаются у нескольких преподавателей. В большинстве случаев любые две таблицы связаны отношением «один ко многим».
Контрольные вопросы
1. Какие программы входят в состав MS Office?
2. Что называется базой данных (БД)?
3. Приведите примеры БД.
4. Что такое система управления базами данных (СУБД)?
5. Что такое реляционная БД?
6. Что такое иерархическая БД?
7. Что такое сетевая БД?
8. Назовите реляционные СУБД.
9. Что называется таблицей в реляционных БД?
10.Что такое поле?
11.Что называется записью?
12.Что называется первичным ключом?
13.Что называется простым ключом?
14.Что называется составным ключом?
15. Что такое запрос-выборка?
16. Что такое запрос-изменение?
17. Что такое перекрестный запрос?
18. Что такое подчиненный запрос?
19. Что такое форма, отчет?
20. Как произвести вычисления в СУБД MS Access?
21. Назовите типы данных, используемые в MS Access.
22. Опишите порядок работы с конструктором таблиц.
23. Опишите порядок создания многотабличных БД.