Организация баз данныхРефераты >> Программирование и компьютеры >> Организация баз данных
В в е д е н и е
При проектировании программ выясняются запросы и пожелания клиента и определяется возможный подход к решению задачи. Задача анализируется. На основе этого анализа реализуется конкретная модель в конкретной программной среде. Результаты каждого этапа проектирования используются в качестве исходного материала следующего этапа.
Анализируется текущая организация предприятия, выделяются проблемы для решения, определяются объекты отношения между ними , составляется «эскиз» текущей организации предприятия, разрабатывается модель с учетом конкретных условий ее функционирования.
База данных ориентирована на определенную предметную область и организована на основе некоторого подмножества данных. Возможности баз данных полезны в областях, связанных с долговременным управлением информацией, таких как электронные библиотеки и хранилища данных.
Предварительное планирование, подготовка данных,
последовательность создания информационной модели
При проектировании системы обработки данных больше всего нас интересует организация данных. Помочь понять организацию данных призвана информационная модель.
Процесс создания информационной модели начинается с определения концептуальных требований ряда пользователей. Концептуальные требования могут определяться и для некоторых задач (приложений), которые в ближайшее время реализовывать не планируется. Это может несколько повысить трудоемкость работы, однако поможет наиболее полно учесть все нюансы функциональности, требуемой для разрабатываемой системы, и снизит вероятность переделки в дальнейшем. Требования отдельных пользователей должны быть представлены в едином «обобщенном представлении». Последнее называют концептуальной моделью.
· Объект – это абстракция множества предметов реального мира, обладающих одинаковыми характеристиками и законами поведения. Объект представляет собой типичный неопределенный экземпляр такого множества.
Объекты объединяются в классы по общим характеристикам. Например, в предложении «Белый Дом является зданием», «Белый Дом» представляет объект, а «здание» – класс. Классы обозначаются абстрактными существительными.
· Класс – это множество предметов реального мира, связанных общностью структуры и поведением.
Концептуальная модель представляет объекты и их взаимосвязи без указывания способов их физического хранения. Таким образом, концептуальная модель является, по существу, моделью предметной области. При проектировании концептуальной модели все усилия разработчика должны быть направлены в основном на структуризацию данных и выявление взаимосвязей между ними без рассмотрения особенностей реализации и вопросов эффективности обработки. Проектирование концептуальной модели основано на анализе решаемых на этом предприятии задач по обработке данных. Концептуальная модель включает описания объектов и их взаимосвязей, представляющих интерес в рассматриваемой предметной области и выявляемых в результате анализа данных. Имеются в виду данные, используемые как в уже разработанных прикладных программах, так и в тех, которые только будут реализованы.
Проектирование концептуальной модели базы данных:
Анализ данных: сбор основных данных (например, объекты, связи между объектами).
Определим первоначальные данные:
Заявки - поступающие от магазинов на определённый период.
Договора - заключаются с поставщиками на определённый вид товара.
Поставщики - организации или физические лица, с которыми заключаются договора на поставку товара.
Заказчики - в основном магазины, а также предприятия и организации, подающие заказ на приобретение того или иного товара.
Счета - ведутся на этапе заключения договором с поставщиками, а также с заказчиками.
Накладные - создаются на основании получения заказа о заказчика, для отгрузки.
Справки - получение/выдача различных справок как заказчику так и поставщику.
Товар - присутствует на основании заявки и договора с поставщиком.
Определение взаимосвязей.
Взаимосвязь выражает отображение или связь между двумя множествами данных. Различают взаимосвязи типа «один к одному», «один ко многим» и «многие ко многим».
Например, если заказчик производит заказ на покупку товара впервые, осуществляется первичная регистрация его данных и сведений о сделанном заказе. Если же заказчик производит заказ повторно, осуществляется регистрация только данного заказа. Вне зависимости от того, сколько раз данный заказчик производил заказы, он имеет уникальный идентификационный номер (уникальный ключ заказа). Информация о каждом заказчике включает наименование заказчика, адрес, телефон, факс, фамилию, имя, отчество, признак юридического лица и примечание. Таким образом, свойствами объекта Заказчик являются «уникальный ключ заказчика», «наименование заказчика».
Следующий представляющий для нас интерес объект — Товар. Этот объект имеет свойства «уникальный ключ товара», «наименование товара».
Второй рассматриваемый объект — Поставщик. Его свойствами являются «уникальный ключ поставщика», «наименование поставщика».
Третий рассматриваемый объект — Заказчик. Его свойствами являются «уникальный ключ заказчика», «наименование заказчика».
Взаимосвязь «один к одному» (между двумя типами объектов)
Допустим, в определенный момент времени один заказчик может сделать только один заказ. В этом случае между объектами Заказчик и Товар устанавливается взаимосвязь «один к одному».
Взаимосвязь «один ко многим» (между двумя типами объектов)
В определенный момент времени один заказчик может стать обладателем нескольких товаров, при этом несколько заказчиков не могут являться обладателями одного товара (на условии если заказчик не претендует на часть товара). Взаимосвязь «один ко многим» можно обозначить с помощью одинарной стрелки в направлении к «одному» и двойной стрелки в направлении ко «многим» .В этом случае одной записи данных первого объекта (его часто называют родительским или основным) будет соответствовать несколько записей второго объекта (дочернего или подчиненного). Взаимосвязь «один ко многим» очень распространена при разработке реляционных баз данных. В качестве родительского объекта часто выступает справочник, а в дочернем хранятся уникальные ключи для доступа к записям справочника. В нашем примере в качестве такого справочника можно представить объект Заказчик, в котором хранятся сведения о всех заказчиках. При обращении к записи для определенного заказчика нам доступен список всех покупок, которые он сделал, и сведения о которых хранятся в объекте Товар.
Взаимосвязь «один к одному» (между двумя свойствами)
Мы предполагаем, что ключ (номер) магазина является его уникальным идентификатором, то есть он не изменяется и при последующих поступлениях заказов от данного магазина. Если наряду с номером магазина в базе данных хранится и другой его уникальный идентификатор (например, адрес), то между такими двумя уникальными идентификаторами существует взаимосвязь «один к одному».