Мегаобучалка Главная | О нас | Обратная связь


Разработка базы данных (БД)



2019-07-03 179 Обсуждений (0)
Разработка базы данных (БД) 0.00 из 5.00 0 оценок




Основные элементы базы данных Access

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

Таблицы содержат элементы данных в табличном формате (строка-столбец), подобном тому, который используется в электронных таблицах. База данных Access может включать до 32768 объектов (общее количество таблиц, форм, отчетов, запросов и т.д.), при этом одновременно можно открыть до 1024 таблиц, при наличии, конечно, достаточных ресурсов. Таблицы можно импортировать из баз данных других приложений (таких как xBase и Paradox), баз данных архитектуры клиент-сервер (таких как Microsoft SQL Server) или из электронных таблиц (например, Microsoft Excel или Lotus 1-2-3). Базы данных Access можно связывать с таблицами баз данных других типов (dBase, FoxPro, Paradox) форматированными файлами (такими, как текстовые файлы в формате ASCII и рабочие листы Excel) и с другими базами данных Access.

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

Формы отображают данные, содержащиеся в таблицах и запросах, и позволяют добавлять, удалять или редактировать информацию. В формы можно вставлять рисунки и диаграммы, а при наличии звуковой карты еще и комментарии и музыку. Далее в работе описано создание форм и добавление в них графических объектов. В Access 97 в формы можно включать собственные процедуры на языке УВА (хранящиеся в модуле класса), с помощью которых можно управлять интерактивным режимом ввода, просмотра и корректировки данных.

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

Создание новой базы данных

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

1. Если Access еще не загружена, загрузите ее и перейдите к шагу 3.

2.Если Access уже загружена и открыта одна из баз данных, щелкните на заголовке окна базы данных, чтобы сделать его активным. Если окна базы данных не видно, щелкните на кнопке Окно базы данных панели инструментов или выберите команду Окно1, или нажмите клавишу <F11>.

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

4. В нашем примере нужно выбрать значок Новая база данных и щёлкнуть на кнопке ОК. Появится следующее диалоговое окно Файл новой базы данных.

5. В текстовое поле Имя файла введите имя новой базы данных. Расширение имени файла вводить не нужно. Access добавит его сама.

6. Щёлкните на кнопке Создать или нажмите Enter.


Свойства таблиц и их полей

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

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

•Свойство Описание позволяет ввести дополнительное пояснение о назначении таблицы. Если в окне базы данных выбрать Вид, потом Таблица, рядом с названием каждой таблицы появится ее описание. Это свойство удобно использовать также при создании с помощью архивариуса описаний объектов базы данных.

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

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

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

• Свойство Порядок сортировки позволяет задать порядок сортировки записей таблицы после ее открытия.

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

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

Ниже перечислены четыре основных свойства полей таблицы.

- Имя поля. Каждое поле таблицы обязательно должно иметь имя. Имена могут иметь длину до 64 символов, могут содержать пробелы (но не ведущие) и знаки пунктуации. Точки (.), восклицательные знаки (!) и квадратные скобки ([]) в именах полей не допускаются. Имена полей в таблице должны быть уникальными: два поля одной таблицы не могут иметь одинаковые имена. Хорошей практикой в программировании считается не включать в имена полей пробелов. Их обычно заменяют символами подчеркивания (_) или используют прописные и заглавные буквы, чтобы длинные имена полей легче читались.

- Тип данных. Тип данных каждого поля тоже нужно указать обязательно. Происходит это в результате выбора значения второго столбца таблицы полей из раскрывающегося списка. Перечень допустимых типов данных фиксирован и включает следующие варианты: Текстовый, Поле MEMO, Числовой, Дата/время, Денежный, Счетчик, Логический, Поле объекта OLE, Гиперссылка, Мастер подстановок. (Тип данных Гиперссылка впервые появился в Access 97.)

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

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

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

Размер поля. Для текстовых полей это свойство определят их длину и вводится вручную. Размер числовых полей выбирается из раскрывающегося списка. У полей типа Поле MEMO, Дата/время, Денежный, Логический, Поле объекта OLE, Гиперссылка, Мастер подстановок этого свойства нет.

Формат поля. Это свойство определяет, в каком формате данные поля будут выводиться на экран. Значение свойства можно выбрать из стандартного набора форматов. Можно задать и свой собственный формат, введя его в текстовое поле. У полей типа Поле объекта OLE этого свойства нет.

Число десятичных знаков. Для этого свойства числовых полей и полей счётчика можно выбрать из раскрывающегося списка значение Авто или фиксированное количество знаков дробной части, а можно ввести значение и вручную. Поля других типов этого свойства не имеют. От указанного здесь значения, как и от значения свойства Формат поля, зависит то, как данные будут отображаться на экране (на сами данные значение этого свойства не влияет).

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

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

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

-Условие на значение. Здесь вводится условие (в виде выражения Ассеss), которое будет проверяться каждый раз, когда значение поля будет изменяться пользователем. Свойство Условие на значение у полей типа Поле MEMO, Поле объекта OLE и Счетчик отсутствует.

Сообщение об ошибке. Если введенное в таблицу значение не соответствует условию проверки (определенному в свойстве Условие на значение), пользователь увидит в строке состояния указанное здесь сообщение.

