РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ СОЦИАЛЬНЫЙ

advertisement
ФГОУ СПО
Красногорский государственный колледж
Гаврилова Т.Б.
Тема 4: Базы данных и системы
управления БД
7.1. Общие положения
База данных - это совокупность сведений о конкретных
объектах реального мира в какой-либо предметной области.
Создавая базу данных, пользователь стремится упорядочить
информацию по различным признакам и быстро извлекать
выборку с произвольным сочетанием признаков. Сделать это
возможно, только если данные структурированы (т.е.
вводится соглашение о способах представления данных).
Неструктурированными называют данные, записанные,
например, просто в текстовом файле:
►Личное дело № 112233, Иванов Иван Иванович, дата
рождения - 1 января 1976 г.;
►Л/д № 112234, Петров Петр Петрович, дата рождения –
11.01.1977;
►№ личного дела 112235, д.р. 21.01.78, Сидоров Сидор
Сидорович.
Чтобы автоматизировать поиск и систематизировать эти
данные, необходимо выработать определённые соглашения о
способах представления данных. Например:
№
Личного
дела
Фамилия
Имя
Отчество
Дата
рождения
112233
Иванов
Иван
Иванович
01.01.1976
112234
Петров
Петр
Петрович
11.01.1977
112235
Сидоров
Сидор
Сидорович
21.01.1978
Итак, база данных (БД) - это поименованная совокупность
структурированных данных, относящихся к определенной
предметной области. Система управления базами данных
(СУБД) - это комплекс программных и языковых средств,
необходимых для создания баз данных, поддержания их в
актуальном состоянии и организации поиска в них
необходимой информации.
Структурные элементы базы данных
Понятие базы данных тесно связано с такими понятиями
структурных элементов, как поле, запись, файл (таблица),
ключ.
Имя поля 1
Имя поля 2
Имя поля 3
Имя поля 4
►Поле – наименьший элемент информации (элементарная
единица
логической
организации
данных,
которая
соответствует неделимой единице информации – реквизиту).
Для описания поля используются следующие характеристики:
имя, тип, длина, точность.
► Запись - совокупность логически связанных полей
(например, информация об одном сотруднике). В таблице
каждая строка – это запись.
►Файл (таблица) - совокупность экземпляров записей одной
структуры (поименованная запись).
►Ключ – одно или несколько полей,
определяющих конкретную запись в таблице.
однозначно
Описание логической структуры записи файла содержит
последовательность расположения полей записи и их
основные характеристики. Например – описание полей
таблицы СТУДЕНТ.
Признак
ключа
Имя поля
Номер (№ личного дела студента)
Фамилия (фамилия студента)
Имя (имя студента)
Отчество (отчество студента)
Дата (дата рождения студента)
Тип
данных
Размер Точность
Числовой
Текстовый
10
20
Текстовый
Текстовый
Дата
20
20
8
В структуре записи файла указываются поля, значения
которых являются ключами. Бывают первичные ключи,
которые идентифицируют экземпляр записи, и вторичные,
которые выполняют роль поисковых или группировочных
признаков
7.2. Классификация баз данных
По технологии обработки данных базы данных подразделяются на
централизованные и распределенные. Централизованная база данных
хранится в памяти одной вычислительной системы. Если эта
вычислительная система является компонентом сети ЭВМ, возможен
распределенный доступ к такой базе (часто применяют в локальных
сетях ПК). Распределенная база данных состоит из нескольких,
возможно пересекающихся или даже дублирующих друг друга частей,
хранимых в различных ЭВМ вычислительной сети. Работа с такой базой
осуществляется с помощью системы управления распределенной базой
данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных
с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом
предполагают различные архитектуры подобных систем:
• файл-сервер;
• клиент-сервер.
Концепция «файл-сервер»
Архитектура систем БД с сетевым доступом предполагает
выделение одной из машин сети в качестве центральной
(сервер файлов). На такой машине хранится совместно
используемая централизованная БД. Все другие машины сети
выполняют функции рабочих станций, с помощью которых
поддерживается доступ пользовательской системы к
централизованной базе данных. Файлы базы данных в
соответствии с пользовательскими запросами передаются на
рабочие станции, где в основном и производится обработка.
При большой интенсивности доступа к одним и тем же
данным производительность информационной системы
падает. Пользователи могут создавать также на рабочих
станциях локальные БД, которые используются ими
монопольно.
Концепция «клиент-сервер»
В этой концепции подразумевается, что помимо хранения
централизованной базы данных центральная машина (сервер
базы данных) должна обеспечивать выполнение основного
объема обработки данных. Запрос на данные, выдаваемый
клиентом (рабочей станцией), порождает поиск и извлечение
данных на сервере. Извлеченные данные (но не файлы)
транспортируются по сети от сервера к клиенту. Спецификой
архитектуры клиент-сервер является использование языка
запросов SQL (Structured Query Language – язык
структурированных запросов).
7.3.Банк данных
Банк данных - система специальным образом организованных
данных (баз данных), программных, технических, языковых,
организационно-методических средств, предназначенных для
обеспечения централизованного накопления и коллективного
многоцелевого использования данных. Банк данных включает
в свой состав вычислительную систему, базу данных (БД) и
систему управления базой данных (СУБД). Кроме того в БнД
входят словарь данных, использование специальных методов
доступа к одним и тем же данным разных пользователей и др.
Ядром БнД является база данных, т.е. совокупность
специальным образом организованных наборов данных,
хранимых, обрабатываемых и обновляемых средствами ЭВМ.
БАНК ДАННЫХ
Вычислительная
система
Система
управления
Технические
средства
Операционная
система
База
данных
Администратор
Базы данных
Словарь
данных
Обслуживающий
персонал
Программные средства БнД представляют собой комплекс,
обеспечивающий взаимодействие всех частей
информационной системы при ее функционировании.
ПРОГРАММНЫЕ СРЕДСТВА БАНКА ДАННЫХ
Программная
компонента
Ядро СУБД
Трансляторы
Утилиты
Операционная
система
ПП обслуживания
Банка данных
Основу программных средств БнД представляет СУБД (комплекс
программ, предназначенных для создания и обслуживания баз данных).
В ней можно выделить ядро СУБД, которое обеспечивает организацию
ввода, обработку и хранение данных. Важной компонентой СУБД
являются трансляторы и утилиты, помогающие выполнению
вспомогательных функций. Большинство СУБД работает в среде
универсальных операционных систем и взаимодействует с ОС при
обработке обращений к БнД, поэтому можно считать, что ОС также
входит в состав БнД. Для обработки запросов к базе данных (БД)
пишутся соответствующие программы, которые представляют
прикладное программное обеспечение БнД. С банком данных в
процессе создания и функционирования взаимодействуют пользователи
разных категорий. Основной категорией пользователей являются
конечные пользователи. Однако есть и специфические пользователи
БнД. Функционирование БнД невозможно без участия специалистов,
обеспечивающих создание, функционирование и развитие БнД. Такая
группа специалистов называется администратором банка данных
(АБД).
7.4.Виды моделей данных
Ядром любой базы данных является модель данных – т.е.
совокупность структур данных и операций их обработки.
СУБД основывается на использовании иерархической,
сетевой или реляционной модели, на комбинации этих
моделей или на некотором их подмножестве. Рассмотрим три
основных типа моделей данных: иерархическую, сетевую и
реляционную.
Иерархическая модель данных
Иерархическая структура представляет совокупность элементов,
связанных между собой по определенным правилам. Объекты,
связанные иерархическими отношениями, образуют ориентированный
граф (перевернутое дерево).
Уровень 1
А
Уровень 2
В1
…
В2
…
В3
Уровень 3
С1
С2
.. С3
С4 .. С5
С6
С7
.. С8
К основным понятиям иерархической структуры относятся: уровень,
элемент (узел), связь.
Пример иерархической структуры БД
ВУЗ (шифр, название, ректор)
071900 РГСУ
Жуков В.И.
111
Орлов В.П.
112233
Иванов И.И.
112234
Петров П.П.
Группа (номер, староста)
112
Фролов И.Т.
113
Попов А.К.
112235
Сидоров С.С.
Студент (номер зачетной книжки,
фамилия, имя, отчество)
Достоинствами рассматриваемой модели являются наличие
промышленных СУБД, поддерживающих данную модель,
простота понимания используемого принципа иерархии,
обеспечение определенного уровня независимости данных.
Недостатками же являются жесткая фиксированность
взаимосвязей между элементами данных, вследствие чего
любые изменения связей требуют изменения структуры.
Быстрота доступа в иерархической модели достигнута за счет
потери информационной гибкости. Указанные недостатки
ограничивают применение иерархической структуры.
Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень,
узел, связь) каждый элемент может быть связан с любым
другим элементом, т.е. представлена в виде диаграммы связей.
В
А
D
E
С
F
H
Пример сетевой структуры БД
Студент (номер зачетной книжки, фамилия, имя, отчество)
112233
Иванов И.И.
112234
Петров П.П.
112235
Сидоров С.С.
Работа (шифр, руководитель)
1006
Орлов Н.А.
1007
Соколов П.Е.
1008
Грачев К.П.
1009
Галкин А.В.
Примером сложной сетевой структуры может служить структура базы
данных, содержащей сведения о студентах, участвующих в научноисследовательских работах (НИР). Возможно участие одного студента в
нескольких НИР, а также нескольких студентов в разработке одной НИР.
Достоинство сетевой модели БД - большая информационная
гибкость по сравнению с иерархической моделью. Основной
же недостаток сетевой модели состоит в ее сложности.
Сохраняется общий для обеих моделей изъян - достаточно
жесткая
структура,
что
препятствует
развитию
информационной
базы
системы
управления.
При
необходимости частой реорганизации информационной базы
(например, при использовании настраиваемых базовых
информационных
технологий)
применяют
наиболее
совершенную модель БД - реляционную, в которой
отсутствуют различия между объектами и взаимосвязями.
Реляционная модель данных
Эти модели характеризуются простотой структуры данных,
удобным для пользователя табличным представлением и
возможностью использования формального аппарата алгебры
отношений и реляционного исчисления для обработки
данных. Реляционная модель ориентирована на организацию
данных в виде двумерных таблиц. Пример реляционной
таблицей можно представить информацию о студентах,
обучающихся в вузе. На нижеследующем рис. показан пример
реляционной модели, построенной на основе отношений:
СТУДЕНТ, СТИПЕНДИЯ, СЕССИЯ.
СТУДЕНТ (номер, фамилия, имя, отчество, пол, д/рождения, группа)
№
личного
дела
Фамилия
Имя
Отчество
Дата
Пол
Группа
рождения
112233
Иванов
Иван
Иванович
муж.
01.01.1976
111
112234
Петров
Петр
Петрович
муж.
11.01.1977
112
112235
Сидоров
Сидор
Сидорович
муж.
21.01.1978
113
СЕССИЯ (номер, оценка1, оценка2, оценка3, оценка4, оценка5,
результат)
№
Номер
Резульличного Оценка 1 Оценка 2 Оценка 3 Оценка 4 Оценка 5
сессии
тат
дела
1
112233
5
5
5
5
5
5
1
112234
4
4
4
4
4
4
1
112235
3
3
3
3
3
3
СТИПЕНДИЯ (результат, процент)
Результат
Процент
Если все экзамены сданы и средний балл = 5
100% + 25%
Если все экзамены сданы и средний балл = 5
100%
Если все экзамены сданы и средний балл = 5
0%
Отношения представлены в виде таблиц, строки которых
соответствуют кортежам или записям, а столбцы - атрибутам
отношений, доменам, полям. Поле, каждое значение которого
однозначно определяет соответствующую запись, называется
простым ключом (ключевым полем). Если записи однозначно
определяются значениями нескольких полей, то такая таблица
базы данных имеет составной ключ. Чтобы связать две
реляционные таблицы, необходимо ключ первой таблицы
ввести в состав ключа второй таблицы (возможно совпадение
ключей); в противном случае нужно ввести в структуру
первой таблицы внешний ключ - ключ второй таблицы.
Стипендия
(результат)
Студент
(номер л/д)
Сессия
(номер л/д)
(результат)
Таблицы СТУДЕНТ и СЕССИЯ имеют совпадающие ключи (номер л/д),
что дает возможность легко организовать связь между ними. Таблица
СЕССИЯ имеет первичный ключ (номер л/д) и содержит внешний ключ
(результат), который обеспечивает ее связь с таблицей СТИПЕНДИЯ.
Реляционная модель БД имеет дело с тремя аспектами
данных: со структурой данных, с целостностью данных и с
манипулированием данными. Под структурой понимается
логическая организация данных в БД, под целостностью
данных - безошибочность и точность информации,
хранящейся в БД, под манипулированием данными - действия,
совершаемые над данными в БД. Эти три аспекта отражают и
основные процедуры процесса накопления данных (хранение,
актуализацию и извлечение).
7.5.Понятие информационного объекта
Информационный объект - это описание некоторой сущности
(реального объекта, явления, процесса, события) в виде совокупности
логически связанных реквизитов (информационных элементов). Такими
сущностями для информационных объектов могут служить: цех, склад,
материал, вуз, студент, сдача экзаменов и т.д. Информационный объект
определенного реквизитного состава и структуры образует класс (тип),
которому присваивается уникальное имя (символьное обозначение),
например Студент, Сессия, Стипендия.
Студент
111
Пример представления информационного
Номер
объекта СТУДЕНТ в виде графа
Номер
Фамилия
Имя
Отчество
Студент
Дата
Группа
Понятие нормализации отношений
Одни и те же данные могут группироваться в таблицы
(отношения) различными способами. Группировка атрибутов
в
отношениях
должна
быть
рациональной,
т.е.
минимизирующей дублирование данных и упрощающей
процедуры их обработки и обновления. Определенный набор
отношений обладает лучшими свойствами при включении,
модификации, удалении данных, чем все остальные
возможные наборы отношений, если он отвечает требованиям
нормализации отношений. Нормализация отношений - это
формальный аппарат ограничений на формирование
отношений
(таблиц),
который
позволяет
устранить
дублирование, обеспечивает непротиворечивость хранимых в
базе данных, уменьшает трудозатраты на ведение (ввод,
корректировку) базы данных.
Типы связей
Все информационные объекты предметной области связаны между
собой. Различаются связи нескольких типов, для которых введены
следующие обозначения:
►один к одному (1:1);
►один ко многим (1:М);
►многие ко многим (М:М).
Рассмотрим эти типы связей. Пусть дана совокупность
информационных объектов, отражающих учебный процесс в ВУЗе:
СТУДЕНТ (НомерЛичногоДела, Фамилия, Имя, Отчество, Пол, Дата
рождения, Группа)
СЕССИЯ (НомерСессии, Оценка1, Оценка2, Оценка3, Оценка4,
Оценка5, Результат)
СТИПЕНДИЯ (Результат, Процент)
ПРЕПОДАВАТЕЛЬ (КодПреподавателя, Фамилия, Имя, Отчество)
Связь один к одному (1 : 1) предполагает, что в каждый момент
времени одному экземпляру информационного объекта А соответствует
не более одного экземпляра информационного объекта В и наоборот.
При связи один ко многим (1 : М) одному экземпляру
информационного объекта А соответствует 0, 1 или более экземпляров
объекта В, но каждый экземпляр объекта В связан не более чем с 1
экземпляром объекта А.
Связь многие ко многим (М : М) предполагает, что в каждый момент
времени одному экземпляру информационного объекта А соответствует
0, 1 или более экземпляров объекта В и наоборот.
Обеспечение целостности данных на уровне Базы данных подразумевает
наличие средств, позволяющих удостовериться, что информация в базе
данных всегда остается корректной и полной. К средствам обеспечения
целостности данных на уровне СУБД относятся:
► встроенные средства для назначения первичного ключа;
►средства поддержания ссылочной целостности.
7.6.Понятие информационно-логической
модели
Различают концептуальный, внутренний и внешний уровни
представления данных баз данных, которым соответствуют
модели аналогичного назначения. Концептуальный уровень
соответствует логическому аспекту представления данных
предметной области в интегрированном виде. Внутренний
уровень отображает требуемую организацию данных в среде
хранения
и
соответствует
физическому
аспекту
представления данных. Внешний уровень поддерживает
частные представления данных, требуемые конкретным
пользователям. Таким образом БД реализует принцип
относительной независимости логической и физической
организации данных.
Проектирование Базы данных состоит в построении комплекса
взаимосвязанных моделей данных
Этапы процесса проектирования Базы данных
Разработка инфологической
модели предметной области
Логическое
проектирование
Физическое
проектирование
Проектирование
представления данных
для приложений
Важнейшим этапом проектирования базы данных является разработка
инфологической модели предметной области. В ней средствами
структур данных в интегрированном виде отражают состав и структуру
данных, а также информационные потребности приложений.
Инфологическая модель предметной области строится первой. Затем на
ее основе строятся концептуальная (логическая), внутренняя
(физическая) и внешняя модели.
Команды для выполнения типовых операций
Программы СУБД имеют достаточное количество команд, у
каждой из которых возможны различные параметры (опции).
Несмотря на особенности СУБД, совокупность команд,
предоставляемых в распоряжение пользователю, может быть
разбита на следующие типовые группы:
►команды для работы с файлами;
►команды редактирования;
►команды форматирования;
►команды для работы с окнами;
►команды для работы в основных режимах СУБД (таблица,
форма, запрос, отчет);
►получение справочной информации.
7.7.Общее представление об этапах
технологии работы с СУБД
Каждая конкретная СУБД имеет свои особенности, которые
необходимо учитывать. Однако имея представление о
функциональных возможностях любой СУБД, можно
представить обобщенную технологию работы пользователя в
этой среде. В качестве основных этапов обобщенной
технологии работы с СУБД можно выделить следующие:
►создание структуры таблиц базы данных;
►ввод и редактирование данных в таблицах;
►обработка данных, содержащихся в таблицах;
►вывод информации из базы данных.
Схема обобщенной технологии работы в
СУБД
Создание структуры таблиц БД
Ввод и редактирование данных в таблицах БД
с использованием форм
без использования форм
Обработка информации Базы данных
на основе запросов
на основе программы
Вывод информации из БД
с использованием отчетов
без использования отчетов
Создание структуры таблиц базы данных
При формировании новой таблицы базы данных работа с
СУБД начинается с создания структуры таблицы. Этот
процесс включает определение перечня полей, из которых
состоит каждая запись таблицы, а также типов и размеров
полей. Практически все используемые СУБД хранят данные
следующих типов: текстовый (символьный), числовой,
календарный, логический, примечание.
Ввод и редактирование данных
Заполнение таблиц данными возможно как непосредственным
вводом данных, так и в результате выполнения программ и
запросов. Практически все СУБД позволяют вводить и
корректировать данные в таблицах двумя способами:
►с помощью предоставляемой по умолчанию стандартной
формы в виде таблицы;
►с помощью экранных форм, специально созданных для
этого пользователем.
Обработка данных, содержащихся в таблицах
Обрабатывать информацию, содержащуюся в таблицах базы
данных, можно путем использования запросов или в процессе
выполнения
специально
разработанной
программы.
Большинство СУБД разрешают использовать запросы
следующих типов:
►запрос-выборка, предназначенный для отбора данных,
хранящихся в таблицах, и не изменяющий эти данные;
►запрос-изменение, предназначенный для изменения или
перемещения данных;
►запрос с параметром, позволяющий определить одно или
несколько условий отбора во время выполнения запроса.
Вывод информации из базы данных
Практически любая СУБД позволяет вывести на экран и
принтер информацию, содержащуюся в базе данных из
режимов таблицы или формы. Используя специальные
средства создания отчетов, пользователь получает следующие
дополнительные возможности вывода данных:
►включать в отчет выборочную информацию из таблиц базы
данных;
►добавлять информацию, не содержащуюся в базе данных;
►выводить итоговые данные на основе информации базы
данных;
►располагать выводимую в отчете информацию в любом
удобном виде;
►включать в отчет информацию из разных связанных таблиц
базы данных.
Download