* 아래 수업 듣고 다시 정리해서 쓰는 글 *
상황 ) 데이터 뭘 하나 추가하면 가장 MAX값에 1 더해서 직접 ID를 넣어주는 것은 귀찮귀찮....
-> '시퀀스'라는것을 사용할 수 있다.
우선 방법은 2가지인 것
1) MAX(ID) 값에 +1을 넣어주는 것
2) 시퀀스를 사용하는 것
오라클에 이렇게 시퀀스라는 카테고리가 있음!
-> 우클릭 > 시퀀스 생성을 해보자
이름은 보통 테이블명_SEQ 이렇게
// BOOK_ID_SEQ를 만들었다고 가정하면
BOOK 테이블 편집 > ID열에 가서 아까 만들어준 BOOK_ID_SEQ를 선택해주면 이제 BOOK 테이블에는 ID 따로 주지 않아도 저절로! ID가 +1씩 추가되서 들어가게 된다 :)
숫자를 자동적으로 증가하게
DDL 구문 보면 (CREATE SEQUENCE...)
자동적으로 수 증가
(오류나면 데이터 유실됨)
// 수 증가를 사용하는 2가지 방법 (서브쿼리, 시퀀스)
- 시퀀스 사용하면 이빨(?)은 빠지겠지만 훨씬 간편함
1) 시퀀스는 숫자만 가능.
만약 자료형이 문자열형이면 시퀀스 사용하는데 문제
2) 시퀀스는 이빨 빠지는게 문제
- 이빨은 빠지게 되어있음 (게시글 삭제만 해도... 그러니 이빨 빠지는거에 대해 의미 부여 말기)
-> 코드량 편한거!
기본을 시퀀스로
//
트리거 - 수정, 삭제 시 저절로 ? 해주는?
코드 실행해주는 역할?
식별자 아이디열을 삽입할 필요가 없음
(지금 여기서는 식별 전문...)
트리거나 시퀀스를 저절로 실행해주는거로 되어있어서!
아이디를 삽입하지 않아도 저절로 증가되는~
테이블명_SEQ 라고 보통 이름 짓는다.
테이블 > 편집 > ID열 > 본인이 만든 시퀀스 지정해두기
그리고 실행해보기 (INSERT해서)
이거 실습해봐야함
65일 - 트랜잭션 처리 4가지 조건 (ACID) (0) | 2021.05.24 |
---|---|
64일 - 트랜잭션 (Transaction. feat. 64일차 총 복습 메모) (0) | 2021.05.21 |
61일차. DB 14 - 모델링 (2정규화, 4정규화, 제약조건 - 도메인(NOT NULL, DEFAULT, CHECK), 엔티티(PRIMARY KEY, UNIQUE)) (0) | 2021.05.17 |
60일차. DB 13 - 모델링 (논리설계 실습) (1) | 2021.05.14 |
59일차. DB 12 - 모델링 (개념설계 실습) (0) | 2021.05.13 |