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



ЗНАЕТЕ ЛИ ВЫ?

Тема: «система управления базами данных Microsoft Access. Создание базы данных из нескольких таблиц»

Поиск

Цель работы: познакомить с основными объектами базы данных, сформировать умение строить базы данных из нескольких таблиц, создавая связи между ними.

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

База данных - это совокупность данных (таблиц), хранящихся вместе и связанных друг с другом, или это специальное электронное хранилище взаимосвязанных данных.

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

 

Назначение любой системы управления базами данных (СУБД) – создание, ведение и обработка баз данных.

Microsoft Access состоит из отдельных компонентов, которые используются для хранения и представления информации. Этими компонентами являются таблицы, формы, отчёты, запросы, макросы, модули. У каждого объектаMicrosoft Accessесть по крайней мере 2 способа создания: с помощью Конструктора или с помощью Мастера. В режиме Конструктора создается или изменяется структура объекта, в Мастере используются готовые варианты объектов, что предоставляет пользователю выбирать.

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

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

Разные типы полей имеют разное назначение и разные свойства.

1. Основное свойство текстового поля размер.

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

3. Поля для ввода дат или времени имеют тип Дата/время.

4. Для ввода логических данных, имеющих только два значения (Да или Нет; 1 или 0; Истина или Ложь и т. п.), служит специальный тип — Логическое поле. Длина такого поля всегда равна 1 байту, поскольку этого более чем достаточно, чтобы выразить логическое значение.

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

6. В современных базах данных можно хранить не только числа и буквы, но и картинки, музыкальные клипы и видеозаписи. Поле для таких объектов называется полем объекта OLE.

7. У текстового поля есть недостаток, связанный с тем, что оно имеет ограниченный размер (не более 256 символов). Если нужно вставить в поле длинный текст, для этого служит поле типа MEMO. В нем можно хранить до 65 535 символов. Особенность поля MEMO состоит в том, что реально эти данные хранятся не в поле, а в другом месте, а в поле хранится только указатель на то, где расположен текст.

8. Очень интересное поле Счетчик. На первый взгляд это обычное числовое поле, но оно имеет свойство автоматического наращивания. Если в базе есть такое поле, то при вводе новой записи в него автоматически вводится число, на единицу большее, чем значение того же поля в предыдущей записи. Это поле удобно для нумерации записей.

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

Разделение базы на связанные таблицы не только удобно, но иногда и необходимо. Например, для увеличения числа заказов менеджер фирмы, занимающейся прокатом компакт-дисков, решил поставить в общем зале компьютер, на котором каждый клиент может просмотреть список имеющихся дисков с иллюстрациями из игр. Если база состоит только из одной таблицы, то вместе с информацией о дисках случайный посетитель получит доступ к информации о других клиентах фирмы. Такой менеджер не только не приобретет новых клиентов, но и растеряет тех, которых имел.

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

Типы связей:

1:1: Отношение «один-к-одному». Например: (студент - № зачетки)

1:N: Отношение «один-ко-многим». Например: Один поставщик...а)... может поставлять несколько товаров,...б)... но у каждого товара может быть только один поставщик. (Группа-студенты)

N:M: Отношение «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Например: (Студенты-курсы, которые они слушают)

Требования к созданию связанных таблиц:

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

· Связанное поле одной таблицы является ключевым полем или имеет уникальный индекс.

· Связанные поля имеют один тип данных. Исключение: поле Счетчик может быть связано с Числовым полем, если оно имеет тип Длинное целое.

· Обе таблицы принадлежат одной базе данных Access.

Упражнение 1. Создание базы данных «Деканат».

1. Создайте новую базу данных «Деканат». Для создания новой базы данных:

  • загрузите Access, в появившемся окне с левой стороны щелкните по пункту Новая база данных;
  • в окне «Файл новой базы данных» в поле Имя файла в качестве имени базы данных задайте имя Деканат
    и выберите папку (пункт Папка), где ваша база данных будет находиться, т.е. в свою папку.
  • щелкните по кнопке <Создать>.

2. Создайте таблицу базы данных. Для создания таблицы базы данных:

· В появившимся окне на левой панели окна "База данных" сосредоточены элементы управления для вызова всех типов объектов Access (таблицы, запросы, формы и т.д.). В окне выберите тип создаваемого документа. Вы создаете таблицы, поэтому выберите закладку Таблица. Щелкните по кнопке Создать.

· Откроется окно диалога «Новая таблица», в правой части которого находится список вариантов дальнейшей работы:

· Здесь несколько вариантов, но вы выберите Конструктор и щелкните по кнопке ОК. Появится окно Конструктора.

3. Определите поля таблицы в соответствии с табл. 1. Для определения полей таблицы:

· введите в строку столбца «Имя поля» имя первого поля Код преподавателя;

· в строке столбца «Тип данных» щелкните по кнопке списка и выберите тип данных Числовое, аРазмер поля; Целое во вкладке Общие

· Установите поля Код преподавателя ключевым. Для этого щелкните на рисунок ключа на панели инструментов или вызовите контекстное меню

