Конструирование других таблиц БД. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Конструирование других таблиц БД.



Таблицы Клиенты и Поставщики.

Первое поле таблицы Клиенты – это поле код клиента. Для этой таблицы оно ключевое. Его свойства аналогичны полю код сотрудника в таблице Кадры.

Поле статус предприятия конструируется как элемент управления поле со списком, так как возможный статус предприятия регламентирован законом.

Поле название предприятия текстовое, приблизительно зададим его размер.

Созданная нами фирма должна иметь клиентов не только в нашей стране, но и за рубежом. Создадим для поля страна клиента элемент управления поле со списком. Так же поступим, конструируя поле город клиента.

Поле адрес клиента конструируем аналогично полю адрес сотрудника. Конструируя поля телефон клиента и факс клиента надо создать маску ввода: (999)-990-00-00.

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

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

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

Таблица Склад

Ключевое поле этой таблицы код товара. Его конструирование не отличается от конструирования полей код сотрудника и код клиента. Поле название товара конструируется аналогично полю название фирмы клиента.

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

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

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

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

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

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

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

Таблицы Заказы и Заказ-Товар.

Нам осталось сконструировать две таблицы - Заказы и Заказ-Товар. Данные в этих таблицах помогут связать все сведения в базе данных в единое целое (см.рис.1).

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

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

Поля дата поступления заказа и дата выполнения заказа конструируются аналогично полю дата поступления товара из таблицы Склад.

Последняя таблица, которую нам осталось сконструировать, это таблица Заказ-Товар.

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

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

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

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

После того, как сконструированы все таблицы, необходимо построить схему данных, как это показано на рис.1.

 

Построение схемы данных.

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

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

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

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

Рис. 4. Окно диалога «Связи»

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

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

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

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

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

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 193; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.42.94 (0.018 с.)