по теме «Обработка данных с помощью системы управления базами данных ACCESS»

Постановка задачи. В данном варианте задания необходимо создать базу данных, в которой решались бы следующие задачи:

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

Порядок выполнения задачи.

1. Создание базы данных. В меню Файл выберите команду Создать и из списка шаблонов на закладке Общие выберите шаблон «База данных». Сохраните создаваемую БД под именем Абитуриент.mdb.

2. С помощью конструктора создайте следующие таблицы.

Имя Тип Размер
КодАб Счетчик 4
Фамилия Текстовый 15
Имя Текстовый 15
Отчество Текстовый 1
Паспорт Текстовый 15
Индекс Длинное целое 4
Город Текстовый 15
Адрес Текстовый 20
Средний балл Одинарное с плавающей 4
Фото Поле объекта OLE —
Примечания Поле МЕМО —

Имя Тип Размер
КодАб Длинное целое 4
Русский Длинное целое 4
Математика Длинное целое 4
Физика Длинное целое 4

Имя Тип Размер
КодВУЗа Счетчик 4
НазваниеВУЗа Текстовый 50
Индекс Длинное целое 4
Город Текстовый 20
Улица Текстовый 15
Телефон Текстовый 15
Рейтинг Длинное целое 4
Сочинение Одинарное с плавающей 4
Математика Длинное целое 4
Физика Длинное целое 4
ПроцПринятых Целое 2
Проверка Логический 1
Дата Дата/время 8

Имя Тип Размер
КодОплаты Счетчик 4
КодАб Длинное целое 4
ДатаОплаты Дата/время 8
СуммаОплаты Денежный 8

Имя Тип Размер
КодАб Длинное целое 4
КодВУЗа Длинное целое 4
СтатусПоступления Логический 1
СтатусПосещения Логический 1

3. Создайте следующую схему данных:

4. Выполните подстановку поля КодАб из таблицы тАбитуриент в таблицы тСвязьАбВУЗ, тОплатаОбучения, тАттестат. Например, откройте таблицу тАттестат в режиме конструктора, выделите поле КодАб, перейдите на вкладкуПодстановка и укажите свойства поля, показанные на рисунке:

Аналогично выполните подстановку поля КодВУЗа из таблицы тВУЗы в таблицу тСвязьАбВУЗы.

5. Заполните таблицы данными, введя в каждую из них не менее пяти строк. Например, первые две строки таблицы тАбитуриенты:

Помощь студентам. ИТ — новости, теория и практика

Страницы

пятница, 27 сентября 2013 г.

Простая бд Access — Абитуриенты

Задание База данных «Абитуриенты» MS Access (1 вариант).
База данных должна содержать следующие элементы:
Таблица «Специальности»: шифр специальности; специальность.
Таблица «Анкета»: номер анкеты; шифр специальности; Ф.И.О.; дата рождения; оконченное среднее учебное заведение (наименование, номер); дата окончания; знак отличия (золотая (серебряная) медаль или красный диплом); город; адрес; телефон.
Таблица «Дисциплины»: шифр дисциплины; наименование дисциплины.
Таблица «Результаты экзаменов»: номер анкеты; шифр дисциплины; оценка.

Поле со списком – таблица «Анкета», поле Знак отличия.
Поле подстановки – Шифр специальности в таблице «Анкета», источник таблица «Специальности».

Запросы на выборку:
1. Абитуриенты, окончившие школу с золотой медалью.
2. Абитуриенты, поступающие на специальность «Электроснабжение» и проживающие в Новокузнецке и Сургуте.
3. Абитуриенты, окончившие школу с золотой медалью и сдавшие
экзамен по математике на оценку «5».

Запрос с вычисляемым полем
Возраст абитуриента на текущую дату (таблица «Анкета»).

Групповой запрос:
Количество анкет абитуриентов по каждой специальности

Запрос с параметром:
Абитуриенты, поступающие на специальность N

Многотабличный отчет по анкетам, сгруппированный по специальности, сортировка по ФИО студента.

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

