MS Асcеss – создание простой базы данных

Задание 1 часть 1. MS Асcеss – создание простой базы данных

В соответствии с номером варианта создать базу данных MS Access, состоящую из таблиц, запросов и форм. Всю совокупность данных, приведенных в Таблице 1, распределить самостоятельно по таблицам, руководствуясь при этом требованиями нормализации. Созданная база данных должна содержать:

    1. таблицы с самостоятельно введенной и соответствующей тематике задания информацией (не менее 15 записей в главной таблице). Введенная информация должна позволять протестировать созданные запросы;
    2. формы для ввода данных в таблицы;
    3. запросы, отбирающие информацию указанного в задании типа из сформированных таблиц;
    4. служебные формы:
    5. главную форму, представляющую собой панель управления приложения и содержащую командные кнопки, с помощью которых открываются созданные объекты (другие формы и запросы);
    6. форму для ввода пароля, открывающуюся сразу после загрузки базы данных и проверяющую совпадение введенного в форме значения с заданным («истинным» паролем).

Обработку событий выполнять с  помощью макросов.

                                                                                                                     Таблица 1

Вариант

Название базы

данных

Содержание хранимой информации

 

 

 

 

 

 

18

Справочник по транзисторам

Тип транзистора

Напряжение питания

Допустимый ток

Коэффициент усиления

Стоимость

Количество штук в наличии

Дата


 

 

Задание 1 часть 2. Создать запросы, соответствующие своему варианту, требования к которым приведены в Таблице 2.

                                                                                                                              Таблица 2

Вариант

Запросы на выборку информации

Запросы действия:

a) запрос на обновление;

b) запрос на удаление

 

 

18

1. сведения о транзисторах заданного типа;

2. данные о транзисторах с напряжением питания и допустимым током в заданных интервалах;

3. сведения об общем количестве транзисторов всех типов со стоимостью, меньше заданной.

a) увеличение стоимости заданного типа транзисторов на 40%;

b) удаление из базы данных сведений о транзисторах, количество которых менее заданного.


 

Примечания:

  1. Текущая дата возвращается при вызове функции Date() без указания аргумента.
  2. Для вычисления месяца, соответствующего некоторой дате, использовать функцию Month(). Например, номер месяца, соответствующего текущей дате, возвращается при вызове функции Month(Date()).
  3. Для вычисления года, соответствующего некоторой дате, использовать функцию Year(). Например, значение года, соответствующего текущей дате, возвращается при вызове функции Year(Date()).
  4. Для вычисления числа дней между двумя датами Date1 и Date2 использовать функцию DateDiff("д"; Date1; Date2).

 

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

Таблица 3

Вариант

Информация, отображаемая в главной форме

Информация, отображаемая в подчиненной форме

 

 

 

18

тип транзистора

дата

стоимость

количество штук в наличии


 

 

Часть 2. Список теоретических  вопросов

 

Вариант 18 Вопросы 5,27

 

Вопросы:

  1. Логические функции MS Excel.

      27. Элемент управления “подчиненная форма/отчет“.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХОД ВЫПОЛНЕНИЯ РАБОТЫ:

 

Описание процесса создания:

 

  1. Структуры таблиц:

Для создания структуры таблиц и файла  базы данных необходимо выполнить следующие  действия:

  1. Запустить программу Microsoft Access (Пуск → Программы → Microsoft Access ).
  2. В окне Microsoft Access включить переключатель Новая база данных и щелкните на кнопке ОК.
  3. В окне Файл новой базы данных необходимо в поле Имя файла указать новое имя файла и нажать кнопку Создать. Созданный файл БД по умолчанию будет иметь расширение .mdb. В окне БД в строке заголовка отображается имя открытой БД. Создали файл с именем транзисторы.mdb
  4. Для формирования структуры таблицы в окне БД выбираем вкладку Таблицы     Создать. В появившемся диалоговом окне Новая таблица        Конструктор        ОК.

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

Аналогичным образом создаем поочередно таблицы : Коэффициент усиления, Допустимый ток, Транзисторы.


                                                         

 

