Научно - Информационный портал



  Меню
  


Смотрите также:



 Главная   »  
страница 1 ... страница 2 | страница 3 страница 4 страница 5 ... страница 7 | страница 8

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


MS Access. Создание межтабличных связей. Сортировка и фильтрация данных.

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

Краткие теоретические сведения

Сразу после запуска Access на экране появляется окно, в котором можно установить флажок Новая база данных и затем нажать кнопку OK. После этого на экране появится окно Файл новой базы данных, в котором надо ввести название новой базы данных, выбрать папку, где она будет храниться и затем нажать кнопку Создать. После этого на экране появится окно базы данных, в котором перечислены объекты базы данных: Таблицы, Запросы, Формы, Отчеты, Макросы, Модули.



Планирование баз данных.

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



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

  2. Какие действия с данными необходимо будет производить в процессе эксплуатации БД? - это позволит определить, какие потребуются формы.

  3. Какие документы необходимо будет выводить на печать? - Это позволит определить, какие потребуются отчеты.

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

При проектировании таблиц базы данных рекомендуется:



  1. Избегать повторения информации

Если информация повторяется то логичнее разбить информацию в две таблицы, задать ключевые поля и связать таблицы по ключевым полям.

  1. Избегать повторяющихся групп

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

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

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


  1. Каждая таблица должна описывать одну сущность реального мира

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

  1. Там, где это возможно, следует использовать коды (первичные ключи)

Первичные ключи помогают связывать таблицы.

  1. Справочную информацию следует помещать в отдельные таблицы.

Создание таблиц в Access.

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



  1. Режим таблицы

  2. Конструктор

  3. Мастер таблиц

  4. Импорт таблиц

  5. Связь с таблицами

Конструктор таблиц.

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



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

Тип данных определяет, какого вида данные допускается вводить в поле.

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

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

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

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

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

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

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

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

Связь Один-ко-многим. Первичный ключ первой таблицы (поле, содержащее уникальные значения), связывается с внешним ключом второй таблицы (значения поля могут повторяться). При этом каждой записи первой таблицы может соответствовать несколько записей второй. Можно сказать, что «один-ко-многим» - это «многие-к-одному» наоборот.

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

Создание межтабличных связей.

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

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

При создании межтабличной связи очень важно, из какой таблицы в какую перетаскивается поле. Поля надо перетаскивать из таблицы со стороны «один» в таблицу со стороны «многие». При этом в окне Изменение связей главная таблица (со стороны «один») окажется слева под заголовком Таблица/запрос, а таблица со стороны «многие» - справа под заголовком Связанная таблица/запрос. При попытке сделать наоборот мы получим сообщение об ошибке.

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

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

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

Щелкните на кнопке Создать, чтобы новая связь появилась в окне Схема данных.

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


ЗАДАНИЕ

  1. Создайте новую базу данных Microsoft Access. Назовите ее «Продажа товаров»

  2. В режиме конструктора создайте таблицу ОПЕРАЦИИ следующей структуры

Название поля

Тип поля

Описание

КодОперации

Счетчик

Уникальное поле БД

Дата

Дата/Время

Дата продажи

КодТовара

Числовой

Шифр товара

КодПокупателя

Числовой

Шифр фирмы покупателя

Цена

Числовой




Кол_во

Числовой




Сумма

Числовой




Ф_опл

Текстовый

Форма оплаты

  1. Для поля Дата установите свойство Значение по умолчанию. Удобно, если при заполнении таблицы в это поле автоматически будет проставляться текущая дата (а если необходимо, то ее можно будет изменить). Для этого щелкните кнопкой мыши в поле ввода для свойства Значение по умолчанию и введите туда следующий текст: =Date(). Для свойства Формат поля установите значение Краткий формат даты.

  2. Для поля Сумма удалите в свойстве Значение по умолчанию число 0, оставив это свойство пустым, а формат данного поля установите как Денежный.

  3. Задайте для поля Дата Условие на значение ( дата должны быть не позже сегодняшней); заполните поле Сообщение об ошибке.

  4. Задайте для полей Количество, Цена и Сумма Условие на значение (Значения этих полей должны быть обязательно больше нуля); заполните поле Сообщение об ошибке.

  5. Задайте в качестве ключевого поля - поле КодОперации. Воспользуйтесь пиктограммой Ключевое поле или командой Правка – Ключевое поле.

  6. Закройте окно конструктора и сохраните таблицу под именем Операции.

  7. По аналогии создайте вторую таблицу базы данных ТОВАР в режиме конструктора.

Название поля

Тип поля

Описание

КодТовара

Счетчик

Уникальное поле БД

Наименование

Текстовый




Ед_изм

Текстовый