Данные в таблицах не указаны..

На основе полученной совокупности таблиц составим логическую структурную схему проектируемой базы данных «Абитуриенты».

Структура таблиц базы данных.
Таблицы «Специальности» и «Дисциплины» – это справочники-классификаторы, которые содержат информацию соответственно о специальностях и дисциплинах. Таблица «Специальности» является главной по отношению к таблице «Анкета» (поле связи «Шифр специальности»). Таблица «Дисциплины» является главной по отношению к таблице «Результаты экзаменов» (поле связи «Шифр дисциплины»).
Таблица «Анкета» — это тоже справочник, в котором хранятся данные абитуриентов. Она главная по отношению к таблице «Результаты экзаменов» (поле «Номер анкеты») и подчиненная «Специальностям» («Шифр специальности»).
Таблица «Результаты экзаменов» содержит сведения об оценках абитуриентов по различным дисциплинам, в этой базе данных является основной, то есть в ней должно быть не менее 20 записей (во второй части работы). Ключевого поля в этой таблице можно не делать, хотя по правилам оно-таки должно быть. Если оно все-таки нужно, то можно сделать составной ключ («Номер анкеты» + «Шифр дисциплины») или ввести еще одно поле, например, «Код экзамена»).
Ключевые поля в логической схеме выделены курсивом.

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

Открываем программу MS Access и создаем базу данных.

Создаем таблицы «Специальности» и «Дисциплины».
Затем делаем таблицу «Анкета». В поле «Шифр специальности» делаем столбец подстановки, источник – таблица «Специальности». Выбрать для показа лучше столбец «Название», удобнее работать с текстовыми данными, чем запоминать все шифры. В поле «Знак отличия» делаем также столбец подстановки, но источником будет набор фиксированных значений – золотая медаль, серебряная медаль, красный диплом. В полях, где тип данных – дата/время, формат поля лучше выбирать «Краткий формат даты».
Для поля «Телефон» лучше использовать такое свойство поля, как маска ввода. Вот, например, я для разных вариантов данных создал несколько масок, с ними удобней работать.

В частности, для сотового телефона, в качестве маски будет выражение:

В таблице «Результаты экзаменов» делаем поля подстановки «Номер анкеты» и «Шифр дисциплины» из соответствующих таблиц.

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

Вносим нужно количество записей, дописываем отчет.
Переходим ко второй части работы. Дополняем записи и начинаем делать запросы.
Первый запрос – абитуриенты, закончившие школу с золотой медалью.
Затем идем в конструктор запросов и выбираем таблицу «Анкета». Выбираем все поля, кроме шифра специальности, и ставим условия отбора:

SELECT Анкета.[Номер анкеты], Анкета.ФИО, Анкета.[Дата рождения], Анкета.СУЗ, Анкета.[Дата окончания], Анкета.[Знак отличия], Анкета.Город, Анкета.Адрес, Анкета.Телефон
FROM Анкета
WHERE (((Анкета.СУЗ) Like ("*Школа*")) AND ((Анкета.[Знак отличия])="Золотая медаль"));

Второй запрос: Абитуриенты, поступающие на специальность «Электроснабжение» и проживающие в Новокузнецке и Сургуте.
Выбираем таблицы «Анкета» и «Специальности», в условии отбора ставим:

Третий запрос: Абитуриенты, окончившие школу с золотой медалью и сдавшие экзамен по математике на оценку «5».

Вычисляемый запрос: Возраст абитуриента на текущую дату.

Выбираем таблицу «Анкета». Поля – ФИО, дата рождения.
Сохраняем запрос. Затем делаем вычисляемое поле – правая кнопка мыши, выбираем Построить, затем

