СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ. СУБД ACCESS



Основные понятия

 

База данных – это совокупность структурированных данных, относящихся к некоторой предметной области.

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

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

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

Объекты [Код об, Объект],

Работы [Код раб, Работа],

Организации [Код орг, Организация, Индекс, Город, Адрес, Телефон, Факс, Эл почта] и собственно таблицу для учета затрат

Затраты [Код затр, Затрата, Код об, Код раб, Код орг, Дата, Стоимость].

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

Ключевые поля служат также для связывания таблиц. Например, таблица Затраты может содержать множество записей, в которых указан код одной и той же организации-подрядчика. Предположим, одна и та же организация проектировала и строила мост, подъездную дорогу, трансформаторную подстанцию и, возможно, другие объекты. При обработке записей таблицы Затраты может потребоваться факс этой организации – его легко найти в таблице Организации, которая должна содержать единственную запись с требуемым нам кодом организации в поле Код орг. Связь между этими таблицами называется связью «один ко многим» (1 ® ¥): ссылка на одну запись в таблице Организации содержится во многих записях таблицы Затраты. Если бы мы ввели еще одну таблицу – Банковские реквизиты, в которой для каждой организации-подрядчика указали бы ее код, название банка, номера счетов и другие данные, используемые при оформлении платежей, то связь между этой таблицей и таблицей Организации была бы связью «один к одному» (1 ® 1), т.к. в этих таблицах есть только по одной записи с одним и тем же значением ключевого поля Код орг. В некоторых ситуациях ключ может состоять из двух-трех полей и тогда он называется составным. Например, подразделение может идентифицироваться номером цеха и номером бригады в данном цехе, точка геофизических измерений может идентифицироваться номером профиля и номером точки на этом профиле и т.п.

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

Итак, в нашем примере база данных охватывает несколько взаимосвязанных таблиц «объекты-свойства». Такие базы данных называются реляционными. Это понятие (relation – отношение) было введено известным американским специалистом в области систем управления базами данных И.Ф.Коддом. В 1994 г. отмечалась 25 годовщина с того момента, как И.Ф.Кодд (тогда научный сотрудник корпорации IBM) предложил реляционную модель. Тем не менее первая коммерческая реляционная СУБД, названная Oracle [11], появилась только в 1979 г. Она была разработана небольшой компанией Silicon Valley. Сегодня это Oracle Corporation – крупнейший в мире поставщик реляционных СУБД и сопутствующих программных продуктов. Первой СУБД клиент/сервер стал выпущенный в 1985 г. Oracle 5. В настоящее время широкое распространение получили более поздние реляционные СУБД, созданные корпорациями Oracle, Sybase, Microsoft и некоторыми другими. Современные ведущие реляционные СУБД сочетают реляционную модель данных с технологией клиент/сервер и с объектно-ориентированным подходом к созданию программных средств. На ЭВМ третьего поколения имели место многочисленные попытки применения иерархических и сетевых СУБД, но эти системы оказались слишком сложными для восприятия пользователями.

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

Другое важное понятие – обеспечение целостности данных в базе данных. Этот термин подразумевает, что в СУБД должны иметься средства, не позволяющие нарушать корректность и полноту хранимой информации. Например, СУБД обычно содержат средства поддержания ссылочной целостности. Так, если мы попытаемся в запись таблицы Затраты ввести код объекта 777, а в таблице Объекты еще нет объекта с кодом 777, то СУБД должна воспрепятствовать нашему намерению, если, конечно, мы выбрали соответствующий режим ее работы. Кроме того, когда мы вводим новую запись, СУБД проверяет уникальность ее ключа, обеспечивая целостность таблицы. Наконец, СУБД проверяет целостность домена. Домен – это множество допустимых значений столбца. Так, в столбец Код орг могут входить только целые числа. Если при вводе записи введем в поле Код орг хотя бы одну букву или действительное число, запись не будет включена в таблицу.

Работу с СУБД рассмотрим на примере создания уже упоминавшейся базы данных "Затраты" с помощью СУБД Access, входящей в пакет приложений Microsoft Office.

Лабораторная работа A1

Создание и использование базы данных "Затраты"

 