6.  Для установления связей между таблицами выбираем вкладку Работа с базами данных           Схема базы данных. Правой кнопкой мыши добавляем таблицы на область отображения схемы базы данных :


 

 

Отображенные  таблицы:

 

7. Для установки связей         правая кнопка мыши на поле таблицы код_типа_транзистора и тянем мышь на поле код_типа_транзистора   таблицы Транзисторы,  открывшемся окне устанавливаем галочку на Обеспечении целостности данных         Создать


Аналогичным образом ставим связи между всеми таблицами. Схема банных представлена ниже:

 

8. В соответствии с вариантом  задания №18 заполняются данные  в таблицы. 


 


 

 

 

 

 

 

9. Создание запросов. Вкладка Создание            Конструктор запросов       в открывшемся окне двойным щелчком мыши выбираем таблицы для запроса. В поле таблица          название таблицы, поле – поле таблицы.Для задания диапазона в условии отбора пишется код для допустимого тока >=[ допустимый ток ОТ] And <=[ допустимый ток ДО] для мощности>=[потребляемая мощность ОТ] And <=[потребляемая мощность ДО]         кнопка Выполнить


 

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

 

Запрос по стоимости транзистора  меньше заданной. В условии отбора           <[Введите стоимость]. В поле групповая операция по полю количество штук в наличии          Sum       


Выполнить.

 

 

Запрос действия. Увеличение стоимости  на 40 %.  Добавляем поле с выражением увеличенная_стоимость: [стоимость]*40/100. В поле Групповая операция          Выражение         Выполнить


 

 

Запрос на удаление. В конструкторе запросов добавляем таблицу Транзисторы и нажимаем кнопку 

 

 

10. Создание подчиненной  формы.

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


 

Открыть форму Транзисторы1 в режиме Конструктор          разместить на форму элемент управления Подчиненная форма отчета             указать в качестве подчиненной формы форму Транзисторы 1 и выбрать в окне свойств необходимые свойства.


 

 

11. Создание форм для  просмотра таблиц.

Создание         Конструктор  форм        Добавить поля         Таблица Тип Транзистора            выбрать поля таблицы          закрыть окно Добавление полей. Открыть окно свойств        Изменить свойства.  



 

 
На форму добавляем кнопки навигации 

Добавить ЭУ кнопка на область  формы.

Аналогично делаем остальные  таблицы.

 

12. Создание макросов для просмотра  запросов на кнопочной форме.  Вкладка Создание        макросы      в выпадающем меня выбираем категорию Открыть  отчет       в выпадающем меню Имя запроса выбрать существующий запрос нажать кнопку Выполнить       Сохранить запрос под именем Запрос 1. Аналогичным образом создаем макросы для всех запросов.


 

13. Создание кнопочной формы.  Вкладка Создание       Диспетчер кнопочных форм .


На выводящийся запрос на подтверждение  создание кнопочной формы нажать кнопку Да. Нажать кнопку Создать. Ввести имя новой кнопочной формы Транзисторы и нажать кнопку OK. Добавить имя новой страницы кнопочной формы Запросы в поле Страницы кнопочной формы. Выбрать имя кнопочной формы Запросы и нажать кнопку Изменить. Нажать кнопку Создать. В поле Текст ввели текст для кнопки Запрос по диапазонам кнопочной формы, а затем выбрать для нее команду Выполнить макрос в поле Команда. В поле Запрос выбрать  макрос1. Таким образом создаем кнопки для всех запросов.

 

 

 

 

 

 

 

Закончив  создание кнопочной формы, нажать кнопку Закрыть.

Запустить двойным щелчком кнопочную форму нажав на ее в списке таблиц.

14. Для запуска кнопочной формы  при открытии базы данных. Вкладка Файл           Параметры            Текущая база данных           Форма просмотра ( из выпадающего меню выбрать Кнопочная форма)          кнопка ОК.


Запуск  базы данных.

5. 

 

Для установления пароля используется вкладка Сервис     Защита    Задать пароль базы данных     устанавливается пароль, затем подтверждение пароля       ОК.


  1. Логических функций в Excel шесть. Их описание приводится полностью.

Функция ЕСЛИ

Синтаксис:

ЕСЛИ(лог_выражение, значение_если_истина, значение_если_ложь)

Результат: Возвращает одно значение, если аргумент лог_выражение при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ. Функция ЕСЛИ используется для проверки значений формул и организации переходов в зависимости от результатов этой проверки. Результат проверки определяет значение, возвращаемое функцией ЕСЛИ.

Аргументы:

лог_выражение - любое значение или выражение, которое при вычислении дает значение ИСТИНА или ЛОЖЬ;

значение_если_истина - значение, которое возвращается, если аргумент лог_выражение - имеет значение ИСТИНА; если аргумент лог_выражение имеет значение ИСТИНА и аргумент значение_если_истина опущен, то возвращается значение ИСТИНА;

значение_если_ложь - значение, которое возвращается, если аргумент лог_выражение имеет значение ЛОЖЬ. Если аргумент лог_выражение имеет значение ЛОЖЬ и аргумент значение_если_ложь опущен, то возвращается значение ЛОЖЬ.

ПРИМЕЧАНИЕ:

Может быть вложено до семи условий ЕСЛИ; в макрокоманде значение_если_ис-тина и значение_если_ложь могут быть также выполняющими действия функциями или командами перехода (например, как функция ПЕРЕЙТИ).

 

Функция И

Синтаксис:

И(логическое_значение1,логическое_значение2,...)

Результат: Возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА; возвращает значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ.

Аргументы:

логическое_значение1,логическое_значение2,... - от 1 до 30 проверяемых условий, которые могут иметь значение либо ИСТИНА, либо ЛОЖЬ. Аргументы должны быть логическими значениями, массивами или ссылками, которые содержат логические значения. Если аргумент, который является ссылкой или массивом, содержит тексты или пустые ячейки, то такие значения игнорируются. Если указанный интервал не содержит логических значений, то функция И возвращает значение ошибки #ЗНАЧ!.

 

Функция ИЛИ

 

Синтаксис:

ИЛИ(логическое_значение1,логическое значение2,...)

Результат: Возвращает значение ИСТИНА, если хотя бы один из аргументов имеет  значение ИСТИНА; возвращает значение ЛОЖЬ, если все аргументы имеют  значение ЛОЖЬ.

Аргументы:

логическое_значение1,логическое_значение2,... - от 1 до 30 проверяемых условий, которые  могут иметь значение либо ИСТИНА, либо ЛОЖЬ.Можно использовать функцию ИЛИ как формулу массива, чтобы проверить, имеются ли значения в массиве. Для того чтобы ввести функцию ИЛИ как формулу массива, нажмите клавиши [Ctrl+Shift].

 

Функция ИСТИНА

Синтаксис:

ИСТИНА()

Результат: Логическое значение ИСТИНА.

Аргументы:

Нет.

Функция ЛОЖЬ

Синтаксис:

ЛОЖЬ()

Результат: Логическое значение ЛОЖЬ.

Аргументы:

Нет.

Функция НЕ

 

Синтаксис:

НЕ(логическое_значение)

Результат: Заменяет логическое значение аргумента на противоположное. Функция НЕ используется в тех случаях, когда необходимо иметь уверенность в том, что значение не равно некоторой конкретной величине.

Аргументы:

логическое_значение- значение или выражение, которое при вычислении дает значение ИСТИНА или ЛОЖЬ. Если аргумент логическое_значение- имеет значение ЛОЖЬ, то функция НЕ возвращает значение ИСТИНА; если аргумент логическое^значение имеет значение ИСТИНА, то функция НЕ возвращает значение ЛОЖЬ.

 

 

 

  1. Элемент управления “подчиненная форма/отчет“.

Подчиненная форма/отчет (Subform/Subreport)

Microsoft Access позволяет располагать одну форму внутри другой. В этом случае форма, содержащая другую форму, называется главной (form) или родительской (parent). Форма, содержащаяся в другой, называется подчиненной (subform) или дочерней (child). Иногда комбинация главная/подчиненная форма называется иерархической (hierarchical) формой.

