관리 메뉴

프로그래밍 삽질 중

기본키&외래키 설명 본문

과거 프로그래밍 자료들/SQL(Oracle)

기본키&외래키 설명

평부 2021. 5. 18. 11:20


TCP School 기본키 설명
http://tcpschool.com/mysql/mysql_constraint_primaryKey

Primary key(기본키)
- 설정 시 not null, unique 속성을 지님
- null값 설정 불가, 중복 값x
- 테이블 당 오직 하나의 필드만 설정 가능(데이터를 쉽고 빠르게 찾아줌)

 

 


기본키 생성 방법
1) create 문

ex) create table tbl_board(
bno number(10,0) primary key,
title varchar2(200) not null,
content varchar2(2000) not null,
writer varchar2(50) not null,
regdate date default sysdate,
updatedate date default sysdate
);

2)-1 테이블에 새로운 필드 추가 시 사용
- constraint 제약 조건 이름

ex) alter table tbl_board
add [constraint pk_board] primary key(bno);

* constraint pk_reply 생략 가능

2)-2 기존에 존재하는 필드를 기본키로 설정
ex) alter table tbl_board
modify column [contstraint pk_reply] primary key(rno);

* constraint pk_reply 생략 가능

 


TCP School 외래키 설명
http://tcpschool.com/mysql/mysql_constraint_foreignKey

Foreign key(외래 키)
- 한 테이블을 다른 테이블과 연결해주는 역할
- 외래키 설정 → 기준이 되는 테이블의 내용을 참조해 레코드 입력
∴ 하나의 테이블이 다른 테이블에 의존
- 외래키 사용 시 참조되는 테이블의 필드는 반드시 unique나 primary key 제약 조건이 설정되어 있어야 함

 

 


외래키 생성 방법
1) create 문
ex) create table tbl_reply (
    rno number(10, 0), 
    bno number(10, 0) not null,
    foregin key(bno) references tbl_board on update cascade
    reply varchar2(1000) not null,
    replyer varchar2(50) not null,
    replyDate date default sysdate,
    updateDate date default sysdate
);

2) alter문
ex) alter table tbl_reply add [constraint fk_reply_board]
foreign key (bno) references tbl_board(bno);

* constraint fk_reply_board] 생략 가능

'과거 프로그래밍 자료들 > SQL(Oracle)' 카테고리의 다른 글

SQL 예제문제 (2)  (0) 2021.03.26
JDBC 설명 및 예시 2)  (0) 2021.03.26
JDBC 설명 및 예제 1)  (0) 2021.03.25
SQL 커서 설명 및 예제  (0) 2021.03.24
SQL PL/SQL 설명 및 예제  (0) 2021.03.23