database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Q&A 606 게시물 읽기
No. 606
관계데이타제약에 관하여......문의좀...
작성자
신은경(sek8362)
작성일
2002-10-16 23:46
조회수
4,908

안녕하세요??

저는 숭의여대 인터넷정보과에 재학중인 학생입니다..

제가 이번에. 관계데이타제약에 관한 설명을 맡게 되었는데요...

담주 수욜에 발표랍니다.ㅠ.ㅠ

근데. 아무리 책을 읽어보고 또 읽어봐도.. 잘 이해가 되질 않아서요..

혹시 제가 이해되기 쉽도록 나온 책이라든지..

어떻게 하면. 다른 친구들에게 쉽게 설명할 수 있을지가 궁금하네여..

뭔가 방법이 있는건가요??

이 글에 대한 댓글이 총 1건 있습니다.

관계데이타제약이라고 하는 것은 relational database constraint 라고 하는 것으로서 테이블간의 상호 관계, 엔터티간의 상호관계, 엔터티 내의 상호 관계를 설정해 주는 것을 의미합니다. 이것은 자료의 무결성을 유지하기 위한 하나의 방법으로 이용되는 것입니다.

 

너무 어렵고 이상하게 설명한 느낌이 드는데...

간단히 얘기 하면 하나의 필드에 어떤 값을 넣을때 그 값은 반드시 어떤 조건을 만족해야 한다는 등의 자료에 관한 규약을 설정해 주는 것입니다.

 

예를 들면 다음 테이블을 생각해 봅시다.

create table tt (
      a int check (a>10), 
      b int check (b>10) 
      constraint t_const check (a>b)
);

 

이런 경우 table tt 는 두개의 필드를가지게 되지요.

그중 a 라는 필드는 정수 자료형인데 그 값이 10보다 크야 한다는 내용이지요. 여기서 check (a>10) 이라는 부분이 constraint (제약) 이라고 합니다. 값을 입력하되 이 조건을 만족해야 한다는 것이지요. 이것은 column constraint 로서 한 필드에 대한 제약을 정의한 것이죠.

마지막 constraint t_const (a>b) 라는 부분은 필드간 (엔터티간-사이-의 제약을 나타 내는 것으로서 table constraint 라고 부릅니다.

 

그럼 다음과 같은 SQL 구문을 생각해 봅시다.

 

pgbash> insert into tt values (5,20);

(-403)ERROR: ExecAppend: rejected due to CHECK constraint t_const

 

pgbash> insert into tt values (20,5);

(-403)ERROR: ExecAppend: rejected due to CHECK constraint tt_b

 

pgbash> insert into tt values (11,20);

(-403)ERROR: ExecAppend: rejected due to CHECK constraint t_const

 

pgbash> insert into tt values (20,11);

INSERT 101796745 1

 

여기서 세개의 query 중 제일 마지막을 제외하고 위의 두개의 query 는 실패하고 말았습니다. 원인이 무엇인지 생각해 보시면 constraint 의 의미를 이해할수 있지 않을까 싶군요.

정재익(advance)님이 2002-10-20 19:29에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
609데이터베이스 구현 [1]
정다윤
2002-10-19
5678
608DB 설계좀 알려주세요 [1]
한혜영
2002-10-18
5839
607리눅스에서도 ODBC를 사용할 수 있나요? [1]
전병제
2002-10-17
5618
606관계데이타제약에 관하여......문의좀... [1]
신은경
2002-10-16
4908
600메인메모리 DB에서 인덱스 [1]
꿈소년
2002-10-11
5392
598인덱스 구축시 .. 고수님의 답변 부탁해여..^^ [1]
김종진
2002-10-10
4983
597벌크로드란게 무엇인지요? [2]
이덕현
2002-10-09
5629
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다