Ознакомление с технологией связывания таблиц СУБД Access

Работа добавлена:



Если Вы нашли нужный Вам реферат или просто понравилась коллекция рефератов напишите о Нас в любой соц сети с помощью кнопок ниже





Ознакомление с технологией связывания таблиц СУБД Access на http://mirrorref.ru

Лабораторная работа № 2  поACCESS(план работы)

Цель работы:Ознакомление с технологиейсвязывания таблиц. Конструирование и использованиезапросов на выборку к базе данных.

1. Связи между таблицами

Таблицы могут быть связаны отношениямиодин-к-одному, один-ко-многим и многие-к-многим. Access позволяет использовать только отношения первых двух типов.

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

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

Наиболее часто используются отношенияодин-ко-многим. В этом случае одной записи в главной таблице соответствует несколько записей в подчиненной таблице.

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

Задание 1.Установите связи между данными таблиц «Факультет», «Специальность», «Группа» и «Студент».

Технология.

  1. Загрузите файл базы данных «Академия»
  2. Щелкните по кнопке инструментальной панели Работа с базами данных «Схема данных».
  3. В окне «Добавить таблицу» последовательно выберите указанные выше таблицы, щелкая затем по кнопке «Добавить».
  4. Добавив последнюю таблицу, щелкните по кнопке «Закрыть».
  5. В окне «Схема данных» установите связь между таблицей «Факультет» и таблицей «Группа». Для этого:
    • выделите щелчком поле «N факультета» в таблице «Факультет» и, удерживая нажатой левую клавишу мыши, переместите указатель на поле с тем же названием в таблице «Группа»;
    • отпустите клавишу мыши, появится окно «Связи», в котором необходимо включить флажок «Обеспечение целостности данных» и нажать кнопку «Создать»;
    • в окне «Схема данных» появится связь между таблицами типаодин ко многим.

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

Примечание 2.Целостность данных может быть обеспечена при условии, что поля таблиц, которые обеспечивают связь, имеют одинаковый  тип. Если при установлении связи обнаруживается разный тип полей, то щелкните по таблице на схеме данных правой клавишей мыши, и в контекстном меню выберите пункт «Конструктор таблиц», с помощью которого измените тип поля.

  1. Аналогично установите связь между таблицами «Специальность» и «Группа» по полю «N специальности». Установите связь между таблицами «Группа» и «Студент» по полю «N группы».
  2. Закройте окно «Схема данных».

2.Запросы

Запрос - это средство Access для выборки данных из базы данных в форме таблицы, выполняемой по заданному условию, а также для выполнения определенных действий над табличными данными.

Условие может определять:

- порядок сортировки выводимых данных ;

- фильтрацию данных;

- вычисляемые поля;

- вывод данных из нескольких связанных таблиц;

- и т.п.

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

Все запросы можно разделить на 2 группы:

- запросы-выборки;

- запросы действия.

Запросы-выборки извлекают данные из таблиц в соответствии с заданными условиями

Основные виды запросов-выборок:

- запрос-выборка по одной таблице с заданными ключами сортировки (таблицы, рассортированы только по одному ключу);

- запрос с критерием поиска;

- запрос перекрестный;

- запрос с параметром;

- запрос с вычисляемым полем;

- запрос с итогами;

- запрос к связанным таблицам.

Запросы-действия предназначены для выполнения требуемых действий над данными таблиц. Они позволяют добавлять, изменять  или удалять данные. В Access существует 4 вида запросов-действия:

- запрос на удаление;

- запрос на замену (обновление);

- запрос на создание новой таблицы;

- запрос на добавление новых записей в таблицу.

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

1-ая строка таблицы называетсяПоле.В ней содержатся имена полей. Поле может быть вычисляемым. Тогда в соответствующей ячейке содержится выражение для вычисления значения этого поля.

2-ая строка таблицы называетсяСортировка.Она определяет способ сортировки по соответствующему полю (по возрастанию, по убыванию или без сортировки).

3-ья строка  таблицы управляетВыводом  на экран значения соответствующего поля

