1. 제약조건
제약조건의 종류
primary key
unique key
not null
check
foreign key
2. 트랜잭션의 특성
원자성
일관성
고립성 : 어떤 트랜잭션이 수행중일 때 다른 트랜잭션의 영향을 받아 잘못된 결과를 도출하는 경우가 발생하는 것을 방지.
영속성
3. 데이터 삭제 시 action - delete
cascade : master 삭제 시 child 같이 삭제
set null : master 삭제 시 child 해당 필드 null
set default : master 삭제 시 child 해당 필드 default 값으로 설정
restrict : child 테이블에 pk 값이 없는 경우만 master 삭제 허용
no action : 참조 무결성을 위반하는 삭제/수정을 액션을 취하지 않음
4. 데이터 삽입 시 action - insert
automatic : master 테이블에 pk가 없는 경우 master pk를 생성 후 child 입력
set null : master 테이블에 pk가 없는 경우 child 외부키를 null값으로 처리
set default : master 테이블에 pk가 없는 경우 child 외부키를 지정된 기본값으로 입력
dependent : master 테이블에 pk가 존재할 때만 child 입력 허용
no action : 참조무결성을 위반하는 입력 액션을 취하지 않음
6. 테이블에 데이터를 입력하는 두 가지 유형
INSERT INTO 테이블명
(COLUMN_LIST)
VALUES (COLUMN_LISTOI
넣을 VALUE_LIST);
INSERT INTO 테이블명
VALUES
(전체 COLUMN에 넣을
VALUE_LIST):
입력된 데이터의 수정 UPDATE 테이블명
SET
수정되어야
할 칼럼명 = 수정되기를 원하는 새로운 값:
TRUNCATE TABLE®
테이블 자체가 삭제되는 것이 아니고 해당 테이블에 들어있던 모든 행들이 제거되고 저장 공간을 재사용 가능하도록 해제 한다. 테이블 구조를 완전히 삭제하기 위해서는 DROP TABLE을 실행하면 된다.
트랜잭션의 특성
트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되든지 아니면 전혀 실행되지 않은 상태로 남아 있어야 한다. (all or nothing)
• 일관성(Consistency)
트랜잭션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜잭션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안 된다.
• 고립성(Isolation)
트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안 된다.
• 지속성(Durability)
트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의 내용은 영구적으로 저장된다.
BEGIN TRANSACTION (BEGIN TRAN 725
가능)으로 트랜잭션을 시작하고 COMMIT
TRANSACTION(TRANSA
CTION은 생략 가능) 또는
ROLLBACK
TRANSACTION(TRANSA
CTION은 생략 가능)으로 트랜잭션을 종료한다.
ROLLBACK 구문을 만나면 최초의 BEGIN TRANSACTION 시점까지 모두 ROLLBACK이 수행된다.
저장점(SAVEPOINT)을 정의하면 롤백(ROLLBACK)
할 때 트랜잭션에 포함된 전체 작업을 롤백하는 것이 아니라 현 시점에서
SAVEPOINT까지 트랜잭션의 일부만 롤백할 수 있다
[Oracle]
SAVEPOINT SVPT1:
ROLLBACK TO SVPT1:
[SQL Server]
SAVE TRANSACTION
SVTR1:
ROLLBACK
TRANSACTION SVTR1:
[TOP( ) 예제 사원 테이블에서 급여가 높은
2명을 내림차순으로 출력하는데 같은 급여를 받는 사원이 있으면 같이 출력한다.
SELECT TOP(2) WITH TIES ENAME, SAL FROM EMP
ORDER BY SAL DESC:
ERD 작성 순서
① 엔터티를 그린다
② 엔터티를 적절하게 배치한다
③ 멘터티 간 관계를
설정한다.
① 관계명을 기술한다.
⑤ 관계의 참여도를 기술한다.
⑥ 관계의 필수여부를 기술한다.
'SQLD 공부' 카테고리의 다른 글
테이블 컬럼변경, null (0) | 2024.05.19 |
---|---|
윈도우함수 (0) | 2024.05.19 |
셀프조인 (0) | 2024.05.19 |
계층형 질의 (0) | 2024.05.19 |
SQLD 공부 3. SQL 활용 - 집합 연산자(Set Operator) (0) | 2024.05.18 |