[혼공SQL] chapter 5. 테이블과 뷰 확인문제

여정이·2024년 7월 26일
0

혼자 공부하는 SQL

목록 보기
17/28

05-1. 테이블 만들기

1. 다음은 테이블의 열에 설정하는 데이터 형식입니다. 문자를 저장할 때 사용하는 것을 2개 고르세요.

CHAR, INT, TINYINT, DOUBLE, VARCHAR, SMALLINT, DATE

정답 : CHAR, VARCHAR



2. 다음 각 설명이 의미하는 것을 관련 용어와 연결해보세요.

  1. 정수형 데이터를 0부터 입력되도록 설정합니다.
  2. -128~ +127까지 값이 저장됩니다.
  3. '2022-11-12'와 같은 데이터가 저장됩니다.
  4. 가변형 문자형으로 짧거나 긴 문자가 뒤죽박죽 입력될 때 적절합니다.

정답 : 1 - UNSIGNED, 2 - TINYINT, 3 - DATE, 4 - VARCHAR
입력할 수 있는 범위를 넘어갔기 때문에 Out of range 오류 메시지가 출력된다.



3. GUI에서 테이블을 생성하는 방식의 설명입니다. 거리가 먼 것을 하나 고르세요.

  1. 기본 키는 PK 부분을 체크합니다.
  2. NOT NULL은 NN 부분을 체크합니다.
  3. UNSIGNED는 UQ 부분을 체크합니다.
  4. 자동 증가는 AI 부분을 체크합니다.

정답 : 3. UNSIGNED는 UQ 부분을 체크합니다.
UQ는 UNIQUE 제약조건을 의미한다.



4. 두 테이블을 기본 키-외래 키로 설정하는 것에 대한 설명입니다. 거리가 먼 것을 하나 고르세요.

  1. 기본 키는 PRIMARY KEY문을 사용합니다.
  2. 외래 키는 FOREIGN KEY 문을 사용합니다.
  3. 기본 키와 외래 키는 일반적으로 한 테이블에 모두 설정합니다.
  4. 기본 키-외래 키 관계를 설정한 후에는 기본 키 테이블에 먼저 데이터를 입력해야 합니다.

정답 : 3. 기본 키와 외래 키는 일반적으로 한 테이블에 모두 설정합니다.
일반적으로 외래 키는 다른 테이블의 기본 키를 참조한다.



5. 다음은 SQL로 회원 테이블을 생성하는 구문입니다. 데이터 형식 또는 제약조건이 적절하지 않은 행 번호를 2개 고르세요.

CREATE TABLE member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,
mem_name VARCHAR(10) NOT NULL,
mem_number TINYINT NOT NULL,
addr CHAR(2) NOT NULL,
phone1 CHAR(3) NULL,
phone2 CHAR(8) NULL,
height TINYINT UNSIGNED NULL,
debut_date DATE NULL
);

정답 : 2행, 8행
2행 : PRIMARY KEY
8행 : TINYINT UNSIGNED





05-2. 제약조건으로 테이블을 견고하게

1. 다음은 기본 키 제약조건에 대한 설명입니다. 거리가 먼 것을 하나 고르세요.

  1. 예약어는 PRIMARY KEY를 사용합니다.
  2. 기본 키로 설정된 열의 값은 중복될 수 없습니다.
  3. 기본 키로 설정된 열은 NULL 값이 입력됩니다.
  4. 기본 키로 설정하면 클러스터형 인덱스가 생성됩니다.

정답 : 3. 기본 키로 설정된 열은 NULL 값이 입력됩니다.
기본 키에는 NULL 값이 들어갈 수 없다. 단, UNIQUE 제약조건에는 NULL 값이 입력될 수 있다.


2. 다음은 기본 키를 설정하는 문법에 대한 설명입니다. 거리가 먼 것을 하나 고르세요.

  1. 열 이름 뒤에 PRIMARY KEY를 사용합니다.
  2. 테이블의 제일 마지막에 PRIMARY KEY(열 이름)을 붙여줍니다.
  3. ALTER TABLE~ADD CONSTRAINT 문으로 설정합니다.
  4. 기본 키로 설정한 열은 NOT NULL을 생략할 수 없으므로 반드시 써줘야 합니다.

정답 : 4. 기본 키로 설정한 열은 NOT NULL을 생략할 수 없으므로 반드시 써줘야 합니다.


3. 다음 SQL에서 두 테이블을 연결하는 외래 키를 설정하는 빈 칸에 들어갈 내용을 고르세요.

 CREATE TABLE member 
