Технология хранения, поиска и сортировки информации
Понятие базы данных
Каждый человек в жизни многократно сталкивается с «базами данных». Это – многочисленные справочники, энциклопедии и т.п.
Базы данных представляют собой информационные модели, содержащие данные об объектах и их свойствах. Базы данных хранят информацию о группах объектов с одинаковым набором свойств.
Например, база данных «Записная книжка хранит информацию о людях, каждый из которых имеет фамилию, имя, телефон и т.д.; библиотечный каталог хранит информацию о книгах, каждая из которых имеет название, автора, год издания и т.д.
Информация в базах данных хранится в упорядоченном виде. Так, в записной книжке все записи упорядочены по алфавиту, а в библиотечном каталоге – либо по алфавиту (алфавитный каталог), либо по области знания (предметный каталог).
База данных (БД) – это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств.
Активное развитие теории баз данных началось в 1970-х гг. Особое место в ней занимает теория реляционных баз данных, разработанная Е.Коддом.
Классификация баз данных
Базы данных классифицируются:
ü по характеру хранимой информации (фактографические, документальные). Фактографические базы данных – это картотеки, а документальные – это архивы. В фактографических БД хранится краткая информация в строго определённом формате. В документальных БД – всевозможные документы;
ü по способу хранения данных (централизованные, распределённые). Вся информация в централизованных БД хранится на одном компьютере. Это может быть автономный ПК или сервер сети, к которому имеют доступ пользователи-клиенты. Распределённые БД используются в локальных и глобальных компьютерных сетях. В таком случае разные части базы данных хранятся на разных компьютерах;
ü по структуре организации данных (реляционные(табличные), иерархические, сетевые),
Иерархические базы данных.Иерархические базы данных графически могут быть представлены как перевернутое дерево, состоящее из объектов различных уровней. Первый (верхний) уровень занимает всегда один объект, второй уровень – объекты второго уровня и т.д.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении «предка» (объект более высокого уровня) к «потомку» (объект более низкого уровня); при этом «объект-предок» может не иметь «потомков» или иметь их несколько, тогда как «объект-потомок» обязательно имеет только одного «предка». Объекты, имеющие общего «предка», называются близнецами.
Иерархической базой данных является структура папок Windows, с которой можно работать, запустив «Проводник». Первый верхний уровень занимает папка «Рабочий стол». На втором уровне находятся папки «Мой компьютер», «Мои документы», «Сетевое окружение» и «Корзина», которые являются потомками папки «Рабочий стол», а между собой являются близнецами. В свою очередь, папка «Мой компьютер» является предком по отношению к папкам третьего уровня, папкам дисков (Диск 3,5 (А:), (С:), (D:) и системным папкам («Принтеры», «Панель управления» и др.).
Сетевые базы данных. Сетевая база данных является обобщением иерархической за счет допущения объектов, имеющих более одного предка, т.е. каждый элемент вышестоящего уровня может быть связан одновременно с любыми элементами следующего уровня. На связи между объектами в сетевых моделях не накладывается никаких ограничений.
Сетевой базой данных фактически является «всемирная паутина» глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую сетевую базу данных. Примером сетевой базы данных может служить таблица игр на чемпионате по футболу.
ЦСКА Спартак
Локомотив Динамо
а – иерархическая модель; б – сетевая модель; в – пример сетевой базы данных.
Реляционные (табличные) базы данных. В настоящее время предпочтение отдается реляционным базам данных.
Реляционная база данных содержит перечень объектов одного типа, т.е. объектов, имеющих одинаковый набор свойств. Такую базу данных удобно представлять в виде двумерной таблицы: в каждой ее строке последовательно размещаются значения свойств одного из объектов; каждое значение свойства – в своем столбце, озаглавленном именем свойства, например таблица с данными о студентах.
Запись базы данных – это строка таблицы, содержащая набор значений свойств, принадлежащих одному объекту.
Поле базы данных – это столбец таблицы, содержащий значения определенного свойства.
Свойства полей базы данных
Поля базы данных не просто определяют структуру базы – они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Microsoft Access.
- Имя поля – определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).
- Тип поля – определяет тип данных, которые могут содержаться в данном поле.
- Размер поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.
- Формат поля – определяет способ формирования данных в ячейках, принадлежащих полю.
- Маска ввода – определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).
- Подпись – определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).
- Значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).
- Условие на значение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).
- Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение).
- Обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы;
- Пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).
- Индексированное поле – если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.
Каждое поле характеризуется своим именем (именем соответствующего свойства), например фамилия, и типом данных представляющих значения данного свойства.
Тип поля определяется типом данных, которые оно содержит, он является одинаковым для всех записей. Так, в поле «Возраст» нельзя указать в одной записи значение 15, а в другой – 15 лет. Поля могут содержать следующие основные типы данных.
· Примечание - содержит большие текстовые массивы.
· Графика - содержит графические объекты: диаграмму, рисунок, фотографию.
- Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
- Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65535 символов). Физически текст не хранится в поле. Он хранится в другом месте базы данных, а в поле хранится указатель на него, но для пользователя такое разделение заметно не всегда.
- Числовой – тип данных для хранения действительных чисел.
- Дата/время – тип данных для хранения календарных дат и текущего времени.
- Денежный – тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы использоваться и полями числового типа, но для денежных сумм есть некоторые особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных, а не настройку числового типа.
· Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей. Эти числа не могут быть изменены пользователем.
- Логический – тип для хранения логических данных (могут принимать только два значения, например Да или Нет).
- Поле объекта OLE – специальный тип данных, предназначенный для хранения объектов OLE, например мультимедийных. Реально, конечно, такие объекты в таблице не хранятся. Как и в случае полей МЕМО, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них (иначе работа с таблицами была бы чрезвычайно замедленной).
- Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объектов в его окне.
- Мастер подстановок – это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод данных в поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка.
Каждая таблица должна содержать, по крайней мере, одно ключевое поле, содержимое которого уникально для каждой записи в этой таблице. Ключевое поле позволяет однозначно идентифицировать каждую запись в таблице.
Данные о студентах
Фамилия | Возраст | Группа | Стипендия |
Иванов | 140р. | ||
Петров | 0р. | ||
Сидоров | 140р. | ||
… | - | - | - |
Ключевое поле - это поле, значение которого однозначно определяет каждую запись в таблице.