Файл: Теория баз данных в экономических системы.doc

Добавлен: 15.11.2018

Просмотров: 3134

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  1. Независимость полей.

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

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

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

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

При построении БД ориентируются на перечисленные правила, но могут возникать ситуации, когда данным правилам не следуют. Существуют исключения из правил нормализации:

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

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

  3. При накоплении данных для сложного запроса могут создаваться временные таблицы с нарушением правил нормализации.


2.2. Работа с данными в Microsoft Access


2.2.1 Построение баз данных в Microsoft Access.


2.2.1.1 Создание таблиц.


Создание базы данных начинается с построения таблиц. В Microsoft Access существует три режима построения таблиц:

  1. Режим таблиц.

В этом режиме возникает обычная электронная таблица, в которую можно вводить данные: текст, числа, даты, денежные значения. Но в отличие от электронной таблицы в нее нельзя внести вычисляемые выражения. При сохранении таблицы Microsoft Access позволяет задать первичный ключ и присвоить ему тип данных «счетчик».

  1. Мастер таблиц.

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

  1. Режим конструктора.

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



2.2.1.2 Определение полей.


Типы данных.


Microsoft Access позволяет поддерживать девять типов данных, краткое описание которых можно посмотреть в таблице 4.

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

Поле МЕМО используется в тех случаях, когда в тексте присутствуют символы табуляции и возврата каретки (Enter).

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

Тип данных дата/время используется для хранения календарных дат или значений времени и позволяет выполнять вычисления в единицах измерения времени.

Тип данных денежный обеспечивает точность до 15 знаков слева от запятой и 4 знаков справа.

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

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

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

Гиперссылка содержит данные об адресе, который может находится в Internet, корпоративной сети, локальной сети или на самом компьютере.


Таблица 4. Типы данных Microsoft Access.


Типы данных

Использование

Размер

Текстовый

Алфавитно–цифровые данные.

До 255 байт (знаков).

Поле МЕМО

Алфавитно–цифровые данные, предложения абзацы.

До 64 КБ.

Числовой

Числовые данные.

1,2,4,8 байт.

Дата/время

Временные параметры.

Максимально 8 байт.

Денежный

Данные о денежных суммах.

Максимально 8 байт.

Счетчик

Уникальное длинное целое число генерируемое Microsoft Access при создании каждой новой записи.

Максимально 4 байта.

Логический

Логические данные.

1 бит.

Поле объекта OLE

Графическая информация.

До 1 ГБ.

Гиперссылка

Адрес ссылки на необходимый документ.

До 2 КБ.


Свойства полей (общие).


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

Свойства:

  1. Размер поля.

Это свойство задает максимальный размер данных, хранимых в поле. Поле с текстовым типом данных может иметь размер 1 – 255 символов, а по умолчанию устанавливается 50.

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

а) байт-целое число от 0 до 255 (занимает в памяти 1 байт).

б) целое - целые числа от –32768 до 32767 (в памяти занимает 2 байта).

в) длинное целое - целые числа от –2147483648 до 2147483647 (занимает в памяти 4 байта).

г) с плавающей точкой - числа с точностью до 6 знаков от –3,4*1038 до 3,4*1038 (занимает в памяти 4 байта).


д) с плавающей точкой - числа с точностью до 10 знаков от –1,797*10308 до 1,797*10308 (занимают в памяти 8 байт).

  1. Формат поля.

Можно задать формат представления данных при выводе на экран или печать. Например, дата/время – 15-апр-00.

  1. Число десятичных знаков.

Для числового или денежного типов данных можно задать число знаков, выводимых после запятой. По умолчанию устанавливается значение авто, для которого характерно 2 знака после запятой. В целом оно может изменяться от 0 до 15 знаков.

  1. Маска ввода.

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

  1. Подпись.

Можно определить более содержательное название поля, которое Microsoft Access будет выводить в элементах управления форм и в заголовках отчетов.

  1. Значение по умолчанию.

Можно определить значение по умолчанию для любого типа данных кроме счетчика и поля объекта OLE. Для числовых полей значение по умолчанию ноль. Для логических – ложь. Для текстовых – NULL, которое называется пустым значением, но для Microsoft Access оно является неизвестным.

  1. Условие на значения.

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

  1. Сообщение об ошибках.

Можно указать текст сообщения, которое Microsoft Access будет выводить в том случае, если вводимые данные не удовлетворяют условию на значения.

  1. Обязательное поле.

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

  1. Пустые строки.

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

  1. Индексированное поле.

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


Свойства полей (подстановка).


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

  1. Тип элемента управления.

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

  1. Тип источника строк.

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

  1. Источник строк.

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


  1. Присоединенный столбец.

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

  1. Число столбцов.

Вводится число столбцов, поступающих из источника данных.

  1. Заглавие столбцов.

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

  1. Ширина столбцов.

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

  1. Число строк списка.

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

  1. Ширина списка.

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

  1. Ограничится списком.

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


2.2.2 Задание условий на значения для полей.


Условия на значения задаются выражением, которое в общем случае состоит из операторов сравнения и операндов. Если выражение не содержит оператора, то Microsoft Access по умолчанию использует оператор сравнения равно « = ». Можно использовать несколько сравнений, связанных логическими операторами OR или AND. Текстовые значения всегда должны заключатся в кавычки. Если в выражении используется текстовая строка, содержащая пробелы, или специальные символы, то в кавычки заключается вся строка.

В условии на значения в качестве операторов могут использоваться следующие символы сравнения: <, >, <=, >=, <>, =.

Есть несколько специальных операторов:

IN – проверяет на равенство любому значению из списка, где операндом является список, заключенный в круглые скобки. Например, для поля « Город » операнд может выглядеть следующим образом: ( « Санкт – Петербург », « Москва », « Калуга »).

BETWEEN – проверят, что значение поля находится в заданном диапазоне. Верхняя и нижняя границы разделяются логическим оператором AND.

Например, запись BETWEEN 50 AND 100 означает, что диапазон значений находится в пределах от 50 до 100, по - другому это можно записать (>= 50 AND <=100).

LIKE – проверяет соответствие текстового или МЕМО поля заданному шаблону символов. Оператор сравнения LIKE в качестве операнда использует текстовую строку, которая определяет допустимые символы в конкретной позиции шаблона.


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

 - соответствует одному произвольному символу.

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

# - знак числа. Соответствует одной произвольной цифре.

Примером строки с оператором LIKE может служить такая запись: LIKE ???ов?

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


2.2.3 Создание первичного ключа и установление связей.


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

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

  1. Первичному ключу одной таблицы соответствует вторичный ключ другой таблицы.

  2. Определить где находится соотношение один, а где многие.

Иллюстрацию этих условий смотри на рис. 5.

1



З

1

аказчики

К од заказчика

(первичный ключ)

ФИО

Адрес

Товары

Код товара

Марка

Кол – во

Код заказчика

( чужой ключ)


* - будем считать, что один заказчик заказывает много товаров.


Рис. 5. Установление связи 1-.


М еханизм установления связей между таблицами достаточно прост. Необходимо поле с соотношением один перенести в поле с соотношением многие. В результате этих действий Microsoft Access создаст связь и нарисует ее между таблицами (рис.4).

Для связи двух таблиц тип данных связываемых полей должен совпадать, исключение составляет связывание поля с типом данных « Счетчик » - ему должно соответствовать поле с типом данных «Числовой ».

При установлении связи между таблицами Microsoft Access поддерживает два вида связей: « один ко многим (1 - ) » и « один к одному (1 - 1) ».

  1. « Один ко многим ».

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

  1. « Один к одному ».

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