Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [ 55 ] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

fompl

Индекс

Имя поля

Порядок сортирован

First

Second

Third

Flo Еозрастанню Flo Еозрастанню Flo Еозрастанню

Свойства индекса

Ключевое поле Уникальный индекс Пропуск пустых полей

Да Да Нет

Имя данного индекса Каждый индекс может

Рис. 6.13. Создание сложного индекса в Access

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

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

ограничение на количество символов значительно превосходит аналогичное для название поля -здесь можно написать целое произведение, так как вы можете использовать 2048 символов (к примеру, бесплатное объявление в Санкт-Петербургской газете "Реклама-Шанс" не должно превышать 80 символов). Если вы введете значение для этого свойства, то при просмотре таблицы оно будет выводиться вместо заголовка поля, в противном случае, как вы уже поняли, будет выводиться название поля.

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

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

<< = Now() And >>Now()-1

Теперь никто не сможет отредактировать данные в этом поле и, к примеру, провести какую-нибудь операцию задним числом.

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

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

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

Свойство Пустые строки не противоречит свойству Обязательное поле. Если вы установите значение этого свойство равным "Да", то сможете вводить значения типа NULL, то есть отсутствие какого-либо значения.

Каждое поле, кроме полей примечаний и объектов OLE, может быть индексировано, что значительно ускоряет поиск, но замедляет ввод и обновление данных. Для того чтобы создать индекс, используйте свойство Индексированное поле, при этом вы можете создать индекс, который не может иметь дублирующих друг друга значений в разных записях или, напротив, допустить повторение значений в индексированном поле. Но таким образом вы можете создать только простые индексы, которые состоят из значений одного поля. Для того чтобы создать сложные индексы, используйте команду Индексы из меню Вид. Здесь вы можете в левой колонке ввести название индекса, а во второй колонке последовательно указать поля, которые добавляете в индекс (рис. 6.13).



Ki;->jiii

"7

(IlV.

-л11« с1л1от «№:Ь -

l.tv lir. Г.Я"- If-:

gLiJly Jiill * 1

lcp :r«d

Ь.L.Гll

Рис. 6.14. Графическая схема созданной базы данных в Access

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

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

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

6.3. Visual Basic

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

В этом параграфе мы рассмотрим программные методы создания БД в Visual Basic, обращая особое внимание на такой важный компонент, как объекты для доступа к данным - DAO.

Visual Basic позволяет использовать два метода для работы с данными:

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

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



Модель управления данными, основанная на объектах DAO, представляет собой коллекцию классов, которые моделируют структуру реляционной базы данных.

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

Visual Basic имеет две отдельные версии процессора данных и библиотек объектов для доступа к данным:

• версия 2.5 предназначена для написания программ, работающих в 16-битовой операционной системе (Windows 3.х и Windows for Work-groups);

• версия 3.0 - для 32-битовой ОС (Microsoft Windows 95 или Windows NT).

Написание прикладной программы для обработки данных в Visual Basic схематично состоит из создания объектов для доступа к данным, таких, например, как Database, TableDef, Field и Index, которые соответствуют различным составляющим физической БД, к информации которой вы хотите получить доступ. Используя соответствующие свойства и методы созданных объектов, можно выполнять необходимые операции с базой. Увидеть результат выполнения операций и обеспечить редактирование данных пользователем можно с помощью экранных форм, в которых будут использоваться соответствующие элементы управления.

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

С помощью Visual Basic вы получаете доступ к БД, которые можно разбить на три категории:

• Базы данных Visual Basic, используют формат, аналогичный Microsoft Access. Управление этими БД осуществляет непосредственно процессор данных Visual Basic, что обеспечивает программе максимальную гибкость и скорость работы.

• Доступ к форматам БД внешних СУБД для персональных систем, таких как Btrieve, dBASE III, dBASE IV, Microsoft FoxPro и Paradox, осуществляется с помощью метода последовательного доступа (ISAM - Indexed Sequential Access Method). Это наиболее простой вариант технологии ODBC, о чем более подробно речь пойдет в главе 8. Таким же образом может осуществляться использование текстовых файлов или электронных таблиц формата Microsoft Excel и Lotus 1-2-3.

• Данные, хранящиеся на сервере, для доступа к ним требуется несколько более сложная технология с использованием отдельных драйверов ODBC. Чтобы создать приложение для управления данными в архитектуре клиент-сервер, из программы на сервер необходимо передать команды SQL, впрочем, об этом вы прочитаете чуть позже, добравшись до главы

• с помощью специальных элементов управления для работы с данными;

• путем применения объектов для доступа к данным (DAO - Data Access Objects).

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [ 55 ] 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146