- •Министерство образования и науки рф Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
- •Введение в базы данных
- •Учебное пособие
- •Воронеж 2012
- •Понятие информационной системы
- •Процессы в информационной системе
- •Этапы развития информационных систем
- •Структура информационной системы. Типы обеспечивающих подсистем
- •Математическое и программное обеспечение
- •Правовое обеспечение
- •Классификация информационных систем по признаку структурированности задач
- •Понятие структурированности задач
- •Типы информационных систем, используемые
- •Классификация ис по характеру использования информации
- •Классификация ис по сфере применения
- •Классификация ис по степени автоматизации
- •Контрольные вопросы
- •2. Введение в субд
- •2.1. Понятие базы и банка данных
- •2.2. Средства реализации баз данных
- •2.2.1. Программные средства банка данных
- •2.2.2. Языковые средства
- •2.2.3. Технические и организационно-методические средства
- •2.2.4. Требования к банкам данных
- •2.3. Функции субд
- •2.4. Классификация банков данных
- •2.4.1. Классификация баз данных
- •2.4.2. Классификация субд
- •2.4.3. Классификация БнД по экономико-организационным признакам
- •2.5. Концепция централизованного управления
- •Преимущества централизованного управления данными
- •2.6. Трехуровневая архитектура системы баз данных
- •2.7. Пользователи банков данных
- •2.8. Архитектура клиент/сервер
- •Контрольные вопросы
- •3. Модели и типы данных
- •3.1. Иерархическая модель
- •3.2. Сетевая модель
- •3.3. Реляционная модель
- •3.4. Постреляционная модель
- •3.5. Многомерная модель
- •3.6. Типы данных
- •Контрольные вопросы
- •4. Применение Баз данных в корпоративных информационных системах
- •4.1. Корпоративная информационная система
- •Контуром оперативного управления
- •4.2. Контур административного управления
- •4.2.1. Наполнение баз данных на примере модуля «Управление персоналом»
- •4.3. Контур оперативного управления
- •4.3.1. Пример организации модуля «Управление продажами (сбыт)»
- •Базы данных модуля «Автотранспорт»
- •4.4. Контур бухгалтерского учета
- •Контрольные вопросы
- •5. Справочно-правовые базы данных
- •5.1. Общая характеристика справочно-правовых баз
- •5.2. Наиболее популярные юридические базы данных
- •5.2.1. База юсис
- •5.2.2. Информационно-поисковая система "Кодекс"
- •5.2.3. Справочно-правовая система "Гарант"
- •5.2.4. Справочно-правовая система «Консультант Плюс»
- •5.2.5. Программный комплекс "Эталон"
- •Контрольные вопросы
- •6. Проектирование баз данных
- •6.1. Этапы проектирования
- •6.2. Инфологическое моделирование
- •6.2.1. Компоненты инфологической модели Модель «сущность — связь»
- •6.2.2. Классификация бинарных связей
- •6.2.3. Моделирование локальных представлений
- •6.2.4. Объединение моделей локальных представлений
- •6.3. Даталогическое проектирование
- •6.4. Проектирование реляционных баз данных
- •6.5. Нормализация отношений
- •Контрольные вопросы
- •7. Реляционная модель данных
- •Общие понятия
- •7.2. Реляционные объекты данных
- •7.2.1. Основные понятия
- •7.2.2. Фундаментальные свойства отношений
- •7.2.3. Виды отношений
- •Целостность реляционных данных
- •Реляционные операторы
- •7.4.1. Реляционная алгебра
- •Примеры использования реляционной алгебры для выражения словесных запросов в виде формулы
- •Назначение реляционной алгебры
- •Операции расширения и подведения итогов
- •Операторы обновления
- •7.4.2. Реляционное исчисление
- •Контрольные вопросы
- •8. Язык реляционных баз данных sql
- •8.1. Функции и основные возможности
- •8.2. Средства определения схемы
- •8.2.1. Определение таблицы
- •8.2.2. Определение ограничений целостности таблицы
- •8.2.3. Определение представлений
- •8.3. Структура запросов
- •8.3.1. Спецификация курсора
- •8.3.2. Оператор выборки
- •8.3.3. Подзапрос
- •8.3.4 Табличное выражение
- •Раздел where
- •Предикат сравнения
- •Предикат between
- •Предикат in
- •Предикат null
- •Предикат с квантором
- •Предикат exists
- •Раздел group by
- •Раздел having
- •8.4. Агрегатные функции и результаты запросов
- •8.5. Операторы обновления
- •Оператор изменения записей
- •Контрольные вопросы
- •9. Внутренняя организация реляционных субд
- •9.1. Хранение отношений
- •9.2. Индексы
- •9.3. Журнальная информация
- •9.4. Служебная информация
- •Контрольные вопросы
- •10. Настольные субд
- •10.1. Общие сведения о настольных субд
- •10.2. Наиболее популярные настольные субд
- •Контрольные вопросы
- •11. Серверные субд
- •11.1. Характерные черты современных серверных субд
- •Наиболее популярные серверные субд
- •Контрольные вопросы
- •Заключение
- •Корелина Татьяна Валерьевна введение в базы данных
- •394006 Воронеж, ул. 20-летия Октября, 84
2.4.3. Классификация БнД по экономико-организационным признакам
Следующая группа признаков классификации связана с банком данных в целом. По условиям предоставления услуг различают бесплатные и платные банки данных. Платные БД, в свою очередь, делятся на бесприбыльные и коммерческие. Бесприбыльные банки данных функционируют на принципе самоокупаемости и не ставят своей целью получение прибыли. Это обычно БнД социально значимой информации, имеющей широкий круг пользователей, или научной, библиотечной информации. Основной целью создания коммерческих банков данных является получение прибыли от информационной деятельности.
По форме собственности банки данных делятся на государственные и негосударственные.
По степени доступности различают общедоступные и с ограниченным кругом пользователей.
В литературе встречаются и другие аспекты классификации банков данных, но названные являются наиболее значимыми.
2.5. Концепция централизованного управления
При централизованном управлении должен быть человек – администратор данных (АД), несущий ответственность за данные, безопасность данных и разбирающийся в них на уровне управления высшего руководства предприятия [9]. За техническую реализацию решений АД отвечает администратор базы данных (АБД) – профессиональный специалист в области информационных технологий. У АБД должен быть штат из системных программистов и технических ассистентов.
Преимущества централизованного управления данными
1. Возможность сокращения избыточности (дублирования информации).
2. Возможность устранения (до некоторой степени) противоречивости за счет множественного обновления данных.
3. Возможность общего доступа к данным.
4. Возможность соблюдения стандартов.
5. Возможность введения ограничений для обеспечения безопасности.
6. Возможность обеспечения целостности (правильности и точности) данных.
7. Возможность сбалансировать противоречивые требования.
8. Обеспечение независимости данных.
Независимость данных
В системах, зависимых от данных, сведения об организации данных и способе доступа встроены в логику и код приложения. В них невозможно изменить структуру хранения (т.е. способ физического хранения данных) или метод доступа (т.е. способ осуществления доступа к данным), не изменив самого приложения (возможно, радикально).
Это является серьезным ограничением, так как:
1) для разных приложений требуются разные представления одних и тех же данных;
2) администратор базы данных должен иметь возможность при изменившихся требованиях изменять структуру хранения или метод доступа к данным без изменения существующих приложений.
Таким образом, обеспечение независимости данных – основная цель систем баз данных. Независимость данных можно определить как иммунитет приложений к изменениям в структуре хранения данных и в методах доступа к данным. Далее будет рассмотрена архитектура систем баз данных, обеспечивающая основу для достижения этой цели. Предварительно необходимо рассмотреть три новых термина: хранимое поле, хранимая запись, хранимый файл (рис. 2.3) [9].
Хранимая база
данных
Другие хранимые
файлы
Хранимый
файл PFILE
с деталями
Номер
Название Цвет Вес
детали
детали детали детали
P1
Nut
Red
12
Два
экземпляра
хранимого
типа Хранимые
экземпляры полей
записи
деталь
P2
Bolt
Green
17
Номер
Название Цвет Вес
детали
детали детали детали
Хранимое поле – наименьшая единица хранимых данных. База данных содержит много экземпляров каждого из нескольких типов хранимых полей.
Хранимая запись – это набор связанных хранимых полей. Экземпляр хранимой записи состоит из группы связанных экземпляров хранимых полей.
Хранимый файл – набор всех экземпляров хранимых записей одного типа.
В системах, отличных от баз данных, обычно логическая запись совпадает с соответствующей хранимой записью. В базах данных это вовсе не обязательно, так как АБД может понадобиться внести изменения в структуру хранения данных, в то время как логическая структура останется неизменной. Перечислим аспекты структуры хранения баз данных, которые могут подвергнуться изменениям [9].
Представление числовых данных
Числовое поле может храниться во внутренней арифметической форме (например, в упакованном десятичном формате) или в виде символьной строки. В каждом случае АБД должен определить подходящее основание системы счисления (например, он может выбрать двоичную или десятичную систему счисления), масштаб (число с фиксированной или плавающей запятой), тип (действительное число или комплексное) и точность (количество цифр). Каждый из этих параметров может быть изменен для повышения производительности, при введении нового стандарта или по другим причинам.
Представление символьных данных
Поле в форме символьной строки может сохраняться с помощью нескольких разных наборов кодирования символов.
Единицы для числовых данных
Единицы числовых полей могут быть изменены, например, с дюймов на сантиметры, если приложение связано с процессами измерения.
Кодирование данных
В некоторых ситуациях может понадобиться представлять данные кодированными значениями. Например, поле "цвет детали", которое представлено в приложении как символьная строка ("Красный", "Голубой", "Зеленый"), может храниться в виде десятичной цифры в соответствии с таблицей перекодировки: 1 = "Красный", 2 = "Голубой" и т.д.
Материализация данных
Обычно логическое поле, используемое приложением, соответствует некоторому определенному хранимому полю. В этом случае процесс материализации, т.е. построение экземпляра логического поля из соответствующего экземпляра хранимого поля и передача его приложению, можно назвать прямым. Однако иногда логическое поле может не иметь соответствующего эквивалентного хранимого поля, а его значение "материализуется" с помощью некоторых вычислений, выполняемых над набором из нескольких экземпляров хранимых полей. Например, значения логического поля "общее количество" можно определить путем суммирования нескольких хранимых значений поля "количество". "Общее количество" – это пример виртуального поля, процесс определения его значения называют непрямым.
Структура хранимых записей
Два существующих типа хранимых записей можно объединить в один. Такие изменения могут выполняться, когда в систему баз данных вводятся ранее существующие приложения. При этом предполагается, что логическая запись приложения может состоять из подмножества соответствующей хранимой записи, т.е. некоторые поля хранимой записи будут "невидимы" для рассматриваемого приложения. И наоборот, один тип хранимых записей можно разделить на два. Такое разделение позволяет редко используемые части исходной записи поместить, например, на более медленное устройство. При этом неявно предполагается, что логическая запись приложения может содержать поля из нескольких отдельных хранимых записей, т.е. логическая запись является расширением любой из этих хранимых записей.
Структура хранимых файлов
Хранимый файл может физически храниться в памяти разными способами. Например, его можно разместить на одном томе памяти (например, на одном диске) или распределить на нескольких томах разных типов устройств; он может быть физически упорядочен в соответствии со значениями некоторого хранимого поля; он может быть упорядочен какими-либо другими способами, например с помощью одного или нескольких индексов или встроенных цепочек указателей; к нему может быть обеспечен доступ методом хеш-адресации; хранимые записи могут быть физически объединены в блоки (несколько в одной физической записи). Но ни один из этих факторов не должен влиять каким-либо образом на приложение.
Этим ограничиваются аспекты структуры хранения, которые можно подвергнуть изменениям. Здесь среди прочего предполагается, что база данных может развиваться, не оказывая влияния на приложения. В действительности возможность развития базы данных без логического ущерба для существующих приложений является единственным наиболее важным мотивом обеспечения независимости данных.