Информационные объекты и связи.

Основы информационных систем. Базы данных.

План.

1. Основные понятия.

2. Классификация баз данных.

3. Модели данных.

4. Информационные объекты и связи.

5. Проектирование баз данных.

6. Состав файла БД. Архитектура СУБД.

7. Связывание таблиц. Целостность данных.

8. Виды запросов. Структура запросов.

Основные понятия.

В истории развития вычислительной техники наблюдалось два основных направления ее применения.

Первое связано с выполнением больших численных расчетов, которые трудно или невозможно произвести вручную. Развитие этой области способствовало ускорению развития методов математического моделирования, численных методов, языков программирования высокого уровня, рассчитанных на удобное представление вычислительных алгоритмов.

Второе направление связано с использованием вычислительной техники для создания, хранения и обработки больших массивов данных. Такие задачи решают информационные системы (ИС). К ним относятся поисковые, справочные, банковские системы, автоматизированные системы управления предприятием.

Для задач первого типа характерны большие объемы вычислительной работы при относительно небольших потребностях в памяти. Задачи второго типа, наоборот, требуют больших объемов внешней памяти при относительно небольших расчетах. Вторая область применения возникла несколько позже первой. Это связано с тем, что на первых этапах внешняя память вычислительных систем была несовершенной, т.е. надежное хранение больших объемов данных не представлялось возможным.

Для облегчения обработки информации создаются информационные системы. Информационная система представляет собой аппаратно-программный комплекс, обеспечивающий выполнение следующих функций:

· ввод данных об объектах некоторой предметной области;

· надежное хранение и защита данных во внешней памяти вычислительной системы;

· дополнение, удаление, изменение данных;

· сортировка, выборка данных по запросам пользователей;

· выполнение специфических для данной предметной области преобразований информации;

· предоставление пользователям удобного интерфейса; обобщение данных и составление отчетов.

Объем данных в ИС может исчисляться миллиардами байт. Отсюда необходимость устройств, хранящих большие объемы данных во внешней памяти. Число пользователей ИС может достигать десятков тысяч, что создает немало проблем в реализации эффективных алгоритмов функционирования ИС. Успешно решаются эти задачи, если данные в информационной системе структурированы.

Пример структурированных данных - студенческая группа. Каждый член группы во многом индивидуален, и характеризовать его можно с разных сторон. Но деканат, скорее всего, заинтересуют следующие данные (предметная область): фамилия студента, имя, отчество, курс, наименование группы, массив оценок по изучаемым дисциплинам. Таким образом, из всего многообразия данных выбираются только некоторые, т.е. создается информационная модель объекта. Данные упорядочиваются по порядку следования, по применяемым типам (форматам) данных, после чего они могут быть обработаны автоматом, каковым является компьютер.

Совокупность взаимосвязанных данных называется структурой данных. Совокупность структурированных данных, относящихся к одной предметной области, называется базой данных (БД). Совокупность программ, реализующих в БД функции ИС в удобной для пользователя форме, называется системой управления базой данных (СУБД). Программы, производящие специфическую обработку данных в БД, составляют пакет прикладных программ (ППП). Итак, можно заключить, что ИС — это организационное объединение аппаратного обеспечения (АО), одной или нескольких баз данных (БД), системы управления базами данных (СУБД) и пакетов прикладных программ (ППП).

Классификация баз данных.

По технологии обработки данных БД подразделяются на централизованные и распределенные.

Централизованная БД хранится целиком в памяти одной вычислительной системы. Если система входит в состав сети, то возможен доступ к этой БД других систем.

Распределенная БД состоит из нескольких, возможно пересекающихся или дублирующих друг друга БД, хранимых в памяти разных вычислительных систем, объединенных в сеть.

По способу доступа к данным БД распределяются на локальный и удаленный (сетевой) доступ.

Локальный доступ предполагает, что СУБД обрабатывает БД, которая хранится на той же вычислительной системе.

Удаленный доступ - это обращение к БД, которая хранится на одной из систем, входящих в компьютерную сеть. Удаленный доступ может быть выполнен по принципу файл-сервер или клиент-сервер.

Архитектура файл-сервер предполагает выделение одного из компьютеров сети (сервер) для хранения централизованной БД. Все остальные компьютеры сети (клиенты) исполняют роль рабочих станций, которые копируют требуемую часть централизованной БД в свою память где и происходит обработка. Однако при большой интенсивности запросов к централизованной БД увеличивается нагрузка на каналы сети, что приводит к снижению производительности ИС в целом.