( mid  CHAR(8) NOT NULL PRIMARY KEY, 
  mem_name    VARCHAR(10) NOT NULL, 
  height      TINYINT UNSIGNED NULL
);
CREATE TABLE buy 
(  num         INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
   mem_id      CHAR(8) NOT NULL, 
   prod_name     CHAR(6) NOT NULL, 
   ________
);
  1. FOREIGN KEY(mem_id) REFERENCES member(mem_id)
  2. FOREIGN KEY(mid) REFERENCES member(mid)
    3.FOREIGN KEY(mid) REFERENCES member(mem_id)
    4.FOREIGN KEY(mem_id) REFERENCES member(mid)

정답 : 4.FOREIGN KEY(mem_id) REFERENCES member(mid)


4. 다음 보기 중에서 각 문항이 설명하는 것을 고르세요.

CREATE TABLE, ALTER TABLE, ON UPDATE CASCADE, DROP TABLE, ON DELETE CASCADE

  1. 기준 테이블의 기본 키를 삭제하면 참조 테이블의 외래 키도 삭제시키는 구문
  2. 기준 테이블의 기본 키를 변경하면 참조 테이블의 외래 키도 변형시키는 구문

정답 : 1 - ON DELETE CASCADE, 2 - ON UPDATE CASCADE


5. 다음 보기 중에서 각 문항이 설명하는 것을 고르세요.

CHECK, DEFAULT, PRIMARY KEY, UNIQUE, NOT NULL, FOREIGN KEY

  1. 입력되는 데이터가 조건에 맞는지 검사하는 기능
  2. 값을 입력하지 않으면 자동으로 들어갈 값
  3. 빈 값을 입력하는 것을 허용하지 않음
    정답 : 1 : CHECK, 2 : DEFAULT, 3 : NOT NULL





05-3. 가상의 테이블 : 뷰

1. 다음은 뷰에 대한 설명입니다. 거리가 먼 것을 하나 고르세요.

  1. 뷰는 가상의 테이블이라 부를 수 있습니다.
  2. 뷰의 실체는 CREATE TABLE문입니다.
  3. 뷰 이름은 앞에 v_를 붙이는 것이 일반적입니다.
  4. 뷰를 만든 후에는 테이블과 동일하게 접근합니다.

정답 : 2. 뷰의 실체는 CREATE TABLE문입니다.
뷰의 실체는 SELECT 문이다.


2. 다음은 뷰의 특징입니다. 거리가 먼 것을 하나 고르세요.

  1. 뷰에는 테이블의 모든 열을 포함시켜야 합니다.
  2. 뷰는 복잡한 SQL을 단순하게 만드는 효과가 있습니다.
  3. 뷰는 보안에 도움이 됩니다.
  4. 일부 사용자가 테이블에는 접근하지 못하게 하고, 뷰에만 접근하도록 설정할 수 있습니다.

정답 : 1. 뷰에는 테이블의 모든 열을 포함시켜야 합니다.
테이블의 특정한 열을 골라서 뷰를 생성할 수 있다.


3. 다음은 뷰의 별칭과 관련된 설명입니다. 가장 거리가 먼 것을 고르세요.

  1. 별칭은 뷰의 열 이름으로 사용할 수 있습니다.
  2. 별칭은 한글도 사용이 가능합니다.
  3. 별칭은 띄어쓰기도 가능합니다.
  4. SELECT 문에서는 별칭에 공백이 없어도 백틱으로 묶어줘야 합니다.

정답 : 4. SELECT 문에서는 별칭에 공백이 없어도 백틱으로 묶어줘야 합니다.
SELECT 문에서는 별칭에 공백이 있을 때 백틱으로 묶어줘야 한다.



4. 다음은 기존에 뷰가 있으면 덮어쓰고, 없으면 새로 생성하는 SQL입니다. 빈 칸에 들어갈 내용을 고르세요.

__________ 열 이름
AS
	SELECT;
  1. CREATE AND REPLACE VIEW
  2. CREATE OR REPLACE VIEW
  3. CREATE AND OVERWRITE VIEW
  4. CREATE OR OVERWRITE VIEW

정답 : 2. CREATE OR REPLACE VIEW



5. 다음 보기 중에서 각 문항이 설명하는 것을 고르세요.

SHOW CREATE VIEW, UPDATE VIEW, DELETE VIEW, WITH CHECK OPTION, CHECK TABLE
  1. 뷰의 소스코드를 확인합니다.
  2. 뷰에 설정된 값의 범위만 입력됩니다.
  3. 뷰의 상태를 확인할 수 있습니다.

정답 : 1 : SHOW CREATE VIEW, 2 : WITH CHECK OPTION, 3 : CHECK TABLE

0개의 댓글