Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа / ПОЯСНИЛКА.doc
Скачиваний:
119
Добавлен:
02.05.2014
Размер:
343.55 Кб
Скачать

4 Типы данных

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

Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).

Числовой – тип данных для хранения действительных чисел.

Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он храниться в другом месте базы данных, а в поле храниться указатель на него, но для пользователя такое разделение заметно не всегда.

Дата/время – тип данных для хранения календарных дат и текущего времени.

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

Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей.

Логический - тип для хранения логических данных (могут принимать только два значения, например Да или Нет).

Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объекта в его окне.

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

В нашем случае применяются следующие типы данных (таблица 1):

ОБОЗНАЧЕНИЕ ОБЪЕКТА

ОГРАНИЧЕНИЕ

ТИП ДАННЫХ

Начальник отдела

Совпадения не допускаются

Текстовый

Совещание

Дата/время

Код отдела

Совпадения не допускаются

Числовой

Название отдела

Текстовый

Этаж

Числовой

Номер кабинета

Числовой

Номер телефона отдела

Текстовый

Табельный номер

Совпадения не допускаются

Числовой

ФИО сотрудника

Совпадения не допускаются

Текстовый

Домашний адрес

Текстовый

Номер телефона

Текстовый

Дата приёма

Дата/время

Должность

Совпадения не допускаются

Текстовый

Оклад

Денежный

Таблица 1 – Типы данных базы данных «Отдел кадров фирмы»

5 Реализация базы данных в субд ms Access

Для реализации базы данных «Отдел кадров фирмы» в СУБД MS Access первоначально требуется создать таблицы для соответствующих отношений, полученных в ходе процедуры нормализации на предыдущем этапе проектирования базы данных. В режиме конструктора было создано четыре таблицы: совещание, отдел, сотрудники, оклад. Полям таблицы были заданы определённые форматы, что способствует контролю целостности данных. Далее в схеме данных было проведено связывание этих таблиц, схема данных представлена на рис. 2

Рисунок 2 – Схема данных базы данных «Отдел кадров фирмы»

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

Создание таблицы в режиме конструктора.

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

Рисунок 3 – Создание таблицы в режиме конструктора

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

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

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

В процессе проектирования были созданы следующие таблицы данных.(рисунок 4)

Рисунок 4 – Таблицы базы данных «Отдел кадров фирмы»

Следующим шагом реализации базы данных в MS Access явилось создание запросов, требуемых в техническом задании на курсовое проектирование. При создании запросов использовался язык SQL. Этот язык является декларативным: с его помощью можно указать результат, который требуется получить в результате запроса, написанного на SQL, но не указывается процедура достижения этого результата. SQL является общепризнанным стандартом и поддерживается большинством систем управления реляционных баз данных. Далее приводятся коды запросов к базе данных «Отдел кадров фирмы» на языке SQL.

Запрос, используемый для удаления из базы данных информации об уволенном сотруднике (удаление):

DELETE сотрудники.[ФИО Сотрудника]

FROM сотрудники

WHERE сотрудники.[ФИО Сотрудника]=[Кого уволить?];

Запрос, используемый для перевода сотрудника из отдела в отдел (обновление):

UPDATE отдел INNER JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.[Код Отдела] SET сотрудники.[Код Отдела] = [Введите новый отдел]

WHERE сотрудники.[ФИО Сотрудника]=[Введите ФИО];

Запрос на получение сведений о сотруднике (общие данные о сотруднике):

SELECT сотрудники.[Табельный Номер], сотрудники.[ФИО Сотрудника], сотрудники.[Домашний Адрес], сотрудники.[Номер Телефона], сотрудники.[Дата Приёма], сотрудники.Должность, оклад.Оклад, отдел.[Название Отдела], отдел.[Начальник Отдела], отдел.Этаж, отдел.[Номер Кабинета]

FROM отдел INNER JOIN (оклад INNER JOIN сотрудники ON оклад.Должность=сотрудники.Должность) ON отдел.[Код Отдела]=сотрудники.[Код Отдела]

WHERE сотрудники.[ФИО Сотрудника]=[Введите ФИО сотрудника];

Запрос, используемый для получения сведений о номере телефона сотрудника (номер телефона):

SELECT сотрудники.[ФИО Сотрудника], сотрудники.[Номер Телефона]

FROM сотрудники

WHERE сотрудники.[ФИО Сотрудника]=[Введите ФИО сотрудника:];

Запрос на получение сведений о кол-ве сотрудников в каждом отделе (количество сотрудников отделе):

SELECT отдел.[Название Отдела], Count(сотрудники.[ФИО Сотрудника]) AS [Кол-во Сотрудников]

FROM отдел INNER JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.[Код Отдела]

GROUP BY отдел.[Название Отдела];

Запрос на получение сведений о фонде заработной платы (сумма):

SELECT отдел.[Название Отдела], Sum(оклад.Оклад) AS [фонд заработной платы]

FROM отдел INNER JOIN (оклад INNER JOIN сотрудники ON оклад.Должность=сотрудники.Должность) ON отдел.[Код Отдела]=сотрудники.[Код Отдела]

GROUP BY отдел.[Название Отдела];

Запрос, используемый для упорядочивания сотрудников по ФИО (упорядочение по ФИО сотрудников):

SELECT сотрудники.*

FROM сотрудники

ORDER BY сотрудники.[ФИО Сотрудника];

Запрос, используемый для упорядочивания сотрудников по отделам (упорядочивание по отделам):

SELECT сотрудники.*, отдел.[Название Отдела]

FROM отдел INNER JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.[Код Отдела]

ORDER BY отдел.[Название Отдела] DESC;

Запрос на поиск сотрудников, работающих на одном этаже (этаж):

SELECT сотрудники.[ФИО Сотрудника]

FROM отдел INNER JOIN сотрудники ON отдел.[Код Отдела]=сотрудники.[Код Отдела]

WHERE отдел.Этаж Like [введите этаж];

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

Для просмотра результатов созданных запросов созданы формы (кроме запроса на удаление и на обновление).

Форму можно создать тремя различными способами:

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

  2. при помощи мастерана основе одной или нескольких таблиц или запросов. Мастер задает подробные вопросы об источниках записей, полях, макете, требуемых форматах и создает форму на основании полученных ответов;

  3. вручную в режиме конструктора. Сначала создается базовая форма, которая затем изменяется в соответствии с требованиями в режиме конструктора. В окне базы данных в спискеОбъектывыберитеФормы. На панели инструментов окна базы данных нажмите кнопкуСоздать. В диалоговом окне Новая форма выберите строкуКонструктор. Выберите имя таблицы или другогоисточника записей, содержащего данные, на которых нужно основать форму. Если форма не будет содержать данные (например, если нужно создать кнопочную форму для открытия других форм или отчетов или если нужно создать пользовательское диалоговое окно), не выбирайте ничего из этого списка.

Рисунок 5 – Главная форма базы данных «Отдел кадров фирмы»

Соседние файлы в папке Курсовая работа