data integrity, 데이터 무결성은 컴퓨팅 분야에서 완전한 수명을 거치며 데이터의 정확성과 일관성을 유지하는 것을 가리킨다.
특히 DB, RDBMS 에서 중요한 기능이다.
null 값이 들어갈 수 없다. > 값을 무조건 지정해줘야 한다.
null값은 값이 정해지지 않은 것이므로 들어갈 수 있으나 값이 정해졌다면 유일한 값만 들어가야 한다.
not null과 unique 둘다 적용된 것. null 값일 수 없고 고유한 값이 들어가야 한다.
타 테이블의 primary key값을 이용해 들어오는 자리. 그러므로 참조한 테이블의 primary key값이 존재하지 않으면 들어갈 수 없다.
insert 시에 값을 확인하고 넣는 행위. 적절한 값이 아니라면 insert를 하지 않는다.
연산들을 묶어 작업단위로 정의하는 개념. 모든 연산은 완료되거나 아무것도 적용되지 않아야 함.(중간에 끊기면 안 됨. -> 원자성)
트랜잭션은 DB의 일관성, 무결성을 보장하기 위해 ACID(원자성, 일관성, 고립성, 지속성)를 충족해야함.
트랜잭션 후 수행한 것들을 DB에 영구적으로 적용하는 것.(Savepoint 중 하나가 된다.)
rollback시 savepoint점으로 모든 변경점을 되돌리는 작업
savepoint는 트랜잭션들을 수행한 후, 저장점을 만들어 두어 rollback 할 시에 트랜잭션을 되돌릴 수 수 있도록 저장 기준점이다.
RDBMS에서 테이블 간의 관계를 설명하는 데 사용되는 개념
1:1, 1:N, N:N이 있다.
create squence board_pk increment by 1 start with 1;
select board_pk.nextval from dual;
nextval 1 1
DDL(Data Definition Language)는 commit처럼 적용하는 즉시 새로운 savepoint가 되기 때문에 rollback 하더라도 그 전으로 돌아갈 수 없다.
create table Board( bno Number primary key, btitle varchar2(500) not null, bcontent varchar2(1000), bwriter varchar2(100) not null, createddate date default sysdate, updateddate date default sysdate );
desc Board;
이름 널? 유형 BNO NOT NULL NUMBER BTITLE NOT NULL VARCHAR2(500) BCONTENT VARCHAR2(1000) BWRITER NOT NULL VARCHAR2(100) CREATEDDATE DATE UPDATEDDATE DATE