· Введите ограничения на данные в поле <Код>; эти данные не должны повторяться, т.к. коды преподавателей не должны повто­ряться, а также должна быть обеспечена возможность их изменения (

· Во вкладке Общие щелкните по строке параметра Индексированное пол;

Примечание. Индекс — это средство Access, ускоряющее поиск и сортировку данных в таблице. Ключевое поле (поле первичного ключа) таблицы индекси­руется автоматически. Не допускается создание индексов для полей типа MEMO и Гиперссылка или полей объектов OLE.

  • выберите в списке пункт Да (совпадения не допускаются);

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

Таблица 1.

Имя поля Тип данных Размер поля
Фамилия Текстовый  
Имя Текстовый  
Отчество Текстовый  
Дата рождения Дата/время Формат поля: Краткий
Должность Текстовый  
Код дисциплины Числовой Целое
Дисциплина Текстовый  
Телефон Текстовый  
Зарплата Денежный Формат поля: Основной, Число десятичных знаков: 0
  • Сохраните созданную таблицу под именем Преподаватели. Для этого нажмите на знак «Закрыть».В появившемся окне наберите имя таблицы Преподаватели и щелкните по кнопке ОК.

Упражнение 2. Редактирование базы данных.

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

2. Введите ограничения на данные, вводимые в поле «Должность»; должны вводится только слова Профессор, Доцент или Ассистент.

Для задания условия на значение для вводимых данных:

  • Щелкните в поле «Должность», в нижней части окна во вкладке Общие переидите на Условие на значение;
  • щелкните по кнопке для определения условий на значение при помощи по­ строителя выражений;
  • в появившемся окне напишите слово Профессор, затем щелкните по кнопке (эта кнопка выполняет функцию ИЛИ), напишите Доцент, снова щелкните по этой же кнопке, напишите Ассистент и щелкните по кнопке < ОК >. Таким образом вы ввели условие, при котором в поле «Должность» могут вводиться только указанные значения

3. Задайте текст сообщения об ошибке, который будет появляться на экране при вводе неправильных данных в поле «Должность».

В строке Сообщение об ошибке введите предложение "Такой должности нет, правиль­но введите данные".

4. Задайте значение по умолчанию для поля «Должность» в виде слова Доцент.

В строке Значение по умолчанию введите слово "Доцент". Выидите из режима конструктора.

 

Упражнение 3. Работа в режиме таблиц.

1. Перейдите в режим Таблица:

  • щелкнув по кнопке на панели инструментов
  • или выполнив команду Вид, Режим таблицы. На вопрос о сохранении таблицы щелкните по кнопке <Да>.

2. Заполните таблицу данными в соответствии с табл. 2 и проверьте реакцию системы на ввод неправильных данных в поле «Должность».

Попробуйте в поле <Должность> любой записи ввести слово Лаборант. Посмотрите, что получилось. На экране должно появиться сообщение: "Такой должности нет, правильно введите данные".Введите правильное слово

Таблица 2

Код Фамилия   Имя Отчество Дата рожд. Код дис. Должн. Дисцип. Тел. Зар.
  Истомин Ремир Евгеньевич 23.10.1954   Доцент Информатика    
  Миронов Павел Юрьевич 25.07.1940   Профессор Экономика    
  Гришин Евгений Сергеевич 05.12.1967   Доцент Математика    
  Сергеева Ольга Ивановна 12.02.1972   Ассистент Математика    
  Емец Оксана Ивановна 16.02.1951   Доцент Экономика    
  Игнатьева Татьяна Павловна 30.05.1966   Доцент Информатика    
  Миронов Алексей Николаевич 30.07.1948   Доцент Физика    
                   

3. Измените ширину каждого поля таблицы в соответствии с шириной данных:

· щелкните в любой строке поля «Код»;

· выполните команду Формат, Ширина столбца;

· в появившемся окне щелкните по кнопке <По ширине данных>. Ширина поля изменится;

· проделайте эту операцию с остальными полями.

4. Произведите поиск в таблице преподавателя Миронова:

  • установите курсор в первую строку поля «Фамилия»;
  • выполните команду Правка, Найти;
  • в появившейся строке параметра Образец введите Миронов;
  • щелкните по кнопке <Найти>. Курсор перейдет на вторую запись и выделит сло­во Миронов;
  • щелкните по кнопке <Найти далее>. Курсор перейдет на седьмую запись и так­
    же выделит слово Миронов;
  • щелкните по кнопке <3акрыть> для выхода из режима поиска.

5. Произведите замену данных: измените заработную плату ассистенту Сергеевой с 18900 на 20000:

· переведите курсор в первую строку поля «Зарплата»;

· выполните команду Правка, Заменить;

· в появившемся окне в строке Образец введите 18900

· в строке Заменить на введите 20000. Обратите внимание на остальные опции —
вам надо вести поиск по всем записям данного поля;

· щелкните по кнопке <3аменить все>. Данные будут изменены;

6. Произведите сортировку данных в поле «Зарплата» по возрастанию.

· щелкните по любой записи поля «Зарплата»;

· щелкните по кнопке на панели управления или выполните команду Записи,
Сортировка, Сортировка по возрастанию.
Все данные в таблице будут отсорти­рованы в соответствии с возрастанием значений в поле «Зарплата».

7. Научитесь использовать фильтр:

а) Произведите фильтрацию данных по полям «Должность» и «Дисциплина»:

