1. Основные понятия и термины к теме
“ИНФОРМАЦИОННАЯ МОДЕЛЬ – ОСНОВА ПОСТРОЕНИЯ
СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ.

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

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

@ Ядром информационной системы являются хранимые в ней данные . На любом предприятии данные различных отделов, как правило, пересекаются, то есть используются в нескольких подразделениях или вообще являются общими. Например, для целей управления часто нужна информация по всему предприятию. Заказ комплектующих невозможен без наличия информации о запасах. Хранящиеся в информационной системе данные должны быть легко доступны в том виде, в каком они нужны для конкретной производственной деятельности предприятия. При этом не имеет существенного значения способ хранения данных. Сегодня на предприятии мы можем встретить систему обработки данных традиционного типа, в которой служащий вручную помещает данные в скоросшиватель, и рядом с ней - современную систему с применением самой быстродействующей ЭВМ, сложнейшего оборудования и программного обеспечения. Несмотря на поразительную несхожесть, обе эти системы обязаны предоставлять достоверную информацию в определенное время, определенному лицу, в определенном месте и с ограниченными затратами.

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

@ Предметной областью называется часть реальной системы, представляющая интерес для данного исследования.

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

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

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

@ Объектом называется элемент информационной системы, информацию о котором мы сохраняем. В реляционной теории баз данных объект называется сущностью.

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

@ Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств.

Таким образом, для объектов одного класса набор свойств будет одинаков, хотя значения этих свойств дл я каждого объекта, конечно, могут быть разными. Например, класс объектов МОДЕЛЬ свойств дл я каждого объекта, конечно, могут быть разными. Например, класс объектов МОДЕЛЬ АВТОМОБИЛЯ будет иметь одинаковый набор свойств, описывающих характеристики автомобилей, и каждая модель будет иметь различные значения этих характеристик.

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

@ Атрибут - это информационное отображение свойств объекта. Каждый объект характеризуется рядом основных атрибутов.

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

Рис. 1.1. Три области представления данных.

@ Таблица - это некоторая регулярная структура, состоящая из конечного набора однотипных записей. В некоторых источниках таблица называется отношением.

Мы постараемся избегать последнего термина, так как с развитием реляционной теории “отношением” наряду с термином “связь” часто стали называть связи между таблицами. Каждая запись одной таблицы состоит из конечного (и одинакового!) числа полей , причем конкретное поле каждой записи одной таблицы может содержать данные только одного типа.

@ Значения данных представляют собой действительные данные, содержащиеся в каждом элементе данных.

Элемент данных “НАИМЕНОВАНИЕ МОДЕЛИ” может принимать такие значения, как “Voyager"96 3.8 Grand ”, “Continental 4.6” или “Crown Victoria 4.6” . В зависимости от того, как элементы данных описывают объект, их значения могут быть количественными, качественными или описательными. Информацию о некоторой предметной области можно представить с помощью нескольких объектов, каждый из которых описывается несколькими элементами данных. Принимаемые элементами данных значения называются данными .

@ Единичный набор принимаемых элементами данных значений называется экземпляром объекта . Объекты связываются между собой определенным образом.

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

Некоторые элементы данных обладают важным для построения информационной модели свойством. Если известно значение, которое принимает такой элемент данных объекта, мы можем идентифицировать значения, которые принимают другие элементы данных этого же объекта. Например, зная уникальный номер модели автомобиля - 7, мы можем определить, что это “Voyager" 96” и что рабочий объем двигателя у данной модели “ 3778” .

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

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

@ Первичный ключ - это атрибут (или группа атрибутов), которые единственным образом идентифицируют каждую строку в таблице.

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

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

Например, для объекта “СЛУЖАЩИЙ”, который имеет атрибуты “ИДЕНТИФИКАТОР СЛУЖАЩЕГО”, “ФАМИЛИЯ”, “ИМЯ” и “ОТЧЕСТВО”, группа атрибутов “ФАМИЛИЯ”, “ИМЯ”, “ОТЧЕСТВО” может являться альтернативным ключом по отношению к атрибуту “ИДЕНТИФИКАТОР СЛУЖАЩЕГО” (в предположении, что на предприятии не работают полные тезки).

@ Внешний ключ - это атрибут таблицы, являющийся первичным ключом другой таблицы.

