CS
[SQLD] 관계형 데이터베이스 개요
2026년 02월 12일 08:40
SQLD 2과목 – 관계형 데이터베이스 개요
DATABASE와 DBMS
① DATABASE
- 여러 데이터의 집합
- 데이터를 체계적으로 저장한 공간
② DBMS (Database Management System)
- 데이터베이스의 생성, 관리, 유지, 접근을 지원하는 시스템
- SQL을 사용하여 데이터 정의 및 조작
- 데이터 무결성 및 보안 관리
SQL (Structured Query Language)
- RDBMS에서 데이터를 정의·조작·조회·삭제하는 표준 언어
- 문법은 대소문자를 구분하지 않음
- SQL 문장은 세미콜론(;) 으로 마침
SQL 종류 ⭐⭐⭐
-
SQL은 기능에 따라 다음과 같이 구분
-
SELECT 문은 조작이 아닌 조회 전용이므로 DQL로 분리
-
DDL은 실행 시 자동 COMMIT 발생
- 실행 전 COMMIT
- 실행 후 COMMIT
-
DDL은 ROLLBACK 불가
-
DML은 COMMIT/ROLLBACK 필요
| 구분 | 종류 |
|---|---|
| DDL (Data Definition Language) | CREATE, ALTER, DROP, TRUNCATE |
| DML (Data Manipulation Language) | INSERT, DELETE, UPDATE, MERGE |
| DCL (Data Control Language) | GRANT, REVOKE |
| TCL (Transaction Control Language) | COMMIT, ROLLBACK |
| DQL (Data Query Language) | SELECT |
- DDL은 auto commit 기능 존재
DBMS 종류
① 관계형 DBMS (RDBMS)
- 2차원 테이블 구조 (행과 열)
- 관계 정의 중요 → JOIN 필요
- 정형 데이터 저장
- 예: Oracle, MySQL, PostgreSQL, SQL Server
② 비관계형 DBMS (NoSQL)
- 유연한 구조
- 비정형·반정형 데이터 저장
- 예: MongoDB, Cassandra, Redis
관계형 데이터베이스 구성 요소
① 계정
- 사용자 접근 제어 단위
- 계정별 권한 부여 가능
② 테이블
- 데이터가 실제 저장되는 기본 단위
- 행(Row)과 열(Column) 구조
- 논리 모델의 엔터티 → 물리 모델의 테이블
③ 스키마
- 데이터베이스 객체들의 논리적 집합
- 테이블, 뷰, 인덱스 등 포함
- 구조 정의 단위
👉 Oracle: 스키마 = 사용자 개념
👉 SQL Server: 스키마 단위 관리
관계형 데이터베이스 장단점
장점
- 정형화된 구조
- 무결성 보장
- SQL 표준 사용
- 데이터 일관성 높음
단점
- 구조 변경 어려움
- 확장성 제한
- DBA 필요
- 장애 발생 시 영향 큼
데이터 무결성 (Integrity)
개념
- 데이터 정확성과 일관성 유지
- DBMS의 핵심 기능
무결성 종류 ⭐⭐⭐
| 구분 | 설명 |
|---|---|
| 개체 무결성 | 기본키는 NULL ❌, 중복 ❌ |
| 참조 무결성 | 외래키는 참조 테이블의 기본키 값과 일치 |
| 도메인 무결성 | 속성 값은 정의된 도메인 내 값 |
| NULL 무결성 | 특정 속성에 NULL 허용 ❌ |
| 고유 무결성 | 특정 속성 값 중복 ❌ |
| 키 무결성 | 릴레이션은 최소 하나 이상의 키 존재 |
테이블 명명 규칙
- 최대 30자
- 대소문자 구분 ❌ (단, "" 사용 시 구분)
- 숫자로 시작 불가 (단, "" 사용 시 가능)
- 공백 및 특수문자 사용 불가 (_, #, $ 가능)
- 예약어 사용 불가 (단, "" 사용 시 가능)
