- primary key 기본키 (서로 다른 레코드를 구분할 수 있는 대표값)
select의 조건으로 기본키를 사용하면, 오로지 한 개의 레코드만 조회할 수 있다
public DTO selectOne(int idx) { ... }
- unique 고유키 (다른 레코드의 컬럼값과 중복될 수 없음)
중복 불가
회원 관리 테이블이 있다면, 회원 번호는 기본키, ID는 고유키
- not null 필수값 (값을 반드시 입력해야함)
제약조건이 없으면, 값을 비워둘 수 있지만
not null이 있으면 반드시 값을 입력해야 한다. 없으면 추가하거나 수정할 수 없다
- dfault 기본값 (값을 입력하지 않았을 때 적용되는 값)
자동으로 채울 수 있는 값. 데이터 생성 시간이나 시퀀스를 활용한 값을 사용한다.
- check 특정값 (조건에 맞는 값만 입력할 수 있음)
최종학력, 혹은 성별 등 정해진 값만 입력받기 위한 장치
HTML의 select 혹은 radio와 연동하는 경우가 많다
정해진 범위의 숫자값을 입력받을 때도 사용할 수 있다
- foreign key 외래키 (다른 테이블의 특정 값을 참조하는 값)
다른 테이블의 데이터를 찹조해야만 한다
댓글은 게시글 번호를 가지고 있어야 작성할 수 있다
이때 댓글에는 게시글 테이블의 글번호 칼럼을 참조해야 한다
게시글에 없는 번호는 작성할 수 없다
create table member2 (
idx number primary key,
userid varchar2(100) unique not null,
userpw varchar2(255) not null,
username varchar2(100) not null,
joinDate date default sysdate,
gender varchar2(10) check(gender in('남성', '여성')),
profileImg varchar2(255)
);
-- not null을 포함하지 않으면 필수 입력값이 아니므로 비워 둘 수 있다
desc member2;
commit;
-- 테이블 이름은 대문자로 작성하기
select * from user_constraints where table_name = 'MEMBER2';
select * from member2;
insert into member2 (idx, userid, userpw, username, gender) values (
2,
'test2',
'1234',
'테스트',
'남성'
);
commit;
'개발자 > JSP' 카테고리의 다른 글
[JDBC] XML (0) | 2022.12.12 |
---|---|
[JDBC] 시퀀스를 활용하여 idx값 출력 (제약조건++) (0) | 2022.12.09 |
[JDBC] 자바와 sql 연결 후 출력하는 방법 (0) | 2022.12.06 |
[JSP] 세션(session) (0) | 2022.12.05 |
[JSP] 쿠키(Cookie) (0) | 2022.12.02 |