데이터베이스 기초

관계형 데이터베이스의 뷰에 대한 설명으로 올바른 것은?

  1. ASELECT 문으로 정의한 가상의 표로, 보통은 스스로 데이터를 갖지 않으며 참조할 때마다 원래 표에서 결과를 만든다
  2. B원래 표의 데이터를 복제하여 저장하는 표로, 원래 표를 변경해도 뷰의 내용은 바뀌지 않는다
  3. C표의 특정 열의 값을 빠르게 찾기 위해 만드는 트리 구조의 데이터이다
정답과 해설 보기

정답: A. SELECT 문으로 정의한 가상의 표로, 보통은 스스로 데이터를 갖지 않으며 참조할 때마다 원래 표에서 결과를 만든다

뷰는 CREATE VIEW 영업부원 AS SELECT 사원번호, 이름 FROM 사원 WHERE 부서 = '영업'처럼 SELECT 문에 이름을 붙여 정의하는 가상의 표(가상 테이블)입니다. 일반적인 뷰는 스스로 데이터를 갖지 않고, 뷰를 참조할 때마다 원래 표(기본 테이블)에서 결과가 만들어지므로, 원래 표를 갱신하면 뷰의 내용에도 그대로 반영됩니다. 자주 쓰는 복잡한 질의를 간단히 쓸 수 있게 하거나, 보여 줘도 되는 열이나 행만 뷰로 만들어 이용자에게 권한을 주어 접근할 수 있는 범위를 좁히는 데 사용합니다. 한편 결과를 미리 계산하여 저장해 두는 구체화된 뷰(머티리얼라이즈드 뷰)도 있으며, 읽기는 빨라지지만 원래 표에 맞춰 내용을 갱신해야 합니다. 값을 빠르게 찾기 위한 트리 구조는 인덱스에 대한 설명입니다.

이 분야 연습하기 분야로 돌아가기

데이터베이스 기초의 다른 문제

  1. 관계형 데이터베이스의 표를 정규화하는 주된 목적은?
  2. 수주 표(수주번호, 상품번호, 수량, 고객번호, 고객명)의 기본 키는 {수주번호, 상품번호}이고, 함수 종속은 {수주번호, 상품번호} → 수량, 수주번호 → 고객번호, 고객번호 → 고객명이다. 이 표를 제3정규형까지 정규화한 결과로 올바른 것은?
  3. 사원 표(사원번호, 이름, 부서코드, 부서명)의 기본 키는 사원번호이며, 모든 열은 하나의 값만 가진다. 함수 종속은 사원번호 → 이름, 사원번호 → 부서코드, 부서코드 → 부서명이다. 이 표의 정규형으로 올바른 것은?
  4. 읽기가 대부분을 차지하는 집계용 데이터베이스에서 정규화한 표를 일부러 하나로 합쳐 같은 데이터를 중복해서 갖게 하는 설계(반정규화)를 하는 경우가 있다. 이 설계의 장점과 단점의 조합으로 올바른 것은?
  5. E-R 다이어그램에서 학생과 과목 사이에 '한 학생은 여러 과목을 수강하고, 한 과목은 여러 학생이 수강한다'는 다대다 관계가 있다. 이 관계를 관계형 데이터베이스의 표로 구현하는 방법으로 적절한 것은?