Entity 제약조건
우리가 도메인 제약조건을 잘 설정했다면 각 칼럼들은 제약조건에 맞는 올바른 데이터를 가지고 있을 것입니다.
만약 테이블 전체로 범위를 확대했을 때 결함이 없을까요?
중복된 레코드가 존재할 수 있다는 결함이 존재합니다.
각 칼럼은 올바른 값을 가지고 있지만 레코드 단위로 봤을 때 식별이 불가능합니다.
우리는 레코드가 같지 않다 라는 걸 식별할 수 있는 primary key가 필요합니다.
primary key로 설정한 식별 칼럼은 레코드 별 칼럼의 데이터를 식별할 수 있습니다.
primary key로 설정한 칼럼은 절대로 중복된 값이 존재할 수 없습니다. 또한 NULL값이 존재할 수없습니다.
UIQUE는 NULL은 허용하나 중복은 허용하지 않는 제약조건입니다.
EX)
CREATE TABLE MEMBER
(
ID NUMBER PRIMARY KEY --기본키 제약 조건
//ID NUMBER CONSTRAINT MEMBER_ID_PK PRIMARY KEY--만약 제약조건의 이름을 설정한다면
PWD VARCHAR2(50) NOT NULL
PHONE VARCHAR2(50) NOT NULL UNIQUE
REGDATE DATE DEFAULT STSDATE
//깔끔하게 설정하기
CONSTRAINT MEMBER_ID_PK PRIMARY KEY(ID),
CONSTRAINT MEMBER_PHONE_UK UNIQUE(PHONE)
)
테이블이 이미 만들어져 있다면
ALTER TABLE MEMBER
ADD CONSTRAINT MEMBER_ID_PK PRIMARY KEY(ID);
ALTER TABLE MEMBER
ADD CONSTRAINT MEMBER_PHONE_UK UNIQUE(PHONE);
또한 툴을 이용해 설정창에서 ENTITY 제약조건설정이 가능합니다.
UNIQUE설정
'웹 프로그래밍 기초 > 자바기반의 웹&앱 응용SW 개발자' 카테고리의 다른 글
자바기반의 웹&앱 응용 SW개발자 양성과정 36일차 -57 (0) | 2020.04.20 |
---|---|
자바기반의 웹&앱 응용 SW개발자 양성과정 35일차 -56 (0) | 2020.04.19 |
자바기반의 웹&앱 응용 SW개발자 양성과정 34일차 -54 (0) | 2020.04.19 |
자바기반의 웹&앱 응용 SW개발자 양성과정 33일차 -53 (0) | 2020.04.17 |
자바기반의 웹&앱 응용 SW개발자 양성과정 32일차 -52 (0) | 2020.04.16 |
댓글