[제약조건]

- 데이터 무결성을 위해 강제성을 테이블의 칼럼에 부여
- 자료의 무결성을 테이블 설계에서 강제하여 지킴으로서
   보다 효율적으로 데이터관리의 중요한 역할을 함.(강제성)

 

1. primary key 기본키
  - 테이블의 내용에서 각각의 레코드(인스턴스)를 대표하는
    유일한 컬럼은 반드시 존재해야 됨.
    why? 해당 레코드만 딱 꼬집어서 수정, 삭제, 조회하기 위해
    즉 where절에 걸릴수 있는 대표적인 컬럼을 미리 강제한다.
  - primary key는 테이블당 1개씩 반드시 존재해야 한다.
  - primary key는 null값을 넣을수 없다.
  - 유일성 보장, not null 속성을 포함

 

2. not null
  - null값(빈값)을 허용하지 않겠다.
    (해당컬럼에 무조건 데이터 입력해라)
    예)아이디,주민번호,패스워드,취미(x)

 

3. default 제약조건
  - 사용자가 값을 안넣으면 해당컬럼이 정의한 기본값을
     자동으로 넣어준다.

 

4. unique 

  - 중복된 컬럼내용을 허용하지 않는다

  - 유일성 보장

  - 단 1회 null 값 허용

  - 테이블당 여러 칼럼 가능

    예) jumin varchar2(13) unique

 

5. check

  - 데이터의 범위를 제한시키는 제약조건)

     예) marry varchar2(10) check(marry in ('기혼','미혼'))

          kor    number(3)    check(kor between 0 and 100) --0~100

 

6. 참조무결성 Foreign Key 제약조건

  - 부모:Primary Key---자식:Foreign Key

   - 부모테이블의 PK를 참조하는 자식테이블의 해당 칼럼

      이때 자식테이블의 FK는 부모테이블의 PK와 자료형이 일치되야 한다.

 

---------------------------------------------------학생테이블
create table tb_student(
   hakno   char(5)      not null
  ,uname  varchar(10) not null
  ,address varchar(20) not null
  ,phone   varchar(20)
  ,regdt     date          default sysdate
  ,primary key(hakno)
)

 

---------------------------------------------------과목테이블
create table tb_gwamok(
   gcode    char(4)      not null
  ,gname   varchar(10) not null
  ,ghakjum number(2)  default 1
  ,regdt     date          default sysdate
  ,primary key(gcode)
)

 

---------------------------------------------------수강테이블
create table tb_sugang(
   sno number(3) not null
  ,hakno char(5)  not null
  ,gcode char(4)  not null
  ,primary key(sno)
)


---------------------------------------------------시퀀스 생성

자동으로 일련번호를 부여

 

create sequence 시퀀스이름
start with 1       --시작값
increment by 1  --증가값
nocycle            --반복안함
nocache           --캐시 사용안함 cache 2


create sequence sugang_seq
start with 1
increment by 1
nocycle
nocache

 

insert into tb_sugang(sno,hakno,gcode)
values (sugang_seq.nextval,'g1001','p001')

위의 insert명령어를 3번정도 반복한 후 레코드 조회

'..열심히 공부하세.. > 오라클' 카테고리의 다른 글

[My-SQL 서버 설치 및 환경 구축]  (0) 2012.05.11
[07] 오라클 조인  (0) 2012.05.11
[05] 오라클 함수  (0) 2012.05.10
[04] where조건절  (0) 2012.05.10
[03] 오라클 자료형  (0) 2012.05.08

+ Recent posts