Обязательное поле. Если для этого свойства задать значение Да, пользователь обязательно должен ввести значение этого поля для каждой добавляемой им в таблицу записи. Такая установка эквивалентна заданию для свойства Условие на значение значения Is Not Null. Для полей, являющихся частью первичного ключа, задавать это свойство не обязательно — пустые значения (Null -значения) в них не допускаются по определению.

Пустые строки. Это свойство есть только у текстовых, МЕМО-полей и гиперссылок. Его значение Нет означает, что в поле должен быть введен хотя бы один символ. В Ассе ss между пустой строкой и значением поля Null существует определенная разница, поэтому свойства Пустые строки и Обязательное поле используются независимо.

Индексированное поле. Свойство определяет индекс, создаваемый по одному полю. Это свойство может иметь одно из трех значений, выбираемых из раскрывающегося списка: Нет, Да (допускаются совпадения), Да (совпадения не допускаются). Последнее означает, что никакие две записи таблицы не могут иметь одинаковые значения данного поля. Для удаления индекса, созданного по одному полю, достаточно свойству Индексированное поле присвоить значение Нет. Нельзя индексировать таблицы по полям типа Поле MEMO, Поле объекта OLE и Гиперссылка.

Новые значения. Это свойство есть только у полей-счетчиков. Оно определяет способ вычисления новых значений для добавляемых в таблицу записей: последовательные (максимальное из значений поля +1) или случайные числа. Случайные значения счетчика, как правило, используются при репликации данных, чтобы при добавлении записей в реплики одной и той же таблицы значения их ключевых полей не совпадали.

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

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


Межтабличные связи, ключевые поля

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

Создание межтабличных связей

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

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

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

Этот тип отношений наиболее распространен. Именно возможность создавать межтабличные связи типа многие-к-одному и отличает реляционные СУБД от обычных процессоров плоских файлов.

Отношение один-ко-многим. В этом случае первичный ключ новой таблицы (поле, содержащее уникальные значения) связывается с внешним ключом старой (значения поля могут повторяться). При этом каждой записи новой таблицы может соответствовать несколько записей существующей. Фактически это отношение в точности такое же, как отношение многие-к-одному. Можно сказать, что отношение многие-к-одному — это отношение один-ко-многим наоборот.

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

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

Access требует, чтобы те поля двух таблиц, по которым они связываются между собой, имели одинаковые типы данных. В случае числовых полей это требование означает, что их подтипы, т.е. значения свойства Размер поля, должны совпадать. А вот текстовые поля разной длины связывать можно. Хотя и не стоит, потому что запросы, основанные на таблицах, связанных по текстовым полям разной длины ведут себя довольно странно. Для того чтобы создавать связи между таблицами было легко и удобно, Access предлагает специальный режим: в окне Схема данных вы найдете наглядное графическое представление межтабличных связей. Чтобы перейти в этот режим и установить связь между двумя таблицами, выполните перечисленные ниже действия.

1. Закройте таблицу Клиент (с помощью кнопки закрытия окна). Если открыта таблица Объем заказа, закройте и ее. Изменять связи между открытыми таблицами нельзя.

2.Чтобы на панели инструментов присутствовала кнопка Схема данных, окно базы данных должно быть активным. Если это не так, активизируйте его с помощью кнопки панели инструментов или команды меню Окно1. В списке меню Окно может присутствовать до девяти названий открытых окон объектов базы данных, но окно базы данных всегда стоит первым.

3. Щелкните на кнопке панели инструментов Схема данных или выберите команду Сервис, потом Схема данных. Откроется окно Схема данных базы данных Анкетный опрос, в котором будут представлены все межтабличные связи этой базы данных.

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

5.Выберите из списка предложенных таблиц Клиент и дважды щелкните мышью или с помощью кнопки Добавить добавьте ее в окно Схема данных. Щелкните на кнопке Закрыть.

6.Связь между таблицами Объемом заказа и Клиент основывается на значениях их полей Название организации. Щелкните мышью на поле Название организации таблицы Клиент и перетащите его на поле Название организации Объем заказа. Перед вами появится диалоговое окно Связи.

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

8. Щелкните на кнопке Создать, чтобы новая связь появилась в окне Схема данных.

9. Теперь щелкните на кнопке закрытия окна Схема данных и подтвердите сохранение изменений.

Созданная межтабличная связь будет использоваться при создании запросов, форм и отчетов.

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

Способность Access автоматически поддерживать целостность данных исключительно важна. Немногие из настольных реляционных СУБД умеют это делать. Сохранение целостности данных позволяет избежать создания в связанной таблице записей-сирот, не имеющих связи с главной таблицей. Например, если названиям организаций в таблице Клиент присвоены коды от 1 до 9, запись таблицы Арендная плата со значением 10 будет считаться сиротой, она не относится ни к одному из существующих сотрудников. Однако когда в таблицу Клиент будет добавлена новая запись с кодом 10, запись-сирота автоматически окажется связанной с ней, в результате чего в новой анкете не появится явно неправильная информация.

Способы обеспечения целостности данных

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

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



2019-07-03 179 Обсуждений (0)
Разработка базы данных (БД) 0.00 из 5.00 0 оценок









Обсуждение в статье: Разработка базы данных (БД)

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (179)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.011 сек.)