강좌 정보 뷰

SQLBeginner
지금 연습하기

소개

이 프로젝트에서는 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 데이터베이스를 임포트하는 방법을 배우게 됩니다.

  1. 다음 명령을 사용하여 MySQL 서버를 시작합니다:
sudo service mysql start
  1. 다음 명령을 사용하여 MySQL 명령줄 인터페이스에 접속합니다:
sudo mysql
  1. 다음 명령을 사용하여 edusys.sql 데이터베이스를 임포트합니다:
source /home/labex/project/edusys.sql;

이렇게 하면 edusys 데이터베이스가 MySQL 서버로 임포트됩니다.

✨ 솔루션 확인 및 연습

comp_spring_2018 뷰 정의

이 단계에서는 comp_spring_2018 뷰를 정의하는 방법을 배우게 됩니다.

  1. ~/project 디렉토리에 comp_spring_2018_taylor.sql 파일을 생성합니다.
  2. 다음 SQL 쿼리를 사용하여 comp_spring_2018 뷰를 생성하는 코드를 파일에 추가합니다:
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.';

이 뷰는 2018 년 봄 학기에 "Comp. Sci." 학과에서 제공하는 모든 강좌의 course_id, building, 및 room_number를 표시합니다.

✨ 솔루션 확인 및 연습

comp_spring_2018_taylor 뷰 정의

이 단계에서는 comp_spring_2018_taylor 뷰를 정의하는 방법을 배우게 됩니다.

  1. comp_spring_2018_taylor.sql 파일을 엽니다.
  2. 이전 단계에서 추가한 코드 다음에 다음 SQL 쿼리를 사용하여 comp_spring_2018_taylor 뷰를 생성합니다:
CREATE VIEW comp_spring_2018_taylor AS
SELECT course_id, room_number
FROM comp_spring_2018
WHERE building = 'Taylor';

이 뷰는 2018 년 봄 학기에 "Comp. Sci." 학과에서 제공하며 "Taylor" 건물에 위치한 모든 강좌의 course_idroom_number를 표시합니다.

✨ 솔루션 확인 및 연습

솔루션 검증

솔루션을 검증하려면 다음 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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.