Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Общие сведения. База данных (банк данных) – это информация большого объема, отдельные «порции» которой похожи друг на друга по структуре




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

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

Таблица содержит поля(столбцы), в которых хранятся различного рода данные об объекте (например, для таблицы Поставщики полями могут быть наименование поставщика, адрес поставщика, телефон поставщика и др.; для таблицы Товары – наименование, цена и др.), и записи(строки), где собрана вся информация о конкретном значении объекта (например, о конкретном поставщике).

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

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

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

 

Поставки
Поставщик Адрес Телефон С кем общаться Др. поля П-ка Наимен. Товара Количество Цена Др. поля Товара
П1 А1 Т1 И1 ... Н1 К1 Ц1 ...
П1 А1 Т1 И1 ... Н2 К2 Ц2 ...
П1 А1 Т1 И1 ... Н3 К3 Ц3 ...
П2 А2 Т2 И2 ... Н4 К4 Ц4 ...
П2 А2 Т2 И2 ... Н5 К5 Ц5 ...

 

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

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

 

Поставщики 1 ¥ Товары
№ П-ка П-к Адр Тел С кем Др. П-ка один   № Т-ра № П-ка Наим. Т-ра К-во Цена Др. Т-ра
П1 А1 Т1 И1 ... ® Н1 К1 Ц1 ...
П2 А2 Т2 И2 ... ко Н2 К2 Ц2 ...
  ® Н3 К3 Ц3 ...
многим Н4 К4 Ц4 ...
Н5 К5 Ц5 ...

 

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

 

Поставщики 1 ¥ Предложения ¥ 1 Товары
№ П-ка П-к Адрес Тел С кем Др один № Предл №П-ка № Т-ра № зак К-во Цена Др один № Т-ра Наим.Т-ра Др
П1 А1 Т1 И1 ... ® К1 Ц1 ... ® Н1 ...
П2 А2 Т2 И2 ... ко   К2 Ц2 ... ко Н2 ...
  ® К3 Ц3 ... ® Н3 ...
  многим   К4 Ц4 ... многим Н4 ...
  К5 Ц5 ... Н5 ...
    К6 Ц6 ...  
    К7 Ц7    

 

Существуют 4 правила, которым надо следовать при нормализации:

1) каждое поле любой таблицы должно быть уникальным;

2) каждая таблица должна иметь первичный ключ;

3) для каждого значения первичного ключа должно быть одно и только одно значение любого поля и это значение должно относиться к объекту таблицы. Т.е. каждая таблица должна описывать определенный объект (физический или логический) и описывать его полностью (в какой-либо таблице не должны появляться атрибуты или свойства другого объекта);

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

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

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

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

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

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

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

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


Поделиться:

Дата добавления: 2014-11-13; просмотров: 67; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты