10. 제약 조건 포함​ > 학습자료 | IOTsw_u2 U2 Project
학습자료

SQL 10. 제약 조건 포함​

본문

테이블의 정의 할때 특별한 조건을 걸어 만들 수 있으며

만약 제약조건에 맞지 않을때 데이타가 입력및 수정등이 안되며

이를 제약조건 위반 하였다 라고 한다.

 

․ 제약 조건은 테이블 레벨(테이블자체에) 로 규칙을 적용한다.

제약 조건은 종속된 테이블의 삭제를 방지한다.

․ 다음은 유효한 제약 조건 유형입니다.

 

- NOT NULL

- UNIQUE

- PRIMARY KEY

- FOREIGN KEY

- CHECK

 

SQL Server는 제약조건을 사용하여 테이블에 유효하지 않은 데이터가 입력되는 것을 방지한다.

제약 조건을 사용하여 다음을 수행할 수 있다. ․ 

해당 테이블에서 행이 삽입, 갱신 또는 삭제될 때마다 테이블의 데이터에 규칙을 적용한다. ․ 

다른 테이블에 종속된 테이블의 삭제를 방지한다.

 

데이터 무결성 제약 조건

 

NOT NULL 열이 널 값을 포함하지 못하도록 지정합니다.

UNIQUE 테이블의 모든 행(row)에서 고유한 값을 갖는 열 또는 열조합을 지정합니다.

PRIMARY KEY 테이블의 각 행을 고유하게 식별합니다.

FOREIGN KEY 한 열과 참조된 테이블의 열 간에 외래 키 관계를 설정하고 시행합니다.

CHECK 참(trun)이어야 하는 조건을 지정합니다.

 

제약 조건 지침

제약 조건에 이름을 지정하지 않으면 Oracle server는 SYS_Cn형식의 이름을 생성하고. n은 제약 조건 이름을 고유하게

만들어 주는 정수이며 MSSQL server는 FK_, PK_, DF_, CK_와 같은 이름을 생성시킨다.

 

․ 제약 조건 생성 시기

- 테이블이 생성될 때

- 테이블이 생성된 후에 정의할 수 있다.

․ 열 레벨 또는 테이블 레벨로 제약 조건을 정의한다.

․ 데이터 딕셔너리(시스템 테이블)에 저장되므로 데이터 딕셔너리(시스템 테이블)에서 제약 조건을 볼 수 있다.

 

제약 조건 이름은 표준 객체 이름 지정 규칙을 따라야 하며 제약 조건에 의미 있는 이름을 지정하면 참조하기가 쉬워진다.

Oracle server는 USER_CONSTRAINTS데이터 딕셔너리 테이블을 통해 특정 테이블에 정의된 제약 조건을 볼 수 있다.

 

 

제약 조건 정의


컬럼(열)(속성) 레벨

CREATE TABLE [scheme.] table

(column datatype [DEFAULT expr]

[column_constraint],

...

[table_constraint] [,...]);

 

테이블 레벨

CREATE TABLE employees(

employee_id NUMBER(6),

first_name VARCHAR2(20),

...

job_id VARCHAR2(10) NOT NULL,

CONSTRAINT emp_em_id_pk

PRIMARY KEY (EMPLOYEE_ID));

 

schema 소유자 이름과 동일하다.

table 테이블 이름이다.

DEFAULT expr INSERT문에 값이 생략된 경우 사용할 기본값을 지정한다.

column 열 이름이다.

datatpe 열의 데이터 유형 및 길이다.

column_constraint 열 정의의 일부인 무결성 제약 조건이다.

table_constraing 테이블 정의의 을부인 무결정 제약 조건이다.

constraint_name 제약 조건 이름입니다.

constraint_type 제약 조건 유형입니다.

 

MSSQL 디비 예제 :

CREATE TABLE employee

(

...

fname varchar(20) NOT NULL,

minit char(1) NULL,

lname varchar(30) NOT NULL,

job_id smallint NOT NULL

DEFAULT 1

REFERENCES jobs(job_id),

...

)

제약 조건 레벨 설명


컬럼(열)

단일 열을 참조하며 해당 제약 조건을 소유하는 열의 명세부분에서 정의된다.

모든 무결성 제약 유형을 정의할 수 있다.

column [(CONSTRAINT constraint_name] constraint_type,

 

테이블

하나 이상의 열을 참조하며 테이블의 열 정의와는 별도로 정의된다.

NOT NULL을 제외한 모든 제약 조건을 정의할 수 있다.

 

column, ..., ,

[CONSTRAINT constraint_name] constraint_type (column, ...),

댓글목록

10. 제약 조건 포함​
이어쓰기 1.A 10-1. NOT NULL 제약 조건
이어쓰기 2.B 10-2. UNIQUE 제약 조건
이어쓰기 3.C 10-3. PRIMARY KEY 제약 조건
이어쓰기 4.D 10-4. FOREIGN KEY REFERENCES 제약 조건
이어쓰기 5.E 10-5. CHECK 제약 조건
이어쓰기 6.F 10-6. 제약조건 위반
이어쓰기 7.G 10-7. 서브 쿼리 구문을 사용한 테이블 생성
이어쓰기 8.H 10-8. 테이블 삭제
이어쓰기 9.I 10-9. 객체 이름 변경
이어쓰기 10.J 10-10. 테이블 주석 추가 --MSSQL에서는 지원하지 않는 기능이다.
이 원글에 이어쓰기

학습자료 목록

Total 91건 1 페이지
게시물 검색

IOTsw_u2 정보

회사 . U2
주소 . 어느별 하늘 아래에 있것지요
사업자 등록번호 . 백수임 대표 . 김씨 전화 . 02-123-4567 팩스 . 팩스없음
통신판매업신고번호 . 낼할께 개인정보관리책임자 . 김씨가 알아서 함 부가통신사업신고번호 신고안함
Copyright © 2001-2013 U2. All Rights Reserved.
닫기