시험은 주관식으로 치러지기에, 문제를 보고 바로 답을 쓸 수 있도록 반복해서 연습해야 합니다. 문제에 따라서 변경해야 할 부분이 어디인지 파악하고 있으면 좀 더 쉽게 답안을 작성할 수 있습니다. 다음은 시험 과목이 변경되기 이전에 정보처리기사, 정보처리산업기사에 출제되었던 기출문제도 있습니다.
문제 1
SQL에 대한 다음 설명에서 괄호(1~3)에 들어갈 알맞은 명령어를 쓰시오.
SQL의 하나인 DDL(Data Define Language)은 DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어로, 다음 3가지 명령어를 사용하여 표현한다. ( 1 ) : 스키마, 도메인, 테이블 등의 개체를 정의하는 데 사용하는 명령어. ( 2 ) : 개체에 대한 정의를 변경하는 데 사용하는 명령어. ( 3 ) : 스키마, 도메인, 테이블 등의 개체를 삭제하는 데 사용하는 명령어 |
1 : Create
2 : Alter
3 : Drop
문제 2
<학생> 테이블에 20자 가변길이를 가진 "주소"속성을 추가하는 <SQL문>을 완성하시오.
<SQL문>
( 1 ) TABLE 학생 ( 2 ) 주소 VARCAR(20); |
1 : ALTER
2 : ADD
문제 3
아래의 <요구사항>을 만족하는 테이블 <patient>를 정의하는 SQL문을 작성하시오.
<요구사항>
1. "id(문자 5)", "name(문자 10)", "sex(문자 1)", "phone(문자 20)" 속성을 가진다. 2. "id" 속성은 기본키이다. 3. "sex"속성은 "f" 또는 "m"값만 갖도록 한다(제약조건명 : sex_ck). 4. "id"는 <doctor> 테이블에 있는 "doc_id"를 참조한다.(제약조건명 : id_fk). |
답:
create table patient(
id char(5) primary key,
name char(10),
sex char(1),
phone char(20),
constraint id_fk foreign key (id) References doctor(doc_id),
constraint sex_ck check(sex = 'f' or sex = 'm')
);
문제 4
아래의 <요구사항>을 만족하는 테이블 <Instructor>를 정의하는 SQL문을 작성하시오.
<요구사항>
1. 'id(문자 5)', 'name(문자 15)', 'dept(문자 15)' 속성을 가진다. · 'id' 속성은 기본키이다. 2. 'name' 속성은 Null이 올 수 없다. 3. dept' 속성은 <Department> 테이블의 'dept' 속성을 참조하는 외래키이다. - <Department> 테이블에서 튜플이 삭제되면 관련된 모든 튜플의 'dept' 속성의 값은 NULL로 변경되어야 한다. - <Department> 테이블의 'dept' 속성이 변경되면 <Instructor> 테이블 의 관련된 모든 속성 값도 같은 값으로 변경되어야 한다. |
답:
create table instructor(
id char(5) primary key,
name char(15) not NULL,
dept char(15),
foreign key(dept) reperences Department(dept)
on delete set null
on update cascade
);
문제 5
<patient> 테이블에 데이터 타입이 문자 20자리인 'job'속성을 추가하는 SQL문을 작성하시오.
답: Alter Table patient ADD job char(20);
문제 6
아래의 <요구사항>을 만족하는 뷰 <CC>를 정의하는 SQL문을 작성하시오.
<요구사항>
1. <Course>와 <Instructor> 릴레이션을 이용한다. 2. <Course>의 'instructor' 속성 값과 <Instructor>의 'id' 속성이 같은 자료 에 대한 view를 정의한다. 3. <cc> 뷰는 ccid', 'ccname'. 'instname' 속성을 가진다. 4. <cc> 뷰는 <Course> 테이블의 'id'. 'name', <Instructor> 테이블의 'name' 속성을 사용한다. |
create view CC(
ccid, ccname, instname)
AS Select course.id, course.name, Instructor.name
From Course, Instructor
Where Course.instructor = Instructor.id;
문제 7
<Student> 테이블의 ssn속성에 대해, 중복을 허용하지 않도록 'Stud_idx'라는 이름으로 오름차순 인덱스를 정의하는 SQL문을 작성하시오.
답 :
Create Unique Index stud_idx On student(ssn ASC);
문제 8
다음은 기본키인 '직위' 속성의 값으로 "사원", "대리", "과장", "부장", "이사", "사장"만을 허용하고, 기본 값으로 "사원"을 취하는 도메인 무결성 제약 조건을 설정하기 위한 SQL문이다. 괄호를 채워 SQL문을 완성하시오.
<SQL문>
CREATE DOMAIN 직위 [AS] VARCHAR2(10)
( 1 )
( 2 ) VALID-직위 ( 3 );
답 :
1. Default '사원'
2. Constraint
3. Check(Value In('사원', '대리', '과장', '부장', '이사', '사장'))
문제 9
<직원> 테이블에 대해 '이름' 속성으로 '직원_name'이라는 인덱스를 정의하는 SQL문을 작성하시오.
답:
Create Index 직원_name AS select 이름
문제10
<처리 조건>에 부합하는 SQL문이 완성되도록 괄호에 적 합한 옵션을 쓰시오.
<처리 조건>
- <학생> 테이블을 제거한다.
- <학생> 테이블을 참조하는 모든 데이터도 함께 제거한다.
<SQL문>
DROP TABLE 학생 ( ); |
답 : CASCADE
'IT개발 > DataBase' 카테고리의 다른 글
[DataBase] SQL - DDL 문제 풀이[정보처산업기사 실기 기출문제] (0) | 2024.07.16 |
---|---|
[데이터베이스DB] 수식의 표기법(Prefix, Infix, Postfix) 실습 및 정리 (0) | 2024.05.12 |