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

Авто 18.04.2019
Авто

Все объекты активны.

Пользовательское управление группами окон.

Типы окон, ориентированные на задачу.

Мгновенная фиксация изменений.

Динамические иконки, отражающие состояние объекта.

Прямое манипулирование.

Объединение объектов.

Композиция объектов и контейнеры.

Множественный согласованный просмотр объектов.

Рассмотренные выше особенности графических интерфейсов, а также положенная в основу их реализации DCD-технология обуславливают необходимость применения для проектирования GUI объектно-ориентированного подхода. Такой подход предполагает использование аналогий между программными объектами и объектами реального мира. С точки зрения пользовательского интерфейса, объектами являются не только файлы или пиктограммы, но и любое устройство для хранения и обработки информации, включая ячейки, параграфы, символы и т.д., а также документы, в которых они находятся.

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

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

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

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

Типы связей между объектами .

Наиболее общими типами отношений являются наборы (Collection), объединения (Constraints), и композиции (Composites).

Набор представляет собой наиболее простой тип отношения, которое отражает наличие у объектов некоторых общих свойств. Результаты запроса (поиска по образцу) или операции множественного выбора объектов – примеры использования данного типа отношения. Важным достоинством этого типа отношения является то, что он позволяет указывать операции, которые должны относиться к определенному набору объектов.

Объединение отражает более тесное отношение между объектами, при котором изменение объекта влияет на некоторый другой объект в наборе. Простейший пример такого отношения – изменение формата соседней страницы при добавлении текста на предыдущей странице.

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

Еще один распространенный тип отношений между объектами – контейнер.

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

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

Основные типы объектов интерфейса составляют фундаментальные классы всех объектов, обеспечиваемых операционной системой. Существует три основных типа объектов: объекты-данные, объекты-контейнеры и объекты-устройства.

Многие объекты обладают характеристиками, относящимися более чем к одному классу (пример – папка Входящие: свойства контейнера и устройства). Поэтому необходимо хорошо разбираться в классах объектов интерфейса и их поведении. Объекты должны оправдывать ожидания пользователей в отношении выполняемых ими действий, то есть определять, какие представления могут его отобразить и изменить. Объекты-контейнеры должны обеспечивать представления, соответствующие другим контейнерам, объекты-устройства – предлагать представления, присущие данному устройству и совместимые с другими.

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

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

План.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· Сетевая

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Похожая информация.


| Планирование уроков и материалы к урокам | 8 классы | Планирование уроков на учебный год | Табличные модели

Урок 12
Табличные модели

Табличные модели





Изучаемые вопросы:

Таблицы типа «объект-свойство».
- Таблица типа «объект-объект».
- Двоичные матрицы.

Таблицы типа «объект-свойство»

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

В качестве примера рассмотрим таблицу 2.1.

При составлении таблицы в нее включается лишь та информация, которая интересует пользователя. Например, кроме тех сведений о книгах, которые включены в таблицу 2.1, существуют и другие: издательство, количество страниц, стоимость. Однако для составителя таблицы 2.1 было достаточно сведений об авторе, названии и годе издания книги (столбцы «Автор», «Название», «Год») и информации, позволяющей найти книгу на полках книжных стеллажей (столбец «Полка»). Предполагается, что все полки пронумерованы и, кроме того, каждой книге присвоен свой инвентарный номер (столбец «Номер»).

Таблица 2.1 - это информационная модель книжного фонда домашней библиотеки.

Таблица может отражать некоторый процесс, происходящий во времени (табл. 2.2).

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

Таблицы 2.1 и 2.2 относятся к наиболее часто используемому типу таблиц. Их называют таблицами типа «объект-свойство» .

В одной строке такой таблицы содержится информация об одном объекте (книга в библиотеке или состояние погоды в 12-00 в данный день). Столбцы - отдельные характеристики (свойства) объектов.

