Создать базу данных «Сотрудники больницы» в приложении LibreOffice Bas
Часть I. Создание новой базы данных
- Запуск приложения: откройте программу LibreOffice Base.
- На стартовом экране появится предложение создать новую базу данных. Подтвердите выбор, нажав кнопку Далее.
- Вам предложат выбрать способ хранения данных. Оставляем вариант Создать новую базу данных, выбираем Настроить позже, затем нажимаем Создать.
- Программа предложит сохранить вашу новую базу данных. Сохраните её с названием, например, Сотрудники.
Теперь у вас создана новая пустая база данных.
Часть II. Создание структуры таблиц
Базовая схема вашей базы данных состоит из четырех таблиц, каждая из которых должна иметь четкую структуру и правильно установленные связи друг с другом.
Таблица №1: Отделы
Эта таблица хранит информацию обо всех подразделениях больницы.
- Перейдите на вкладку Таблицы слева.
- Выберите Создать таблицу в режиме дизайна.
- Откроется диалоговое окно конструктора таблиц. Здесь введите следующую структуру:
| Поле | Тип данных |
|---|---|
| Код отдела | Целое |
| Название отдела | Текст |
Нажмите Далее и установите первичным ключом поле Код отдела. Сохраните таблицу.
Таблица №2: Должности
Здесь хранится перечень возможных должностей сотрудников.
- Повторите предыдущий шаг для создания второй таблицы.
- Введите следующую структуру:
| Поле | Тип данных |
|---|---|
| Код должности | Целое |
| Код должности | Целое |
| Должность | Текст |
Установите первичным ключом поле Код должности и завершите создание таблицы.
Таблица №3: Сотрудники
Это центральная таблица, содержащая личные данные работников.
- Создайте третью таблицу следующим образом:
| Поле | Тип данных |
|---|---|
| ID сотрудника | Целое |
| Фамилия | Текст |
| Имя | Текст |
| Отчество | Текст |
| Дата рождения | Дата |
| Телефон | Текст |
| Код отдела | Целое |
| Код должности | Целое |
Задайте поле ID сотрудника как первичный ключ. Поля Код отдела и Код должности являются внешними ключами, которые мы свяжем позднее.
Таблица №4: Образование сотрудников
Эта таблица отражает образование ваших сотрудников.
- Создайте четвертую таблицу с такими полями:
| Поле | Тип данных |
|---|---|
| ID образования | Целое |
| ID сотрудника | Целое |
| Образовательное учр-е | Текст |
| Специальность | Текст |
| Год окончания | Целое |
Задать поле ID образования как первичный ключ. Поле ID сотрудника станет внешним ключом.
Часть III. Настройка связей между таблицами
Следующим этапом является настройка правильных ссылок между таблицами, чтобы обеспечить целостность данных.
- Вернитесь на главную страницу программы и щелкните вкладку Сервис — Связи.
- Таблица отдел связывается с таблицей должности и таблицей сотрудники через поле Код отдела.
- Таблица должности связывается с таблицей сотрудники через поле Код должности.
- Таблица сотрудники связывается с таблицей образование сотрудников через поле ID сотрудника.
Теперь связи установлены, и система автоматически обеспечит контроль целостности данных.
Часть IV. Заполнение базового набора данных
Для тестирования запросов рекомендуется ввести хотя бы минимальные данные в каждую таблицу.
- Откройте любую таблицу двойным щелчком и заполните первые строки значений. Например, заведите отделение терапии, хирургов, должность медсестры и несколько записей сотрудников.
Часть V. Создание необходимых запросов
Итак, приступим к формированию простых запросов, позволяющих извлекать полезную информацию из нашей базы данных.
Запрос №1: Список сотрудников хирургического отделения
Этот запрос позволит вывести полный список сотрудников конкретного отделения (хирургического):
- Перейдите на вкладку Запросы и создайте новый запрос.
- Используйте визуальный режим построения запросов (графический интерфейс).
- Включите в запрос обе таблицы: Сотрудники и Отделы.
- Соединим их внешними ключами: сотрудник->код_отдела с отделом->код_отдела.
- В условии фильтра ограничиваем выбор сотрудниками хирургической службы (
Название отдела='Хирургия'). - По умолчанию результаты выводятся в порядке добавления, однако можно задать дополнительную сортировку по фамилии сотрудника.
Запрос №2: Количество сотрудников по должностям
Данный запрос позволяет увидеть статистику распределения сотрудников по разным должностям.
- Новый запрос создаётся аналогичным образом.
- Используются таблицы Сотрудники и Должности.
- Выполняется соединение по ключевому полю: сотрудники->код_должности и должности->код_должности.
- Группировка производится по полю Должность с использованием агрегатной функции COUNT(), которая покажет число сотрудников на каждой должности.
- Результат удобно отсортировать по возрастанию количества сотрудников.
Запрос №3: Медицинские специалисты московских вузов
Требуется показать тех сотрудников, которые получили медицинское образование в вузах города Москвы.
- Новую форму запроса создаём снова в графическом режиме.
- Добавляем две таблицы: Сотрудники и Образование сотрудников.
- Их связываем внешним ключом: сотрудники->id_сотрудника и образование->id_сотрудника.
- Ограничение ставим по образовательной организации, находящейся в Москве (
Образовательное учр-е LIKE '%Москва%'), сортировка — по году окончания.