
Глава 9. Технология хранения, поиска и сортировки информации в базах данных
В настоящее время жизнь человека настолько сильно насыщена различного рода информацией, что для ее обработки требуется создание огромного количества хранилищ и банков данных различного направления. Сейчас практически любая задача связана с манипулированием информацией и данными. В данной главе нам предстоит познакомиться с основными принципами организации и обработки больших массивов данных об объектах и явлениях реального мира. Такие массивы данных вместе с программно-аппаратными средствами для их обработки называются информационными системами (ИС).
Информационные системы можно условно разделить на фактографические и документальные.
В фактографических ИС регистрируются факты - конкретные значения данных об объектах реального мира. Основная идея таких систем заключается в том, что все сведения об объектах (фамилии людей и названия предметов, числа, даты) вводятся в заранее обусловленном формате. Информация, с которой работает фактографическая ИС. имеет четкую структуру, позволяющую машине отличать одно данное от другого, поэтому фактографическая ИС способна давать однозначные ответы на запросы. Например, «Какие культурно-исторические памятники Санкт-Петербурга включены в список ЮНЕСКО?», «Кто из сотрудников фирмы имеет двух детей?» и т.д.
Документальные ИС работают с принципиально другим классом задач, которые не предполагают однозначного ответа на поставленный вопрос. Основу таких систем составляет совокупность неструктурированных текстовых документов (статьи, книги, рефераты, тексты законов) и графических объектов, снабженная формальным аппаратом поиска. Цель системы — выдать в ответ на запрос список документов или объектов, в какой-то мере удовлетворяющих сформулированным в запросе условиям. Документальная система должна по контексту определять смысл того или иного термина. Например, различать «Близнецы» (созвездие) и «Близнецы» (люди).
Следует отметить, что современные фактографические системы часто работают с неструктурированными блоками информации (текстами, графикой, звуком, видео), снабженными структурированными описателями.
Основа информационной системы - база данных (БД). База данных - это некоторое подобие электронной картотеки, электронного хранилища данных, которое хранится в компьютере в виде одного или нескольких файлов. Например, база данных сотрудников предприятия, база данных видеофильмов, база данных поликлиники.
Базы данных можно разделить иерархические, сетевые и реляционные.
Иерархическая база данных представляет собой дерево, в вершинах которого располагаются записи. Каждая из вершин связана только с одной вершиной вышестоящего уровня. Поиск данных осуществляется по одной из ветвей.
В сетевой базе данных нет ограничения связи между записями. Реляционная база данных - самая распространенная модель данных, практически все современные системы управления базами данных ориентированы именно на такое представление информации. Реляционную модель можно представить как особый метод рассмотрения данных, который включает в себя и сами данные, и способы работы и манипуляции с ними. Другими словами, в реляционных БД используются таблицы, между которыми устанавливаются связи, и информация, введенная в одну таблицу, может быть связана с одной или несколькими записями из другой таблицы.
Важным понятием в теории реляционных БД является нормализация. Ее основные принципы:
Каждая таблица состоит из однотипных строк и имеет уникальное имя.
В каждой позиции таблицы на пересечении строки и столбца находится всегда только одно значение.
В таблице не может быть одинаковых строк.
Столбцы имеют разные имена и содержат однородные значения данных (фамилии, даты, денежные суммы и т.д.)
В каждой таблице должен быть первичный ключ (ключевой столбец), который однозначно определяет любую запись.
Рассмотрим таблицы базы данных «Питание».
Таблица 9.1. Блюда
-
НомерБлюда
Блюдо
Вид
1
Салат «Пекинский»
Закуска
2
Салат «Крабовый»
Закуска
3
Шашлык
Горячее
4
Кофе
Десерт
Таблица 9.2. Продукты
-
НомерПродукта
Продукт
1
Крабовые палочки
2
Огурец
3
Майонез
4
Зелень
5
Мясо
6
Яйца
7
Капуста «Пекинская»
8
Кукуруза
9
Кофе
10
Лук
11
Сахар
Таблица 9.3. Состав
-
НомерБлюда
НомерПродукта
Вес (г)
1
1
50
1
2
40
1
3
30
1
7
80
2
1
50
2
6
20
2
8
20
2
3
30
2
2
40
3
5
180
3
4
10
3
10
10
4
9
50
4
10
5
Рассмотрим таблицу «Состав». Поле «НомерБлюда» содержит данные из таблицы «Блюда», поле «НомерПродукта» - из таблицы «Блюда». Под номером 1 у нас идет закуска «Салат «Пекинский». Рассмотрим, какие продукты используются для приготовления этой закуски. Для этого воспользуемся информацией, занесенной в поле «НомерПродукта». Итак, для приготовления «Пекинского» салата используются продукты, занесенные в таблицу «Продукты» под номерами 1,2,3,7. Это крабовые палочки, огурец, майонез и «Пекинская капуста»
Задание: Установите, какие продукты используются для приготовления остальных блюд.