База данных "Затраты" должна содержать несколько таблиц: основную и дополняющие ее таблицы. В примере, приведенном на стр.57 (см. также рис. 5.1), основная таблица – Затраты [Код затр, Затрата, Код об, Код раб, Код орг, Дата, Стоимость]. Эта таблица предназначена для учета затрат организации – акционерного общества, которое, ввиду удорожания импортных кормов для животных, строит фабрику «Собачья еда». Затраты должны учитываться по объектам, по видам работ и по организациям-подрядчикам. Поэтому каждая запись основной таблицы, кроме кода, наименования затраты, даты перечисления денег и стоимости работы (в тысячах рублей), содержит код объекта, код вида работ и код организации-подрядчика. Эти коды являются ключевыми полями в следующих дополняющих таблицах: Объекты [Код об, Объект], Работы [Код раб, Работа] и Организации [Код орг, Организация, Индекс, Город, Адрес, Телефон, Факс, Эл почта]. Далее приведем рекомендации по созданию таблиц, схемы данных, форм, запросов и отчетов.

 

 

Рис. 5.1. Рабочее окно СУБД Access с открытыми таблицами БД «Затраты»

 

1. Откройте систему управления базами данных Access. Создайте новую (пока пустую) базу данных в своем рабочем каталоге, присвоив ей имя Затраты.mdb.

2. Создайте пустые вспомогательные таблицы Объекты, Работы и Организации. Для создания таблицы Объекты в окне базы данных (заголовок окна -Затраты: база данных) нажмите кнопку Таблицы (вверху), а затем кнопку Создать (справа). В открывшемся диалоговом окне выберите из списка Конструктор. После этого откроется диалоговое окно, имеющее заголовок Объекты: таблица – на рис. 5.2 оно показано справа. В этом окне в графе Имя поля введите Код об. Затем, нажав на панели инструментов кнопку с изображением ключа, сделайте поле Код об ключевым. Теперь в поле со списком Тип данных выберите Числовой. После этого в поле со списком Размер поля выберите Длинное целое. Затем определите второе поле – поле Объект. В графу Имя поля введите его название, а в поле со списком Тип данных выберите Текстовый. Длина текстового поля по умолчанию равна 50 байтам - это значение можно не изменять. После этого окно, в котором были определены поля таблицы Объекты, можно закрыть с помощью кнопки системного меню (в строке заголовка окна, справа). При закрытии этого окна появится диалоговое окно, в котором надо задать имя таблицы – “Объекты”. Таблицы Работы и Организации создаются точно так же, как таблица Объекты, только в таблице Организации больше полей. Для большинства из этих полей (кроме полей Код орг и Индекс) можно рекомендовать текстовый тип данных. Длину текстовых полей надо выбирать вдумчиво: например, в поле Телефон могут указываться несколько телефонов, через запятую. Для задания дат предусмотрен специальный тип данных: дата-время, причем в нижней части окна конструктора таблиц можно уточнить формат даты: краткий, средний… Можно даже задать шаблон для ввода дат.

3. Введите данные в таблицы Объекты, Работы и Организации.

4. Создайте таблицу Затраты. Здесь требуются дополнительные пояснения по поводу определения полей Код об, Код раб, Код орг. Каждое из этих полей лучше определить как поле со списком. На рис. 5.2 показано, как это сделано для поля Код орг. После определения типа этого поля (числовой) и уточнения его общих параметров (длинное целое) с помощью вкладки Общие, переходим на вкладку Подстановка – она показана на рисунке слева, внизу. Здесь в полях со списком выбираем тип элемента управления (поле со списком), тип источника строк (таблица/запрос), источник строк (таблица Организации), присоединенный столбец (первый) и число столбцов в списке (2). Это означает, что в список включаются два столбцы, начиная с первого. Полезно также указать ширину столбца (имеется в виду первый столбец списка) - например, 1.5 см, и ширину списка - например, 8 см. Теперь при вводе данных в поле Код орг (прямо в таблицу Затраты или с помощью формы - рис. 5.3) можно не вспоминать коды организаций, а выбирать их из списка, в строках которого содержатся и коды и названия. Для того, чтобы список появился, надо просто щелкнуть мышью у правого края поля Код орг. Таким образом Access предоставляет удобные средства для ввода и корректировки данных. Но еще удобнее для ввода данных в таблицу с большим числом полей использовать форму (см. форму Затраты на рис. 5.3). В форму можно включить поля из одной таблицы, например, Затраты, а можно - из нескольких таблиц. Но тогда до создания формы необходимо создать схему данных, в которой устанавливаются связи между таблицами.

 

 

