Введение
В этом проекте вы научитесь создавать и использовать представления базы данных в MySQL. Представления базы данных - это виртуальные таблицы, которые предоставляют настраиваемую перспективу для исходных данных, позволяя скрыть некоторые процессы с данными от пользователей и упростить доступ к данным.
👀 Предварительный просмотр
MariaDB [edusys]> SELECT * FROM comp_spring_2018_taylor;
+-----------+-------------+
| course_id | room_number |
+-----------+-------------+
| CS-319 | 3128 |
+-----------+-------------+
1 row in set (0.00 sec)
🎯 Задачи
В этом проекте вы научитесь:
- Как запустить сервер MySQL и импортировать базу данных
- Как определить представление, которое отображает номера аудиторий для всех основных курсов, предлагаемых в определенном семестре, месте и департаменте
- Как определить представление, которое фильтрует результаты предыдущего представления, чтобы включать только курсы, расположенные в определенном здании
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в концепции и преимуществах представлений базы данных
- Создавать настраиваемые представления, чтобы упростить доступ к данным и скрыть ненужную сложность
- Применить свои знания SQL-запросов для определения и использования представлений в реальном сценарии
Запустить MySQL и импортировать базу данных
В этом шаге вы научитесь запускать сервер MySQL и импортировать базу данных edusys.sql.
- Запустите сервер MySQL с помощью следующей команды:
sudo service mysql start
- Перейдите в командную строку MySQL с помощью следующей команды:
sudo mysql
- Импортируйте базу данных
edusys.sqlс помощью следующей команды:
source /home/labex/project/edusys.sql;
В результате база данных edusys будет импортирована в ваш сервер MySQL.
Определить представление comp_spring_2018
В этом шаге вы научитесь определять представление comp_spring_2018.
- Создайте файл
comp_spring_2018_taylor.sqlв директории~/project. - Добавьте в файл код для создания представления
comp_spring_2018с использованием следующего SQL-запроса:
CREATE VIEW comp_spring_2018 AS
SELECT course.course_id, building, room_number
FROM section, course
WHERE course.course_id = section.course_id AND semester = 'Spring' AND year = 2018 AND dept_name = 'Comp. Sci.';
Это представление будет отображать course_id, building и room_number для всех курсов, предлагаемых кафедрой "Comp. Sci." в весеннем семестре 2018 года.
Определить представление comp_spring_2018_taylor
В этом шаге вы научитесь определять представление comp_spring_2018_taylor.
- Откройте файл
comp_spring_2018_taylor.sql. - Создайте представление
comp_spring_2018_taylorс использованием следующего SQL-запроса после кода, добавленного на предыдущем шаге:
CREATE VIEW comp_spring_2018_taylor AS
SELECT course_id, room_number
FROM comp_spring_2018
WHERE building = 'Taylor';
Это представление будет отображать course_id и room_number для всех курсов, предлагаемых кафедрой "Comp. Sci." в весеннем семестре 2018 года и расположенных в здании "Taylor".
Проверить решение
Для проверки решения вы можете выполнить следующий SQL-запрос:
source /home/labex/project/comp_spring_2018_taylor.sql;
SELECT * FROM comp_spring_2018_taylor;
В результате должно быть выведено следующее:
+-----------+-------------+
| course_id | room_number |
+-----------+-------------+
| CS-319 | 3128 |
+-----------+-------------+
1 row in set (0.00 sec)
Поздравляем! Вы успешно завершили проект.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.