4-ая строка таблицы называетсяУсловием отбора. Содержит критерии, по которым производится отбор записей в динамический набор данных.

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

При записи в запросе условия можно объединять критерии при помощи операцийИ (AND) илиИЛИ(OR).

Использование вычисляемых полей в запросах

Допускается создание вычисляемых полей в запросе с помощью ввода выражения в строку с именами полей.

1. В режиме конструктора запроса введите выражение в пустую ячейку строки "Поле". После нажатия клавиши Enter или перевода курсора в другую ячейку будет выведено имя поля "ВыражениеN", где N - целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Это имя выводится перед выражением и отделяется от него двоеточием. В режиме таблицы данное имя становится заголовком столбца.

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

Например, для создания поля "Сумма" следует ввести в ячейку в строке "Поле" выражение:Сумма: [Цена]*[Количество]

При выполнении запроса в поле "Сумма" будет занесено новое значение, найденное путем перемножения содержимого полей "Цена" и "Количество".

Вычисляемые поля позволяют:

-рассчитывать числовые значения и даты;

-комбинировать значения в текстовых полях;

-создавать подчиненные запросы;

-рассчитывать значения итоговых полей с помощью групповых функций.

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

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

При делении денежного значения на любое число возвращается числовое значение со значением свойства <Размер поля> - "С плавающей точкой (8 байт)". Для того чтобы возвращалось значение типа "Денежный", следует указать этот тип в свойстве запроса <Формат поля>.

В Microsoft Access определена специальная функция, Count, обеспечивающая подсчет числа записей в запросе. Для этого следует ввестиCount(*) в ячейку в строке полей.

Окно “Область ввода”, выводящееся нажатием клавишShift+F2, позволяет просматривать выражения целиком (без прокрутки).

Элементы выражений

Элементами выражения могут быть операторы, идентификаторы, функции, литералы и константы.

Оператор=, <, &, And, Or, Like  Определяет операцию, выполняемую над одним или несколькими элементами.

ИдентификаторФормы![Заказы]![Заказ] или Отчеты![Счет]. ВыводНаЭкран Задает ссылку на значение поля элемента управления или свойства.

ФункцииНапример, Date, Sum, Dlookup,Dmax и др.Возвращают значения, найденные в результате расчета или другой операции. Access Basic предоставляет пользователю возможность создавать собственные функции.

Литерал100, #1-янв-94#, "New York"  Представляет значение, например, число, строку или дату, которое используется в Microsoft Access, именно в том виде, как оно записано. Даты заключаются в символы номера (#), а строки в прямые кавычки (").

КонстантаTrue, False, Да, Нет, Null    Представляет значение, остающееся неизменным.

Задание 2. Создать простой запрос для  выборки сведений из базы данных, включающий следующие поля:

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

Технология

  1. Откройте  в окне на панели создание выберете команду Конструктор запросов.
  2. В окне «Добавить таблицу» добавьте все четыре таблицы и закройте окно.
  3. Отрегулируйте размеры и расположение окон с таблицами на схеме данных.
  4. Перетащите соответствующие названия полей из окон таблиц в бланк запроса, расположенный под схемой данных, соблюдая заданный их порядок. Используйте для каждого поля, которое должно содержаться в выборке, один столбец бланка.

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

  1. Просмотрите выборку, выполнив командуВыполнить на панели Конструктор.
  2. Вернитесь в режим конструкторазапросов в случае, если выборка содержит ошибки, и откорректируйте запрос.
  3. Закройте запрос. Появится диалоговое окно, в котором необходимо подтвердить необходимость егосохранения. Присвойте запросу имя «Выборка 1»

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

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

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

При конструировании запроса используйте стандартную функциюAccess:DMin("[Дата рождения]";"Студент"). Здесь первый аргумент функции определяет поле, по которому ведется поиск, а второй аргумент - имя таблицы (запроса), в которой ведется поиск.

Для этого выбираем команду Построить на панели Конструктор.

