Некоторые термины и определения, используемые при работа с базами данных
База данных - поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Предметная область - некоторая часть реально существующей системы, функционирующая как самостоятельная единица.
Система управления базами данных (СУБД) - комплекс программных и языковых средств, необходимых для создания и модификации базы данных, добавления, модификации, удаления, поиска и отбора информации, представления информации на экране и в печатном виде, разграничения прав доступа к информации, выполнения других операций с базой.
Реляционная БД - основной тип современных БД. Состоит из таблиц, между которыми могут существовать связи по ключевым значениям.
Таблица базы данных (table) - регулярная структура, которая состоит из однотипных строк (записей, records), разбитых на столбцы (поля, fields).
В теории реляционных баз данных синоним таблицы - отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом.
В концептуальной модели реляционной БД аналогом таблицы является сущность (entity), с определенным набором свойств - атрибутов, способных принимать определенные значения (набор допустимых значений - домен).
Ключевой элемент таблицы (ключ, regular key) - такое ее поле(простой ключ) или строковое выражение, образованное из значений нескольких полей (составной ключ), по которому можно определить значения других полей для одной или нескольких записей таблицы. На практике для использования ключей создаются индексы - служебная информация, содержащая упорядоченные сведения о ключевых значениях. В реляционной теории и концептуальной модели понятие "ключ" применяется для атрибутов отношения или сущности.
Первичный ключ (primary key) главный ключевой элемент, однозначно идентифицирующий строку в таблице. Могут также существовать альтернативный (candidate key) и уникальный (unique key) ключи, служащие также для идентификации строк в таблице.
В реляционной теории первичный ключ - минимальный набор атрибутов, однозначно идентифицирующий кортеж в отношении.
В концептуальной модели первичный ключ - минимальный набор атрибутов сущности, однозначно идентифицирующей экземпляр сущности.
Связь (relation) - функциональная зависимость между объектами. В реляционных БД между таблицами устанавливаются связи по ключам, один из которых в главной (parent, родительской) таблице - первичный, второй - внешний ключ- во внешней (child, дочерней) таблице, как правило. первичным не является и образует связь "один ко многим" (1:N). В случае первичного внешнего ключа связь между таблицами имеет тип "один к одному"(1:1). Информация о связях сохраняется в БД.
Внешний ключ (foreign key) - ключевой элемент подчиненной (внешней, дочерней) таблицы, значение которого совпадает со значением первичного ключа главной (родительской) таблицы.
Ссылочная целостность данных (referential integrity) - набор правил, обеспечивающих соответствие ключевых значений в связанных таблицах.
Хранимые процедуры (stored procedures) - программные модули, сохраняемые в БД для выполнения определенных операций с информацией базы.
Триггеры (triggers) - хранимые процедуры, обеспечивающие соблюдение условий ссылочной целостности определенных операций с информацией базы.
Объект - элемент информационной системы, обладающий определенными свойствами (properties) и определенным образом реагирующий на внешние события (events).
Система - совокупность взаимодействующих между собой и с внешним окружением объектов.
Репликация БД - создание копий БД (реплик), которые могут обмениваться обновляемыми данными или реплицированными формами, отчетами или другими объектами в результате выполнения процесса синхронизации.
Транзакция - изменение информации в базе в результате выполнения одной операции или их последовательности, которое должно быть выполнено вообще. В СУБД существуют механизмы обеспечения транзакций.
Язык SQL (Structured Query Language) - универсальный язык работы с БД, включающий возможности ее создания, модификации структуры, отбора данных по запросам, модификации информации в базе и прочие операции манипулирования базой данных.
Null - значение поля таблицы, показывающее, что информация в данном поле отсутствует. Разрешение на возможность существования значения Null может задаваться для отдельных полей таблицы.
Принципы проектирования Информационных Систем (ИС)
При создании проекта ИС для проектирования её базы данных следует определить:
- объекты ИС (сущности в концептуальной модели)
- их свойства (атрибуты)
- взаимодействие объектов (связи) и информационные потоки внутри и между ними
Схема формирования ИС
Концептуальная модель - отображает информационные объекты, их свойства и связи между ними без указания способов физического хранения информации (модель предметной области, иногда ее также называют информационно-логической или инфологической моделью). Информационными объектами обычно являются сущности - обособленные объекты или события, информацию о которых необходимо сохранять, имеющие определенные наборы свойств - атрибутов.
Физическая модель - отражает все свойства (атрибуты) информационных объектов базы и связи между ними с учетом способа их хранения - используемой СУБД.
Внутренняя модель - база данных, соответствующая определенной физической модели.
Внешняя модель - комплекс программных и аппаратных средств для работы с базой данных, обеспечивающий процессы создания, хранения, редактирования, удаления и поиска информации, а также решающий задачи выполнения необходимых расчетов и создания выходных печатных форм.
На этапах проектирования и программирования могут использоваться методы объектно-ориентированного подхода к разработке объектов ИС (наследование, инкапсуляция, полиморфизм)
Для решения задач проектирования сложных систем существуют специальные методологии и стандарты.
К таким стандартам относятся методологии семейства IDEF (Icam DEFinition, ICAM - Integrated Computer-Aided Manufacturing - первоначально разработанная в конце 70-х гг. программа ВВС США интегрированной компьютерной поддержки производства). С их помощью можно эффективно проектировать, отображать и анализировать модели деятельности широкого спектра сложных систем в различных разрезах. В настоящий момент к семейству IDEF относятся следующие стандарты:
- IDEF0 - Function Modeling - методология фунционального моделирования сложных систем. С помощью наглядного графического языка IDEF0 изучаемая система предстает перед разработчиками и аналитиками в виде набора взаимосвязанных функциональных блоков. Основана на технологии SADT - структурированного анализа и разработки (Structured Analysis and Design Technique). Как правило, моделирование средствами IDEF0 является первым этапом изучения любой системы
- IDEF1 - Information Modeling - методология моделирования информационных потоков внутр и системы, позволяющая отображать и анализировать их структуру и взаимосвязи
- IDEF1X (IDEF1 Extended) - Data Modeling - методология проектирования реляционных БД. Заключается в построении моделей данных типа "сущность-связь" (ERD - Entity-Relationship Diagram) в нотации этого стандарта
- IDEF2 - Simulation Model Design - методология динамического моделирования систем. В настоящее время существуют алгоритмы и их компьютерные реализации, которые позволяют превращать набор статистических диаграмм IDEF0 в динамические модели, построенные на базе "раскрашенных сетей Петри" (CPN - Color Petri Nets)
- IDEF3 - Process Decription Capture - методология документирования процессов, происходящих в системе, которая используется. например, при исследовании технологических процессов на предприятии. С помощью IDEF3 описываются сценарий и последовательность операций для каждого процесса. IDEF3 имеет прямую взаимосвязь с методологией IDEF0 - каждая функция (функциональный блок) может быть представлена в виде отдельного процесса средствами IDEF3
- IDEF4 - Object-Oriented Capture - методология построения объектно-ориентированных систем. Средства IDEF4 позволяют наглядно отображать структуру объектов и заложенные принципы их взаимодействия, тем самым позволяя анализировать и оптимизировать сложные объектно-ориентированные системы
- IDEF5 - Ontology Description Capture - методология онтологического исследования сложных систем. В методологии IDEF5 онтология системы может быть описана при помощи определенного словаря терминов и правил, на основании которых могут быть сформированы достоверные утверждения о состоянии рассматриваемой системы в некоторый момент времени. На основе этих утверждений формируются выводы о дальнейшем развитии системы, и производится ее оптимизация
- IDEF6 - Design Rationale Capture - методология использования рационального опыта проектирования, назначение: сохранение рационального опыта проектирования информационных систем для предотвращения структурных ошибок при новом проектировании
- IDEF7 - Information System Auditing - методология аудита информационной системы
- IDEF8 - User Interface Modeling - методология проектирования интерфейса пользователя
- IDEF9 - Scenaro-Driven IS Design - методология анализа имеющихся условий и ограничений, в том числе физических, юридических, политических, и их влияние на принимаемые решения в процессе реинжиниринга
- IDEF10 - Implementation Architechure Modeling - моделирование архитектуры выполнения
- IDEF11 - Information Artifact Modeling - информационное моделирование артефактов
- IDEF12 - Organization Modeling - организационное моделирование
- IDEF13 - Three Schema Mapping Design - трехсхемный дизайн карт
- IDEF14 - Network Design - методология моделирования компьютерных сетей. Позволяет выполнять представление и анализ данных при проектировании вычислительных сетей на графическом языке с описанием конфигураций, очередей, сетевых компонентов, требований к надежности и т.п.
В стандарте IDEF0 функциональный блок графически изображается в виде прямоугольника и олицетворяет собой некоторую конкретную функцию в рамках рассматриваемой системы. По требованиям стандарта, название каждого функционального блока должно быть сформулировано в виде глагола в побудительном наклонении ("выполнять операции", а не "выполнение операции"). Каждая изд четырех сторон функционального блока имеет свое определенное значение (роль), при этом:
- верхняя сторона имеет значение "Управление" (Control)
- левая сторона имеет значение "Вход" (Input)
- правая сторона имеет значение "Выход" (Output)
- нижняя сторона имеет значение "Механизм" (Mechanism)
Принципы изображения функциональных моделей стандарта IDEF0 используют инструментальные средства моделирования (CASE - средства - Computer-Aided Software System Engineering), такие как BPwin.
В стандарте IDEF1 сущности и связи концептуальной модели изображаются следующим образом
Метод IDEF1, являясь методом анализа, описывает:
- как информация собирается, хранится и обрабатывается на предприятии
- правила и логику управления информацией
- проблемы, возникающие из недостатка хорошего информационного управления
Другие методологии, используемые при моделировании сложных систем:
- DFD-технология анализа "потока данных" (Data Flow Diagrams)
- Workflow-технология анализа "потока работ"
Важное место в моделировании информационных систем занимает методология и системы, использующие UML - унифицированный язык моделирования (Unified Modeling Language)
UML - язык для спецификации, визуализации, конструирования и документирования сложных информационно-насыщенных объектных систем. В настоящее время зарегистрирован как международный стандарт ISO/IEC 19501:2005
UML - модель может включать следующие аспекты:
- Структурный аспект: Use-Case-диаграммы, идентифицирующие бизнес-процессы и бизнес-транзакции, их взаимосвязь, соподчиненность и взаимодействие; Package-диаграммы, описывающие структуру предметной области и иерархическую структуру организации
- Динамический аспект: Behavior-диаграммы (Activity, Statechart, Collaboration, Sequence), описывающие поведедение (жизненный цикл) БП и их взаимодействие во времени и в пространстве с привязкой к используемым ресурсам и получаемым результатам
- Статический аспект: Class-диаграммы, отражающие совокупность взаимосвязанных объектов, т.е. рассматривающие логическую структуру предметной области, ее внутренние концепции, иерархию объектов и статические связи между ними, структуры данных и объектов; Deployment-диаграммы, отражающие технологические ресурсы организации
Словарь языка UML включает три вида строительных блоков:
- сущности
- отношения
- диаграммы
Сущности в UML - это абстракции, являющиеся основными элементами модели. Отношения связывают различные сущности; диаграммы группируют представляющие интерес совокупности сущностей.
В UML имеется четыре типа сущностей:
- структурные
- поведенческие
- группирующие
- аннотационные
Структурные сущности - это имена существительные в моделях на языке UML. Как правило, они представляют собой статические части модели, соответствующие концептуальным или физическим элементам системы. Существует семь разновидностей структурных сущностей: Класс, Интерфейс, Кооперация, Прецедент, Активный класс, Компонент, Узел.
Поведенческие сущности являются динамическими составляющими модели UML. Это глаголы языка: они описывают поведение модели во времени и пространстве. Существует всего два основных типа поведенческих сущностей: Взаимодействие и Автомат.
Группирующие сущности являются организующими частями модели UML. Это блоки, на которые можно разложить модель. Есть только одна первичная группирующая сущность, а именно - пакет.
Аннотационные сущности - пояснительные части модели UML. Это комментарии для дополнительного описания, разъяснения или значения к любому элементу модели. Имеется только один базовый тип аннотационных элементов - примечание.
Все разновидности сущностей UML в диаграммах имеют свой способ графического изображения.
В языке UML определены четыре типа отношений:
- зависимость
- ассоциация
- обобщение
- реализация
Диаграмма в UML - это графическое представление набора элементов, изображаемое чаще всего в виде связанного графа с вершинами (сущностями) и ребрами (отношениями). Диаграммы рисуют для визуализации системы с разных точек зрения. Теоретически диаграммы могут содержать любые комбинации сущностей и отношений. На практике, однако, применяется сравнительно небольшое количество типовых комбинаций, соответствующих пяти наиболее употребительным видам, которые составляют архитектуру ИС. Т.о. в UML выделяют девять типов диаграмм:
- диаграммы классов (Class Diagrams)
- диаграммы объектов (Objects Diagrams)
- диаграммы прецедентов (Use Cases Diagrams)
- диаграммы последовательностей (Sequence Diagrams)
- диаграммы кооперации(Collaboration Diagrams)
- диаграммы состояния (State Diagrams)
- диаграммы действий (Activity Diagrams)
- диаграммы компонентов (component Diagrams)
- диаграммы развертывания (Deployment Diagrams)
Инструментальные средства, поддерживающие методологию UML - Rational Rose (Rational Software), Paradigm Plus (CA/Platinum), ARIS (IDS Sheer AG), Together Designer (Borland) и др.
Система Rational Rose позволяет строить восемь типов диаграмм UML; диаграммы прецедентов, диаграммы классов, диаграммы последовательностей, диаграммы кооперации, диаграммы состояний, диаграммы действий, компонентные диаграммы, диаграммы развертывания. Основным типом диаграмм, своеобразным ядром моделирования в UML являются диаграммы классов. Кроме UML, предусмотрено использование и других методов (Booch, OMT)
Система Paradigm Plus ориентирована на методологию OOCL (Object Oriented Change and Learning) и компонентную технологию проектирования и разработки. Она поддерживает диаграммы различных методов (UML, CLIPP, TeamFusion, OMT, Booch, OOCL, Martin/Odell, Shlaer/Mellor, Coad/yourdon)
Система ARIS обеспечивает четыре различных "взгляда" на моделирование и анализ: Процессы, Функции (с целями), Данные, Организация. Для каждого "взгляда" поддерживаются три уровня анализа (требования, спецификация, внедрение). Каждый из уровней анализа состоит из своего комплекта моделей различных типов, в том числе диаграмм UML, диаграмм SAP/R3 и др. Каждый объект моделей ARIS имеет множество атрибутов, которые позволяют контролировать процесс разработки моделей, определять условия для выполнения функционально-стоимостного анализа, имитационного моделирования, взаимодействия с workflow-системами и т.д.
Система Together Designer Community Edition - средство создания диаграмм UML 2.0. Позволяет строить диаграммы прецедентов (диаграммы сценариев взаимодействия пользователя с продуктом с точки зрения пользователя); диаграммы последовательностей, описывающие порядок передачи сообщений от одних объектов к другим; диаграммы кооперации, описывающие взаимодействие объектов друг с другом; диаграммы деятельности, описывающие потоки работ и изменение состояний объектов, диаграммы развертывания. При необходимости может создаваться логическая модель данных, содержащая диаграммы "сущность-связь", на ее основе генерируется физическая модель данных для конкретной СУБД, выбранной для реализации проекта.
На этапе создания клиентского и серверного кода все современные средства UML-моделирования могут осуществлять генерацию кода на различных языках программирования.
В феврале 2006 г. международный консорциум по разработке спецификаций в компьютерной индустрии опубликовал финальную версию языка моделирования БП BPML (Business Process Modeling Language)
Для проектирования концептуальной модели и формирования физической модели БД информационной системы можно использовать инструментальные CASE-средства (Computer-Aided Software System Engineering), например, Case Studio, SyBase Power Designer, ERWin Data Modeler и др. Данные системы применяются при описании модели данных стандарт IDEF1X и позволяют генерировать программный код на языках SQL, VBScript, JScript, либо работать с другими технологиями для переноса физической модели в реальные СУБД, которыми могут быть Oracle, Microsoft SQL Server, IBM DB2, Informix, Microsoft Access.
На рисунке приведена схема, показывающая взаимосвязь основных терминов в области проектирования БД и работы с ними.
Выбор системы для разработки приложений, работающих с БД, сложное и ответственное решение. Такую возможность имеют универсальные системы программирования: Visual C++ и C#, Delphi, Visual Basic и др. Однако специализированные языки программирования в составе СУБД располагают огромным количеством процедур и функций для работы с БД, специальными библиотеками, механизмами для ускорения работы с большими БД. В связи с повсеместным распространением Интранета, Экстранета, и Интернета, многие системы имеют возможность создания трехуровневой сервис-ориентированной архитектуры WEB- приложений для работы с БД,
Комментариев нет:
Отправить комментарий