DATABASE data integrity, transaction, sequence, cardinality (230713)

이원건·2023년 7월 13일
0

DATABASE

목록 보기
6/6
post-thumbnail

1. 데이터 무결성에 대하여 설명하시오.

data integrity, 데이터 무결성은 컴퓨팅 분야에서 완전한 수명을 거치며 데이터의 정확성과 일관성을 유지하는 것을 가리킨다.
특히 DB, RDBMS 에서 중요한 기능이다.


2. 데이터 무결성을 위한 제약조건 5가지를 나열하고 설명하시오.

  1. not null

null 값이 들어갈 수 없다. > 값을 무조건 지정해줘야 한다.

  1. unique

null값은 값이 정해지지 않은 것이므로 들어갈 수 있으나 값이 정해졌다면 유일한 값만 들어가야 한다.

  1. primary key

not null과 unique 둘다 적용된 것. null 값일 수 없고 고유한 값이 들어가야 한다.

  1. foreign key

타 테이블의 primary key값을 이용해 들어오는 자리. 그러므로 참조한 테이블의 primary key값이 존재하지 않으면 들어갈 수 없다.

  1. check

insert 시에 값을 확인하고 넣는 행위. 적절한 값이 아니라면 insert를 하지 않는다.


3. 아래의 용어를 설명하시오.

  • 트랜잭션

연산들을 묶어 작업단위로 정의하는 개념. 모든 연산은 완료되거나 아무것도 적용되지 않아야 함.(중간에 끊기면 안 됨. -> 원자성)
트랜잭션은 DB의 일관성, 무결성을 보장하기 위해 ACID(원자성, 일관성, 고립성, 지속성)를 충족해야함.

  • commit

트랜잭션 후 수행한 것들을 DB에 영구적으로 적용하는 것.(Savepoint 중 하나가 된다.)

  • rollback

rollback시 savepoint점으로 모든 변경점을 되돌리는 작업

  • savepoint

savepoint는 트랜잭션들을 수행한 후, 저장점을 만들어 두어 rollback 할 시에 트랜잭션을 되돌릴 수 수 있도록 저장 기준점이다.


4. 카디널리티는 무엇이며, 종류는?

  • cardinality란?

RDBMS에서 테이블 간의 관계를 설명하는 데 사용되는 개념

1:1, 1:N, N:N이 있다.


5. 시퀀스 만드는 명령어는?

create squence board_pk increment by 1 start with 1;
  • 실행 결과
select board_pk.nextval from dual;
nextval
11

6. DDL에서 롤백이 되지않는 원인은?

DDL(Data Definition Language)는 commit처럼 적용하는 즉시 새로운 savepoint가 되기 때문에 rollback 하더라도 그 전으로 돌아갈 수 없다.


7.게시판 Table을 만들어 보시오.

  • 쿼리문
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;
이름널?유형
BNONOT NULLNUMBER
BTITLENOT NULLVARCHAR2(500)
BCONTENTVARCHAR2(1000)
BWRITERNOT NULLVARCHAR2(100)
CREATEDDATEDATE
UPDATEDDATEDATE

0개의 댓글