Архитектура клиент-сервер предполагает, что сервер, выделенный для хранения централизованной БД, дополнительно производит обработку клиентских запросов. Клиенты получают по сети уже обработанные данные. Учитывая широкое распространение БД в самых различных областях, в последнее время архитектура клиент-сервер применяется и на одиночных вычислительных системах. В этом случае клиент- программа, которой понадобились данные из БД, посылает запрос серверу - программе, управляющей ведением БД, на специальном универсальном языке запросов. Сервер пересылает программе данные, являющиеся результатом поиска в БД по ее запросу. Этот способ удобен тем, что программа - клиент не обязана содержать все функции поддержания и ведения БД, этим; занимается сервер. В результате упрощается написание программ — клиентов, Кроме того, к серверу может обращаться любое количество клиентов.

Модели данных.

Для реализаций основных функций в ИС используются различные принципы описания данных. Ядром любой БД является модель представления данных.

Модель данных определяет логическую структуру хранимых в базе данных (т.е. введение каких-то соглашений о способах представления данных) и взаимосвязи между ними.

К основным моделям представления данных относятся:

· Иерархическая

· Сетевая

· Реляционная

· Постреляционная

· Многомерная

· Объектно-ориентированная

Наибольшее распространение получила реляционная модель данных, она является наиболее универсальной и к ней могут быть сведены другие модели.. Реляционная модель данных ориентирована на организацию данных в виде двумерных таблиц.

Важнейшим понятием реляционных моделей данных является сущность. Сущность — это объект любой природы, данные о котором хранятся в БД. Данные о, сущности хранятся в двумерных таблицах, которые называют реляционными.

Каждая реляционная таблица должна обладать следующими свойствами:

· один элемент таблицы - один элемент данных;

· каждый столбец таблицы содержит однородные по типу данные (целочисленный, числовой, текстовый, и т.д.);

· каждый столбец имеет уникальное имя;

· число столбцов задается при создании таблицы;

· порядок записей в отношении может быть произвольным;

· записи не должны повторяться;

· количество записей в отношении не ограничено.

Объекты, их взаимосвязи и отношения представлены в виде таблиц. Формальное построение таблиц связано с фундаментальным понятием отношение (термин реляционная исходит от английского слова relation — отношение).

Для заданных произвольных конечных множеств М1, М2, ..., MN множество всевозможных наборов вида (1, 2, …, ), где 1Є М1, 2 Є М2, …, Є MN называют их декартовым произведением М1×М2×...×MN. Отношением R, определенным на множестве М1, М2, ..., MN, называется подмножество декартова произведения М1×М2×...×MN. При этом множества М1, М2, ..., MN называются доменами отношения, а элементы декартова произведения — кортежами отношения. Число N определяет степень отношения, количество кортежей — его мощность.

В реляционной таблице каждый столбец есть домен (его альтернативное название поле), а совокупность элементов каждой строки — кортеж (или запись).

Строка заголовков называется схемой отношения.

Например, схема отношения СТУДЕНТ может быть следующей:

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА), здесь СТУДЕНТ - отношение, а ФАМИЛИЯ, ИМЯ и т.д. — атрибуты.

В отношении каждый конкретный экземпляр сущности представляется строкой, которая называется кортежем (или записью).

Следующая таблица представляет отношение СТУДЕНТ

 

ФАМИЛИЯ ИМЯ ОТЧЕСТВО ФАКУЛЬТЕТ КУРС
Иванов Иван Иванович ИЭФ
Петров Петр Петрович РТФ
Сидоров Антон Егорович ВТ

Первичным ключом отношения называется поле или группа полей, однозначно определяющие запись. В отношении СТУДЕНТ первичным ключом может быть поле ФАМИЛИЯ, если во всем с нет однофамильцев — это будет простой ключ. Если есть однофамильцы, то совокупность полей - фамилия, имя, отчество - создадут составной первичный ключ. На практике обычно в качестве ключевого выбирают поле, в котором совпадения заведомо исключены.

Для рассматриваемого примера таким полем может служить номер зачетной книжки студента.

Свойства первичного ключа:

· уникальность - в таблице может быть назначен только один первичный ключ, у составного ключа поля могут повторяться, но не все;

· неизбыточность - не должно быть полей, которые, будучи удаленными из первичного ключа, не нарушат его уникальность;

· в состав первичного ключа не должны входить поля типа, комментарий и графическое.