Единица измерения

  1. Для удобства заполнения данных в поле Ед_Изм создадим поле с раскрывающимся списком значений. Для этого в свойстве этого поля Тип элемента управления выберите значение Поле со списком. Свойство Тип источника строк - Список значений. Число строк списка задайте равное пяти.(так как в таблице используется всего пять единиц измерения товара). Свойство Источник строк заполните следующим образом – кг.;бул.;пач.;шт.;лит. Задайте в качестве ключевого поля - поле КодТовара.

  2. Закройте окно конструктора и сохраните таблицу под именем Товары.

  3. Откройте таблицу ОПЕРАЦИИ в режиме Конструктора. Аналогично создайте поле с раскрывающимся списком значений Ф_опл (см. таблицу ОПЕРАЦИИ)- б/р (безналичный расчет), н/р (наличный расчет),бар (бартер).

  4. Создайте третью таблицу базы данных ПОКУПАТЕЛИ следующей структуры:

Имя поля

Тип данных

Описание

КодПокупателя

Счетчик

Уникальный код в БД

Покупатель

Текстовый

Наименование покупателя

РНН

Числовой




р/с

Числовой

Расчетный счет

Адрес

Текстовый




Телефон

Текстовый







  1. Для поля Телефон в свойстве Маска ввода задайте ###\-##\-##.

  2. Задайте маску для заполнения полей РНН и р/с, с учетом того, что РНН состоит из 12 цифр, а расчетный счет из 6 цифр.

  3. Задайте в качестве ключевого поля - поле КодПокупателя.

  4. Закройте окно конструктора и сохраните таблицу под именем Покупатели.

  5. В окне базы данных появится только что созданные таблица. Открывайте таблицы двойным щелчком мыши и заполняйте их данными:

Таблица ОПЕРАЦИИ

КодОперации

Дата

КодТовара

КодПокупателя

Цена

Кол_во

Сумма

Ф_опл

1

01.01.04

1

1

20

550

11000

б/р

2

01.01.04

2

1

68

200

13600

б/р

3

03.01.04

1

2

20

 900

18000

б/р

4

03.06.04

3

3

25

300

7500

н/р

5

04.01.04

6

5

150

26000

3900000

бар

6

04.01.04

4

4

150000

250

37500000

б/р

7

13.01.04

3

3

25

520

13000

н/р

8

03.02.04

2

2

68

4580

311440

б/р

9

12.02.04

3

2

26

 300

7800

н/р

10

12.02.04

7

2

59

12000

708000

б/р

11

02.03.04

4

1

120000

15

1800000

б/р

12

02.03.04

4

4

120520

520

62670400

бар

13

05.03.04

6

5

250

 5

1250

б/р

14

05.03.04

5

2

25

150

3750

б/р

15

04.04.04

7

3

53

200

10600

н/р

16

13.04.04

5

2

20

200

4000

бар

17

13.03.04

1

1

25

500

12500

н/р

Таблица ТОВАРЫ



КодТовара

Наименование

Ед. изм.

1

соль

кг.

2

сахар

кг.

3

хлеб

бул.

4

Шоколад

шт.

5

Сода

пач.

6

Лимон

кг.

7

Молоко

лит.

Таблица ПОКУПАТЕЛИ



Код Покупателя

Покупатель

РНН

р/с

Адрес

Телефон

1

ЧП «Седьмой континент»

456987568940

321654

г.Москва, Смирновская, 18, к.198

111-56-09

2

АО «Сервис»

458962108945

215456

г.Омск, Победы, 13, к.1

550-67-90

3

АО «Закусочная»

546542123547

546211

г.Павлодар, ул. 8 марта, 33, к.11

123-45-67

4

Д/с №120

789320145214

457021

г.Павлодар, ул.Кутузова 279

234-32-22

5

СОШ №17

781258045785

645213

г.Омск, ул. Майская 15

453-67-20

  1. Откройте базу данных Продажа товаров.

  2. Откройте схему данных и отобразите все таблицы базы данных.

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

  4. Откройте таблицу ОПЕРАЦИИ, проверьте, появилась ли вложенность таблиц.

  5. Произведите сортировку таблицы по полю Дата – с помощью Расширенного Фильтра (Записи – Фильтр – Расширенный фильтр) отберите все данные об операциях за январь.

  6. Отключите фильтр. Проведите фильтрацию по полю Цена – оставьте только те товары, в которых цена больше 100. (используйте расширенный фильтр).

  7. Отключите фильтр. Проведите фильтрацию по полю Форма оплаты – отберите операции по безналичному расчету.


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

  1. Назовите основные элементы окна Access.

  2. Перечислите основные объекты окна базы данных.

  3. Какие режимы работы используются для работы с таблицей?

  4. Что такое Конструктор в СУБД Access?

  5. Для чего служит ключевое поле?

  6. Что такое счетчик?

  7. Какой тип данных следует использовать для создания поля, содержащего рисунки?

  8. Что такое маска ввода? Какие знаки используются для работы с маской?

9. Объясните для чего необходимо связывать таблицы при работе с базами данных?

10. Перечислите виды связей между таблицами базы данных.

11.Назовите обязательные условия при создании связей между главной и подчиненной таблицами?

12. Как вы понимаете связь «Один к одному»?

13. Что означает связь «Один ко многим»?

14. Что такое связь «Многие ко многим»?

15.Что такое целостность данных?



страница 1 ... страница 2 | страница 3 страница 4 страница 5 ... страница 7 | страница 8

Смотрите также: