
- •Введение
- •Общая схема банка данных в системе
- •Основные понятия
- •Базы данных
- •Банк данных как система управления основные понятия
- •Банк данных как автоматизированная система
- •Субд с включающим языком
- •Информационные системы
- •Документальные аис основные понятия дескриптор
- •Фактографические аис
- •Основные понятия
- •Основные данные
- •Уровни моделей
- •Классификация моделей
- •Роль подсхемы
- •Этапы проектирования базы данных
- •Архитектура банка данных
- •Последовательность действий при чтении записи
- •Инфологическое проектирование базы данных
- •Модели данных и подъязыки данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Реляционные базы данных
- •Алгебра отношений
- •Преимущества реляционных бд
- •Отношения
- •Нормализация отношений
- •Функциональная зависимость
- •Полная функциональная зависимость.
- •Проектирование баз данных.
- •Специальные операции над отношениями
- •Операции над отношениями.
- •Централизация и децентрализация процессов обработки данных.
- •Традиционный набор операций
- •Нормализация отношений
- •Исчисление отношений
- •Вторая и третья нормальные формы.
- •26. Язык запросов sql
- •1 Основы sql
- •Многотабличные запросы на чтение (объединения)
- •Сортировка результатов запроса (предложение order by)
- •Объединение результатов нескольких запросов (union)*
- •Запрос на объединение и сортировка *
- •Многотабличные запросы на чтение (объединения)
- •Простое объединение таблиц (объединение по равенству)
- •Запросы с использованием отношения предок/потомок
- •Объединения с условием для отбора строк
- •Несколько связанных столбцов
- •Запросы на чтение к трем и более таблицам
- •Чтение всех столбцов
- •Самообъединения
- •Псевдонимы таблиц
- •Правила выполнения многотабличных запросов
- •Внешнее объединение таблиц *
- •Итоговые запросы на чтение
- •Агрегатные функции
- •Агрегатные функции в списке возвращаемых столбцов
- •Запросы с группировкой (предложение group by)
- •Несколько столбцов группировки
- •Ограничения на запросы с группировкой
- •Вложенные запросы на чтение
- •Внешние ссылки
- •Вложенные запросы и объединения
- •Связанные вложенные запросы
- •Однострочный оператор insert
- •В интерактивном режиме удобно не включать в оператор insert список столбцов, так как это уменьшает длину оператора. В случае программного
- •Многострочный оператор insert
- •Удаление существующих данных
- •Удаление всех строк
- •Оператор delete с вложенным запросом *
- •Обновление существующих данных
-
Инфологическое проектирование базы данных
Инфологический подход к проектированию информационных систем не формализован и зависит во многом от искусства проектировщика, поэтому рассмотрим общую методологию инфологического проектирования, основанную на модели «сущность – связь» (ER – модели)
МОДЕЛЬ «СУЩНОСТЬ – СВЯЗЬ» (ER- МОДЕЛЬ)
Данная модель используется только на этапе инфологического проектирования предметной области. При описании данной модели используются три основных элемента: сущность, атрибут, связь.
Сущность – абстракция реально существующего объекта, процесса или явления, о которых необходимо хранить информацию в системе.
Сущность может быть материальная (предприятие, изделие, и т.п.) и нематериальная(рефераты научных статей, знания и т.п.).
Тип сущности определяет набор однородных объектов(например, сотрудники учреждения). Экземпляр сущности – конкретный объект в наборе (конкретный сотрудник). Для определения конкретных сущностей используются идентификаторы, которые позволяют отличать одну сущность от другой.
Атрибут – поименованная характеристика сущности.
Основное назначение атрибута – описание свойств сущности или идентифицировать экземпляр сущности, если атрибут используется как идентификатор.
Сущность детали - <название, фирма-изготовитель, год-выпуска, шифр-детали>
Связи – выступают в модели в качестве средства, с помощью которого представляются отношения между сущностями для данной ПО.
Связи могут быть бинарными(между двумя сущностями) и в общем случае n-арные. В модели «сущность – связь» используются только бинарные связи.
Связь 1:1
Один экземпляр сущности, от которого направлена связь, идентифицирует один и только один экземпляр другой сущности, к которому направлена связь, и наоборот.
Связь типа «является ответственным квартиросъемщиком».
Связь 1:М
С одним экземпляром сущности могут быть связаны либо несколько экземпляров сущности, либо один, либо не одного.
Связь типа «имеет в составе» между сущностями «город» и «район».
Связь М:1
Является обратным отображением связи 1:М.
Связь M:N
С помощью отображения M:N определяется тип связей, между двумя сущностями, при которой каждому экземпляру одной сущности может соответствовать 0,1 или несколько экземпляров другой сущности и наоборот.
Связи типа «студент» и «дисциплина»
Все четыре вида связей широко распространены. Иногда необходимо рассматривать однонаправленную связь одной сущности к другой. Различают простую и многозначную связи.
При простой однонаправленной связи одному экземпляру одной сущности соответствует один экземпляр другой сущности. При этом обратная связь не определена.
Связь типа «начальник отдела» между «отдел» и «служащий».
При многозначной однонаправленной связи от одной сущности к другой одному экземпляру одной сущности соответствует 0,1 или несколько экземпляров другой сущности. При этом обратная связь не определена.
Связь
типа «перенесенное заболевание» между
сущностями «пациент» и
«заболевание».
При оформлении проекта для наглядности используются графические диаграммы, в которых тип сущности обозначается прямоугольником, атрибуты – овалами. Атрибуты соединяются с сущностями не направленными ребрами. Идентифицирующие атрибуты подчеркиваются. Связи(отношения) изображаются ребрами. С типами сущностей связи соединяются ребрами: в случае бинарных связей – направленными, в других случаях – не направленными.
Конечным этапом построения модели является использование только бинарных связей.
СУЩНОСТЬ
ОПИСАТЕЛЬНЫЙ АТРИБУТ
ИДЕНТИФИЦИРУЮЩИЙ АТРИБУТ
НЕНАГРУЖЕННАЯ СВЯЗЬ
НАГРУЖЕННАЯ
СВЯЗЬ
СВЯЗЬ 1 : 1
СВЯЗЬ 1 : М
СВЯЗЬ М : N
НАПРАВЛЕННАЯ СВЯЗЬ 1: М
МНОГОЗНАЧНАЯ СВЯЗЬ 1 : М
Инфологическое проектирование предметной области.
При моделировании сложной предметной области проектировщик разбивает ее на ряд локальных областей, описывает каждое локальное представление моделью типа «сущность – связь», а затем объединяет их в концептуальную модель.
Для каждого локального представления необходимо прежде всего выделить сущности, требуемые для его описания.
Формирование сущностей рассмотрим на примере моделирования локального представления «Поставка товаров на склад». Предположим, что в одной поставке может участвовать только один вид товара. Поставок может быть несколько. Модель сущности «поставка». Учитывая, что построение моделей ведется от реального мира, мы должны предусмотреть возможность ответа и на другие информационные запросы, что приведет к появлению моделей других сущностей.
-
Дать информацию об отдельном поставщике, который не выполняет поставок в настоящее время. Для этого необходимо ввести в локальную модель сущность «поставщик» с соответствующими атрибутами, связать с сущностью «поставка» и удалить избыточные элементы.
<схема 4>
-
Дать информацию об отсутствующих на складе товарах. Необходимо ввести в модель сущность «товар».
<схема 5>
3-4. Какие товары может поставлять отдельный поставщик?.
Какие поставщики могут поставлять данный товар?.
Для ответа на эти вопросы в модели достаточно осуществить связи между сущностями «поставщик» и «товар»(пунктир).
В данной модели 3 типа сущностей.
Если в локальной модели большое количество типов сущностей, это говорит о том, что локальная область слишком велика и ее необходимо разбить на несколько более мелких локальных областей.
Затем составляется спецификация всех элементов.
I Типы сущностей: поставщик, поставка, товар
ПОСТАВЩИК : идентификатор, `индекс поставщика`
описательный атрибут `АДРЕС ПОСТАЩИКА`
ПОСТАВКА : идентификатор `ШИФР ПОСТАВКИ`
описательный атрибут ` количество поставленного товара`
`ШИФР СКЛАДА`
`ДАТА ПОСТАВКИ`
ТОВАР : -“-
II Типы связей:
ПОСТАВЛЯЕТ : отображение 1:М от поставщик к поставка
МОЖЕТ БЫТЬ ПОСТАВЛЕН : многозначная однонаправленная связь от ТОВАР к
ПОСТАВЩИК
-“-
III Спецификация атрибутов
ИНДЕКС ПОСТАВКИ : следовательно цифровой, 8 символов
ЦЕНА ЕДИНИЦА ТОВАРА : числовой, от 0000.00 до 9999.99
Предметная область БнД определена, если известны существующие в ней объекты, их свойства и отношения.
Состояние ПО в некоторый момент времени t может быть описано совокупностью предложений некоторого языка, определяющих все истинные в момент времени t факты.
Проектирование БД начинается с предварительной структуризации ПО, объекты реального мира подвергаются классификации, фиксируются свойства, посредством которых будут описываться в БД конкретные объекты этого типа; фиксируются виды отношений (взаимосвязей) между объектами.
Затем решаются вопросы о том, какая информация об этих объектах должна быть представлена в БД и как ее представить с помощью данных.
Идея установления соответствия между состоянием ПО, его восприятием и представлением в базе данных лежит в основе инфологического подхода к проектированию информационной системы.
Согласно инфологическому подходу при проектировании необходимо различать:
– явления реального мира;
– информацию об этих явлениях;
– представление этой информации посредством данных.
В соответствии с этой концепцией в подходе выделяют следующие три сферы:
– реальный мир или объектную сист.;
– информационную сферу;
– даталогическую сферу;
Объектная система имеет следующие составляющие:
объект, свойства, связь (или объектное отношение), время.
Эти понятия являются основными составляющими объектной системы.
Объект в инфологическом подходе – это то, о чем в информационной системе должна храниться информация. Выбор объектов производится в соответствии с целевым назначением информационной системы. Объекты могут быть атомарными или составными. Для составного объекта должны быть определены его внутренние составляющие (которые могут быть атомарными или составными).
Каждый объект в конкретный момент времени характеризуется определенным состоянием. Это состояние описывается с помощью ограниченного набора свойств и отношений(связей) с другими объектами.
Каждый объект в любой момент времени отличается от других объектов набором свойств.
Свойства объекта могут не зависеть от его связей (отношений) с другими объектами, т.е. являются локальными, а могут зависеть, в этом случае они являются реляционными.
Каждая связь между объектами по числу входящих в нее объектов характеризуется степенью n=2,3,…k (бинарная, тернарная,…,к-арная).
Объекты имеют определенное состояние как в отдельные моменты, так и в течение некоторых временных интервалов. Концепция времени позволяет строить динамические модели, в которых отображается зависимость от времени составляющих объектной системы.
Основные составляющие объектной системы могут быть скомбинированы в базисные структуры, называемые элементарными ситуациями.
Элементарной ситуацией называется тройка <o,u,t>,
где o – объект (или n объектов)
u – устройство (n-арная связь)
t - время.
Вводится понятие элементарных ситуаций типа свойств <o,p,t> и элемент ситуаций реляционного типа <<o1, o2, …..on>, r, t >
o –объект, p – элемент множества свойств, r – элемент множества связей.
Для конкретной ПО, для определенного типа объектов элементарные ситуации, существующие в некоторые моменты времени, называются элементарными фактами.
Множество всех объектов, имеющих общее свойство р, называется группой объектов О(р). Группы объектов могут быть как пересекающимися, так и не пересекающимися.
Центральным понятием в инфол. подходе является тип элементарной ситуации <x,y>
где x – объектная группа
y – атрибут (множество свойств объектной группы) или связь между n объектами.
Составляющие объектной системы могут группироваться в классы подобных составляющих. Объекты группируются в типы объектов – группы объектов. Свойства формируют атрибуты. Элементарные ситуации группируются в типы элементарных ситуаций.
Информационная сфера представляется в понятиях, с помощью которых можно формально описать и проанализировать информацию об объектной системе.
Основным понятием в этом разделе является сведение. Для каждого сведения всегда определена предметная цель, т.е. указано, к чему оно относится. Сведение может относится к объектной группе, к атрибуту, связи, времени, ситуации. Сведения представляют собой смысловые, концептуальные образы составляющих, которые используются человеком при восприятии и осмыслении реальных объектов. Различные сведения могут относиться к одной и той же составляющей объектной системы, и наоборот.
Одиночное сведение называется универсальным именем. Сведения, не имеющие универсальной однозначности, называются локальным именем.
Сведения представляются выражениями, основу которых составляют элементарные сообщения. Структура элементарного сообщения соответствует структуре элементарной ситуации:
<x, y, z>
x-сведения об объекте, y-сведения о свойствах или связях, z-сведения о времени.
Аналогично элементарным ситуациям в рассмотрение вводятся элементарные сообщения типа свойств и элементарные сообщения реляционного типа.
Тройка <x, y, z> представляет собой полное элементарное сообщение. Оно содержит сведения об объекте, о предикате и о времени. Если отсутствует хотя бы одна составляющая, получается неполное элементарное сообщение. Запросы к ИС представляются в неполных элементарных сообщениях.
Полные элементарные сообщения выражают элементарные ситуации объектной системы и выступают в качестве элементарных информационных единиц.
Множеству допустимых элементарных ситуаций объектной системы соответствует множество значимых полных элементарных сообщений.
В датологической сфере рассматриваются вопросы представления с помощью данных выделенных информационных структур объектной системы.
Таким образом для отображения ОС в информационную сферу необходимо определить:
-
объекты, важные для данного применения;
-
свойства, которые могут иметь объекты;
-
связи, существующие между объектами;
-
имена, которые можно присвоить отдельным составляющим ОС.
Для точной спецификации объектной системы вместо раздельного описания типов объектов, атрибутов, связей и ограничений используется тип элементарной ситуации.
Выполненная спецификация представляет собой инфологическую модель ОС, в которой отражены составляющие ПО и связи между ними.
Инфологический подход не представляет формальных способов моделирования реальности, но дает основы методологии проектирования БД.