Конечно, строки и столбцы в таблицах 2.1 и 2.2 можно поменять местами, повернув их на 90°. Иногда так и делают. Тогда строки будут соответствовать свойствам, а столбцы - объектам. Но чаще всего таблицы строят так, чтобы строк в них было больше, чем столбцов. Как правило, объектов больше, чем свойств.

0

(Лекция 7)

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

Объект в концептуальном подходе - это то, о чем в информационной системе должна накапливаться информация.

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

Классы объектов

Как выявить в предметной области классы объектов?

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

Признаки класса объектов, существующего в предметной области:

а) нечто важное, о чем предприятию необходимо хранить информацию;

в) именованное понятие;

г) существительное;

д) класс объектов есть, если есть реальный значимый объект;

Выявив класс объектов, необходимо дать ему имя. Оно должно быть уникальным.

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

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

Имя должно быть согласовано с заказчиком.

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

При выявлении класса объектов выявляется группа вещей, состоящих из отдельных элементов (объектов). Класс объектов - это класс или категория вещей. Например, класс объектов «ОТДЕЛ» состоит из конкретных объектов «Учебно- методический отдел», «Отдел главного механика».

Этапы выявления и моделирования класса объектов:

а) исследование каждого существительного, выявленного в ходе анализа предметной области на предприятии и выявление его значимости;

б) выявление, имеется ли информация об этом существительном, которую необходимо хранить для данного предприятия;

в) присвоение имени классу объектов в единственном числе;

г) проверка, можно ли отличить один объект класса объектов от другого;

д) описание класса объектов для проверки того, что все (разработчики, заказчики) вкладывают в этот термин одно и тоже значение;

Свойства классов объектов

Для каждого класса объектов определяют его свойства (атрибуты сущности). Свойство - это конкретный элемент информации.

Свойство описывает класс объектов. Это качественное или количественное описание класса объектов.

Свойство может выглядеть следующим образом:

Описательные слова, фразы;

Предложные конструкции (сумма зарплаты для каждого сотрудника);

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

Каждое свойство наделяется именем. Имена должны быть понятными и однозначными.

Какую информацию о классе объектов надо хранить;

Какую информацию о классе объектов надо выводить на экран или печать;

Нужно ли на самом деле это свойство.

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

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

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

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

К имени свойства предъявляется ряд требований. Имена должны быть понятными и однозначными, например название свойства "количество" может привести к путанице - возвращенное, поставленное? Необходимо выбирать более конкретные имена: «размер поставки», «объем заказа» и т.п. Если имя состоит из более, чем одного слова, они разделяются пробелами.

Самый распространенный пример - свойство «дата». Если не указано конкретно, что это за дата, она может интерпретироваться как дата рождения, дата найма.

Если необходимо хранить и то и другое, добавляется конкретное свойство, например, кроме даты найма необходимо еще хранить дату избрания по конкурсу. Это может быть выявлено на более поздних этапах анализа предметной области.

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

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

Отличие класса объектов (сущности) от свойства (атрибута) приведено в таблице 4.

Таблица 4 - Отличия между классом объектов и свойством

Определив свойство, необходимо убедиться, что для каждого конкретного объекта свойство может иметь одно единственное значение.

Если обнаруживается более одного значения у какого-либо свойства, это свидетельствует о недостающем свойстве у класса объектов или кандидате в новый класс объектов.

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

Для каждого свойства необходимо определить его опциональность.

Опр.: Опциональность свойства - определение обязательности значения свойства объекта сохранении в базе данных информации о конкретном объекте.

Обязательное значение свойства должно существовать и быть известным для каждого объекта рассматриваемого класса объектов.

Необязательные значения свойства могут быть неизвестны (или не существуют) для какого-либо объекта на момент его создания.

Например, значение свойства «дата начала работы» известно всегда для работающего сотрудника, а значение свойства «дата окончания работы» может быть неизвестным в заданный момент времени, если у сотрудника контракт бессрочный.

