Hello World/SQLD

[2-3 SQL 관리 구문]

혼복필 2025. 10. 15. 17:52
728x90
SMALL

제약조건의 종류
- PRIMARY KEY (기본키)  
- UNIQUE KEY (고유키)  
- NOT NULL  
- CHECK  
- FOREIGN KEY (외래키)  

기본키 할당
- ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 PRIMARY KEY (칼럼명1, 칼럼명2)

트랜잭션의 특성
- 원자성 : 연산은 모두 실행되거나 전혀 실행되지 않음  
- 일관성 : 연산 이전에 데이터에 문제가 없다면 연산 이후에도 잘못이 없어야 함  
- 고립성 : 연산 도중 다른 트랜잭션의 영향을 받지 않음  
- 지속성 : 트랜잭션이 성공적으로 수행되면 결과가 영구적으로 저장됨  

DELETE (MODIFY) ACTION
- Cascade : Master 행이 삭제되면 Child 행도 함께 삭제됨  
- SET NULL / SET DEFAULT : 삭제 시 Child의 외래키 값을 NULL 또는 기본값으로 변경  
- Restrict : Child 테이블에 참조하는 행이 없을 때만 Master 삭제 가능  
- No Action : 참조 무결성을 위반하는 삭제나 수정은 수행되지 않음  

INSERT ACTION
- Automatic : Master의 기본키가 자동 생성된 후 Child 입력  
- SET NULL / SET DEFAULT : 기본키가 없으면 NULL 또는 기본값으로 처리  
- Dependent : Master 테이블에 기본키가 존재할 때만 Child 입력 허용  
- No Action : 참조 무결성을 위반하는 입력은 수행되지 않음  

DROP / TRUNCATE / DELETE 비교
- DELETE  
  - ROLLBACK 가능 (사용자 Commit 이전까지)  
  - 데이터만 삭제하며 Storage는 유지됨  

- TRUNCATE  
  - Auto Commit 되어 ROLLBACK 불가  
  - 데이터 삭제 후 Storage 일부만 반환 (최초 생성 시 할당된 영역은 유지)  

- DROP  
  - Auto Commit 되어 ROLLBACK 불가  
  - 테이블 정의 자체를 삭제하며 Storage 완전히 반환  

DB 키의 종류
종류 : 설명 
기본키 : 엔터티를 대표하는 키 (Null 불가) 
후보키 : 유일성과 최소성을 모두 만족 
슈퍼키 : 유일성만 만족 
대체키 : 기본키를 제외한 나머지 후보키 
외래키 : 다른 테이블의 기본키를 참조 (Null 가능) 
고유키 : 고유한 값 보장 (Null 값 1개만 가능) 

연산자 우선순위
- 괄호 ( )  
- NOT  
- 비교 연산자 및 SQL 연산자  
- AND  
- OR  

[DML]
- SELECT 칼럼명 FROM 테이블명;  
- INSERT INTO 테이블명 VALUES (...);  (칼럼 명시가 없으면 모든 칼럼 순서에 맞게 입력해야 함)  
- UPDATE 테이블명 SET 칼럼명 = 값;  
- DELETE FROM 테이블명 WHERE 조건절;  

[DDL]
- CREATE 테이블명 (칼럼명 데이터타입 제약조건 …);  
- DDL은 Auto Commit 되어 ROLLBACK 불가  
- Oracle : ALTER TABLE 테이블명 MODIFY (칼럼명 데이터유형 [DEFAULT 식][NOT NULL]);  
- SQL Server : ALTER TABLE 테이블명 ALTER (칼럼명 데이터유형 [DEFAULT 식][NOT NULL]);  
- DROP 테이블명 / TRUNCATE 테이블명  

[DCL]
- GRANT 권한 ON 객체 TO 사용자명;  
- REVOKE 권한 ON 객체 FROM 사용자명;  

 

728x90
LIST

'Hello World > SQLD' 카테고리의 다른 글

[2-2 SQL 활용]  (0) 2025.10.15
[2-1 SQL 기본 및 활용]  (0) 2025.10.11
[1-2] 데이터 모델과 SQL  (0) 2025.10.11
[1-1] 데이터 모델링의 이해  (6) 2025.01.07