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

Добавлен: 15.11.2018

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

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

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

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


2.2.4 Создание индексов.


Чем больше данных хранится в таблицах, тем больше индексов нужно для эффективного поиска информации.

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

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


Код

Город

1

Москва





40

Москва





80

Москва





100

Москва


Москва

1



Москва

40



Москва

80



Москва

100


*

При условии Город = « Москва » Microsoft Access создает индексную таблицу *


Если определены индексы для нескольких полей и задан критерий поиска более чем по одному полю, то Microsoft Access использует индексы совместно, что бы быстрее найти нужные записи. Например, если созданы отдельные индексы по полям « Город » и «Фамилия » и необходимо найти записи, удовлетворяющие условию Город = « Москва », Фамилия = « Иванов », то все строки индекса по полю Город, содержащие значение «Москва» Microsoft Accessсравнит со строками в индексе Фамилия = «Иванов». Результатом будет сокращение количества указателей к записям, удовлетворяющим обоим условиям.

Для установки индекса по одному полю существует две возможности:

  1. Для полей, в которых создается индекс и существуют записи с повторяющимися значениями в свойстве полей « Индексированное поле » установить значение «Допускается повторение ».

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

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


Microsoft Access использует составные индексы даже тогда, когда поиск ведется по значениям лишь некоторых полей. Microsoft Access может использовать составной индекс в тех случаях, когда в условия поиска включается последовательность полей, начиная с первого поля индекса, т.е. поиск может осуществляться по имени, по имени и отчеству, по ФИО. Существуют, правда, ограничения на использование составных индексов: только последнее условие поиска может содержать операторы неравенства <, <=, >, >=. Например: ( Имя = « Анатолий » OR Фамилия = « Иванов »). Эта запись будет выполнена.

А эта запись неверна: ( Имя < « Анатолий » OR Фамилия = « Иванов »).


2.2.5 Ограничения для баз данных.


При проектировании БД в МА существует ряд ограничений, накладываемых на БД:

  1. Таблица может содержать не более 255 полей.

  2. Таблица не может иметь более 32 индексов.

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

  4. Общая длина строки таблицы без учета полей МЕМО и объектов OLE не может превышать 2 КБ.

  5. Размер поля МЕМО ограничивается 1 ГБ, но нельзя вывести поле МЕМО размером более 64 КБ в форме или в режиме таблицы.

  6. Размер объекта OLE не должен превышать 1 ГБ.

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


2.2.6 Изменение проекта базы данных.


Ограничения на изменения.


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

  1. Сделанные в таблицах изменения Microsoft Access не вносит автоматически в использующие их отчеты, формы, макросы и модули. Зависимые объекты необходимо редактировать самостоятельно.

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

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


Преобразование данных.


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


  1. Преобразование без ограничений.



Таблица 6. Варианты преобразования типов данных без ограничений.


Типы преобразуемых данных

Типы преобразованных данных

Числовой

Текстовый

Дата/время

Текстовый

Поле МЕМО

Числовой

Денежный

Денежный

Текстовый

Поле МЕМО

Счетчик

Текстовый

Поле МЕМО

Числовой

Денежный

Гиперссылка

Поле МЕМО


  1. Преобразования, на которые накладываются ограничения.

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



2.2.7 Режим таблицы.


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


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

  1. Изменять высоту строк и ширину столбцов.

  2. Изменять порядок расположения столбцов.

  3. Скрывать столбцы, т.е. делать размер поля равным нулю.

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

  1. Закреплять столбцы.

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

  1. Менять внешний вид ячеек таблицы.

  2. Изменять шрифт в таблице.

В режиме таблицы кроме просмотра данных и их форматирования можно производить следующие операции над их изменениями:

  1. Добавлять новую запись.

  2. Выделять и изменять данные.

  3. Заменять одни данные на другие.

  4. Копировать и вставлять данные.


2.2.8 Работа с гиперссылками.


Начиная с Microsoft Access 97 был введен новый тип данных “ Гиперссылка ”. Данный тип данных позволяет хранить в поле простые или сложные ссылки на файлы или документы, находящиеся вне базы данных. Такие ссылки могут содержать адрес, указывающий на некоторое место в Internet, корпоративной сети, либо сетевой маршрут к файлу на сервере локальной сети или на самом компьютере. Ссылка может указываться в формате языка, поддерживающего гиперссылки. В самой таблице гиперссылка на обычном фоне выделяется синим цветом.

Гиперссылка по своей сути является текстовым полем и может содержать до 2048 символов и состоять из трех основных частей:

  1. Необязательное описание.

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

  1. Адрес гиперссылки.

Это может быть адрес, начинающийся с имен протоколов, работающих в Internet (например, WWW…) или сетевой путь к файлу (C:\…\…\имя файла…\)


  1. Необязательный дополнительный адрес.

Этот адрес дает именованный объект внутри файла. Например, можно указать закладку в документе Word. Дополнительный адрес отделяется от основного символом #, т.е. строка имеет вид: описание # адрес # необязательный адрес.

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



2.2.9 Сортировка и поиск данных.


Сортировка данных.


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

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

  1. Сортировка по возрастанию.

Сортирует записи по соответствующему полю в алфавитном порядке.

  1. Сортировка по убыванию.

Сортирует строки соответствующего поля в порядке, обратном алфавитному.

  1. Сортировка в таблице по нескольким полям осуществляется с помощью фильтра.

Фильтр – это средство Microsoft Access, позволяющее производить как сортировку, так и поиск данных в таблице.

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







Таблица 7. Пример сортировки таблицы по нескольким полям.


Область

Город

Улица

Ленинградская

Любань

Урицкого

Ленинградская

Тосно

Ленина

Ленинградская

Тосно

Чехова

Московская

Пушкино

Комсомола


Поиск и фильтрация данных.


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

* - заменяет строку любой длины.

? – один произвольный символ.

По указанному шаблону Microsoft Access найдет все встречающиеся строки.

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

  1. Фильтр по выделенному.

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


  1. Обычный фильтр.

Фильтр по выделенному позволяет отбирать записи, удовлетворяющие всем частным условиям отбора, т.е. если задаем поиск записей с именами “ Петр ” и фамилией “Семенов”, то будут выведены записи, содержащие оба этих слова. Если же необходимо вывести записи, содержащие хотя бы одно из этих слов, заданных при поиске, то применяется обычный фильтр, т.е. он используется, когда необходимо найти записи, удовлетворяющие только некоторым из частных условий. Таким образом, применение этого фильтра выведет все записи, в которых встречается хотя бы одно из слов “ Петр ” или “Семенов ”, таким образом, разница между фильтрами такова: (усл 1 and усл 2), (усл 1 or усл 2).

  1. Расширенный фильтр.

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


2.2.10 Работа с данными при помощи запросов.


2.2.10.1 Выбор данных из одной таблицы.


Задание запроса.


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

Классификация запросов представлена на рис.6.

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

Рис.6 Классификация запросов в МА.


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

  1. Описание.

Информация о соответствующем поле.

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

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

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

  4. Подпись.


Следующим шагом определения запроса является отбор записей с нужными значениями полей. Поиск необходимых записей может осуществляться как по одному полю, так и по нескольким полям одновременно. В качестве условия отбора используются логические операторы AND и OR. Таблицы истинности этих операторов представлены в таблицах 8 и 9.


Таблица 8. Таблица истинности для оператора AND.


AND

Истина

Ложь

Истина

Истина

(значение выбирается)

Ложь

(значение отвергается)

Ложь

Ложь

Ложь


Таблица 9. Таблица истинности для оператора OR.