Например, атрибут "НОМЕР МОДЕЛИ" объекта АВТОМОБИЛЬ может быть внешним ключом по отношению к объекту "MODEL" (Модель автомобиля).

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

На рис. 1.2. такими элементами данных являются уникальный ключ и наименование модели, рабочий объем, количество цилиндров и мощность двигателя. Например, одна из записей –“7 Voyager’96 3.8 Grand 3778 6 164,0” . Эта строка представляет собой значения, которые принимают элементы данных объекта МОДЕЛЬ АВТОМОБИЛЯ (MODEL). Записи хранятся на некотором носителе, в качестве которого может выступать человеческий мозг, лист бумаги, память ЭВМ, внешнее запоминающее устройство и т. д.

MODEL

УНИКАЛЬНЫЙ КЛЮЧ МОДЕЛИ

Наименование модели

Рабочий объем (куб. см.)

Мощность (л.сил)

GMC Jimmy 4.3

7

Voyager’96 3.8 Grand

3778

164,0

Stealth 3.0

348 Spider 3.4

Рис.1.2. Записи данных объекта MODEL.

Каждая запись одной таблицы состоит из конечного (и одинакового!) числа полей , причем конкретное поле каждой записи одной таблицы может содержать данные только одного типа

@ Тип данных характеризует вид хранящихся данных.

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

@ Связь - это функциональная зависимость между сущностями.

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

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

Тип связи (идентифицирующая, не идентифицирующая)

Родительская сущность;

Дочерняя (зависимая) сущность;

Мощность связи (cordiality );

Допустимость пустых (null ) значений.

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

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

Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности. Для любой связи, кроме неспецифической, эта связь записывается как 1:n .

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

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

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

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

@ Ссылочная целостность - это обеспечение соответствия значения внешнего ключа экземпляра дочерней сущности значениям первичного ключа в родительской сущности.

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

@ Нормализация отношений - это процесс построения оптимальной структуры таблиц и связей в реляционной БД.

В процессе нормализации элементы данных группируются в таблицы, представляющие объекты и их взаимосвязи. Теория нормализации основана на том, что определенный набор таблиц обладает лучшими свойствами при включении, модификации и удалении данных, чем все остальные наборы таблиц, с помощью которых могут быть представлены те же данные. Введение нормализации отношений при разработке информационной модели обеспечивает минимальный объем физической, то есть записанной на каком-либо носителе, БД и ее максимальное быстродействие, что впрямую отражается на качестве функционирования информационной системы. Нормализация информационной модели выполняется в несколько этапов (1-ая, 2-ая и 3-я нормальные формы).

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

@ Обеспечением целостности базы данных называется система мер, направленных на поддержание правильности данных в базе данных в любой момент времени.

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

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

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

2. Последовательность создания информационной модели

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

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

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

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

@ Логическая модель отражает логические связи между элементами данных вне зависимости от их содержания и среде хранения.

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

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

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

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

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

3. Взаимосвязи в модели

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

Взаимосвязь «один к одному» (между двумя типами объектов)

Мысленно вернемся к временам планово-распределительной экономики. Допустим, в определенный момент времени один клиент может сделать только один заказ. В этом случае между объектами КЛИЕНТ и ЗАКАЗ устанавливается взаимосвязь «один к одному », обозначаемая одинарными стрелками, как это показано на рис. 2.2,а.

Рис. 2.2. Взаимосвязи между двумя объектами: а) «один к одному»; б) «один ко многим»; в) «многие ко многим»

Рис. 2.3. Взаимосвязь между данными при отношении «один к одному».

Взаимосвязь «один ко многим» (между двумя типами объектов).

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

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

Рис. 2.4. Взаимосвязь между данными при отношении «один ко многими».

Если мы будем просматривать записи объекта МОДЕЛЬ АВТОМОБИЛЯ, то в объекте КЛИЕНТ мы сможем получить данные о клиенте, купившем данный автомобиль (см. рис. 2.4). Обратите внимание, что для потерянных записей сведений о клиенте мы не получим.

Взаимосвязь «многие ко многими (между двумя типами объектов).

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

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

Рис. 2.5. Взаимосвязь между данными при отношении «многие ко многими

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

Рис. 2.6. Отображение взаимосвязи между данными при отношении «многие ко многим» с помощью промежуточного объекта

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