Рис. 5.2. Создание таблиц Объекты и Затраты: определение имен и типов полей

 

5. Для создания схемы данных надо использовать соответствующую кнопку панели инструментов. Кнопка называется “Схема данных”. Диалоговое окно, появляющееся после нажатия этой кнопки, позволяет выбрать таблицы для включения в схему данных. Важно, чтобы на схеме были не только представлены все таблицы базы данных, но и установлены связи между ними – см. рис. 5.3. На этом рисунке схема данных показана не в момент ее создания, а в момент формирования запроса. Чтобы на схеме данных связать код объекта в таблице Затраты с кодом объекта в таблице Объекты надо как бы перетащить мышкой это поле из первой таблицы во вторую – на схеме появится соответствующая стрелка. Установить связи на схеме данных надо до создания форм, запросов и отчетов, чтобы получить возможность включать в них поля

 

из всех имеющихся таблиц.

 

Рис. 5.3. Использование формы для ввода и корректировки данных. Формирование и корректировка запроса в режиме конструктора

 

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

7. Введите 5-10 записей непосредственно в таблицу Затраты, затем введите в эту таблицу еще 5-10 записей, но теперь - с помощью формы Затраты.

8. Создайте запрос Квартал2, содержащий данные о затратах за второй квартал. Чтобы создать запрос, в окне базы данных нажмите кнопку Запросы (вверху), а затем кнопку Создать (справа). В следующем диалоговом окне выберите таблицы, из которых собираетесь отбирать данные - появится окно, изображенное на рис. 5.3, внизу. В этом окне в полях со списками Имя таблицы и Поле надо выбрать поля, включаемые в запрос, ниже можно выбрать вариант сортировки записей и указать условия их отбора. Закрыв окно, можно запомнить созданный запрос. При его просмотре мы видим виртуальную таблицу (представление [11]), включающую только те данные, которые были отобраны. Если изменить данные в исходных таблицах, то результат просмотра запроса также изменится.

9. Для создания отчета выберите Отчеты в меню базы данных, нажмите мышью кнопку Создать и далее выберите из списка "Мастер отчетов". На стр. 63 приведен первый лист отчета “Затраты по объектам”. Следуя указаниям мастера отчетов, в отчет легко включить итоговые строки. Для изменения ширины граф отчета надо перейти в режим конструктора. Чтобы в отчет включить записи за определенный интервал времени, легче всего сначала построить запрос, а затем для создания отчета в качестве источника данных выбрать не таблицы, а этот запрос.

10.  Попрактикуйтесь в создании запросов и отчетов.

 

 


Пример отчета

Затраты по объектам

Объект              Фабрика "Собачья еда"

Код Затрата                                                          Работа                              ОрганизацияДата                                                                 Стоимость

1 Бизнес-план строительства фабрики        Бизнес-план                      ОАО "Всестрой" 10.01.98                                                                                                         355.47

2 Технич. проект строительства фабрики   Технический проект       ТОО "Тяп-ляп" 15.02.98                                                                                                              320.00

3 Поставка строит. м-лов для фабрики        Поставка материалов     ОАО "Рога и копыта" 01.03.98                                                                                                             980.00

14 Рабочие чертежи фабрики                           Рабочие чертежи             СМУ-15 30.05.98                                                                 800.00

15 Строительство фабрики                               Строительство                  СМУ-15 10.08.98                                                                 3 250.00

16 Поставка оборудования для фабрики       Поставка оборудования ОАО "Рога и копыта" 01.10.98                                                                                                             2 014.00

Объект             Подъездная дорога

Код Затрата                                                          Работа                              ОрганизацияДатаСтоимость

4 Проектирование дороги к фабрике           Технический проект       ЗАО "Гипродорпроект" 30.03.98                                                                                                              290.00

5 Строительство дороги                                  Строительство                  СМУ-15 10.04.98                                                                 980.00

Объект         Мост через р. Черный Урюм

Код Затрата                                                          Работа                              ОрганизацияДатаСтоимость

6 Проектирование моста                                 Технический проект       АООТ "Мостшустрострой"                                                                    12.02.98                             440.00

8 Строительство моста                                    Строительство                  АООТ "Мостшустрострой"                                                                    12.05.98                             1 035.00

 

22 марта 1999 г.                                                                         


КУРСОВЫЕ РАБОТЫ


Дата добавления: 2019-01-14; просмотров: 606; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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