Автор работы: Пользователь скрыл имя, 22 Ноября 2012 в 16:36, контрольная работа
Задание 1
Проанализируйте (совместно с преподавателем) информацию, представленную в документе «Список сотрудников АКБ». Разбейте информацию на атомарные единицы, характерные для всей сущности и определите необходимые поля для размещения данных в таблице-отношении. Дайте имя отношению и придумайте имена для каждого его поля.
Задание 2
Самостоятельно. Подберите типы и размеры для всех полей таблицы, исходя из анализа информации в документе «Список сотрудников АКБ "Буревестник"». Выберите поле или группу полей, отвечающих требованиям первичного ключа.
Например, нельзя сделать запись о новом сотруднике [Фамилия]=’Волков’ в таблице «Сотрудники» с назначением на [Должность]=’Главный бухгалтер’ в новый [Отдел]=’Бухгалтерия’, до тех пор, пока еще нет соответствующих записей в таблицах «Должности» и «Отделы». Аналогично, нельзя удалить запись о некотором отделе в таблице «Отделы», если в таблице «Сотрудники» есть записи о сотрудниках, работающих в данном отделе.
Связь «Многие-ко-многим»
Теория. Если посмотреть на пример из упр. 2 с другой стороны, то между таблицей «Должности» и таблицей «Отделы» возникает связь «Многие-ко-многим» (∞<->∞). Она реализует условие, что много сотрудников с одной должностью могут работать в разных отделах. И, наоборот: в одном отделе могут работать сотрудники с разными должностями. Реляционная СУБД не может обеспечить целостную связь типа «Многие-ко-многим» между двумя таблицами. Для этого ей необходима третья таблица, в которой будут установлены две связи типа «Один-ко-многим»/
Например, в нашем случае такой третьей таблицей является таблица «Сотрудники».
Связь «Один-к-одному»
Теория. Если собрать дополнительные сведения у сотрудников (например, об образовании, увлечениях и т.д.), то для них можно создать дополнительную таблицу со связью «один-к-одному» (1<->1) на основе первичного ключа [КодСотрудника].
Упр. 3. Создание связей
Определите и установите связи между таблицами так, чтобы информация в БД отвечала всем требованиям нормализации.
Порядок выполнения задания
3. Если в БД до этого никаких связей не определялось, автоматически будет открыто диалоговое окно Добавление таблицы. Если нужно добавить таблицы для создания связей, а диалогового окна Добавление таблицы на экране нет, нажмите кнопку «Отобразить на панели инструментов. Если таблицы, между которыми нужно создать связь уже отображены, перейдите к шагу 5.
4. Дважды щелкните имена таблиц, для которых требуется определить связи. Затем закройте диалоговое окно Добавление таблицы. Повторно добавленные таблицы можно Для этого необходимо указать на них курсором и, вызвав контекстное меню правой клавишей мыши, выбрать команду Скрыть. (Смотрите иллюстрацию ниже)
5. Выберите ключевое поле таблицы «Отделы» со стороны «Один-» создаваемой связи и перетащите его, удерживая нажатой левую клавишу мыши, совместив с именем поля нужного внешнего ключа в таблице «Сотрудники» со стороны «-КО-МНОГИМ».
В диалоговом окне Изменение связей установите флажок только для пункта Обеспечение целостности данных. (Смотрите иллюстрацию ниже).
6. Самостоятельно определите связь для оставшихся таблиц «Должности» и «Сотрудники».
В итоге Схема данных должна выглядеть как на рисунке, которая представлена ниже.
ФОРМА — объект обработки и представления данных на экране
Теория. Под процессом обработки информации в ИС прежде всего понимаются следующие процедуры: ввод, просмотр, выборка некоторого подмножества данных, сортировка, группировка, изменение (исправление), расчет производных параметров и итогов. Все эти действия можно делать с помощью объектов СУБД ФОРМЫ. Для одной БД может быть разработано сколько угодно форм в зависимости от поставленных обработки информации. При удалении формы удаляется процедура обработки, графическое оформление, но информация из БД не исчезает, так как хранится в объектах другого типа — в таблицах.
Чтобы ввести данные примера (см. рис. 1), необходимо создать как минимум три формы: по одной форме для каждой таблицы, сконструированной в упр. 2. Начинать ввод следует с таблицы, находящейся на стороне «Один-» связи «Один-ко-многим». Она является «главной», из нее подставляются значения первичного ключа в поле внешнего ключа «подчиненной» таблицы. И только затем создаются и заполняются формы для таблиц у которых в линии связи стоит «-ко-многим». В нашем случае следует начинать «Отделы» и «Должности».
Формы можно создавать двумя способами: с помощью конструктора и с помощью Механизм мастера относится к категории CASE-технологий. Эта технология концепцию «программирование без алгоритмического языка». Мы будем пользоваться МАСТЕРОМ на начальном этапе построения, а затем переходить в КОНСТРУКТОР, если потребуются изменения и дополнения.
Упр. 4-ф. Создание форм
Создайте формы с помощью МАСТЕРА для ввода информации в БД «Кадры». Необходимо сделать по одной форме для каждой таблицы для ввода и редактирования данных.
Порядок выполнения задания
Нажмите кнопку «Далее».
В общем случае, здесь можно выбирать все поля или только часть необходимых полей одной таблицы, а также разные поля из разных таблиц. Нельзя выбирать поля из таблиц и запросов одновременно.
Для форм с малым количеством полей обычно выбирают табличное представление данных (вид ленточный или табличный).
Ленточный, в отличие от табличного вида, позволяет делать многоярусную таблицу и использовать зону примечаний для вычислений. Для форм с большим количеством полей используют представление данных в виде бланка (карточки) в один столбец.
На бланке (в один столбец) мы видим все поля только одной записи, а в таблице (табличный, ленточный виды) поля уместившихся на экране нескольких записей.
Обратите внимание, что для поля [Код Должности] требуется придумать значения, так как их нет в таблице на рис. 1. Поле [Код Должности] —поле первичного ключа, все значения должны отличаться, иначе возникнет ошибка, связанная с условием уникальности значения ключевого поля.
В таблице «Должности» не должно быть дублирующихся записей. Это означает, что необходимо выбирать из таблицы (рис. 1) неповторяющиеся значения должностей и связанных с ними окладов.
Строка с обозначением * (звездочка)предназначена для новых данных.
Если кодификатор должностей специально не разрабатывается, то обычно применяют нумерацию по порядку, поэтому для таких полей часто выбирают тип поля — Счетчик (автонумератор).
Создайте форму «Структура организации» для таблицы «Отделы». Выберите все поля таблицы «Отделы» и вид — табличный.
8. Заполните таблицу «Должности», используя созданную форму, тестовыми данными из примера (см. рис. 1). Необходимо выбирать из таблицы неповторяющиеся; значения.
Внимание. При вводе информации в поле [Телефон отдела] мы не пишем слово «Доб» (добавочный), т.к. для данного поля определен тип поля Текстовый и Размер 3 символа. Приставка «Доб» перед номером является избыточной, повторяющейся во всех записях таблицы Отделы, ее незачем хранить. Мы добавим эти символы в описании Маски ввода и Формата поля в упр. 5.
С помощью созданной формы внесите данные обо всех сотрудниках, используя документ «Список сотрудников АКБ» (Задание 1).
При заполнении внешних ключей данной формы вам понадобится информация о кодовых значениях из таблиц «Отделы» и «Должности». Для удобства откройте все три созданные формы и расположите их рядом на экране. Это позволит правильно вводить данные в поля [Код Отдела] и [Код Должности].
При заполнении полей [Пол] и [Семейное положение] необходимо использовать из упр. 2.
Если при заполнении тестовыми данными, в какой-либо форме появятся ошибки, то закройте форму, затем удалите ее, исправьте ошибки в конструкторе таблиц, а затем заново создайте эту форму.