В открывшемся окне Построитель выражений выбираем команды Функции/Встроенные функции, По подмножеству,DMin (см. Справкупоязыку Visual Basic Microsoft Access.Раздел Функции).

Задание 5. Создайте запрос для подсчета количества коммерческих студентов в каждой группе.

Технология.

  1. Создайте новый запрос с использованием таблиц «Факультет», «Группа», «Студент».
  2. Введите в 1-ый столбец бланка запроса поле «Наименование факультета», во 2-ой столбец – поле «Номер группы», в 3-ий столбец – поле «Коммерческий».
  3. Установите в качестве условия выборки для 3-го столбца – значение «Да».
  4. Установите для 1-го и 2-го столбцов бланка сортировку по возрастанию.
  5. Отключите вывод на экран данных 3-го столбца.
  6. Введите в 4-ый столбец поле «Коммерческий» и замените название столбца на «Количество коммерческих». Для этого ячейка с названием поля должна содержать:

Количество коммерческих:Коммерческий

  (новое  и старое названия столбца разделены символом «двоеточие»)

  1. Щелкнув по кнопке инструментальной панели «Групповые операции», добавьте в бланк строку «Групповая операция» и выберите из списка для 4-го столбца операциюCount.
  2. Просмотрите выборку с подсчетом итогов,  щелкнув по кнопке инструментальной панели «Запуск», либо выполнив командуКонструктор/Запуск.
  3. Вернитесь в режим конструктора запросов, щелкнув по кнопке «Вид» инструментальной панели.
  4. Сохраните запрос, присвоив ему имя «Подсчет коммерческих по группам»

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

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

Технология.

  1. Создайте запрос на выборку на основе таблицы "Студент". Введите в 1-ую строку бланка запроса поля "Номер группы" и "ФИО". Добавьте в бланк строкуГрупповая операция и выберите из списка для столбца "ФИО" операциюCount.
  2. Замените название 2-го поля. Для этого слева от названия "ФИО" введите текст: "Количество студентов всего" и отделите его от названия поля символом "двоеточие".
  3. Выполните запрос и проверьте правильность его функционирования. Запрос должен выводить строки с номерами групп и общим количеством в них студентов. Сохраните запрос, присвоив ему имя "Подсчет количества студентов по группам".
  4. В окне базы данных скопируйте запрос "Подсчет коммерческих по группам", созданный в задании 4, присвоив ему другое имя.  Для этого щелкните по имени запроса правой клавишей мыши и выберите в контекстном меню пункт "Копировать". Далее щелкните правой клавишей мыши по свободному месту в том же окне и выберите в меню пункт "Вставить". В окне "Вставка" присвойте копии имя "Подсчет количества коммерческих студентов и всего по группам".
  5. В режиме конструктора откройте запрос "Подсчет количества коммерческих студентов и всего по группам".. Добавьте на схему данных этого запроса запрос "Подсчет количества студентов по группам". Для этого щелкните на схеме данных правой клавишей мыши и выберите из контекстного меню пункт "Добавить таблицу…". В окне "Добавление таблицы" установите вкладку "Запросы". Найдите и выделите нужный запрос и щелкните по кнопке "Добавить".
  6. Добавьте в бланк запроса поле "Количество студентов всего" и выполните запрос.

Задание 8. Составьте запрос, позволяющий увидеть выборку, отражающую количество коммерческих студентов по каждому факультету и каждой группе. Заголовки столбцов должны соответствовать названиям факультетов, заголовки строк – номерам групп. Такой вид выборки может быть реализованперекрестным запросом. Для применения подобного запроса желательно иметь в базе данных сведения по 5-6 группам, отнесенным к 3 факультетам.

