Основы_работы_на_ПК_new
.pdfравно не позволит ввести в таблицу номер, которого нет в списке.
На рис. 4.8 и 4.9 показаны заполненные данными остальные таблицы БД «ТфСвязь».
Замечание. Для наглядности ввода номера телефона в конструкторе полезно задать Свойство маска ввода: 0\-0000\-00\-00 . Цифра 0 кодирует обязательный ввод в эту позицию цифры, 9 – не обязательный, а знак правее \ будет стоять в поле при вводе. Номер автомобиля (например, А123мк177) в вариантах задания удобно вводить по маске >L000<LL009 . Символы, вводимые правее > и < , преобразуются соответственно в прописные и строчные, а L кодирует ввод буквы.
Последовательность действий при создании БД «ТфСвязь»
1.Анализируются уже заданные отношения БД, намечаются типы данных для атрибутов отношений и свойства соответствующих полей, а затем готовятся (см. «Создание макета таблицы БД в режиме конструктора») в рекомендуемом порядке (см. «Рекомендация» вслед за Решение примера 2) макеты следующих таблиц: Отделы, Сотрудники, Телефоны, ТфРазговоры. При этом для полей, подставляемых из ранее созданных макетов таблиц, используется мастер подстановок (см. Решение примера 2), а для наглядности дальнейшего ввода данных в п.3 полезно вместе с полем подставляемого вторичного ключа указывать и поле с названием (с полем КодОтдела - поле НазвОтдела).
2.На основе созданных в п.1 макетов таблиц создаѐтся (см. «Построение схемы данных») схема данных БД «ТфСвязь». При этом уточняются виды связей между полями таблиц. Созданная схема данных с наглядно расположенными таблицами и не пересекающими линиями связей сохраняется в БД.
3.Осуществляется заполнение таблиц (в порядке указанном в п.1) заранее подготовленными данными. Если подстановки при создании макетов таблиц выполнены удачно, то это обеспечит наглядный ввод соответствующих полей (см. рис. 4.8).
4.Представить в отчѐте окончательный вид схемы данных, рядом с названиями полей указать тип значений в этих полях.
51
5.Представить в отчѐте таблицы (с тремя заполненными строками). Для поля, заполняемого подстановкой показать схему его заполнения (см. на рис. 4.8).
2.Задание
Для предложенных в варианте задания отношений подготовить (в рекомендуемом порядке) макеты таблиц и схему данных БД. Затем заполнить строки таблицы (по 8-10 строк на таблицу) заранее заготовленными данными, соответствующими предметной области.
После проверки преподавателем перенести в отчѐт:
1.окончательный вид схемы данных (с указанием типов полей),
2.таблицы (с тремя заполненными строками).
Варианты заданий
1. Компьютеры(КодКомпьютера, Марка, КодПоколения, КодФирмы, Описание), Поколения(КодПоколения, ЭлемБаза, ТактЧастота, ВремяПоявления), Разработчики(КодФирмы, НазвФирмы, Страна).
2. Автомобили(КодАвто, Марка, Класс, КодФирмы, КодСтраны, ГодВыпуска, Описание), Фирмы(КодФирмы, НазвФирмы, Город), Страны(КодСтраны, НазвСтраны, Столица).
3. Методички(НомМет, НазвМет, ГодИзд, Стр, КодАвтора), Заказы(КодЗаказа, СтудФИО, НомМет, КодДисц, КодАвтора), Дисциплины(КодДисц, НазвДисц, НомХранилища), Авторы(КодАвтора, ФамилияИО, Кафедра).
4. Видеофильмы(КодФильма, НазвФильма, КодЖанра, КодСтраны, ГодВыпуска, КодКассеты), Жанр(КодЖанра, НазвЖанра, Описание), Страны(КодСтраны, НазвСтраны, Столица), Кассеты(КодКассеты, МаркаКассеты, Длительность).
5. Собаки(КодСобаки, Кличка, Возраст, КодПороды, КодХозяина), Собаководы(КодХозяина, Фамилия, Имя, Отчество, ГодРождения), ВидыПородСобак(КодВида, НазвВида, Описание),
52
ПородыСобак(КодПороды, НазвПороды, РостСм, ВесКг, Заводчик, КодВида).
6. Книги(КодКниги, НазвКниги, КодАвтора, КодИздательства, ЖанрКниги), Авторы(КодАвтора, Фамилия, Имя, Отчство, ГодРождения, ГодСмерти), Издательства(КодИздательства, НазвИздательства,КодГорода, Примечание), Города(КодГорода, НазвГорода, Страна).
7.Отношеия БД «Двигатели Внутреннего Сгорания (ДВС)»: ДВС(КодДВС, МаркаДВС, Мощность, ЧислоОбМин, КодТипаДВС, КодИзготовителя), ТипыДВС(КодТипа, НазвТипа, Описание), Изготовители(КодИзготовителя, НазвФирмы, Страна, Город).
8.Отношеия БД «Земельный кадастр»:
ЗемКадастр(КадастрНомер, АдресУчастка, Площадь, КодКатегорииУчастка, ИННВладельца), Землевладелец(ИННВладельца, ИмяВладельца, Адрес), ПлощадиСтроений(КадастрНомер, Дом, Сарай, Баня, ХозБлок, Прочее), КатегорииУчастков( КодКатегорииУчастка, НазвКатегории, СтоимЗаГа ).
9. Отношеия БД «Налоговые декларации»: НалогДекларации(КодДекларации, ИННПлательщика, ДатаПлатежа, ОблагаемаяСумма, КодНалога, КодЛьготы), Налогоплательщик(ИННПлательщика, Фамилия, Имя, Отчество, ГодРождения, Адрес), Налоги(КодНалога, НазвНалога, ПроцСтавка), Льготы(КодЛьготы, НазвЛьготы, ПроцСтавка).
10.Авиация(КодАппарата, Марка, КодТипа, КодФирмы, КодСтраны, ГодВыпуска), ТипыАппарата(КодТипа, НазвТипа, Описание), Фирмы(КодФирмы, НазвФирмы, Город), Страны(КодСтраны, НазвСтраны, Столица).
11.Автопарк(КодАвто, НомерАвто, Марка, Пробег, ГодВыпуска), Водители (КодВодителя, ФамилияИО, Класс, Стаж), Маршруты(НомМаршрута, Описание, Длина), Перевозки(Код, КодВодителя, КодМаршрута, Дата). Указание: КодВодителя и КодАвто совпадают, т.е. за водителем закреплен его автомобиль.
53
12.Гаражи(НомГаража, КодТипаГаража, КодВладельца), Владельцы(КодВладельца, ФамилияИО, ГодРождения), ТипыГаражей(КодТипаГаража, Площадь, Этаж, Описание), Авто(КодАвто, НомАвто, Марка, Цвет, КодВладельца).
13.ФутбольныеКлубы(КодКлуба, НазвКлуба, Город, ПрезидентКлуба), Тренеры(КодТренера, Фамилия, Имя, Отчество, КодКлуба, Должность), Игроки(КодИгрока, Фамилия, Имя, ГодРождения, Амплуа, КодКлуба).
14.Заказы(КодЗаказа, ФИОЗаказчика, КодКатегории, КодТовара, КодИзгот), Категории(КодКатегории, НазвКатегории, НомСклада), Товары(КодТовара, НазвТовара, ДатаИзгот, Количество, КодИзгот), Изготовители(КодИзгот, НазвФирмы, Страна).
15.Изделия(КодИзделия, НазвИзделия, КодТипоразмера, КодМатериала, ОбъѐмМатериала%, КодИзготовителя), Материал(КодМатериала, НазвМатериала, Плотность, ЦенаЗаКубометр), Изготовители(КодИзгот, НазвФирмы, Адрес, Телефон), Типоразмеры(КодТипоразмера, Длина, Высота, Ширина).
16.РежущийИнструмент(КодИнстр, НазвИнстр, КодТипоРазм, КодМеталла, КодИзготовителя), Типоразмеры(КодТипоРазм, Длина, ДлинаРабЧасти, Диаметр, ДиамПосадочный, Ширина, Шаг), Металл(КодМеталла НазвМеталла, УдВес, КоэффПрочности), Изготовители(КодИзгот, НазвФирмы, Страна, Город).
17.Договоры(НомДоговора, НазвДоговора, ДатаНачала, ДатаОкончания, КодЗаказчика, КодОтвИсполнителя, Стоимость), Отдел(КодОтдела,НазвОтдела), ОтвИсполнители( КодОтвИсполнителя, ФамилияИО, КодОтдела), Заказчики(КодЗаказчика, ИмяЗаказчика, Адрес, Телефон).
18.Отношеия БД «Железобетонные изделия (ЖБИ)»: ЖБИ(КодИзделия, НазвИзделия, КодСостава, КодТипоразмера, КодИзготовителя), ОбъѐмНаЕдЖБИ (КодСостава, Цемент, Песок, Гравий, Арматура), Типоразмеры(КодТипоразмера, Длина, Ширина, Высота, ВнешнДиаметр, ВнутрДиаметр), Изготовители(КодИзготовителя, Фирма, Адрес).
54
19.Отношеия БД «Музыкальные произведения»: МузПроизведения(КодПроизведения, НазвПроизведения, КодАвтора, ГодСоздания, КодВидаПроизведения), ВидыПроизведений( КодВидаПроизведения, НазвВида, Характеристика), Композиторы(КодКомпозитора, Фамилия, Имя, Отчесто, Страна, ГодРождения, ГодСмерти), ЧислоПроизведений(КодКомпозитора, Симфоний, Опер, Концертов, Сонат, Увертюр, Этюдов, Романсов, Песен).
20.НобелевскиеЛауреаты(КодУчѐного, Фамилия, Имя, ГодРождения, ГодСмерти, КодСтраны, ГодВрученияПремии), АвторскиеРаботы(КодРаботы, НазвРаботы, КодНауки, КодАвтора), Науки(КодНауки, НазваниеНауки, ВремяПоявления), Страны(КодСтраны, НазвСтраны, Столица).
21. Отношения БД «Крепѐжные изделия»:
КрепИзделия( КодИзделия, НазвИзделия, КодТипоразмера, КодМеталла, КодПоставщика), Типоразмеры( КодТипоразмера, Длина, ДлинаРабЧасти, Диаметр, РазмерРезьбы, ШагРезьбы), Материал(КодМеталла, НазвМеталла, УдВес, КоэффПрочности, Описание), Поставщики( КодПоставщика, НазвФирмы, Страна, Адрес).
22. Отношения БД «Автострахование»:
ТипАвтоСтрахования( КодТипаСтрах НазвТипаСтрах, Описание), СтрахФирмы( КодФирмы, НазвФирмы, Адрес, Телефон), Автомобили(НомерАвто, Марка, ГодВыпуска, НачСтрахПериода, КонСтрахПериода, КодВодителя), Водитель(КодВодителя, ФамилияИО, Возраст, НомерАвто, Адрес, Телефон). Указание. По существующему положению к одному автомобилю может быть приписано несколько клиентов.
23. Отношения БД «Преддипломная практика в организации»: СтудПрактиканты(КодСтуд, ФамилияИОСтуд, СтудГруппа, ДатаНачПрактики, ДатаКонцПрактики, КодРукОтОрганиз, КодРукОтМАМИ), ОрганизацииПрактики( КодОрганизации, НазвОрганизации, Адрес), РуководителиОтМАМИ( КодРукОтМАМИ, ФамилияИО, Должность, Кафедра). РуководителиОтОрганизации(КодРукОтОрганиз, ФамилияИО, Должность, Отдел, КодОрганизации).
55
Указание. Руководитель может руководить практикой нескольких дипломников.
24. Преподаватели (Преп) периодически проходят Факультет Повышения Квалификации (т.е. являются слушателями ФПК) в ин-
ститутах Повышения Квалификации, которые выделяют для преподавателей руководителя от ФПК.
Отношения БД «ФПК преподавателей»:
СлушателиФПК( КодПреп, ФамилияИОПреп, Должность, Кафедра, ДатаНачФПК, ДатаКонцФПК, КодФакультетаПК, КодРукОтФПК), ФакультетыПК( КодФакультетаПК, НазвФакультетаПК, КодИнститутаПК), ИнститутПК(КодИнститута, НазвИнститута, Адрес), РуководительОтФПК(КодРукОтФПК, ФамилияИО, Должность, НаучнЗвание).
Указание. Один руководительОтФПК может руководить несколькими преподавателями.
Варианты 25-30, представленные ниже, включают отношения многие ко многим.
25. Авиаперевозки пассажиров осуществляются лайнерами местной авиакомпании. Авиарейсы выполняются лѐтными экипажами, которые могут эксплуатировать любой тип лайнера.
Отношения БД «Авиаперевозки»:
АвиаРейс(НомРейса, ПунктВылета, ПунктПрилѐта, ВремяВылета, ВремяПрилѐта, КодЛайнера, КодЭкипажа, КодПассажира), Пас-
сажир(КодПассажира, ФамилияИО, ВесБагажа), |
ЛѐтнЭки- |
||||
паж(КодЭкипажа, |
1Пилот, |
2Пилот, |
БортИнж), |
Лай- |
|
нер(КодЛайнера, |
Марка, |
Изготовитель, |
ГодВыпуска). |
||
Указание. Для атрибута (вторичного ключа) КодПассажира в отношении Рейс использовать Многозначное поле.
26. В меню пункта общественного питания (ресторане, кафе и т.п.) указываются определѐнные категорий блюд (первые и вторые блюда, закуски, напитки и т.д.). Блюда готовятся по рецептам, в которых описываются способ приготовления и указаны используемые продукты и их меру (вес, объѐм) для приготовления единицы выходного веса блюда.
56
Отношения БД «Блюда и технология их приготовления»: КатегорииБлюд(КодКатегории, НазвКатегории, Описание), Блюда(КодБлюда, НазвБлюда, КодКатегории, ВыходнойВес, КодРецепта), Рецепты (КодРецепта, Описание, КодПродукта, ВесПродукта), Продукты(КодПродукта, НазвПродукта, Описание).
Указание. Для атрибутов (вторичного ключа) КодПродукта и ВесПродукта отношения Рецепты использовать Многозначное по-
ле.
27. На сайте кафедры указаны учебные пособия по разделам курса информатики. Каждое пособие имеет название, авторов (одного или нескольких). Авторами, как правило, являются преподаватели данной или другой кафедры университета. Для автора указываются ссылка на кафедру (по которой, например, можно выйти на автора).
Отношения БД «Учебные пособия по разделам информатики»: РазделыИнформатики(КодРаздела, НазвРаздела, Семестр, УчЧасов), УчПособия(КодПособия, КодРаздела, НазвПособия, КодАвтора, ГодИздания, Страниц), Авторы(КодАвтора, ФамилияИО, КодКафедры), Кафедра(КодКафедры, НазвКафедры, Телефон). Указание. Для атрибута (вторичного ключа) КодАвтора в отноше-
нии УчПособия использовать Многозначное поле.
28. Сеансы тестирования по информатике студенческих Групп организуется в соответствие с записями таблицы ТестСеансы.
В таблице РазделыКурса указываются название разделов и число часов на их освоение. Итоги тестирования студентов представлены в таблице СтудИтоги, причѐм в поле ЗачтѐнныеРазделы содержит список номеров разделов (только зачтѐнных) из таблицы РазделыКурса. Отношения БД «Тестирование»:
ТестРазделыКурса(КодРаздела, НазвРаздела, ЧасовНаОсвоение), Группы(КодГруппы, ШифрГруппы, ШифрДеканата), СтудИтоги(КодСтудента, ФамилияИО, КодГруппы, ЗачтОтветов%, КодыЗачтРазделов), ТестСеансы(КодСеанса, Дата, Аудитория, КодГруппы). Указание. Атрибут КодыЗачтРазделов представить как многозначное поле.
57
29.Патенты регистрируются патентными ведомствами разных
стран и имеет патентообладателя(ей) и автора (ов). Отношения БД «Патенты»:
Патенты(КодПатента, КодСтаныРегистратора, НазвПатента, ДатаВыдачи, КодАвтора, КодПатентообладателя), Стрны( КодСтраны, НазвСтраны, ПатентноеВедомство), Авторы(КодАвтора, ФамилияИО, КодСтраны, Адрес). Патентообладатели( КодОбладателя, НазвОбладателя, КодСтраны Адрес).
Указание. Считать, что патентообладатель патента один, а авторов патента может быть несколько – для атрибута (вторичного ключа) КодАвтора в отношении Патенты использовать Много-
значное поле.
30.Бюро по трудоустройству подбирает работников требуемых профессий для предприятий и комплектует для них таблицу За-
полненныеВакансии.
Отношения «БД трудовых вакансий»: ЗаполненныеВакансии(НомПозиции, КодПредприятия, КодРаботника, Зарплата), Профессии(КодПрофессии, НазвПрофесии, Образование, Описание), Предприятия( КодПредприятия, НазвПредприятия, Адрес, Телефон), Работники( КодРаботника, ФамилияИО, Возраст, КодПрофесии, Квалификация), Указание. Для атрибутов (вторичного ключа) КодРаботника и Зар-
плата отношения ЗаполненныеВакансии использовать Многозначное поле с числами - КодамиРаботников и соответственно с величинами Зарплат. Если вакансия не заполнена, то в позиции указывается ноль.
58
№5. Анализ информации таблиц и БД Access. Создание запросов.
1.Краткие теоретические сведения Сортировка данных
При анализе информации удобно пользоваться отсортированными данными. Для сортировки данных таблицы необходимо выделить один или несколько соседних столбцов и на вкладке Главная, в группе (см. рис. 5.1) Сортировка и фильтр (или в контекстном меню, по-
сле нажатия правой клавиши мышки), щелкнуть по кнопке
По возрастанию или
По убыванию. После этого записи таблицы будут отсортированы сначала по крайнему левому выделенному столбцу, затем (для строк с одинаковыми значениями в левом столб-
це) по столбцу, расположенному |
|
||||
правее, и так до крайнего право- |
|
||||
го выделенного столбца. Для |
|
||||
восстановления исходного |
по- |
|
|||
рядка |
следования |
записей |
в |
|
|
группе |
Сортировка |
и фильтр |
Рис. 5.1. Группа Сортировка и |
||
надо щелкнуть по кнопке Очи- |
|||||
|
|||||
стить все сортировки. |
фильтр вкладки Главная |
|
Фильтрация данных
При анализе информации можно установить фильтр, который позволит отображать лишь те записи, которые удовлетворяют некоторому условию фильтрации. Это условие зависит от типа и значения данных. Обычный фильтр позволяет выбрать одно из условий фильтрации, которые предлагает Access в ориентации на ячейку столбца, выделенную первой. То есть для его применения следует выделить ячейку столбца и нажать правую клавишу мышки, а затем (в контекстном меню) выбрать требуемое из предложенных условий. Вместо этого в группе Сортировка и фильтр можно щелкнуть по кнопке Выделение и выбирать там. Например, в подпункте Между.. задать диапазон числовой величины или иные условия для дат. Для конкретности ниже рассмотрен пример.
59
Пример установки фильтра для вывода номеров телефонов, с которых выполнялись звонки 29.05.10 и 30.05.10 (суббота и воскресенье). Решение. В таблице ТфРазговоры БД «ТфСвязь» выделим поле Да-
таВремяВызова. В группе Сортировка и фильтр щелкнем по Филь-
тру. В меню и подменю выбираем Фильтры дат и Между.. В окне Диапазон дат вводим вручную (или с помощью календаря) даты Не ранее: 29.05.10 и Не позднее: 30.05.10 и щелкаем по кнопке OK.
Если предлагаемые Access условия не подходят, то можно в Расширенном фильтре подготовить своѐ собственное условие. Для этого в группе Сортировка и фильтр надо выбрать Дополнительно, а в от-
крывшимся подменю - Расширенный фильтр. После составления условия выполняется команда (в группе или в подменю) Применить фильтр. Для отмены фильтрации в секции Сортировка и фильтр,
щелкнув по Дополнительно, надо выбрать Отменить все фильтры.
Следует отметить, что подготовка собственного условия для Расширенного фильтра аналогична созданию запроса в режиме конструктора, что подробно разбирается далее.
Запросы и их создание
Вообще, запрос на выборку – это процедура, в которой описано (в виде условий отбора) то, какие записи надо получить пользователю из БД. Пример условия отбора из таблицы с полем t1 – это логическое выражение t1 0 And t1 9 (или 0 And 9 без явного указания поля) со значением истина, позволяющее получить записи, для которых t1 0; 9 . Результатом выполнения запроса является множество записей (кортежей), удовлетворяющих условиям отбора, то есть по существу это таблица (отношение). В Access запрос на выборку - это объект базы данных, который из взаимосвязанных таблиц БД (и других запросов) создаѐт новую, соответствующую условиям отбора, таблицу. Правда эта таблица (отображаемая в режиме таблицы) временная – она существует лишь до закрытия запроса (таблицы).
Простые запросы на выборку можно создавать с помощью мастера (1-ый способ), в режиме конструктора (2-ой способ) предоставляется самый общий метод построения запросов, а в режиме SQL (3-ий
60
