Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

А.С.Грошев.Базы данных.Уч.пособие

.pdf
Скачиваний:
150
Добавлен:
12.04.2015
Размер:
3.1 Mб
Скачать

 

 

 

Продолжение табл. 3.2

 

 

 

 

 

 

 

Тип данных

 

Использование

 

Размер

 

Дата/время

 

Даты и время.

 

8 байтов

 

Полный формат даты

 

31.12.04 23:55:59

 

 

 

Длинный формат даты

 

31 декабря 2004 г.

 

(при активации

 

Средний формат даты

 

31-дек-04

 

 

 

 

поля всегда пока-

 

Краткий формат даты

 

31.12.04

 

 

 

 

зывает полный

 

Длинный формат вре-

 

 

 

 

 

 

 

формат даты)

 

мени

 

23:55:59

 

 

Средний формат вре-

 

 

 

 

 

мени

 

11:55

 

 

 

Краткий формат вре-

 

 

 

 

 

мени

 

23:55

 

 

 

Денежный

 

Значения валют. Денежный тип ис-

 

8 байтов

 

 

 

пользуется для предотвращения ок-

 

 

 

 

 

руглений во время вычислений.

 

 

 

 

 

Предполагает до 15 символов в це-

 

 

 

 

 

лой части числа и 4 – в дробной.

 

 

 

Счетчик

 

Автоматическая вставка последова-

 

4 байта. 16 байтов

 

 

 

тельных (увеличивающихся на 1)

 

только для кодов

 

 

 

или случайных чисел при добавле-

 

репликации

 

 

 

нии записи.

 

(GUID)

 

Логический

 

Поля, содержащие только одно из

 

1 бит

 

 

 

двух возможных значений, таких

 

 

 

 

 

как Да/Нет, Истина/Ложь,

 

 

 

 

 

Вкл/Выкл.

 

 

 

Поле объекта OLE

 

Объекты (например, документы

 

До 1 гигабайта

 

 

 

Microsoft Word, электронные табли-

 

(ограничено объе-

 

 

 

цы Microsoft Excel, рисунки, звуки и

 

мом диска)

 

 

 

другие двоичные данные), создан-

 

 

 

 

 

ные в программах, использующих

 

 

 

 

 

протокол OLE. Объекты могут быть

 

 

 

 

 

связанными или.

 

 

 

Гиперссылка

 

Поле, в котором хранятся гипер-

 

До 64 000 симво-

 

 

 

ссылки. Гиперссылка может иметь

 

лов

 

 

 

вид пути UNC, либо URL-адреса..

 

 

 

Мастер подстано-

 

Создает поле, позволяющее выбрать

 

Тот же размер, ко-

 

вок

 

значение из другой таблицы или из

 

торый имеет пер-

 

 

 

списка значений, используя поле со

 

вичный ключ, яв-

 

 

 

списком. При выборе данного типа

 

ляющийся полем

 

 

 

запускается мастер для определения

 

подстановок

 

 

 

этого поля.

 

 

 

 

 

 

 

 

 

 

81

 

 

Система Microsoft Access имеет собственные средства для разграничения прав доступа пользователей к базе данных

Простейшим способом ограничения доступа к базе данных является

установка пароля для открытия базы данных (.mdb). После установки па-

роля при каждом открытии базы данных будет появляться диалоговое окно, в которое требуется ввести пароль. Этот способ достаточно надежен (Microsoft Access шифрует пароль, поэтому к нему нет доступа при непосредственном чтении файла базы данных), но он действует только при открытии базы данных. После открытия базы данных все объекты становятся доступными для пользователя (пока не определены другие типы защиты, описанные ниже в этом разделе). Для базы данных, которая совместно используется небольшой группой пользователей или на автономном компьютере, обычно оказывается достаточно установки пароля.

База данных может быть зашифрована. При шифровании базы дан-

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

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

Защита на уровне пользователей имеет большие возможности по разграничению прав. Этот способ подобен способам, используемым в большинстве сетевых систем.

При запуске Microsoft Access от пользователя требуется идентифицировать себя и ввести пароль. Microsoft Access по умолчанию создает две группы: администраторы (группа Admins) и простые пользователи (группа Users). Допускается определение других групп и пользователей.