Чтобы избежать повторяющихся записей, приходят к связыванию таблиц. Например, если в отношении СТУДЕНТ надо описать вуз, в котором он обучается, то, на первый взгляд, можно было бы включить в отношение следующие поля СТУДЕНТ (ФАМИЛИЯ ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, НАЗВАНИЕ вуза, АДРЕС). Но при заполнении такой таблицы для каждого студента придется указывать довольно длинное наименование вуза и его адрес, что неудобно. Более того, любая незначительная ошибка во вводе этих полей приведет к нарушению непротиворечивости базы данных. Например, ошибка в адресе вуза приведет к тому, что в БД появятся два вуза с одинаковым наименованием и разными адресами. Поступают в таком случае так: в отношение СТУДЕНТ вводят поле «код вуза» (целое число) и добавляют еще одно отношение ВУЗ (код вуза, название, адрес). Тогда отношения СТУДЕНТ и ВУЗ при этом будут связаны по полю «код вуза».

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, КОД вуза)

 

ВУЗ (КОД вуза, НАЗВАНИЕ, АДРЕС, ТЕЛЕФОН)

При работе с такими таблицами повторяться могут только данные в поле «КОД вуза», а все необходимые сведения о вузе можно взять из отношения ВУЗ. Заметим при этом, что ввод в поле «КОД вуза» целого числа, вместо длинного названия, принесет гораздо меньше ошибок. В отношении ВУЗ поле «КОД вуза» будет первичным ключом, а в отношении СТУДЕНТ поле «КОД вуза» будет внешним ключом.

Для связи реляционных таблиц необходимо ввести в обе таблицы одинаковые по типу поля, по которым определится связь между записями обеих таблиц. Связи бывают нескольких типов «один к одному», «один ко многим», «многие ко многим». В вышеприведенном примере была установлена связь «один ко многим», т.е. одной записи в таблице ВУЗ соответствуют многие записи в таблице СТУДЕНТ.

Информационные объекты и связи.

Информационным объектом называется описание реального объекта, процесса или явления в виде совокупности его характеристик (информационных элементов), называемых реквизитами. Информационный объект определенной структуры (реквизитного состава) образует тип (класс), которому присваивают уникальное имя. Информационный объект с конкретными характеристиками называют экземпляром. Каждый экземпляр идентифицируется заданием ключевого реквизита (ключа). Одни и те же реквизиты в различных информационных объектах могут быть как ключевыми, так и описательными. Информационный объект может иметь несколько ключей.

Пример. Информационный объект СТУДЕНТ имеет реквизитный состав: номер (номер зачетной книжки - ключевой реквизит), фамилия, имя, отчество, дата рождения, код места обучения. Информационный объект ЛИЧНОЕ ДЕЛО: номер студента, домашний адрес, номер аттестата о среднем образовании, семейное положение, дети. Информационный объект МЕСТО ОБУЧЕНИЯ включает реквизитъг, код (ключевой реквизит), наименование вуза, факультет, группа. Информационный объект ПРЕПОДАВАТЕЛЬ: код (ключевой реквизит), кафедра, фамилия, имя, отчество, ученая степень, ученое звание, должность.

Отношения, существующие между реальными объектами, определяются в информационных моделях как связи. Существует три вида связей: один к одному (1:1), один ко многим (1:) и многие ко многим (:).

Связь один к одному определяет соответствие одному экземпляру информационного объекта X не более одного экземпляра информационного объекта Y, и наоборот.

Пример. Информационные объекты СТУДЕНТ и ЛИЧНОЕ ДЕЛО будут связаны отношением один к одному. Каждый студент имеет определенные уникальные данные в личном деле.

При связи один ко многим одному экземпляру информационного объекта X может соответствовать любое количество экземпляров информационного объекта Y, но каждый экземпляр объекта Y связан не более чем с одним экземпляром объекта X.

Пример. Между информационными объектами МЕСТО ОБУЧЕНИЯ и СТУДЕНТ необходимо установить связь один ко многим. Одно и то же место обучения может многократно повторяться для различных студентов.

Связь многие ко многим предполагает соответствие одному экземпляру информационного объекта X любое количество экземпляров объекта Y, и наоборот.

Пример. Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ имеют связь многие ко многим. Каждый студент обучается у множества преподавателей, а каждый преподаватель учит множество студентов.

В Access можно задать три вида связей между таблицами: один ко многим, многие ко многим и один к одному. Связь один ко многим является наиболее часто используемым типом связи между таблицами. Связи многие ко многим реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит из, по крайней мере, двух полей, одно из которых является общим с табли­цей X, а другое - общим с таблицей Y. Связь один к одному используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением один к одному используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.