15.1. Основные понятия
База данных
Виды моделей данных
БАЗА ДАННЫХ
Общие положения
Цель любой информационной системы – обработка данных об объектах реального мира. В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и в конечном счете автоматизации, например, предприятие, вуз и т.д.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы.
Структурирование – это введение соглашений о способах представления данных.
Неструктурированными называют данные, записанные, например, в текстовом файле.
Пример 15.1. На рис. 15.1 пример неструктурированных данных, содержащих сведения о студентах (номер личного дела, фамилию, имя, отчество и год рождения). Легко убедиться, что сложно организовать поиск необходимых данных, хранящихся в неструктурированном виде, а упорядочить подобную информацию практически не представляется реальным.
Личное дело № 16493, Сергеев Петр Михайлович, дата рождения 1 января 1976 г.; Л/д № 16593, Петрова Анна Владимировна, дата рожд. 15 марта 1975 г.; № личн. дела 16693, д.р. 14.04.76, Анохин Андрей Борисович. |
Рис. 15.1. Пример неструктурированных данных
Чтобы автоматизировать поиск и систематизировать эти данные, необходимо выработать определенные соглашения о способах представления данных, т.е. дату рождения нужно записывать одинаково для каждого студента, она должна иметь одинаковую длину и определенное место среди остальной информации. Эти же замечания справедливы и для остальных данных (номер личного дела, фамилия, имя, отчество).
Пример 15.2. После проведения несложной структуризации с информацией, указанной в примере (рис. 15.1), она будет выглядеть так, как это показано на рис. 15.2.
№ личного дела | Фамилия | Имя | Отчество | Дата рождения |
16493 | Сергеев | Петр | Михайлович | 01.01.76 |
16593 | Петрова | Анна | Владимировна | 15.03.75 |
16693 | Анохин | Андрей | Борисович | 14.04.76 |
Рис. 15.2. Пример структурированных данных
Пользователями базы данных могут быть различные прикладные программы, программные комплексы, а также специалисты предметной области, выступающие в роли потребителей или источников данных, называемые конечными пользователями.
В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария – системы управления базами данных.
База данных (БД) – это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Система управления базами данных (СУБД) – это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Централизованный характер управления данными в базе данных предполагает необходимость существования некоторого лица (группы лиц), на которое возлагаются функции администрирования данными, хранимыми в базе.
Классификация баз данных
По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
файл-сервер;
клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут создавать также на рабочих станциях локальные БД, которые используются ими монопольно. Концепция файл-сервер условно отображена на рис. 15.3.
Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL. Концепция клиент-сервер условно изображена на рис. 15.4.
Рис. 15.3. Схема обработки информации в БД по принципу файл-сервер
Рис. 15.4. Схема обработки информации в БД по принципу клиент-сервер
Структурные элементы базы данных
Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле, запись, файл (таблица) (рис. 15.5).
Поле – элементарная единица логической организации данных, которая соответствует неделимой единице информации – реквизиту. Для описания поля используются следующие характеристики:
имя, например, Фамилия, Имя, Отчество, Дата рождения;
тип, например, символьный, числовой, календарный;
длина, например, 15 байт, причем будет определяться максимально возможным количеством символов;
точность для числовых данных, например два десятичных знака для отображения дробной части числа.
Рис. 15.5. Основные структурные элементы БД
Запись – совокупность логически связанных полей. Экземпляр записи – отдельная реализация записи, содержащая конкретные значения ее полей. Файл (таблица) – совокупность экземпляров записей одной структуры.
Описание логической структуры записи файла содержит последовательность расположения полей записи и их основные характеристики, как это показано на рис. 15.6.
Имя файла | |||||
Поле | Признак ключа | Формат поля | |||
Имя (обозначение) | Полное наименование |
| Тип | Длина | Точность (для чисел) |
имя 1 |
|
|
|
|
|
... |
|
|
|
|
|
имя n |
|
|
|
|
|
Рис. 15.6. Описание логической структуры записи файла
В структуре записи файла указываются поля, значения которых являются ключами: первичными (ПК), которые идентифицируют экземпляр записи, и вторичными (ВК), которые выполняют роль поисковых или группировочных признаков (по значению вторичного ключа можно найти несколько записей).
Пример 15.3. На рис. 15.7 приведен пример описания логической структуры записи файла (таблицы) СТУДЕНТ, содержимое которого приводится на рис 15.2. Структура записи файла СТУДЕНТ линейная, она содержит записи фиксированной длины. Повторяющиеся группы значений полей в записи отсутствуют. Обращение к значению поля производится по его номеру.
-
Имя файла: СТУДЕНТ
Поле
Признак ключа
Формат поля
Обозначение
Наименование
Тип
Длина
Точность
Номер
№ личного дела
*
Симв
5
Фамилия
Фамилия студента
Симв
15
Имя
Имя студента
Симв
10
Отчество
Отчество студента
Симв
15
Дата
Дата рождения
Дата
8
Рис. 15.7. Описание логической структуры записи файла СТУДЕНТ
ВИДЫ МОДЕЛЕЙ ДАННЫХ
Общие положения
Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности и операций манипулирования данными. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
Модель данных - совокупность структур данных и операций их обработки.
СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве [1].
Рассмотрим три основных типа моделей данных: иерархическую, сетевую и реляционную.
Иерархическая модель данных
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево), вид которого представлен на рис. 15.8.
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел – это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рис. 15.8, для записи С4 путь проходит через записи А и В3.
Рис. 15.8. Графическое изображение иерархической структуры БД
Пример 15.4. Пример, представленный на рис. 15.9, иллюстрирует использование иерархической модели базы данных.
Для рассматриваемого примера иерархическая структура правомерна, так как каждый студент учится в определенной (только одной) группе, которая относится к определенному (только одному) институту.
Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
На рис. 15.10 изображена сетевая структура базы данных в виде графа.
Пример 15.5. Примером сложной сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС. Графическое изображение описанной в примере сетевой структуры, состоящей только из двух типов записей, показано на рис. 15.11. Единственное отношение представляет собой сложную связь между записями в обоих направлениях.
Рис. 15.9. Пример иерархической структуры БД
Рис. 15.10. Графическое изображение сетевой структуры
Рис. 15.11. Пример сетевой структуры БД
Реляционная модель данных
Понятие реляционный (англ. relation – отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
"каждый элемент таблицы – один элемент данных;
все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
каждый столбец имеет уникальное имя;
одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов может быть произвольным.
Пример 15.6. Реляционной таблицей можно представить информацию о студентах, обучающихся в вузе (рис. 15.12).
-
№ личного дела
Фамилия
Имя
Отчество
Дата рождения
Группа
16493
Сергеев
Петр
Михайлович
01.01.76
111
16593
Петрова
Анна
Владимировна
15.03.75
112
16693
Анохин
Андрей
Борисович
14.04.76
111
Рис. 15.12. Пример реляционной таблицы
Отношения представлены в виде таблиц, строки которых соответствуют кортежам или записям, а столбцы – атрибутам отношений, доменам, полям.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ. В примере, показанном на рис. 15.12, ключевым полем таблицы является "№ личного дела".
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в структуру первой таблицы внешний ключ – ключ второй таблицы.
Пример 15.7. На рис. 15.13 показан пример реляционной модели, построенной на основе отношений: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.
Рис. 15.13. Пример реляционной модели
СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения, Группа); СЕССИЯ (Номер, Оценка1, Оценка2, Оценка3, Оценка4, Результат); СТИПЕНДИЯ (Результат, Процент).
Таблицы СТУДЕНТ И СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность легко организовать связь между ними. Таблица СЕССИЯ имеет первичный ключ Номер и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей СТИПЕНДИЯ.
- Информатика
- К читателю
- Предисловие
- От всей души желаем вам успехов!
- 1.1. Информатизация общества
- Опыт информатизации и перспективные идеи
- 1.2. Информационный потенциал общества
- Рынок информационных продуктов и услуг
- Правовое регулирование на информационном рынке
- 1.3. Информатика – предмет и задачи
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- 2 Глава. Измерение и представление информации
- 2.1. Информация и ее свойства
- 2.2. Классификация и кодирование информации
- 2.1. Информация и ее свойства
- 2.2. Классификация и кодирование информации
- Фасетная система классификации
- Дескрипторная система классификации
- Система кодирования
- Классификационное кодирование
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- После изучения главы вы должны знать:
- 3.1. Информационные системы
- Понятие информационной системы
- Персонал организации
- 3.2. Структура и классификация информационных систем
- Информационные системы для менеджеров среднего звена
- 3.3. Информационные технологии
- Как соотносятся информационная технология и информационная система
- 3.4. Виды информационных технологий
- Характеристика и назначение
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 4. Архитектура персонального компьютера
- После изучения главы вы должны знать:
- 4.1. Информационно-логические основы построения
- 4.2. Функционально-структурная организация
- 4.3. Микропроцессоры
- 4.4. Запоминающие устройства пк
- Накопители на жестких магнитных дисках
- 4.5. Основные внешние устройства пк
- 4.6. Рекомендации по выбору персонального компьютера
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 5. Состояние и тенденции развития эвм
- После изучения главы вы должны знать:
- 5.1. Классификация эвм Классификация эвм по принципу действия
- Классификация эвм по размерам и функциональным возможностям
- 5.2. Большие эвм
- 5.3. Малые эвм
- 5.4. Персональные компьютеры
- 5.5. Суперэвм
- 5.6. Серверы
- 5.7. Переносные компьютеры
- 5.8. Тенденции развития вычислительных систем
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 6. Компьютерные сети
- После изучения главы вы должны знать:
- 6.1. Коммуникационная среда и передача данных
- 6.2. Архитектура компьютерных сетей
- 6.3. Локальные вычислительные сети
- Управление взаимодействием устройств в сети
- 6.4. Глобальная сетьinternet
- 6.5. Локальная вычислительная сетьnovellnetware
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 7. Офисная техника
- После изучения главы вы должны знать:
- 7.1. Классификация офисной техники
- 7.2. Средства изготовления, хранения, транспортирования и обработки документов
- Средства транспортирования документов
- 7.3. Средства копирования и размножения документов
- 7.4. Средства административно-управленческой связи
- Системы передачи недокументированной информации
- Дейтефонная связь
- 7.5. Компьютерные системы в оргтехнике
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 8. Состояние и тенденции развития программного обеспечения
- 8.1. Программные продукты и их основные характеристики
- 8.2. Классификация программных продуктов
- После изучения главы вы должны знать:
- 8.1. Программные продукты и их основные характеристики
- 8.2. Классификация программных продуктов
- Сервисное программное обеспечение
- Офисные ппп
- Системы искусственного интеллекта
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 9. Операционная система ms dos
- 9.1. Основные понятия
- 9.2. Характеристика ms dos
- 9.3. Технология работы в ms dos
- 9.1. Основные понятия
- 9.2. Характеристикаmsdos
- 9.3. Технология работы вmsdos
- Формат команды объединения нескольких файлов
- Форматы команд для обмена данными между внешним устройством и файлом, хранящимся на диске
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 10. Norton commander – инструментарий работы в среде ms dos
- После изучения главы вы должны знать:
- 10.1. Общие сведения
- 10.2. Работа с панелями информационного окна
- 10.3. Управление пакетом при помощи функциональных клавиш и ниспадающего меню
- 10.4. Вспомогательный инструментарий пакета
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- После изучения главы вы должны знать:
- 11.1. Программы-архиваторы
- 11.2. Программы обслуживания магнитных дисков
- Проблема фрагментации дисков
- 11.3. Антивирусные программные средства
- Программы обнаружения и защиты от вирусов
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глaba12. Операционные системыwindows95 иwindows98
- После изучения главы вы должны знать:
- 12.1. Концепция операционных системwindows95 иwindows98
- 32-Разрядная архитектура
- 12.2. Объектно-ориентированная платформаwindows
- Назначение Рабочего стола
- 12.3. Организация обмена данными
- Внедрение объекта
- 12.4. Программные средстваwindows98
- Комплекс программ Связь
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 13. Текстовый процессор
- 13.1. Базовые возможности
- 13.2. Работа с текстом
- 13.3. Работа издательских систем
- После изучения главы вы должны знать:
- 13.1. Базовые возможности
- 13.2. Работа с текстом
- 13.3. Работа издательских систем
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 14. Табличный процессор
- 14.1. Основные понятия
- 14.2. Функциональные возможности табличных процессоров
- 14.3. Технология работы в электронной таблице
- После изучения главы вы должны знать:
- 14.1. Основные понятия
- Окно, рабочая книга, лист
- Перемещение формул
- 14.2. Функциональные возможности табличных процессоров
- Команды для работы с электронной таблицей как с базой данных
- 14.3. Технология работы в электронной таблице
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 15. Система управления базой данных
- После изучения главы вы должны знать:
- 15.1. Основные понятия
- 15.2. Реляционный подход к построению инфологической модели
- 15.3. Функциональные возможности субд
- 15.4. Основы технологии работы в субд
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 16. Интеллектуальные системы
- 16.1. Введение в искусственный интеллект
- 16.2. Экспертные системы: структура и классификация
- 16.3. Технология разработки экспертных систем
- После изучения главы вы должны знать:
- 16.1. Введение в искусственный интеллект
- История развития искусственного интеллекта в России
- 16.2. Экспертные системы: структура и классификация
- 16.3. Технология разработки экспертных систем
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 17. Инженерия знаний
- 17.1. Теоретические аспекты получения знаний
- 17.2. Практические методы извлечения знаний
- 17.3. Структурирование знаний
- После изучения главы вы должны знать:
- 17.1. Теоретические аспекты получения знаний
- 17.2. Практические методы извлечения знаний
- 17.3. Структурирование знаний
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Глава 18. Создание программного продукта
- 18.1. Методология проектирования программных продуктов
- 18.2. Структурное проектирование и программирование
- 18.3. Объектно-ориентированное проектирование
- После изучения главы вы должны знать:
- 18.1. Методология проектирования программных продуктов
- Этапы создания программных продуктов
- 1. Составление технического задания на программирование
- 2. Технический проект
- 3. Рабочая документация (рабочий проект)
- 4. Ввод в действие
- 18.2. Структурное проектирование и программирование
- 18.3. Объектно-ориентированное проектирование
- Методика объектно-ориентированного проектирования
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- После изучения главы вы должны знать:
- 19.1. Автоматизация работы пользователя в средеmicrosoftoffice
- 19.2. Создание приложений на языкеvisualbasicforapplications
- 19.3. Реляционные языки манипулирования данными
- Ключевые понятия
- Вопросы для самопроверки
- Литература
- Макарова Наталья Владимировна
- Матвеев Леонид Анатольевич
- Бройдо Владимир Львович и др.
- Информатика
- 101000, Москва, ул. Покровка, 7
- Глава 13. Текстовый процессор 425