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

Практическая работа с базами данных в OpenOffice.org Base. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
11
Рис. 3. Главное окно базы данных
2.3. Создание таблицы в режиме дизайна
Для создания новой таблицы необходимо щелчком мыши выбрать кнопку «Таблицы», см. рис. 3. OOBase предоставляет несколько возможностей по со­зданию новой таблицы:
• создать таблицы в режиме дизайна;
• использовать мастер для создания таблицы;
•создать представление.
Рассмотрим, как создаются таблицы в режиме дизайна, так как это наибо­лее полный и часто используемый способ создания таблиц.
Итак, выберем команду Создание таблицы в режиме дизайна. Откроется окно, изображенное на рис. 4. Теперь, используя конструктор таблиц, можно создать поля для таблицы. Создадим таблицу Студент, см. табл. 1 на стр. 6:
1. Введите в строку столбца Название… имя первого поля Код студента.
2. В следующей ячейке справа определите Тип поля. Щелкнув в этой
ячейке, выберите из списка тип данных – Целое [INTEGER]; измените парамет-
12
ры Свойства поля: обязательное поле – да, остальные параметры оставьте по умолчанию.
3. Задайте первичный ключ для поля Код студента. Для этого щелкните
правой кнопкой мыши в ячейке слева от поля Код студента и выберите в кон­текстном меню команду Первичный ключ. В ячейке слева от поля Код студен- та появится изображение ключа.
Для определения всех остальных полей таблицы Студент выполните действия, аналогичные указанным в п. 1 и 2, в соответствии с табл. 1. После заполнения ваша таблица будет выглядеть как на рис. 4.
При выборе формата поля Дата рождения нажмите на кнопку ,что приведет к появлению диалогового окна, в котором выберите требуемый фор­мат в соответствующих категориях.
4. Щелкните кнопку «Сохранить» на панели инструментов, в диалоговом
окне Сохранить как наберите вместо Таблица1 имя таблицы Студент.
Рис. 4. Структура таблицы Студент
13
5. Закройте окно конструктора таблиц. Таблица Студент появится в спис-
ке объектов данного типа на вкладке Таблицы в главном окне БД.
Структуры других таблиц БД создаются аналогичным образом.
Задание 1. Создайте в БД Сессия структуры таблиц Дисциплина и Экзамен, см. табл. 2, 3 на стр. 7.
Указание. При сохранении таблицы Экзамен на экран будет выведено со­общение о том, что первичный ключ не задан и программа запросит подтвер­ждение для его создания. Ответьте «Да» и автоматически будет создан первич­ный ключ со стандартным названием ID.
Сравните результаты работы с конечным видом структуры таблиц Дисци- плина и Экзамен, приведенных на рис. 5, 6.
Рис. 5. Структура таблицы Дисциплина
После создания всех таблиц главное окно БД будет выглядеть следую­щим образом (рис. 7):
Рис. 6. Структура таблицы Экзамен
14
Рис. 7. Главное окно БД после создания всех таблиц
3. УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ
Сформировав таблицы базы данных и установив ключевое поле для каж­дой таблицы, можно создать между таблицами взаимоотношения. Они помогут OOo Base связывать данные в каждом новом запросе, форме или отчете, вклю­чающем связанные таблицы.
Связи объединяют относящиеся друг к другу данные из разных таблиц. Связанные поля могут иметь разные имена, однако у них должны быть совпа­дающие типы данных и одинаковые значения свойств.
Между двумя таблицами можно установить один из следующих типов связей:
1. Один к одному (1:1) — когда одной записи в первичной таблице соот-
ветствует только одна запись в связанной таблицы;
15
2. Один ко многим (1:N) когда одна запись в первичной таблице связа-
на с множеством записей в связанной таблицы и наоборот;
3. Многие ко многим (N:N) предусматривает, что множество записей
одной таблицы может соответствовать множеству записей другой таблицы и наоборот.
Перед созданием связей необходимо закрыть все таблицы, которые могли быть открытыми, — создавать связи между открытыми таблицами нельзя.
Шаг 1. Находясь в главном окне БД выполните команду Сервис > Связи. Откроется пустое окно конструктора связей, поверх него будет открыто окно выбора таблиц БД, которые мы можем связать (рис. 8). На рис.8 при открытии окна конструктора связей пока отсутствуют таблицы Студент, Экзамен, Дисци-
плина.
Шаг 2. Поочередно выделите в окне Добавить таблицы имена таблиц Студент, Экзамен, Дисциплина и каждый раз нажимайте кнопку «Добавить». В окне конструктора связей добавились три таблицы (рис. 8). Закройте окно Доба­вить таблицы.
Шаг 3. Создайте связь между таблицами Студент и Экзамен. Для этого подведите курсор мыши к полю Код студента в таблице Студент, щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле Код студен- та таблицы Экзамен, а затем отпустите кнопку мыши.
После отпускания кнопки мыши между таблицами появится линия связи с автоматически установленным типом связи, в данном случае 1:N (рис. 9).
16
Рис. 8. Окно конструктора связей с окном добавления таблиц
Шаг 4. Аналогично создайте связь между полем Код дисциплины в табли- це Дисциплина и полем Код дисциплины в таблице Экзамен (рис. 9).
Рис. 9. Схема связей БД Сессия
17
Шаг 5. После установления связи между таблицами Дисциплина и Экзамен следует установить параметры связи. Выделите правой кнопкой мыши установ­ленную связь и выполните в контекстном меню команду Правка. Откроется окно свойств выбранной связи, в котором установите флажки в свойствах Обновление каскада и Удалить каскад (рис. 10).
Рис. 10. Окно свойств связи
Задание обновления каскада связанных полей и удаления каскада связан­ных полей позволит редактировать записи только в таблице Дисциплина, а в таб- лице Экзамен эти действия со связанными записями будут выполняться автома­тически. Например, если вы удалите из таблицы Дисциплина один предмет, то в таблице Экзамен удалятся все записи, связанные с этим предметом. При измене­нии (обновлении) данных в таблице Дисциплина автоматически изменяются зна­чения связанного поля для соответствующих записей таблицы Экзамен.
18
Шаг 6. Аналогично установите параметры связи между таблицами Сту- дент и Экзамен.
Шаг 7. Закройте окно конструктора связей, нажав на кнопку «Да» на во- прос о сохранении схемы связей.
4. СОЗДАНИЕ ФОРМ. ВВОД ДАННЫХ В ТАБЛИЦЫ БД
Ввести данные в таблицы БД, просмотреть, добавить, изменить или уда­лить их можно двумя способами: работая с таблицей непосредственно или ис­пользуя формы. На практике для ввода и корректировки данных используются, как правило, формы, поскольку работа непосредственно с таблицей требует прав администратора БД.
Форма, которая основана на одном объекте, называется простой формой. Форма, основанная на полях из нескольких связанных таблиц, называется сложной и представляет собой композицию из нескольких форм.
4.1. Создание формы для таблицы Студент
Создать форму для просмотра и заполнения таблиц можно двумя способа­ми: с использованием мастера построения форм и в режиме дизайна (ручного конструирования). Рассмотрим наиболее простой способ – создание формы с ис­пользованием мастера.
Находясь в главном окне БД, выберите на панели вкладку Формы и щелк­ните по строке Использовать мастер для создания формы. На экране появится окно мастера форм (рис. 11).
19
Рис. 11. Окно мастера форм
Шаг 1. Из выпадающего списка Таблицы или запросы выберите таблицу Студент. Из списка существующих полей с помощью кнопки перемеща-
ем все поля в список Поля в форме (рис.12). Нажмите кнопку «Дальше» и перей­дите к следующему шагу.
Рис. 12. Выбор таблицы и полей для формы
20
Шаг 2. Второй шаг мастера создания форм пропустите, нажав на кнопку «Дальше». Субформа является вложенной в другую форму и используется при построении сложной формы.
Шаги 3, 4. Данные шаги необходимы для создания субформ, поэтому они автоматически пропускаются.
Шаг 5. В следующем окне (рис. 13) необходимо выбрать внешний вид формы. Возможны следующие варианты: столбцы – подписи слева; столбцы – подписи сверху; как лист данных; блоки – подписи сверху. Выберите вариант Столбцы – подписи слева. Нажмите кнопку «Дальше».
Шаг 6. На этом шаге (рис. 14) определяются цели создания формы и уста- навливаются различные блокировки записей. Оставьте флажки без изменений и нажмите кнопку «Дальше».
Рис. 13. Выбор внешнего вида формы
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]