1. 데이터베이스(Database)란?
데이터베이스는 '구조화된 데이터의 집합'으로, 방대한 정보를 체계적으로 저장하여 효율적으로 관리할 수 있도록 한다.
디지털화된 다양한 데이터를 저장하고 관리함으로써 사용자가 원하는 정보를 빠르게 활용할 수 있다.
2. DBMS(Database Management System)란?
DBMS는 ' 데이터베이스를 관리하는 소프트웨어'로, 데이터를 생성(Create), 조회(Read), 수정(Update), 삭제(Delete)하는 등의 기능을 제공한다.
쉽게 말해, 데이터베이스가 '데이터 창고'라면, DBMS는 '데이터 창고 관리자'라고 할 수 있다.
DBMS의 핵심 기능
1) 효율적인 데이터 관리: 데이터를 테이블 형태로 조직화하여 저장하고, 여러 테이블 간 관계를 설정해 검색과 관리를 용이하게 함
2) 데이터 무결성 유지: 데이터가 정확하고 일관되도록 자료형, 범위 등의 제약 조건을 제공
3) 동시성 제어: 여러 사용자가 동시에 데이터를 수정할 때 발생할 수 있는 문제를 관리
4) 보안 관리: 특정 사용자만 데이터에 접근할 수 있도록 접근 제어 기능 제공
5) 백업 및 복구: 데이터 손실 시 기존 데이터로 복구할 수 있도록 저장 및 복원 기능 제공
6) 쉬운 데이터 접근성: SQL과 같은 표준화된 질의 언어를 지원하여 쉽게 데이터 검색 및 활용 가능
7) 데이터 추상화: 복잡한 데이터 저장 구조를 몰라도 쉽게 데이터를 다룰 수 있도록 함
3. SQL(Structured Query Language)
SQL은 '데이터베이스를 관리하기 위한 표준 질의 언어'이다.
SQL 명령을 사용하여 데이터를 생성, 조회, 수정, 삭제할 수 있으며, DBMS를 통해 실행된다.
4. 데이터베이스 파일(Database Files)
DBMS는 데이터를 다양한 파일 형태로 저장하고 관리한다.
주요 파일 유형
- 데이터 파일(Data File): 실제 데이터를 저장하는 파일
- 로그 파일(Log File): 데이터베이스의 변경 사항을 기록하여 장애 발생 시 복구에 사용
- 인덱스 파일(Index File): 검색 속도를 높이기 위해 필요한 정보를 저장
- 설정 파일(Configuration File): 데이터베이스의 설정 및 성능 조정 정보를 저장
- 메타데이터 파일(Metadata File): 데이터베이스 구조와 스키마 정보를 저장
5. 테이블(Table) 구조
데이터베이스에서 데이터를 저장하는 기본 단위는 테이블(Table)이다.
- 열(Column)/속성(Attribute) : 데이터의 특정 속성을 나타냄
- 행(Row)/레코드(Record)/튜플(Tuple): 하나의 데이터 항목을 의미
각 열은 특정한 데이터 속성을 나타내고, 각 행은 속성이 모인 하나의 데이터 단위를 나타낸다.
6. MySQL 실습 환경 구성
MySQL은 서버-클라이언트(Server-Client) 구조로 동작한다.
- 서버(Server): 데이터베이스를 관리하고 요청을 처리하는 역할 (MySQL 서버)
- 클라이언트(Client): 서버에 요청을 보내고 응답을 받는 역할 (MySQL 워크벤치)
MySQL 실습 환경을 구축하려면 다음 프로그램을 설치해야 한다.
1) MySQL 서버(MySQL Server) - 실제 데이터베이스를 운영하는 DBMS
2) MySQL 워크벤치(MySQL Workbench) - 데이터베이스와 상호작용하는 클라이언트 도구
'학습 > DB' 카테고리의 다른 글
6. 관계와 제약조건 (0) | 2025.02.26 |
---|---|
5. 자료형과 필터링 (1) | 2025.02.23 |
4. 집계 함수 및 데이터 처리 (0) | 2025.02.21 |
3. SQL 데이터 필터링과 연산자 정리 (0) | 2025.02.20 |
2. 데이터 CRUD (0) | 2025.02.19 |