모두CBT

다음 상점 테이블과 상품 테이블을 생성하는 SQL 구문에 대한 설명으로… | [7급 국가직 데이터베이스론] 22년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 22년 1회차
다음 상점 테이블과 상품 테이블을 생성하는 SQL 구문에 대한 설명으로 옳지 않은 것은?
CREATE TABLE 상점(
ID INTEGER,
이름 VARCHAR(200),
업종코드 INTEGER,
주소 VARCHAR(200),
PRIMARY KEY(ID));
CREATE TABLE 상품(
ID INTEGER,
이름 VARCHAR(200),
상점_ID INTEGER,
수량 INTEGER,
단가 INTEGER,
PRIMARY KEY(ID),
FOREIGN KEY(상점_ID) REFERENCES 상점(ID));
1
상점 테이블의 ID 속성에 동일한 값을 갖는 두 개 이상의 투플이 존재할 수 없다.
2
상점 테이블과 상품 테이블에 대해 자연 조인(natural join) 연산을 수행할 수 있다.
3
상품 테이블의 상점_ID 속성에 NULL 값이 아닌 상점 테이블의 ID 속성에 존재하지 않는 값을 저장할 수 있다.
4
상점 테이블의 이름 속성과 주소 속성에 길이가 200 미만인 문자열을 입력하더라도, 두 속성에서 저장 공간의 낭비가 발생하지 않는다.
해설

상품의 상점_ID에 상점 테이블에 없는 값을 저장할 수 있다는 설명이 틀렸다. FOREIGN KEY 제약에 의해 참조 무결성이 강제된다.

상점_ID는 상점(ID)를 참조하므로 NULL이 아닌 값은 반드시 상점 테이블의 ID에 존재해야 하며, 없는 값을 넣으면 삽입이 거부된다.

  • 상점 ID의 중복: ID가 PRIMARY KEY이므로 같은 값을 갖는 투플이 둘 이상 존재할 수 없다.
  • 자연 조인: 두 테이블에 같은 이름의 속성(ID, 이름)이 있으므로 결과의 의미와 별개로 연산 자체는 수행할 수 있다.
  • VARCHAR(200): 가변 길이 문자열이라 실제 입력한 길이만큼만 저장하므로 공간 낭비가 없다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 데이터베이스론] 22년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 데이터베이스론 기출문제 암기장 전체 보기