Взаимосвязь «один к одному» (между двумя атрибутами)

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

Взаимосвязь «один ко многим» (между двумя атрибутами)

Имя клиента и его номер существуют совместно. Клиентов с одинаковыми именами может быть много, но все они имеют различные номера. Каждому клиенту присваивается уникальный номер. Это означает, что данному номеру клиента соответствует только одно имя. Взаимосвязь «один ко многим» обозначается одинарной стрелкой в направлении к «одному» и двойной стрелкой в направлении ко «многим» (рис.2.7, б ).

Взаимосвязь «многие ко многим» (между двумя атрибутами)

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

а)

б)

в)

Рис. 2.7. Взаимосвязи между двумя атрибутами:
а) взаимосвязь «один к одному»; б) взаимосвязь «один ко многим
» в) взаимосвязь «многие ко многим »

Типы моделей данных

Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных. Эти три модели различаются в основном способами представления взаимосвязей между объектами.

Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, - подчиненными (рис. 2.8). Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим». Иными словами, для данного главного типа объекта существует несколько подчиненных типов объекта. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов. Таким образом, взаимосвязи между объектами напоминают взаимосвязи в генеалогическом дереве за единственным исключением: для каждого порожденного (подчиненног o ) типа объекта может быть только один исходный (главный) тип объекта. На рис. 2.8 узлы и ветви образуют иерархическую древовидную структуру. Узел является совокупностью атрибутов, описывающих объект. Наивысший в иерархии узел называется корневым (это главный тип объекта). Корневой узел находится на первом уровне. Зависимые узлы (подчиненные типы объектов) находятся на втором, третьем и т. д. уровнях.

Рис. 2.8. Схема иерархической модели данных.

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

Рис.2.9. Схема сетевой модели данных.

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

Рис. 2.10. Схема реляционной модели данных.

2. 2. ПОСТРОЕНИЕ МОДЕЛИ “ОБЪЕКТ - СВОЙСТВО - ОТНОШЕНИЕ”

Для описания ИЛМ используются как языки аналитического (описательного) типа, так и графические средства в дальнейшем применяется графический способ отображения модели “объект-свойство-отношение”. В предметной области в процессе ее обследования и анализа выделяют классы объектов. Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств. Например, если в качестве предметной области рассмотреть вуз, то в ней можно выделить следующие классы объектов: учащиеся, преподаватели, аудитории и т. д. Объекты могут быть реальными, как названные выше, а могут быть и абстрактными, как, например, предметы, которые изучают студенты.

При отражении в информационной системе каждый объект представляется своим идентификатором, который отличает один объект класса от другого, а каждый класс объектов представляется именем этого класса. Так, для объектов класса “ИЗУЧАЕМЫЕ ПРЕДМЕТЫ” идентификатором каждого объекта будет “НАЗВАНИЕ ПРЕДМЕТА”. Идентификатор должен быть уникальным.

Каждый объект обладает определенным набором свойств. Для объектов одного класса набор этих свойств одинаков, а их значения, естественно, могут различаться. Например, для объектов класса “СТУДЕНТ” таким набором свойств, описывающим объекты класса, может быть “ГОД РОЖДЕНИЯ”, “ПОЛ” и др.

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

Будем использовать для отображения объектов и их свойств следующие обозначения (рис. 2. 3).

Свойство

Рис. 2.3 Обозначение объектов и их свойств

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

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



Рис. 2.4 Изображение связи «объект - свойство»

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

Связь между объектом и его свойством может быть различной. Объект может обладать только одним значением какого-то свойства. Например, каждый человек может иметь только одну дату рождения. Назовем такие свойства единичными. Для других свойств возможно существование одновременно нескольких значений у одного объекта. Пусть, например, при описании “СОТРУДНИКА” фиксируется в качестве его свойства “ИНОСТРАННЫЙ ЯЗЫК”, которым он владеет. Так как сотрудник может знать несколько иностранных языков, то такое свойство будем называть множественным. При изображении связи между объектом и его свойствами для единичных свойств будем использовать одинарную стрелку, а для множественных свойств - двойную.

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

Другой характеристикой связи между объектом и его свойством является признак того, присутствует ли это свойство у всех объектов данного класса либо отсутствует у некоторых объектов. Например, для отдельных служащих может иметь место свойство “УЧЕНАЯ СТЕПЕНЬ”, а другие объекты этого класса могут не обладать, указанным свойством. Назовем такие свойства условными.

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

