SQL문 연습 1

Date:

카테고리:

태그:

img

  1. 테이블을 참고하여 ‘name’속성으로 ‘idx_name’이라는 인덱스를 생성하는 SQL 문을 작성하시오
CREATE INDEX 'idx_name' ON student(name);
  1. 아래의 요구사항을 만족하는 테이블 정의하는 SQL문을 작성하시오
    • id(문자 5), name(문자 10), sex(문자 1) phone(문자 20) 속성을 가진다.
    • id 속성을 기본키이다.
    • sex 속성은 f 또는 m 값만 가지도록 한다. (제약조건명 : sex_ck)
    • id 는 테이블에 있는 doc_id를 참조한다. (제약조건명 : id_fk)
CREATE TABLE patient (
id CHAR(5) PRIMARY KEY,
name CHAR(10),
sex CHAR(1),
phone CHAR(20),
CONSTRAINT sex_ch CHECK(sex = 'f' OR sex = 'm'),
CONSTRAINT id_fk FOREIGN KEY (id) REFERENCES doctor (doc_id)
);
  1. 아래의 요구사항을 만족하는 테이블 를 정의하는 SQL문을 작성하시오
    • id(문자 5), name(문자 15), dept(문자 15)
    • id는 기본키이다.
    • name은 속성 NULL이 올수 없다.
    • 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 
	REFERENCES Department (dept)
		ON DELETE SET NULL
		ON UPDATE CASCADE
);
  1. 아래의 요구사항을 만족하는 뷰 를 정의하는 SQL문을 작성하시오.
    • 릴레이션을 이용한다.
    • 의 ‘instructor’ 속성 값과 의 ‘id’속성이 같은 자료에 대한 view를 정의한다.
    • 뷰는 ‘ccid’, ‘ccname’, ‘instname’속성을 갖는다.
    • 뷰는 테이블의 ‘id’, ‘name’, 테이블의 ‘name’속성을 사용한다.
CREATE VIEW cc (ccid, ccname, instname)
AS SELECT Course.id, Course.name, Instructor.name
FROM Course, Instructor
WHERE Course.instructor = Instructor.id;
  1. 테이블의 ssn 속성에 대해, 중복을 허용하지 않도록 ‘Stud_idx’라는 이름으로 오름차순 인덱스를 정의하는 SQL문을 작성하시오
CREATE UNIQUE INDEX Stud_idx
ON Student(ssn Asc);
  1. 다음은 기본키인 ‘직위’ 속성의 값으로 사원, 대리, 과장, 부장, 이사, 사장 만을 허용하고, 기본 값으로 사원을 취하는 도메인 무결성 제약 조건을 설정하기 위한 SQL문이다. 괄호를 채워 SQL문을 완성하시오.

CREATE DOMAIN 직위 VARCHAR2(10)

( 1 )

( 2 ) VALID-직위 ( 3 );

( 1 ) : DEFAULT '사원'
( 2 ) : CONSTRAINT
( 3 ) : CHECK VALUE IN('사원', '대리', '과장', '부장', '이사', '사장')
  1. <직원> 테이블에 대해 ‘이름’ 속성으로 ‘직원_name’이라는 인덱스를 정의하는 SQL 문을 작성하시오
CREATE INDEX '직원_name'
ON '직원'('이름');
  1. 다음 <처리 조건="">에 부합하는 SQL문이 완성되도록 괄호에 적합한 옵션을 쓰시오.
<처리 조건=""> - <학생> 테이블을 제거한다. - <학생> 테이블을 참조하는 모든 데이터도 함께 제거한다. - DROP TABLE 학생 ( ); ```sql DROP TABLE 학생 CASCADE; ``` 1. 데이터 언어는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 관리 시스템과의 통신 수단이다. 데이터 언어는 데이터베이스는 구조를 정의 및 변경하는 DDL, 데이터를 조작하는 DML, 보안 및 무결성, 병행 제어 등을 위한 DCL로 구분된다. 다음 <보기>에서 DDL에 속하는 명령어들을 골라 적으시오. <보기> | COMMIT, TABLE, INSERT, DOMAIN, UPDATE, QUERY, CREATE, TRIGGER, ALTER, ROLLBACK, PROCEDURE, DROP, SELECT, GRANT, DELETE, REVOKE, VIEW | | --- | ```sql CREATE, ALTER, DROP ``` 1. 빈칸을 채우시오 | CREATE TABLE 사원 ( 직원코드 NUMBER NOT NULL, 성명 CHAR(10) UNIQUE, 직책 CHAR(10) ( 1 ) (직책 ( 2 ) (사원, 대리, 과장, 팀장 ), 연봉 NUMBER); | | --- | ```sql 1 : CHECK 2 : IN ```

Oracle 카테고리 내 다른 글 보러가기

댓글 남기기