Технология.

  1. Создайте с помощью конструктора новый запрос с использованием таблиц «Факультет», «Группа», «Студент».
  2. Введите в 1-ый столбец бланка запроса поле «Наименование факультета», во 2-ой столбец – поле «Номер группы», в 3-ий столбец – поле «Коммерческий».
  3. Щелкните по кнопке инструментальной панели «Тип запроса» и выберите из списка «Перекрестный запрос».
  4. Выберите значения в строке бланка «перекрестная таблица», развернув список в ячейках:
    • для 1-го столбца «заголовок строк», для 2-го столбца – «заголовок столбцов», для 3-го столбца – «значение»
      1. Выберите функцию «Count» для групповой операции в 3-м столбце.
      2. Просмотрите перекрестную выборку, щелкнув по кнопке «Запуск».
      3. В режиме таблицы уменьшите ширину столбцов таблицы-выборки. Для этого выделите столбцы с данными по группам и выполните командуФОРМАТ/Ширина столбцов/По ширине данных.

Примерный вид перекрестной выборки представлен ниже

Наименование факультета

251

252

345

651

652

851

852

Строительный

5

Транспортный

5

5

4

Химический

1

8

4

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

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

Технология.

  1. Создайте с помощьюконструктора новый запрос с использованием одной таблицы «Студент».
  2. Введите в 1-ую строку бланка запроса все поля таблицы.
  3. Введите в ячейку строки «Условие отбора» для поля «Номер группы» текст:[Введите номер группы]
  4. Запустите запрос, и в появившееся диалоговое окно введите номер одной из групп. Просмотрите выборку. Сохраните запрос, присвоив ему имя «Запрос с параметром».

Задание 11. Составьте запрос для получения справки по стоимости обучения коммерческих студентов с учетом НДС. Принять, что стоимость обучения с учетом НДС коммерческого студента равна стоимости обучения по выбранной им специальности, умноженной на (1+0,2), где 0,2 – величина НДС.

Такой запрос называетсязапросом с вычисляемым полем

Технология.

  1. Создайте с помощьюконструктора новый запрос с использованием таблиц «Специальность», «Группа», «Студент».
  2. Введите в бланк запроса поля: «Номер группы», «Номер специальности», «ФИО», «N зачетки», «Коммерческий», «Стоимость обучения».
  3. Введите в поле «Коммерческий»условие «да» и отключите вывод содержимого этого поля на экран.
  4. Щелкните мышью в строке «поле» следующего свободного столбца бланка и щелкните по кнопке инструментальной панели «Построить». Будет вызвано окно «Построителя выражений»
  5. Введите в окно построителя выражение:  НДС: [Стоимость обучения] * 0.2

гдеНДС:  -заголовок столбца с вычисляемым полем,

[Стоимость обучения] – поле таблицы «Специальность,

0.2 – величина НДС.

Используйте для записи выражения инструменты построителя выражений. После ввода выражения щелкните по кнопке «Ok».

  1. Щелкните мышью в ячейке поля следующего свободного столбца и перейдите в окно «Построителя выражений».
  2. Введите в окне «Построитель выражений» формулу:

Итого:[Стоимость обучения]+[НДС]

Примечание.

Для редактирования выражения в вычисляемом поле запроса можно использовать окно «Область ввода», которое вызывается комбинацией клавишShift+F2,если ячейка с полем активизирована. То же самое можно сделать, выбрав пункт "Масштаб" в контекстном меню, вызываемом щелчком правой клавиши мыши по названию поля

.

  1. Включите флажки вывода на экран вычисляемых полей.
  2. Запустите запрос
  3. Отладив запрос, сохраните его с именем «Запрос с вычисляемым полем».

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

Ознакомление с технологией связывания таблиц СУБД Access на http://mirrorref.ru


Похожие рефераты, которые будут Вам интерестны.

1. Изучение информационной технологии редактирования и модификации таблиц в СУБД MS Access

2. Ознакомление с основными понятиями СУБД Access на примере учебной базы данных компании «Борей»

3. СУБД MS Access

4. ИСПОЛЬЗОВАНИЕ СУБД MICROSOFT ACCESS

5. СУБД Microsoft Access. Таблицы

6. Структура звітів в СУБД Microsoft Access

7. Конструирование сложных форм в СУБД Access

8. Схема данних СУБД Microsoft Access

9. Конструктор таблиць СУБД Microsoft Access

10. Майстер підстановок СУБД Microsoft Access