Для каждого свойства также выявляются в предметной области и описываются:

Формат (тип, максимальное длина, средняя длина (обычный размер), место десятичной точки, единица измерения;

Допустимые значения (диапазон, список значений, несколько диапазонов, значения по умолчанию);

При выявлении характеристик свойств могут быть определены и домены.

Домен (с точки зрения предметной области) - это набор правил проверки с точки зрения бизнеса, ограничений, относящихся более чем к одному свойству.

Домен с точки зрения реляционной БД - допустимое множество значений, на котором м.б. определен (ы) один или более атрибутов одного или более реляционного отношения.

С помощью домена можно задать: диапазон значений; список конкретных значений; несколько диапазонов; математическое уравнение; значение по умолчанию и т.п. Эти правила описываются в БД один раз и применяются для разных свойств. Самый известный домен {да, нет}.

Существует следующая технология работы со свойствами, содержашая шаги:

Выявление кандидата в свойство;

Связывание свойства с классом объектов;

Присвоение имени свойству;

Определение формата свойства;

Определение опциональности свойства;

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

Проверка того, что это действительно свойство, а не класс объектов;

В случае необходимости создание домена.

Все экземпляры (объекты) выявленного класса объектов должны однозначно определяться, быть идентифицированными. Если объект не может быть однозначно идентифицирован в классе объектов, то это возможно это не класс объектов вообще.

Определение уникальных идентификаторов

Для каждого класса объектов должны быть обязательно выявлены уникальные идентификаторы.

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

Свойство, входящее в состав уникального идентификатора должно иметь обязательную опциональность.

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

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

Замечание:

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

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

Например, свойства «табельный номер сотрудника», «код подразделения» уже определены существующей на предприятии системой бухгалтерского учета, свойство «код должности» представлено в отраслевом классификаторе должностей и т.п.

Замечание:

На этапе проектирования БД (далее при построение ДЛМ БД - суррогатные ключи) уникальный идентификатор может быть сгенерирован технически, но во время анализа предметной области используются уникальные идентификаторы, используемые предприятием.

Если уникальных идентификаторов несколько, необходимо определить главный. Таким делается идентификатор, чаще используемый в бизнесе, например, «табельный номер». Либо любой уникальный идентификатор, имеющий наименьшую длину и числовой тип.

Самое большое количество уникальных идентификаторов имеет такой класс объектов, как «ФИЗИЧЕСКОЕ ЛИЦО/ ЧЕЛОВЕК». Каждый объект в таком классе объектов может быть однозначно идентифицирован такими свойствами: «номер», «серия паспорта», «ИНН», «номер водительского удостоверения», «номер жетона». Для класса объектов «ДОЛЖНОСТЬ» могут быть выявлены следующие уникальные идентификаторы: «код», «название», «краткое название».

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

Почти любое существительное в предметной области имеет право быть определено как класс объектов, поскольку почти каждое существительное имеет,

как минимум, набор из трех свойств: название объекта, краткое название объекта, числовой эквивалент названия объекта (код, номер, шифр).

Увидеть классы объектов можно подробно изучив на предприятии информационные потоки, подлежащие автоматизации.

Информационные потоки представлены документами.

Любой документ является кандидатом в класс объектов. Документ имеет шапку, в которой, как правило, указано название документа и дата его формирования.

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

В нижней части документа находятся фамилии и должности лиц, подписывающих документ.

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

Таким образом, изучая документ, можно увидеть и выделить следующие классы объектов: «ПРЕДПРИЯТИЕ/ ЮРИДИЧЕСКОЕ ЛИЦО» или

«СТРУКТУРНАЯ ЕДИНИЦА ПРЕДПРИЯТИЯ»; «ТИП СТРУКТУРНОЙ ЕДИНИЦЫ»; «АДРЕС»; «НАСЕЛЕННЫЙ ПУНКТ»; «ТИП НАСЕЛЕННОГО ПУНКТА»; «УЛИЦА»; «ТИП УЛИЦЫ» (улица, проспект, переулок, проезд и т.п.); «ДОКУМЕНТ»; «ПОЗИЦИЯ ДОКУМЕНТА»; «ФИЗИЧЕСКОЕ ЛИЦО»; «ДОЛЖНОСТЬ»; «ЗАПИСЬ О РАБОТЕ ФИЗИЧЕСКОГО ЛИЦА» (дата начала, дата окончания); «ТОВАР/ УСЛУГА»; «Объект» (учета).

Что представляет из себя класс объектов «ПОЗИЦИЯ ДОКУМЕНТА»? Любой документ обычно имеет несколько позиций (позиции приказа, позиции прайс-листа, позиции счета-фактуры, записи учетной карточки и тому подобное). Таким образом, видна существующая в предметной области связь типа 1:М: «каждый ДОКУМЕНТ должен иметь одну или более ПОЗИЦИЙ»; с обратной стороны связь читается - «каждая ПОЗИЦИЯ ДОКУМЕНТА должна относиться к одному и тому же ДОКУМЕНТУ». Кроме того, каждая позиция документа имеет свои собственные свойства - номер, какие-то количественные показатели (количество учетных единиц, цена за единицу и другие).

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

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

Свести все итоги анализа предметной области в ходе выявления классов объектов и их свойств можно в виде формализованного описания, таблицы. Пример такого описания приведен в таблице 5.

Таблица 5 - Формализованное описание предметной области. Классы объектов, свойства.

Свойство

Уникальный иденти- фикатор

Физические характерис- тики свойства (тип, длина)

Опциональ- ность свойства (Да/ Нет)

Логические ограничения свойства (диапазон значений, прописные, строчные буквы для символьных свойств и т.п.)

Процессы для значений свойств

таб.номер

> 0

> 0

Вв, Пр, Об

Перв. буква заглавн.

Вв, Пр, Об

дата рожд

ДД.ММ.ГГГГ

Вв, Пр, Об

ДОЛЖНОСТЬ

В таблице использованы сокращения: У - уникальный идентификатор, П -кандидат в первичный ключ (главный уникальный идентификатор), Г - генерация данных, Вв - ввод данных, Пр - просмотр данных, Об - обновление данных.

Связи между классами объектов

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

Именованная, значимая ассоциация между двумя классами объектов.

Отношение, которое имеет одна вещь к другой.

Рассматривая связь необходимо думать о ней как о двусторонней, двунаправленной.

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

Опциональность связи число. Это бизнес-правило, указывающее должна ли связь существовать для каждого объекта класса объектов (обязательная связь) или это не требуется (необязательная связь).

Например, на предприятии выявлено следующее правило: «каждой

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

Мощность (максимальное кардинальное число). Это бизнес правило, указывающее сколько таких связей существует - одна и только одна, или много. Если обнаружена связь, которая имеет мощность «ноль», эта связь необязательная.

Мы рассматриваем бинарные связи (могут быть разные)

Каждая сторона связи имеет имя. Это описание правил бизнеса.

Например: «соответствует», «относится к».

Имена часто составляют пары: «основан на» - «является основой для»; «приобретается у» - «поставляется»; «отвечает за» - «находится под ответственностью».

Имя имеет большое значение, оно показывает насколько хорошо понята взаимосвязь информации.

Увидев связь, необходимо убедиться в том, что она имеет смысл. Для этого её необходимо проговорить как обычное предложение в обе стороны (любая связь двусторонняя), используя правило произношения связи (таблица 6).

Таблица 6 - Правило чтения связи

Пример чтения связи: «каждое ФИЗИЧЕСКОЕ ЛИЦО может иметь ноль, одну или более ЗАПИСЕЙ ТРУДОВОЙ КНИГИ»; «Каждая ЗАПИСЬ ТРУДОВОЙ КНИГИ должна относиться к одному и только одному ФИЗИЧЕСКОМУ ЛИЦУ».

Рассмотрим более подробно существующие типы (мощности) связей.

1. Связь «один_ко_многим» (1:М). Это самый распространенный тип связи, имеющей мощность один и более в одном направлении и один и только один в

другом. Классы объектов, находящиеся в этой связи на стороне «один» называют главным или родительским. Класс объектов, находящийся на стороне «много» -подчиненным или потомком.

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

С точки зрения базы данных это означает, что сначала в БД создается объект главного класса объектов, а потом объекты подчиненного. Если связь 1:М не обязательная с обеих сторон, объекты могут создаваться произвольно. Связи 1:М, обязательные с обеих сторон, очень редки и означают, что объекты двух классов объектов не могут существовать друг без друга.

Пример связи 1:М: «каждой СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ может соответствовать ноль, одна или более ЗАПИСЕЙ ТРУДОВОЙ КНИГИ». С обратной стороны: «Каждая ЗАПИСЬ ТРУДОВОЙ КНИГИ должна относиться к одной и только одной СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ».

2. Связь «многие_ко_многим» (М:М или M:N). Это тоже очень распространенный тип связи, особенно на начальных этапах анализа предметной области. Эта связь имеет мощность «один или более» в обоих направлениях. Пример такой связи: «в каждой СТРУКТУРНОЙ ЕДИНИЦЕ ПРЕДПРИЯТИЯ могут работать много ФИЗИЧЕСКИХ ЛИЦ». С обратной стороны: «каждое

ФИЗИЧЕСКОЕ ЛИЦО может работать во многих «СТРУКТУРНЫХ ЕДИНИЦАХ ПРЕДПРИЯТИЯ».

Большинство связей М:М необязательны в обоих направлениях, то есть объект одного класса объектов может существовать без привязки к объекту другого класса объектов, любой экземпляр может появиться первым. Связи М:М, обязательные с обеих сторон очень редки - объекты обоих классов объектов должны быть созданы одновременно.

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

работающему на предприятии, может соответствовать ноль, одна или более ЗАПИСЕЙ ТРУДОВОЙ КНИГИ».

3. Связь «один_к_одному» (1:1). Редкая связь, обычно с точки зрения бизнеса это означает, что это не два класса объектов, а один. Эта связь может иметь мощность один и только один в обоих направлениях. Если обнаружится такая связь, следует ещё раз исследовать информационные потоки и может выясниться, что два выявленных класса объектов фактически составляют один.

Пример связи 1:1: «каждый ВЕЛОСИПЕД может использоваться только одним ЧЛЕНОМ КЛУБА». С обратной стороны: «каждый ЧЛЕН КЛУБА может ездить только на одном ВЕЛОСИПЕДЕ»

Связи 1:1, обязательные на обоих концах, когда оба объекта должны появляются одновременно, очень редки.

После выявления любой связи между классами объектов необходимо (для каждой её стороны):

Установить наличие;

Выбрать имя;

Определить мощность;

Определить опциональность;

Проверить путем чтения.

Необходимо заметить, что между двумя классами объектов может быть выявлено сколь угодно много связей. Например, между классами объектов «ФИЗИЧЕСКОЕ ЛИЦО» и «АДРЕС» может быть выявлено 2 связи: одна фиксирующая адрес прописки, другая - адрес проживания.

4. Рекурсивная связь. Связь между объектами одного класса объектов. Такая связь может обладать всеми свойствами, присущими любой другой связи.

Пример: Каждый УЗЕЛ может выступать в качестве родителя для одного или более УЗЛОВ. Каждый УЗЕЛ может подчиняться одному и только одному УЗЛУ.

Свести итоги выявления связей можно с помощью следующей таблицы:

Таблица - Формализованное описание предметной области. Связи между классами объектов


В таблице использованы следующие сокращения: КО - класс объектов; Д.б. -должна быть, М.б. - может быть.

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

Неформализованное описание предметной области

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

Примеры семантических утверждений:

- «На работу принимаются служащие, достигшие 16-ти летнего возраста»;

- «Любой сотрудник не может отвечать одновременно более чем за десять сдаваемых в аренду или продаваемых объектов недвижимости»;

- «Любой сотрудник не имеет права продавать или сдавать в аренду свою собственную недвижимость»;

- «Специальные скидки не распространяются на автомобили возрастом менее одного года»;

- «Общая сумма скидок не может превышать 40% чистой суммы, указанной в счете-фактуре».

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

Скачать лекцию: У вас нет доступа к скачиванию файлов с нашего сервера.

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

При выборе информационных объектов необходимо ответить на ряд вопросов:

1. На какие таблицы можно разбить данные, подлежащие хранению в БД?

2. Какое имя можно присвоить каждой таблице?

3. Какие наиболее интересные характеристики (с точки зрения пользователя) можно выделить?

4. Какие имена можно присвоить выбранным характеристикам?

В нашем случае предполагается завести следующие таблицы (рис 4):


Выделим связи между информационными объектами (рис.5)



В ходе этого процесса необходимо ответить на следующие вопросы:

1. Какие типы связей между информационными объектами?

2. Какое имя можно присвоить каждому типу связей?

3. Каковы возможные типы связей, которые могут быть использованы впоследствии?

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

1. Какова область значений для числовых характеристик?

2. Каковы функциональные зависимости между характеристиками одного информационного объекта?

3. Какой тип отображения соответствует каждому типу связей?

При проектировании БД существуют взаимосвязи между информационными объектами трех типов: «один к одному», «один ко многим», «многие ко многим» (рис.6).


Например:

Построение концептуальной модели

В простых случаях для построения концептуальной схемы используют традиционные методы агрегации и обобщения. При агрегации объединяются информационные объекты (элементы данных) в один в соответствии с семантическими связями между объектами. Например, урок истории в 10 «а» классе проводится в кабинете №7, начало в 9-30. Методом агрегации создаем информационный объект (сущность) РАСПИСАНИЕ со следующими атрибутами: «класс», «предмет», «кабинет», «время». При обобщении информационные объекты (элементы данных) объединяются в родовой объект (рис.7):

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

Модели «сущность-связь», дающие возможность представлять структуру и ограничения реального мира, а затем трансформировать их в соответствии с возможностями промышленных СУБД, являются весьма распространенными.

Под сущностью понимают основное содержание того явления, процесса или объекта, о котором собирают информацию для БД. В качестве сущности могут выступать место, вещь, личность, явление и т.д. При этом различают тип сущности и экземпляр сущности. Под типом сущности обычно понимают набор однородных объектов, выступающих как целое. Понятие «экземпляр сущности» относится к конкретному предмету. Например:

Тип сущности - ученик

Экземпляр сущности - Иванов, Петров, Сидоров и др.

В нашем примере Школа, Класс, Предметы, Ученики, Учителя, Оценки – сущности. Проанализируем связи между сущностями (рис.8).

Теперь можно перейти к проектированию информационной (концептуальной) схемы БД (атрибуты сущностей на диаграмме не показаны) (рис.9).


принадлежит Школа
Класс Учится Ученик
работает изучает
Учитель Преподает Предмет
экзамен
Ведомость

Логическое проектирование

Логическое проектирование представляет собой необходимый этап при создании БД. Основной задачей логического проектирования является разработка логической схемы, ориентированной на выбранную систему управления базами данных. Процесс логического проектирования состоит из следующих этапов:

1. Выбор конкретной СУБД;

2. Отображение концептуальной схемы на логическую схему;

3. Выбор языка манипулирования данными.

Выбор конкретной СУБД

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

Конструирование баз данных на основе реляционной модели имеет ряд важных преимуществ перед другими моделями

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

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

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



Рекомендуем почитать

Наверх