Иногда в инфологической модели бывает полезно ввести понятие “составное свойство”. Примерами таких свойств могут быть “АДРЕС”, состоящий из “ГОРОДА”, “УЛИЦЫ”, “ДОМА” и “КВАРТИРЫ”, и “ДАТА РОЖДЕНИЯ”, состоящая из “ЧИСЛА”, “МЕСЯЦА” и “ГОДА”. Используем в ИЛМ для обозначения составного свойства квадрат, из которого исходят линии, соединяющие его с обозначениями составляющих его элементов (рис. 2. 4).

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



Рис. 2.5 Изображение класса объектов и интегральных характеристик класса.

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

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

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

Предположим, что в инфологической модели отображается связь между двумя классами объектов: “СОТРУДНИК” и “ЯЗЫК ИНОСТРАННЫЙ”.

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

с1. .я1

с2. .я2

с3. .я3

с4. .я4

с5. .я5

с6. .я6

с7. .я7

Рис. 2.6 Диаграмма ER - экземпляров

В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 6, а диаграмма ER-типов-как на рис. 2. 7.

Рис. 2. 7. Диаграмма E - R типов

Предположим далее, что предметной областью является институт, а объект “ЛИЧНОСТЬ” отображает абитуриентов, поступающих в этот институт. Каждый из абитуриентов обязательно должен владеть каким-либо иностранным языком, но никто ни владеет более чем одним языком (рис. 2. 8). В этом случае диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 8, а диаграмма ER-типов-как на рис. 2. 9.

Личность Язык

л1 я1

л2 я2

л3 я3

л4 я4

л5 я5

л6 я6

л7 я7


Как в первом, так и во втором рассмотренном случае между, сущностями наблюдается отношение М: 1. На диаграмме это отображено со стороны объекта “ЛИЧНОСТЬ” двойной стрелкой, а со стороны объекта “ЯЗЫК ИНОСТРАННЫЙ” - одинарной стрелкой на линии, изображающей связь между данными сущностями.

Разница в рассматриваемых ситуациях заключается в том, что в первом случае класс принадлежности является необязательным для обоих сущностей, а во втором-для сущности “ЛИЧНОСТЬ” класс принадлежности является обязательным. На диаграмме (рис. 2. 9) это отображено точкой в прямоугольнике, соответствующем объекту “ЛИЧНОСТЬ”.

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

Для такой предметной области диаграмма ER-экземпляров будет иметь вид, изображенный на рис. 2. 10, а диаграмма ER-типов-как на рис. 2. 11.

Личность Язык

л1 я1

л2 я2

л3 я3

л4 я4

л5 я5

л6 я6

л7 я7


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

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

(Пример можно было бы привести, но суть ясна).

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

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

Выделяют несколько разновидностей сложных объектов: составные объекты, обобщенные объекты и агрегированные объекты.

Составной объект соответствует отображению отношения “целое-часть”. Примерами составных объектов являются УЗЛЫ- ДЕТАЛИ, КЛАСС-УЧЕНИКИ и т. п.

Для отображения составных объектов в инфологической модели обычно не используются какие-либо специальные условные обозначения. Связь между составным и составляющими его объектами отображается так же, как это было описано выше. Причем характер связи тоже может быть разный: так, “ДЕТАЛИ” и “УЗЛЫ” связаны между собой отношением типа М: М, а “ГРУППА” и “СТУДЕНТЫ”-отношением 1: М.

Обобщенный объект отражает наличие связи “род-вид” между объектами предметной области. Например, объекты СТУДЕНТ, ШКОЛЬНИК, АСПИРАНТ, УЧАЩИЙСЯ ТЕХНИКУМА образуют обобщенный объект УЧАЩИЕСЯ. Объекты, составляющие обобщенный объект, называются его категориями.

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

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

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

Личность



Рис. 2.14 Изображение обобщенного объекта


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

Рис. 2.15 Граф пересечений

Граф пересечений содержит дополнительную информацию о предметной области и не относится к классу ER-моделей.

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

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



Рис. 2.16 Изображение агрегированного объекта

Для отображения агрегированного объекта в инфологической модели будем использовать следующие условные обозначения:

сам агрегированный объект будем изображать ромбом, рядом с которым указывается имя соответствующего объекта. Этот ромб необходимо связать с условными обозначениями тех объектов, которые образуют этот агрегированный объект. Свойства агрегированного объекта изображаются так же, как и для простого объекта. На рис. 2.16 изображен агрегированный объект “ПОСТАВКА ПРОДУКЦИИ”.

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 Графическое изображение одно – однозначных отношений объектов

Одно – многозначные связи (1:М)

Одно – многозначные связи (1:М) – это такие связи, когда экземпляру одного объекта (А) может соответствовать несколько экземпляров другого объекта (В), а каждому экземпляра второго объекта (В) может соответствовать только один экземпляр первого объекта (А).

Рис.2 Графическое изображение одно – многозначный связи отношений объектов.

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

Много – многозначные связи (M:N)

Много – многозначные связи (M:N) – это когда, каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) может соответствовать тоже несколько экземпляров первого объекта (А).

Рис.3 Преобразование связи типа M:N через объект – связку

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

Определение связей между информационными объектами

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

Связи между объектами ГРУППА - СТУДЕНТ характеризуются одно – многозначными отношениями (1:М), поскольку одна группа включает много студентов, а один студент входит только в одну группу. Связь между ними осуществляется по номеру группы, который является уникальным идентификатором главного объекта ГРУППА входит в составной идентификатор объекта СТУДЕНТ (см.табл.1)

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

Таблица 1. Объекты справочной информации о студентах, группах и предметах

Таблица 2. Группировка реквизитов по информационным объектам документа Список преподавателей кафедры

В таблице приняты обозначения для ключа: П – простой, У – уникальный.

В каждой группе в течение семестра проводятся занятия по разным предметам (объект ИЗУЧЕНИЕ ). С другой стороны, каждое занятие определенно для каждой группы. Поэтому имеет место связь типа один – ко – многим между объектами ПРЕДМЕТ - ИЗУЧЕНИЕ .

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

Рис.4 Много – многозначные связи информационных объектов


Рис.5 Информационно – логическая модель предметной области Учебный процесс

Объект УСПЕВАЕМОСТЬ содержит данные об успеваемости (оценку) конкретного студента по конкретному занятию. Поэтому он является связанным с объектом СТУДЕНТ и объектом ИЗУЧЕНИЕ . Один студент имеет оценки по нескольким занятиям, но каждая оценка всегда относится к одному конкретному студенту. Это означает, объект УСПЕВАЕМОСТЬ является подчиненным и находится в одно – многозначных отношениях с объектом СТУДНТ . Объект УСПЕВАЕМОСТЬ , а также является подчиненным и находится в одно – многозначных отношениях с объектом ИЗУЧЕНИЕ. Объект УСПЕВАЕМОСТЬ выполняет роль объект – связки много – многозначных отношениях объектов СТУДЕНТ и ИЗУЧЕНИЕ . Много – многозначные отношения между этими объектами определяются тем, что одному студенту соответствует много занятий, отображаемых объектом ИЗУЧЕНИЕ , а одно занятие проводится со многими студентами.

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

Таблица 3 Связи информационных объектов

Информационно – логическая модель предметной области Учебный процесс

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

Логическая структура реляционной базы данных

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

Связи между объектами модели данных реализуются одинаковыми реквизитами – ключами связи в соответствующих таблицах. При этом ключом связи всегда является уникальный ключ главной таблицы. Ключом связи в подчиненной таблице является либо некоторая часть уникального ключа в ней, либо поле, не входящее в состав первичного ключа (например, код кафедры в таблице ПРЕПОДАВАТЕЛЬ ). Ключ связи в подчиненной таблице называется внешним ключом . В Access может быть создана схема данных , наглядно отображающая логическую структуру базы данных. Определение одно – многозначных связей в этой схеме должно осуществляться в соответствии с построенной моделью данных. Внешний вид схемы данных практически совпадает с графическим представлением информационно – логической модели. Для модели данных, построенной в рассмотренном примере, логическая структура базы данных в виде схемы данных Access приведена на рис.2.7.

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

Диаграмма ER-типа:

Упрощения:

1. Рассматриваются только те жители, которые имеют квартиру.

2. Житель может быть зарегистрирован только в одной квартире.

