데이터베이스
관련된 데이터들을 체계적으로 저장하고 관리할 수 있는 데이터의 집합이다.
- 데이터 중복 최소화
- 데이터 무결성 및 일관성 유지
- 효율적인 데이터 접근 및 검색
DBMS (데이터베이스 관리 시스템)
데이터베이스를 관리하기 위한 소프트웨어 시스템
- 사용자와 데이터베이스 간의 인터페이스
- 데이터의 저장, 검색, 수정, 삭제 수행
DBMS의 주요 기능
- 데이터정의 : 데이터베이스 스키마를 생성, 수정, 삭제할 수 있다.
- 데이터조작 : 데이터를 삽입, 수정, 삭제 및 검색할 수 있다.
- 데이터 보안 : 데이터 접근 권한을 관리하여 민감한 정보를 보호한다
- 데이터 무결성 : 데이터베이스 내의 데이터가 정확하고 일관성이 유지되도록 한다
- 트랜잭션 관리 : 여러 작업이 동시에 수행될 때 데이터의 일관성을 유지하고, 시스템 장애가 발생했을 때 데이터를 복구할 수 있다.
SQL (Structured Query Language)
관계형 데이터베이스 관리 시스템 (RDBMS)에서 데이터를 정의, 조작, 제어하기 위해 사용되는 표준화된 프로그래밍 언어이다.
SQL의 종류
- DDL (Data Definition Language) : 데이터 베이스 스키마를 생성, 변경, 삭제
- DML (Data Manipulation Language) : 데이터 검색, 삽입, 수정, 삭제
- DCL(Data Control Language): 데이터베이스 사용자의 권한 관리
- TCL(Transaction Control Language): 데이터베이스 트랜잭션 관리
데이터베이스 테이블의 개념

관계형 데이터베이스에서 데이터를 구조화하여 저장하는 기본단위
- 행(row)과 열(column)의 2차원 구조
- 각 행은 개별 레코드
- 각 열은 레코드의 속성
테이블의 구성요소
- 행 (Row) : 한 행은 테이블의 모든 열에 대한 값을 포함하며, 각각의 행은 고유한 식별자를 가질 수 있다.
- 열 (Column) : 각 열은 이름과 데이터 타입을 가지며, 제약 조건이나 기본값 등 추가 속성을 설정할 수 있다.
- 기본 키 (Primary Key) : 각 행을 고유하게 식별한다. 기본 키로 설정된 열은 NULL 값을 가질 수 없다.
- 외래 키 (Foreign Key) : 다른 테이블의 기본 키를 참조하는 열이다. 외래 키를 사용하면 서로 다른 테이블 간의 관계를 정의하고, 데이터 무결성을 유지할 수 있다.
ERD (Entity-Relationship Diagram)
데이터베이스의 구조와 관계를 그래픽적으로 표현한 도표이다.
ERD 주요 구성 요소
- 엔터티 (Entity): 데이터베이스에서 관리하려는 실체나 개체를 나타낸다. ERD에서는 직사각형으로 표현된다.
- 속성 (Attribute) : 엔터티의 특징이나 성질을 나타내며, 데이터베이스 테이블의 열에 해당된다. ERD에서는 원 or 타원으로 표현되며 해당 엔터티와 연결된다.
- 관계 (Realtionship) : 서로 다른 엔터티 간의 연결을 나타낸다. 일대일, 일대다, 다대다 등의 다양한 형태로 존재하며 ERD에서는 마름모로 표현되고, 관련 엔터티와 직선으로 연결된다.
ERD 작성 방법
- 엔터티 식별 : 데이터베이스에서 관리하고자 하는 개체나 실체 파악, 엔터티 정의
- 속성 결정 : 엔터티에 대한 속성 식별, 엔터티와 속성 연결
- 관계 설정 : 엔터티 간의 관계 파악, ERD에 관계 표현
- 정규화 : 데이터 중복 최소화, 데이터의 무결성을 보장하기 위해 정규화 과정 수행