Жмем ОК. В заголовке поля вместо Выражение 1 пишем Возраст. В данном случае возраст мы считаем как разницу в годах между двумя датами: сегодняшней (текущей) и датой рождения. Текущая дата вычисляется с помощью функции Date (текущая системная дата) или Now (текущая дата и время). Разница между датами вычисляется с помощью функции DateDiff. Ее синтаксис:
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
interval – строковое выражение, обозначает единицы времени, в которых нужно вычислить разницу дат. Например,
yyyy – год.
m — месяц
d – день.

date1, date 2 – даты, между которыми нужно найти разницу.

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

Появилось вычисляемое поле с результатом.

Запрос с групповыми операциями – Количество анкет абитуриентов по каждой специальности.
В конструкторе запросов выбираем две таблицы.
Затем нажимаем кнопку Итоги. Под всеми полями в строке «Групповая операция» появилось слово «Группировка». У поля «Номер анкеты» меняем его на «Count» (количество).
Вот как это все выглядит

Запрос с параметром. Нужно вывести ФИО абитуриентов, поступающих на специальность N.
В конструкторе выбираем две таблицы – Анкета и Специальности. Поля – ФИО и Название специальности.
Для установки параметра нажмем кнопку Параметры и введем в поле Параметр слово «Специальность». В условии отбора пишем выражение:
Like ([Специальность]+"*")
Это значит, что будут отбираться те записи, которые начинаются с символов, указанных в параметре плюс любое количество любых символов.
Вот что получается

И, наконец, отчет по анкетам, сгруппированный по специальности, сортировка по ФИО студента.
Описание, как создать многотабличный отчет, есть в нулевом варианте. Я сейчас приведу только запрос и сам отчет.
Многотабличный запрос

Делаем дальше по описанию. Группировка по специальностям, сортировку выбираем по ФИО. Поскольку никаких числовых данных у нас нет, то итогов делать не надо. Хотя можно было бы посчитать количество анкет, например. На каждую специальность и всего. Это можно сделать, нажав кнопку Итоги или в самом конструкторе отчетов.
Оформляем, как нравится. Затем сохраняем, изменяем оформление в конструкторе, настраиваем ширину полей, заголовки и прочее.

Практическое задание "Абитуриент" по теме "База данных Access " для 9 класса можно использовать как итоговую проверочную работу.

Содержимое разработки

Разработайте базу данных "Абитуриент" ,

используемую для автоматизации работы приемной комиссии ВУЗа.

Создайте базу данных "Абитуриент" , используя конструктор таблиц (4 балла).

БД должна содержать четыре основные таблицы:

Данные о специальностях,

Данные о дисциплинах,

1). Анкета включает следующие данные об абитуриентах:

фамилия, имя, отчество;

адрес (город, улица, номер дома, квартиры);

Адрес (город, улица, номер дома и квартиры)

Тульская область, г.Ефремов, ул. Менделеева, д.2, кв.87

Тульская область, г.Ефремов, ул. Дружбы, д.22, кв.52

Липецкая обл., г.Елец, ул. Бунина, д.33, кв.22

Липецкая обл., г.Елец, ул. Бунина, д.63, кв. 212

Тульская область, г.Ефремов, ул. Ленина, д.10, кв.12

Липецкая обл., г.Елец, ул. Ленина, д.34, кв. 25

2). Данные о дисциплинах содержат:

Данные о дисциплинах

3). Данные о специальностях содержат:

Данные о специальностях

Прикладная математика и информатика

Информатика и вычислительная техника

4). Результаты экзаменов содержат:

регистрационный номер абитуриента;

Установить связи между таблицами (3 балла).

С помощью мастера форм к каждой таблице сформировать формы: «Анкета», «Данные о дисциплинах», «Данные о специальностях», «Результаты экзаменов» для заполнения базы данных новыми записями (4 балла).

Создать запрос с параметром «Результаты экзаменационных оценок» используя конструктор запросов, который выводит ФИО, название дисциплины, экзаменационные оценки по регистрационному № абитуриента (4 балла).

Подготовить отчет «Абитуриент» по всей базе. При использовании одинаковых полей в разных таблицах предусмотреть их заполнение через мастера подстановок (5 баллов).