관계형 데이터베이스 관리 시스템(RDBMS)은 현대 데이터 관리의 핵심 요소로 자리 잡고 있습니다. 본 포스팅에서는 RDBMS의 기본 개념부터 다양한 SQL 구문에 이르기까지, 관계형 데이터베이스를 쉽게 이해하고 실무에 적용할 수 있는 기본 사항들을 설명합니다.
1. RDBMS란 무엇인가?
RDBMS는 Relational Database Management System의 약자로, 데이터를 테이블(Table) 형태로 관리하는 데이터베이스 시스템입니다. 각 테이블은 서로 연관된 데이터를 포함하며, 이를 통해 데이터를 효율적으로 저장, 관리, 검색할 수 있습니다. 주요 특징으로는 데이터 무결성, 중복성 제거, 데이터 공유 등이 있습니다.
2. 파일 시스템과 데이터베이스 시스템의 차이점
파일 시스템과 데이터베이스 시스템의 차이점을 몇 가지 측면에서 살펴보겠습니다:
- 데이터 무결성: 데이터베이스 시스템은 데이터를 정확하고 일관되게 유지하며, 무결성 제약을 통해 데이터 오류를 방지합니다.
- 데이터 공유: 데이터베이스는 여러 사용자가 동시에 데이터를 접근할 수 있도록 설계되어 있습니다.
- 중복성 제거: 파일 시스템에서는 동일한 데이터가 여러 곳에 존재할 수 있지만, 데이터베이스는 중복을 최소화하여 데이터 불일치를 방지합니다.
- 표준화 가능: 데이터베이스는 데이터를 구조적으로 관리하고, 표준화된 언어(SQL)를 사용해 데이터를 조작합니다.
- 데이터 독립성: 데이터베이스는 물리적 저장 구조와 상관없이 데이터의 논리적 구조를 독립적으로 관리합니다.
3. 관계형 데이터베이스의 기본 구성 요소
관계형 데이터베이스는 여러 개의 테이블(Table)로 구성되며, 각 테이블은 행(Row)과 열(Column)로 이루어집니다.
- 행(Row): 한 개의 행은 여러 개의 값을 포함하며, 일련의 데이터를 하나의 레코드(Record) 또는 튜플(Tuple)로 나타냅니다.
- 열(Column): 각 열은 테이블의 필드를 나타내며, 특정 데이터의 속성을 정의합니다.
각 행은 고유의 데이터를 저장하고, 각 열은 데이터의 특정 속성을 나타냅니다. 이를 통해 테이블은 데이터를 논리적으로 분류하여 효율적인 데이터 관리와 검색을 가능하게 합니다.
4. 키(Key)의 종류
데이터베이스에서 키(Key)는 데이터를 유일하게 식별하는 중요한 요소입니다. 여러 종류의 키가 있으며, 그 각각은 다음과 같습니다:
- 후보키 (Candidate Key): 테이블의 행을 고유하게 식별할 수 있는 하나 이상의 속성(열) 집합입니다. 여러 후보키가 존재할 수 있습니다.
- 기본키 (Primary Key): 후보키 중에서 선택한 주 키로, 각 행을 고유하게 식별하는 키입니다. 중복이 허용되지 않고 NULL 값을 가질 수 없습니다.
- 대체키 (Alternate Key): 후보키 중에서 기본키로 선택되지 않은 나머지 키입니다.
- 슈퍼키 (Super Key): 한 테이블에서 행을 고유하게 식별할 수 있는 속성 또는 속성들의 집합입니다. 후보키와 기본키도 슈퍼키에 포함됩니다.
- 외래키 (Foreign Key): 다른 테이블의 기본키를 참조하는 키입니다. 외래키는 테이블 간의 관계를 정의하며, 참조된 테이블에 없는 값은 삽입할 수 없습니다.
5. SQL 구문의 종류
SQL(Structured Query Language)은 관계형 데이터베이스를 조작하기 위한 표준 언어입니다. SQL은 크게 DML과 DDL로 나뉩니다.
5.1 DML (Data Manipulation Language)
DML은 데이터를 조작하는 구문입니다. 데이터 검색, 삽입, 수정, 삭제 등의 작업을 처리합니다.
- SELECT: 데이터베이스에서 데이터를 조회합니다.
SELECT * FROM 테이블명 WHERE 조건;
- INSERT: 테이블에 새로운 행을 추가합니다.
INSERT INTO 테이블명 (열1, 열2, ...) VALUES (값1, 값2, ...);
- UPDATE: 테이블의 데이터를 수정합니다.
UPDATE 테이블명 SET 열1 = 값1 WHERE 조건;
- DELETE: 테이블에서 데이터를 삭제합니다.
DELETE FROM 테이블명 WHERE 조건;
5.2 DDL (Data Definition Language)
DDL은 데이터 구조를 정의하거나 변경하는 구문입니다. 테이블의 생성, 수정, 삭제 등을 담당합니다.
- CREATE: 테이블 또는 데이터베이스 객체를 생성합니다.
CREATE TABLE 테이블명 (열1 데이터타입, 열2 데이터타입, ...);
- ALTER: 테이블의 구조를 변경합니다.
ALTER TABLE 테이블명 ADD 열명 데이터타입;
- DROP: 테이블 또는 데이터베이스 객체를 삭제합니다.
DROP TABLE 테이블명;
- RENAME: 테이블 또는 데이터베이스 객체의 이름을 변경합니다.
RENAME 테이블명 TO 새로운테이블명;
- TRUNCATE: 테이블의 모든 데이터를 삭제하지만, 테이블 구조는 남깁니다.
TRUNCATE TABLE 테이블명;
'🗄️ Backend > SQL' 카테고리의 다른 글
SQL 서브쿼리 (Subquery)와 데이터 조작 명령어 (DML) 정리 (4) | 2024.10.14 |
---|---|
그룹 함수 및 조인 함수 구문 (0) | 2024.10.11 |
숫자 함수 및 SQL 함수 정리 (3) | 2024.10.11 |
SQL SELECT 구문 및 DCL 권한 관리 (0) | 2024.10.11 |
JDBC를 이용한 Oracle 데이터베이스 연동 및 회원 정보 관리 (0) | 2024.10.11 |