Подчиненная форма может отображаться в виде таблицы (Datasheet View), в виде одиночной (Single Form) или ленточной (Continuous Form) формы, а также в виде сводной таблицы (Pivot Table) или диаграммы (Pivot Chart). Главная форма может отображаться только как простая (одиночная) форма.

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

Подчиненные формы особенно удобны для отображения информации из таблиц, связанных отношением один-ко-многим (one-to-many). Например, главная форма может содержать поле со списком, имеющее источником строк таблицу Типы (Categories), и подчиненную форму, основанную на таблице Товары (Products). В учебной базе данных Борей (Northwind) таблица Типы (Categories) находится со стороны один (one) в связи один-ко-многим (one-to-many) с таблицей Товары (Products). В этой же связи таблица Товары (Products) находится со стороны многие (many). Поэтому при выборе из поля со списком значения какого-нибудь типа товаров, подчиненная форма должна отобразить список товаров только выбранного типа. Более подробно создание таких форм будет обсуждаться в следующем разделе.

При использовании формы с подчиненной  формой для ввода новых записей  текущая запись в главной форме  сохраняется при входе в подчиненную  форму. Это гарантирует, что записи из таблицы на стороне многие (many) будут иметь связанную запись в таблице на стороне один (one). Точно так же автоматически сохраняется и каждая запись, добавленная в подчиненную форму. Пояснить сказанное можно на примере, приведенном в предыдущем абзаце. Если в поле со списком вы введете наименование новой категории, то при переходе в подчиненную форму для ввода новых товаров новой категории, эта категория будет добавлена в таблицу Типы (Categories). Соответственно, для этого значения категории уже будет определен первичный ключ (поскольку первичный ключ в данном случае является счетчиком (AutoNumber)). Поэтому будет определено и допустимое значение внешнего ключа для записей подчиненной формы.

Подчиненная форма/отчет (Subform/Subreport) является достаточно сложным элементом управления, поэтому, вполне естественно, что в Microsoft Access имеется соответствующий мастер, облегчающий построение нового элемента. Первое диалоговое окно мастера предлагает выбрать основу для построения подчиненной формы. Основой для построения может либо таблица/запрос, либо уже существующая форма. В любом случае подчиненная форма хранится как обычная форма в базе данных на вкладке Формы (Forms). Другими словами, элемент управления Подчиненная форма/отчет (Subform/ Subreport) в качестве значения свойства Объект-источник (Source Object) в любом случае будет иметь наименование уже существующей в базе данных формы.

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

 

Существует два пути создания новой подчиненной формы.

Первый путь (обычно более предпочтительный): сначала создать в конструкторе форму, которая будет подчиненной, а затем в первом окне мастера выбрать ее имя из списка Имеющиеся формы (Use an existing form). В этом случае после нажатия кнопки Далее (Next) вы сразу перейдете к третьему окну мастера.

Второй путь — поручить мастеру создание формы, которая будет объектом-источником для подчиненной формы. В этом случае в первом окне мастера выберите параметр Имеющиеся таблицы и запросы (Use existing Tables and Queries) и нажмите кнопку Далее (Next). В следующем окне нужно выбрать таблицу или запрос, а также поля, присутствие которых необходимо в подчиненной форме. После того, как вы нажмете кнопку Далее (Next), мастер создаст в базе данных новую форму, которая будет иметь примерно такое имя: подчиненная форма «имя_таблицы» («TableName» Subform).

Второе окно мастера создания подчиненных  форм. Здесь нужно выбрать источник данных и необходимые поля.

Следующее (третье) диалоговое окно мастера  служит для того, чтобы задать связь  между главной и подчиненной  формами. Естественно, это окно будет  отображаться только в том случае, когда форма имеет источник данных. Третье диалоговое окно содержит группу переключателей Выбор из списка (Choose from a list) и Самостоятельное определение (Define my own). Третье окно мастера создания подчиненных форм при выбранном переключателе Выбрать из списка (Choose from a list).