Члены группы Admins имеют разрешения на доступ ко всем объектам базы данных. Другим группам и пользователям могут предоставляться разрешения на доступ только к отдельным объектам базы данных. Типовые разрешения на доступ для группы Users могут включать «Чтение данных» и «Обновление данных» для таблиц и запросов и «Открытие/запуск» для форм и отчетов.

82

3.2. Создание базы данных. Стандартный режим работы с таблицами

Процесс создания базы данных рассмотрим на примере разработки информационной системы «Контингент студентов университета» (см. п. 1.4).

В системе Microsoft Access процесс создания базы данных выполняется следующим образом. При запуске системы появляется диалоговое окно для выбора режима работы, в котором следует выбрать пункт Новая база данных (рис. 3.1). Если выбрать второй пункт Мастера…, Вам будут предложены образцы баз данных, которые можно принять за основу при разработке своей базы, например,

Рис. 3.1. Создание базы данных

Рис. 3.2. Окно базы данных

Основные фонды, Прием заказов, Мероприятия и пр..

После выбора первого пункта появляется окно для задания пути и имени новой базы.

Выберем папку своей группы и зададим имя базы – STUDENTS, нажмем на кнопку Создать, после чего откроется окно базы данных.

Выберем пункт Создание

таблицы в режиме конструкто-

ра (рис. 3.2) и опи-

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

83

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

Рис. 3.3. Описание структуры таблицы в конструкторе

Структура таблицы SPISOK приведена в табл. 3.3.

Таблица 3.3. Структура таблицы SPISOK

 

Имя поля

 

 

Тип

 

 

Размер

 

 

Индексированное

 

Подпись

 

 

 

 

данных

 

 

поля

 

 

поле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NZ

 

Текстовый

 

8

 

 

Да (Совпадения

 

№ зачетки

 

 

 

 

 

 

 

 

 

 

не допускаются)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FIO

 

Текстовый

 

45

 

 

 

 

Фамилия, имя, от-

 

 

 

 

 

 

 

 

 

 

 

 

чество

 

 

 

 

 

 

 

 

 

 

 

 

 

DATA_P

 

Дата/время

 

 

Краткий

 

 

 

 

Дата поступления

 

 

 

 

 

 

 

формат да-

 

 

 

 

 

 

 

 

 

 

 

 

 

ты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N_FCLT

 

Числовой

 

 

Байт

 

 

Да (Совпадения

 

Факультет

 

 

 

 

 

 

 

 

 

 

допускаются)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N_SPECT

 

Текстовый

 

7

 

 

Да (Совпадения

 

Специальность

 

 

 

 

 

 

 

 

 

 

допускаются)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

KURS

 

Числовой

 

 

Байт

 

 

 

 

Курс

 

 

 

 

 

 

 

 

 

 

 

 

N_GRUP

 

Текстовый

 

10

 

 

 

 

Группа

 

 

 

 

 

 

 

 

 

 

 

 

N_PASP

 

Текстовый

 

10

 

 

 

 

Номер паспорта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

84

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

Аналогичным образом создаем в базе данных справочник факультетов с именем файла FCLT, структура его приведена в табл. 3.4.

 

 

 

 

 

 

 

 

 

 

Таблица 3.4. Структура таблицы FCLT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя поля

 

 

Тип

 

 

Размер

 

 

Индексированное

 

Подпись

 

 

 

 

данных

 

 

поля

 

 

поле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N_FCLT

 

Числовой

 

 

Байт

 

 

Да (Совпадения

Номер факультета

 

 

 

 

 

 

 

 

 

 

не допускаются)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NAME_F

 

Текстовый

 

120

 

 

 

 

Название факультета

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Точно так же создаем в базе данных следующие таблицы и индексы для таблиц SPECT, OCENKI, PREDMETS (табл. 3.5 – 3.7)

Таблица 3.5. Структура таблицы SPECT

 

Имя поля

 

 

Тип

 

 

 

Размер

 

Индексированное

 

Подпись

 

 

 

 

данных

 

 

 

поля

 

 

поле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N_SPECT

 

Текстовый

 

 

7

 

Да

(Совпадения

 

Номер специально-

 

 

 

 

 

 

 

 

 

 

не допускаются)

 

сти

 

 

 

 

 

 

 

 

 

 

 

 

 

NAME_S

 

Текстовый

 

 

120

 

 

 

 

Название специ-

 

 

 

 

 

 

 

 

 

 

 

 

 

альности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.6. Структура таблицы OCENKI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя поля

 

 

Тип

 

 

 

Размер

 

Индексированное

 

Подпись

 

 

 

 

данных

 

 

 

поля

 

 

поле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NZ

 

Текстовый

 

7

 

Да

(Совпадения

 

№ зачетки

 

 

 

 

 

 

 

 

 

 

допускаются)

 

 

 

 

SEMESTR

 

Числовой

 

 

 

Байт

 

 

 

 

Семестр

 

 

 

 

 

 

 

 

 

 

 

 

 

N_PREDM

 

Числовой

 

 

 

Целое

 

Да (Совпадения

 

Предмет

 

 

 

 

 

 

 

 

 

 

допускаются)

 

 

 

 

BALL

 

Текстовый

 

1

 

 

 

 

Оценка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DATA_B

 

Дата/время

 

 

 

Краткий

 

 

 

 

Дата

 

 

 

 

 

 

 

 

формат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

даты

 

 

 

 

 

 

 

PREPOD

 

Текстовый

 

45

 

 

 

 

Преподаватель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

85

 

 

 

Таблица 3.7. Структура таблицы PREDMETS

 

Имя поля

 

 

Тип

 

 

Размер

 

 

Индексированное

 

Подпись

 

 

 

 

данных

 

 

поля

 

 

поле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N_PREDM

 

Числовой

 

 

Целое

 

 

Да (Совпадения

Номер предмета

 

 

 

 

 

 

 

 

 

 

не допускаются)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NAME_P

 

Текстовый

 

120

 

 

 

 

Название предмета

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Рис. 3.4. Схема базы данных

Долее можно занести некоторые данные в базу. Заполнение базы информацией следует начинать со справочников – иначе при заполнении главных таблиц возникнут конфликты сохранения ссылочной целостности базы. Например, если в справочнике факультетов не будет номера факультета, указанного для студента, появится сообщение «Введенное значение не подходит для данного поля» и Вы не сможете сохранить данные, пока не укажете правильное значение.

86

Стандартный режим ввода данных в таблицы (команда Открыть) для главной таблицы базы показан на рис. 3.5.

Рис. 3.5. Работа с таблицей базы данных

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

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

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

Задание № 3.1

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

87

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

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

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

5.Научиться пользоваться фильтром для задания условий отбора данных.

88

3.2. Разработка экранных форм для работы с базой данных

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

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

Для разработки экранной формы в окне базы данных выбираем объект

Формы и на странице форм – режим Создание формы с помощью мастера.

Далее следует ответить на ряд вопросов мастера:

1) выберите поля для формы – выбираем все поля таблицы SPISOK и все поля таблицы OCENKI (для последней таблицы поле NZ расположим в конце списка, оно будет заполняться автоматически; добавляем его, чтобы убедиться, что на экране мы видим оценки только одного студента);

2) выберите вид представления данных – выбираем подчинен-

ные формы – т. е. расположение данных главной таблицы и связанной с ней на одной форме;

3) выберите внешний вид подчиненной формы – выбираем лен-

точный;

4)выберите требуемый стиль – выбираем стандартный стиль;

5)задайте имена форм – задаем для главной формы название Сту-

денты, для подчиненной формы Оценки студента и на том же экране ниже выбираем пункт Изменить макет формы, после чего нажимаем на кнопку Готово.

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

3.6.

На полученной форме не все надписи полностью видны, расположение полей тоже можно улучшить.

89

Поле

Надпись

Подчиненная форма

Рис. 3.6. Экранная форма, созданная с помощью мастера

Для формы и всех ее элементов можно открыть окно Свойства, щелкнув правой кнопкой мыши на любом объекте и выбрав в контекстном меню слово Свойства (рис. 3.7).

Рис. 3.7. Окно свойств для объекта Форма, страницы Макет и Данные

90