ПРАВО - Законодательство Республики Беларусь
 
Реклама в Интернет
"Все Кулички"
Поиск документов

Реклама
Рассылка сайта
Content.Mail.Ru
Реклама


 

 

Правовые новости


Новые документы


Авто новости


Юмор




по состоянию на 25 января 2005 года

<<< Главная страница | < Назад


Access для экономистов

 

Продолжение. Начало в № 2.

 

Разработка баз данных: создание таблиц и схемы данных

 

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

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

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

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

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

 

Создание таблиц

Процесс разработки БД начинается с задания описания структур таблиц. Это своеобразный каркас, который создается до того, как таблица начнет наполняться данными. Для начала создадим описание таблицы «Бумаги». Нажав кнопку «Создать» и выбрав в появившемся диалоговом окне режим «Конструктор», мы попадаем в окно, предназначенное для ввода описания структуры создаваемой таблицы. Здесь требуется создать шесть полей: код бумаг, наименование бумаг, номинальная цена, суммарный объем пакета, дата эмиссии, тип бумаг (акция или облигация).

Процесс описания атрибутов поля начинается с присвоения ему имени. Желательно, чтобы это имя было кратким, но информативным. Далее необходимо определить тип поля, исходя из содержимого тех данных, которые там будут храниться. Итак, создаем все необходимые поля – их шесть.

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

Два других поля – «НаимБум» и «ТипБум» – имеют текстовый тип данных, поле «Номинал» имеет денежный тип данных, поле «СуммОбъем» – числовой, а поле «ДатаЭм» имеет тип данных «Дата/время». Свойство тип данных в Access может иметь следующие значения:

 

Тип данных Содержимое поля Размер
Текстовый Текст или числа, не требующие проведения расчетов Число символов, не превышающее минимальное из двух значений: 255 или значение свойства «Размер поля»
Поле МЕМО Длинный текст или комбинация текста и чисел До 65535 символов
Числовой Числовые данные, используемые для проведения расчетов 1, 2, 4 или 8 байт
Дата/время Даты и время, относящиеся к годам с 100 по 9999 включительно 8 байт
Денежный Денежные значения и числовые данные, используемые в математических расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков в дробной части 8 байт
Счетчик Уникальные последовательно возрастающие (на 1) или случайные числа, автоматически вводящиеся при добавлении каждой новой записи в таблицу 4 байт
Логический Логические значения, а также поля, которые могут содержать одно из двух возможных значений (Да/Нет). 1 бит
Поле объекта OLE Объект (например, электронная таблица MS Excel, документ MS Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу MS Access Неограничен
Гиперссылка Строка, состоящая из букв и цифр и представляющая адрес гиперссылки Каждая из трех частей в типе «Гиперссылка» может содержать до 2048 символов.
Мастер подстановок Выбор этого параметра в списке в ячейке запускает мастера подстановок, который определяет тип поля Тот же размер, что и у ключевого поля, используемого в подстановке (обычно 4 байт).

 

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

В правой нижней части окна «Конструктора» для описания каждого атрибута выводится подсказка. Можно также воспользоваться справкой MS Access, которая вызывается нажатием клавиши F1.

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

Как уже говорилось, ключевым полем в таблице «Бумаги» является «КодБум», где мы запустили счетчик. Чтобы сделать это поле ключевым,  нужно щелкнуть по пиктограмме «Ключ» на панели инструментов.

Что касается индексов, то нужно продумать заранее, какие данные могут потребовать в будущем упорядочения (например, по алфавиту или по убыванию дат). Соответствующие поля нужно внести в список индексов. При помощи индексов сортировка и поиск записей значительно ускоряются. Ключевые поля таблицы индексируются автоматически. Нельзя индексировать поля с типом данных «Поле МЕМО», «Гиперссылка» или «Поле объекта OLE». В нашем случае из таблицы «Бумага» можно внести в индекс наименования бумаги, а также дату эмиссии. Для индексирования этих полей требуется нажать кнопку «Индексы» на панели инструментов.

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

В таблице по агентам можно создать следующие поля: «Код агента» (ключевое поле); «Наименование агента»; «Объем денежных средств, которыми обладает агент»; «Комментарий по агенту».

Таблица «Портфели» имеет следующую структуру: «Код бумаги»; «Код агента»; «Количество бумаг данного наименования в портфеле, которым обладает агент». Здесь нам придется иметь дело с так называемым составным ключом, состоящим сразу из двух полей, в нашем случае – «Код бумаги» и «Код агента». И, наконец, четвертая таблица, «Заявки», будет содержать следующие поля: «Код заявки», «Код бумаги», «Код агента», «Объем заявки» и «Цена заявки». Значения в ячейках поля «ОбъемЗаявки» могут принимать как положительное, так и отрицательное значения, что соответствует заявкам на покупку и продажу.

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

 

Создание схемы данных

Мы получили систему таблиц БД PlanEconomic. Каждая из этих таблиц связана с другими, они зависят друг от друга и составляют единую систему. Так, информация в поле «КодАг» из таблицы «Агенты» должна соответствовать одноименным полям в таблицах «Портфели» и «Заявки». То же самое относится к ячейкам, содержащим, например, код бумаги. Другими словами, четыре таблицы нашей БД функционируют как единое целое, изменяются одновременно и не имеют смысла друг без друга. Более того, логика всей системы предполагает, что в процессе работы мы будем обращаться к информации одновременно из нескольких таблиц. Для того чтобы Access мог объединять данные из различных таблиц при их извлечении из БД, нужно определить связи между таблицами.

Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях. Механизм описания логических связей между таблицами в Access реализован в виде объекта, называемого «Схемой данных». Перейти к ее созданию можно из панели инструментов «База данных», доступной из главного окна. Альтернативный вариант вызова  данного режима доступен через меню «Сервис-Схема данных».

Для начала нужно добавить четыре таблицы в схему данных (кнопка «Добавить»). Потом расположить их удобным образом, перетаскивая мышкой.

Какой тип связи выбрать? Связь с отношением «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.

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

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B – несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, которые являются полями внешнего ключа в таблицах A и B.

Очевидно, что в БД PlanEconomic требуется установить несколько связей типа «один-ко-многим». Это можно сделать, перетаскивая мышкой ячейки с исходной записью (например, из таблицы «Агенты») на соответствующую ячейку в другой таблице (одноименное поле в таблице «Заявки»). В появившемся диалоговом окне можно активировать пункт «Обеспечение целостности данных», что включает в себя каскадное обновление связанных полей и каскадное удаление связанных записей. Это значит, что при удалении агента из таблицы «Агенты» одновременно будут удалены из других таблиц все записи о сделках этого агента.

В базе «PlanEconomic» нужно установить четыре связи типа «один-ко-многим». Данные об агентах и бумагах из таблиц «Агенты» и «Бумаги» должны быть связаны через свои коды с информацией в таблицах «Заявки» и «Портфели».

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

 

Продолжение статьи читайте в следующем номере журнала.

АНАТОЛИЙ АЛИЗАР


<<< Главная страница | < Назад



Новости партнеров
pravo.kulichki.ru ::: pravo.kulichki.com ::: pravo.kulichki.net
2004-2015 Республика Беларусь
Rambler's Top100
Разное


Разное
Спецпроект "Тюрьма"

 

Право России