· щелкните по записи Доцент поля «Должность»;

· щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В таблице останутся только записи о преподавателях — доцен­тах;

· щелкните по записи Информатика поля «Дисциплина»;

· щелкните по кнопке или выполните команду Записи, Фильтр, Фильтр по выделенному. В таблице останутся только записи о преподавателях — доцентах кафедры информатики;

· для отмены фильтрации щелкните по кнопке на панели инструментов или
выполните команду Записи, Удалить фильтр. В таблице появятся все данные.

б) Получить записи преподавателей, у которых имена начинаются на букву «О»:

· Установите курсор в первой записи поля Имя.

· Выполните команду Записи, Фильтр, Изменить фильтр

· Установите курсор в первой записи поля Имя. Введите запрос Like «О*» и выполните команду Записи, Применить фильтр. Посмотрите что получилось

· Запрос Not «О*» будет означать все записи, кроме указанных.

8. Сохраните таблицу.

Упражнение 4. Создайте три таблицы: Студенты, Оценки и Дисциплины.

1. Создайте таблицу Студенты

Имя поля Тип данных Размер поля  
Код студента Числовой Целое  
Фамилия Текстовый    
Имя Текстовый    
Отчество Текстовый    
Номер группы Текстовый    
Телефон Текстовый    
Стипендия Логический Да/Нет  
 

! в качестве ключевого поля задайте «Код студента». Для этого щелкните по полю «Код студента» и по кнопке на панели инструментов или выполни­те команду Правка, Ключевое поле; закройте таблицу, задав ей имя Студенты.

2. Создайте таблицу Дисциплины:

Имя поля   Тип данных Размер поля
Код дисциплины   Числовой Целое
Название дисциплины   Текстовый  

! В качестве ключевого поля задайте «Код дисциплины». Заполняться эта таблица будет также в режиме формы.

3. Создайте структуру таблицы Оценки:

Имя поля Тип данных Размер поля
Код студента Числовой Целое
Код дисциплины Числовой Целое
Оценки Числовой Байт

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

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

· щелкните по кнопке на панели инструментов или выполните команду Сер­вис, Схема данных. На экране появится окно «Схема данных»;

· щелкните по кнопке на панели инструментов или выполните команду Свя­зи, Добавить таблицу;

· в появившемся окне будет выделено название одной таблицы. Щелкните по кнопке <Добавить>;

· переведите выделение на имя следующей таблицы и щелкните по кнопке <Добавить>. Аналогично добавьте оставшиеся две таблицы;

· закройте окно, щелкнув по кнопке <3акрыть>;

· создайте связь между таблицами Дисциплины и Оценки. Для этого подведите курсор мыши к полю «Код дисциплины» в таблице Дисциплины, щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле «Код дис­циплины» в таблицу Оценки, а затем отпустите кнопку мыши. На экране откро­ется окно «Связи»;

· установите флажок ("галочку") в свойстве Обеспечение целостности данных, щелкнув по нему. Это невозможно будет сделать, если типы обоих полей заданы неодинаково

· установите флажок в свойстве Каскадное обновление связанных полей и Каскад­ное удаление связанных записей;

Примечание. Задание каскадного обновления связанных полей и каскадного удаления связанных записей позволит вам отредактировать записи только в таблице Дисциплины, а в таблице Оценки эти действия будут со связанными за­писями выполняться автоматически. Например, если вы удалите из таблицы Дисциплины один предмет, то в таблице Оценки удалятся все строки, связан­ные с этим предметом.

· щелкните по кнопке <Создать>. Связь будет создана;

· аналогично создайте связи между полем «Код дисциплины» в таблице Дисци­плины и полем «Код дисциплины» в таблице Преподаватели, а также между полем «Код студента» в таблице Студенты и полем «Код студента» в таб­лице Оценки. Результат представлен на рис. 4.6;

· закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.

Задания для самостоятельной работы:

1. Создайте базу данных … см.таблицу.

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

№ варианта Задание
  «Музыкальный альбом»,состоящую из трех таблиц «Композитор», «Певцы», «Песни».
  «Поликлиника», состоящую из трех таблиц «Врач», «Пациент», «Участки».
  «Расписание занятий», состоящую из трех таблиц «Класс», «Учителя», «Предметы».
  «Компьютерный салон», состоящую из двух таблиц «Ассортимент товаров», «Покупатель».
  «Участники конференции», состоящую из двух таблиц «Список участников», «Темы докладов».

Контрольные вопросы:

1. Что такое база данных, СУБД?

2. Какие основные объекты базы данных Microsoft Access вы знаете?

3. Какие способы создания объектов вы знаете?

4. Какие типы данных, типы связей вы знаете?

5. Какие существуют требования к созданию связей между таблицами?

Лабораторная работа №19



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 513; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.31.168 (0.009 с.)