Пар 2.1. Межтабличные связи

Технологии организации и обработки больших массивов данных. СУБД.

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

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

Современные ИС

-1 характеризуются:

-огромными объемами хранимых данных

-сложной организацией

-2 используются многочисленными пользователями для различных задач

-3 основаны на концепции интеграции и разделяемости данных использует только свою часть данных

 

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

Разделяемость означать, что несколько задач имеют возможность один и тот же элемент данных в одно и то же время возможно в разных целях.

Ядро информационной системы – интегрированная база данных, которая создается для решения многих задач.

База данных (БД) – именованная совокупность структурированных данных, отражающая состояние объектов и их взаимосвязь в некоторой предметной области

 

Структурирование – введение соглашений о способах представления данных.

Совокупность структур данных и операции их обработки называются моделью данных.

 

Наиболее известные модели данных:

-реляционная

-иерархическая

-сетевая

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

Часто встречающееся понятие Информационная база (ИнфБ) в общем случае не эквивалентно понятию БД.

ИнфБ - это совокупность данных, организованная определенным способом и хранимая в памяти ПК в виде файлов, используемых в управленческих процессах и др. задач.

Это может быть множество файлов совершенно различных типов: док, справочники, архивы и тд.

 

СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД)

СУБД- это система (комплекс) программных и языковых средств, предназначенная для централизованного управления базой данных в интересах всех пользователей этой системы, работающих в этой системе, а именно для:

- создания БД

- поддержания БД в актуальном состоянии

- организации поиска и

- совместного использования БД многими пользователями

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

Примеры СУБД:

-для создания малых и средних БД (настольные) access, mySQL

- для средних и больших БД (корпоративные): oracle, ingres, IBM, DB2, SyBase, MS SQL Server…

ПРОЦЕСС РАБОТЫ ПОЛЬЗОВАТЕЛЯ В ИС.

Можно представить :

ПользовательßàприложениеßàСУБДßàОСßàБД

Приложение, с которым непосредственно работают конечные пользователи, представляется в виде дерева различных объектов - экранных форм (ЭФ), запросов, отчетов, макросов и тп.

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

 

Пар 2. Реляционная модель данных (РМД)

Автор модели Кодд, США

Данная модель с одной стороны проста и наглядна для пользователей непрограммистов, с др. стороны имеет серьезное теоретическое обоснование – математическую теорию отношений (relation)

Математическое отношение – это множество, которое можно интегрировать графически, представить в виде таблицы.

 

РМД предполагает выполнение 3 условий:

-1 данные в базе представляются пользователю в виду двумерных таблиц

-2 эти таблицы удовлетворяют определенным условиям структурной и ссылочной целостности

-3 в распоряжении пользователя имеются операторы для действия с данными, результат которых тоже таблицы. В частности:

- оператор выборки – извлечения строк

- оператор проекции – извлечение столбцов,

-оператор соединения двух таблиц на основе общих значений в общих столбцах

- всего 9 реляционных операций

Одна реляционная таблица содержит информацию об объектах\событиях из одного класса

Одна строка соответствует одному объекту класса или одному истинному высказыванию.

Специальные свойства реляционных таблиц:

- в таблице нет одинаковых строк

- любой столбец имеет уникальное имя

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

- порядок строк и столбцов не имеет значения

 

Соответствие терминов

В реляционной теории: отношение кортеж Атрибут
В реляционной модели данных: Таблица строка столбец
В реляционной СУБД: файл запись поле

Поле и совокупность полей, значение которого однозначно определяет строку (ЗНАЧЕНИЕ В ЭТОМ СТОЛБЦЕ НЕ ПОВТОРЯЕТСЯ), называется КЛЮЧОМ (или первичным ключом) таблицы.

Условие структурной целостности таблицы: в таблице обязательно должен быть ключ.

№ ст. ФИО Адрес
Иванов НН
Петров СС
Сидоров АА
Зайцев СА

 

Повторяется значение ключа № ст. (Ошибка)

Если в таблице указан ключ, то СУБД следит за состоянием этого ключа. ( отслеживает структурную целостность)

Если ключ состоит из одного поля, то он называется простой ключ, если несколько полей – то составной ключ.

Пример БД для учета поставок из 2-х таблиц.

При условии, что поставщик может поставить товар один раз в день .

ПОСТАВЩИКИ Ключ простой (№ пост)

№ ПОСТ Название пост Адрес
ООО «Люкс»
ПО «Контур»

 

ПОСТАВКИ Составной ключ (№ пост, товар, дата)

№ пост Товар Кол Дата
…… …… ……… …………..
Стул 21.01.05
….. ……… ……….

 

 

19.09.13г

Поле в таблице, которое не является ее ключом, но в тоже время является ключом в другой таблице, называется внешним ключом

Т.о наличие внешнего ключа означает наличие связи данной таблицы с другой таблицей.

Связующие поля

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

- в таблицах поставщики и поставки связующие поля ПОСТАВЩИКИ.НОМЕР ПОСТАВЩИКА и ПОСТАВКИ.НОМЕР ПОСТАВКИ

 

Связующие поля двух таблиц могут иметь разные имена, но обязаны иметь

- один и тот же тип и длину данных

- один и тот же смысл

Назовем таблицу В, которая содержит внешний ключ для связи с таблицей А, подчиненной, а таблицу А-главной.

Например, Поставщик - главная, поставки - подчиненная.

Связанные таблицы А и В удовлетворяют условия ссылочной целостности, если для любого значения внешнего ключа в таблице В обязательно существует такое же значение первичного ключа в таблице А.

Например, если есть в т.Поставки строка с Npost=2, то в таблице ПОСТАВЩИКИ обязательно должен быть поставщик с Npost=2

 

# ст ФИО Адрес
Иванов Н.Н ...
Петров С.С ...
Сидоров А.А ...
  ...

СТУДЕНТЫ

 

 

Результаты

 

 

Пар 2.1. Межтабличные связи

О наличии связи между таблицами необходимо сообщить СУБД, т.е построить связи

В Access это осуществляется с помощью создания Схемы данных - схема связей таблицы БД. Один раз построенная схема хранится в БД.

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

 

При построении связи определяются

- связующие поля

- тип связи

- вид соединения записей

- степень поддержки ссылочной целостности

 

Типы межтабличных связей

СУБД Access поддерживает три типа связи:

- 1:1 (один к одному)

1:1

Таблица А <====>Таблица В

если одной записи из таблицы А может соответствовать более одной записи из таблицы В, и однойзаписи из таблицы В соответствует одна запись из таблицы А

1:N

адрес регистрации <====> клиент

но

N:1

клиент <===> адрес регистрации

Одна и та же предметная область может быть представлена разными схемами

В реальной предметной области существуют связи между объектами типа

N:N (многие ко многим)

например

N:N

Сотрудник <======> Договор

но СУБД такой тип связи не поддерживает