В этом случае в центре окна расположен список вариантов связей, которые  подобрал для вас мастер. Вы можете выбрать один из вариантов или  вариант  Отсутствует (None). Последний вариант означает, что связь между главной и подчиненной формами установлена не будет. Переключатель Выбрать из списка (Choosefrom a list), как и список вариантов связей, доступен только в случае, если мастеру удалось подобрать хотя бы один вариант связи, отличный от варианта Отсутствует (None). Если выбран переключатель Самостоятельное определение (Define my own), то, значит, вы сами решили установить необходимые связи. Вид диалогового окна в этом случае представлен на рис. 5.44. В центре окна расположены две пары полей со списками, при помощи которых вы сможете указать поля, участвующие в связи. Поля со списком, расположенные слева, относятся к главной форме, а справа — к подчиненной форме. Если вы заполните обе пары полей со списком, появится еще одна пара. Таким образом, в мастере можно указать не более трех пар полей, составляющих связь между главной и подчиненной формами. Если ни одно поле не указано, то связь отсутствует В этом случае связь можно задать позже в конструкторе форм.

Третье окно мастера создания подчиненных  форм при выбранном переключателе  Самостоятельное определение (Define my own).

Более подробное обсуждение создания связи между главной и подчиненной  формами будет приведено ниже в этой главе, при рассмотрении примеров. Пока что выберите вариант отсутствия связи и нажмите кнопку Далее (Next). В последнем окне можно указать имя для созданного элемента управления  Подчиненная форма/отчет (Subform/Subreport).

Подчиненная форма/отчет имеет  три характерных свойства, о которых  хотелось бы упомянуть. Это свойства Объект-источник (Source Object),  Подчиненные поля (Link Child Fields) и Основные поля (Link Master Fields). Первое из этих свойств содержит имя существующей в базе данных формы, которая будет использоваться в качестве источника для подчиненной формы. Следующие два свойства служат для определения связи между источниками данных главной и подчиненной форм. Если связь устанавливается по нескольким парам полей, они перечисляются в соответствующих свойствах через точку с запятой. Каждое из этих свойств имеет кнопку построителя, при нажатии на которую на экране появляется диалоговое окно, функционально одинаковое с окнами мастера.

При помощи окна построителя (так же как и соответствующего окна мастера) можно создать связь между  главной и подчиненной формами  не более чем по трем парам полей. Непосредственно в окне свойств  можно указать и больше.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список используемой литературы:

 

    1. Додж М., К. Стивенсон. Excel 2002. – СПб.: Питер, 2003. – 992с.
    2. Миллхоллон М. К.Мюрей. Word 2002. – СПб.: Питер, 2003. – 944с.
    3. Левчук Е.А. Технологии организации, хранения и обработки данных. Учебник для студентов экономических специальностей вузов. Минск: "Вышэйшая школа". 2004.
    4. Бекаревич Ю.Б., Пушкина Н.В. Microsoft Access 2000.- Санкт-Питербург: “BHV – Санкт-Петербург”, 1999.
    5. Маклаков С.В. Создание информационных систем с AllFusion Modeling Suite. – М.:ДИАЛОГ- МИФИ, 2003.
    6. Черемных С. В. Моделирование и анализ систем. IDEF-технологии: практикум / С. В. Черемных,И. О. Семенов, В. С. Ручкин. - Москва : Финансы и статистика, 2006. – 189 с.
    7. Автоматизированные информационные технологии в экономике: Учеб. / Под ред. Г.Л. Титоренко. Москва: ЮНИТИ, 2006
  1. Благодатских В. А. Стандартизация разработки программных средств. Моска: Финансы и статистика, 2006.

 

Дополнительная литература

  1. Вейскас Джон. Эффективная работа с Microsoft Access 7.0 для Windows.- СпБ: Питер,1997.
  2. Основы компьютерных технологий в образовании. В 4 ч. Ч.3.: Технологии обработки данных: Учеб. пособие/ Г.М. Троян, Е.М. Зайцева, С.Н. Гринчук и др. Под ред. Г.М. Троян.- Мн.: РИВШ БГУ, 2002.- 212 с.
  3. А. Д. Хомоненко, В.М. Цыганков, М.Г. Мальцев. Базы данных: учебник для высших учебных заведений. Санкт-Петербург: “КОРОНА принт”. 2004.- 736 с.

 


MS Асcеss – создание простой базы данных