3. Учитываются только населенные квартиры, в которых зарегистрированы жители.

4. В одной квартире могут быть зарегистрированы несколько жителей.

5. Для одной квартиры один номер телефона.

6. Не во всякой квартире может быть телефон.

7. Имеются жители без источника дохода (дети).

8. У одного жителя может быть несколько источников дохода.

9. Разные виды дохода у разных жителей.

10. Имеются виды доходов, которые не используются.

Конец работы -

Эта тема принадлежит разделу:

Сравнение однотабличной и многотабличной баз данных

На сайте сайт читайте: "сравнение однотабличной и многотабличной баз данных"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Компоненты БнД
Словарь данных – «хранилище» метаинформации. Метаинформация – информаци

Этап определения подсхем
В некоторых СУБД имеется возможность описать логическую структуру БД с точки зрения конкретной группы пользователей. Такая модель называется внешней, а ее описание – подсхе

Инфологическое моделирование предметной области. Состав инфологической модели (ИЛМ)
1-2. Описание предметной области представляется с помощью какой-либо знаковой системы, поэтому в

Описание объектов и их свойств. Разновидности свойств объектов
Класс объектов – совокупность объектов, обладающих одинаковым набором свойств. Классы объектов могут быть как материальными, так и абстрактными (например, предметы, по кот

Диаграмма ER-типа
Тип связи 1 к 1. Класс принадлежности объектов и для П и для К необязател

Разновидности сложных объектов
1. Составной объект. 2. Обобщенный объект. 3. Агрегированный объект. Составной объект

Определение состава БД
Один из подходов к определению состава БД – принцип синтезирования. Суть:В БД должны храниться только исходные показатели. Все производные показатели долж

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

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

Метод проектирования РБД на основе ИЛМ (правила 1-12)
1. Для каждого простого объекта и его единичных свойств строится отношение, атрибуты которого являются идентификаторами объекта и реквизиты соответствуют каждому из единичных свойс

Определение состава БД и отношений
Принцип синтезирования: В состав БД включают атрибуты всех сущностей + вычисляемый доход SumD. БД состоит из 5 отношений: PERSON (Nom, FIO, Rdate, Pol, S

Сравнение однотабличной и многотабличной баз данных
Могут возникать проблемы вставки, обновления, удаления. Проблема вставки В любой БД не должно быть полей с неопределенными или пустыми значениями. Например: для од

Structured Query Language
Конкретные реализации SQL учитывают требования стандарта, но предоставляют и дополнительные возможности (SQL1, SQL2(1992), SQL3(1999)) SQL можно использовать в 2-х режимах: 1. Инт

Предложение Select
В качестве ТРЗ может быть имя столбца, константа, выражение. Имя столбца идентифицирует один из столбцов, содержащихся в таблице, которая указана в предложении FROM. Оно может быть указано


Указывает, какие строки следует отбирать. Задается условие поиска, как критерий отбора. Виды условий поиска: 1. Сравнение. =, <>, <, >, <=, >=. 2. Прове

Составные условия поиска. Таблицы истинности
AND true false null OR true

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

Запросы с группировкой и ограничения на них
Select ADR, AVG(SUMD) FROM PERSON GROUP BY ADR 1. Сведения о жителях в таблице Person делятся на группы – по одной группе на каждую квартиру. В каждой группе все квартиры имеют 1

Ограничение на список возвращаемых столбцов
В запросе с группировкой все элементы списка возвращаемых столбцов должны иметь одно и то же значение для каждой группы слов. => В качестве элементов списка возвращаемых столбцов можно использов

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

Проверка на существование результатов вложенного запроса
SELECT *FROM PERSON WHERE EXISTS (SELECT ID FROM HAVE_D, PROVIT WHERE PROVIT.ID

Добавление новых элементов
Наименьшей единицей информации, которую можно добавить в базу данных, является одна строка. Существует 2 способа добавления новых строк: 1) однострочный оператор INSERT, включающи

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

Условия уникальности данных
Возьмем таблицу PERSON, опишем ее структуру: CREATE TABLE PERSON (INTERBASE) (NOM INTEGER NOT N

Изменение определения таблицы
ALTER TABLE служит для: 1. добавить определение нового столбца. 2. изменить значение по умолчанию. 3. изменить или удалить первичный ключ таблицы.

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