Обеспечение целостности данных в БД 


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



ЗНАЕТЕ ЛИ ВЫ?

Обеспечение целостности данных в БД

Поиск

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

К средствам обеспечения целостности данных на уровне СУБД относятся:

встроенные средства для назначения первичного ключа, в том числе средства для работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;

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

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

Типы данных СУБД Access

Каждое поле базы данных имеет имя, тип (формат) и длину.

Тип (формат) поля связан с формой представления информации в этом поле. К основным типам (форматам) полей относят:

Текстовый (символьный) - предназначен для записи алфавитно-цифровой информации;

Числовой - предназначен для записи чисел.

Существуют и другие типы (форматы) полей.

Тип данных Назначение Размер
текстовый - текст, - комбинация текста и чисел, - числа, не требующие вычислений (например, номера телефонов или почтовые индексы) до 255 символов
поле MEMO длинный текст или числа (например, примечания или описания) до 64 000 символов
числовой числовые данные (целые или дробные), используемые для вычислений 1, 2, 4 или 8 байт.
дата/время даты и время 8 байт
денежный денежные значения. Используется для предотвращения округлений во время вычислений, предполагает до 15 символов в целой части числа и 4 - в дробной 8 байт
счетчик автоматическая вставка последовательных (увеличивающихся на 1) или случайных чисел при добавлении в таблицу каждой новой записи. Часто используется в качестве ключа. Значения в этих полях не могут обновляться 4 байт
логический логические значения (да/нет, истина/ложь, вкл/выкл) 1бит
поле объекта OLE объекты, созданные в других приложениях, использующих протокол OLE (например, таблица MSExcel или документ MSWord) До1 Гб
гиперссылка адрес ссылки (путь) на документ или файл, находящийся в Internet, интрасети или локальном компьютере до 64 000 символов (байт)

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

Организация поиска информации в БД. Сортировка записей.

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

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

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

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

Фильтрация данных

Фильтрация - выделение из БД данных, отвечающих некоторому критерию. Критерии бывают двух типов.

Критерии вычисления – это критерии, которые являются результатом вычисления формулы. Например, диапазон критериев =F7=СУММ($В$2:$В$22) выводит на экран строки, имеющие в столбце F значения большие, чем сумма величин в ячейках В2:В22. Формула должна представлять из себя логическое выражение (условие). При фильтрации будут доступные только те строки, значения которых будут придавать формуле значения ИСТИНА.

Критерии сравнения – это набор условий для поиска, используемый для извлечения данных при запросах по примеру. Критерий сравнения может быть последовательностью символов (константой) или выражением (например, Цена > 700). Команда Фильтр позволяет отыскивать и использовать нужное подмножество данных в списке. В отфильтрованном списке выводятся на экран только те строки, которые содержат определенное значение или отвечают определенным критериям, при этом другие строки скрываются. Для фильтрации данных используются команды Автофильтр и Расширенный фильтр. Команда Автофильтр устанавливает кнопки скрытых списков (кнопки со стрелками) непосредственно в строку с именами столбцов. С их помощью можно выбирать записи базы данных, которые следует вывести на экран. После выделения элемента в открывшемся списке, строки, не содержащие данный элемент, будут скрыты. Команда Расширенный фильтр позволяет фильтровать данные с использованием диапазона критериев для вывода только записей, удовлетворяющих определенным критериям.

Логические связи между таблицами

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

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

Существует логическая связь четырех типов:

· один к одному (1:1);

· один ко многим (1:∞);

· многие к одному (∞:l)

· многие ко многим (∞:∞)

В случае связи 1:1 одному значению первичного ключа соответствует одно и только одно значение вторичного ключа, например:

В случае связи 1:∞ одному значению первичного ключа может соответствовать несколько значений вторичного ключа, например:

В случае связи ∞:1 одному значению вторичного ключа может соответствовать несколько значений первичного, например:

В случае связи ∞:∞ одному значению первичного ключа может соответствовать несколько значений вторичного и одному значению вторичного — несколько значений первичного, например:

Каждый поставщик может поставлять несколько товаров; каждый товар может поставляться несколькими поставщиками.

Объекты СУБД MS Access:

1. Таблица

2. Запрос

3. Форма

4. Отчёт

5. Макрос

6. Страница доступа к данным

7. Модуль

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

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

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

Страница доступа к данным — диалоговая Web-страница, которая поддерживает динамическую связь с БД и позволяет просматривать, редактировать и вводить данные в базу, работая в окне браузера.

Макрос этопоследовательность макрокоманд для автоматизации выполнения операций в среде Access без программирования.

Модуль это программа для работы с БД, написанная на языке Visual Basic for Applications (VBA).

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

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

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

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

Формы – одно из основных средств для работы с базами данных в Access - используются для ввода новых записей (строк таблиц), просмотра и редактирования уже имеющихся данных, задания параметров запросов и вывода ответов на них и др.

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

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

Страницы: Чтобы предоставить доступ к информации, хранящейся в базе данных, пользователям Интернета или интранета, можно создать страницы, называемые страницами доступа к данным. Работа с данными на странице доступа в Web осуществляется примерно так же, как в Access - пользователи могут просматривать таблицы, выполнять запросы и заполнять поля форм.Хотя публикация информации из базы данных в Web на первый взгляд кажется сложной, Access включает мастер, которые берет на себя большую часть кропотливой работы по созданию страницы доступа. При желании созданную мастером страницу можно доработать в режиме конструктора.

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

Модули: Модули представляют собой программы на Visual Basic for Applications (VBA), языке программирования высокого уровня, разработанного Microsoft для создания приложений Windows. Помимо стандартного набора команд VBA, каждая программа Microsoft Office имеет собственные команды. В отличие от макросов, позволяющих автоматизировать не более пяти, шести десятков операций, VBA включает сотни команд и может неограниченно расширяться за счет дополнений, вносимых другими компаниями и частными лицами. Программы VBA используются для решения задач, слишком сложных для макросов, как, например, извлечение определенной информации из рабочих листов Excel.

Назначения и виды запросов

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

Наиболее распространенными запросами являются:

· запросы на выборку,

· параметрические запросы,

· перекрестные запросы.

Параметрические запросы

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

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

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

Вычисления в запросах

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

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

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

[Имя таблицы]![Имя поля]

Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием

Имя_Нового_Поля:Правило_вычисления

Групповые операции

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

Sum вычисляет сумму всех значений заданного поля в каждой группе;

Avg вычисляет среднее арифметическое всех значений данного поля в каждой группе;

Min (Max) возвращает наименьшее (наибольшее) значение, найденное в этом поле в каждой группе;

Count определяет количество записей в каждой группе и др.

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



Поделиться:


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

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