서비스 기획자의 성장기록

[Database] 데이터 무결성, SQL 명령어 종류, SQL 연산자 본문

Database (Oracle)

[Database] 데이터 무결성, SQL 명령어 종류, SQL 연산자

Jenny Noh 2024. 1. 31. 18:55

데이터 무결성의 5가지 제약조건

1) Primary Key (PK)

2) Foreign Key (FK)

3) Unique (UQ): 중복값을 허용하지 않음

4) Not Null (NN): Null 값을 가질 수 없음

5) Check (CK): 한정된 데이터 내에서 값을 가질 수 있음 (성별 등)

 

 

 

▋참조 무결성

- 자식 테이블에 데이터 입력, 수정 시 foreign key 컬럼의 데이터는 부모 테이블의 기본키 컬럼에서 해당 데이터가 존재하는지 검증

- 부모 테이블에서 레코드 삭제 or 기본키 컬럼의 데이터를 수정할 경우, 자식 테이블에서 해당 데이터를 참조하고 있는지 검증

 

On delete cascade

- 부모 컬럼을 삭제하면 자식의 모든 참조 레코드가 사라지도록 하는 것

- 자식쪽에서 on delete cascading 걸어줌

- 모든 DBMS에서 제공하는 기능

 

On update cascade

- 부모의 primary key를 수정하면 자식의 모든 참조 레코드의 foreign key 값을 함께 수정되도록 하는 것

- Oracle에서는 지원하지 않음

 

 

 

 

▋Structured Query Language (SQL) 명령어 종류

1. Data Manipulation Language (DML)

  - INSERT, SELECT, UPDATE, DELETE

 

2. Data Definition Language (DDL)

- ALTER (변경), CREATE (객체 생성: CREATE TABLE, CREATE VIEW ...), DROP (삭제)

  - 테이블, 유저, 뷰, synonym (별칭), 인덱스에 대한 명령어

 

3. Transaction Control Language (TCL)

- COMMIT (저장), ROLLBACK (취소), SAVEPOINT (저장지점)

  - 데이터베이스의 변경사항 (트랜잭션)을 처리하는 명령어

 

4. Data Control Language (DCL)

  - GRANT (권한부여), REVOKE (권한회수)

  - 권한에 관련된 명령어

 

 

 

 

▋SQL 연산자

연산자 종류 예시
산술 연산자 +, -, *, /
문자열 결합 연산자 ||
비교 연산자 WHERE 조건절 뒤에서 사용
=, != or <>, >, <, >=, <=
논리 연산자 AND, OR, NOT
NULL 연산자 IS NULL, IS NOT NULL
SQL 연산자 (컬럼명) BETWEEN (값1) AND (값2)
(컬럼명) IN (값1, 값2)
LIKE 연산자 & 와일드카드 컬럼 내에 특정한 단어나 문자가 포함되어있는지 조회
%: 문자 0개 이상
_: 문자 1개
*: 모든 컬럼
LIKE '%', LIKE '____n', SELECT *