데이터베이스 기초 - 데이터베이스의 이해
데이터베이스에 대해 공부한 내용을 이해하고 정리한 글입니다. 첫 공부이므로 기초적인 내용을 다루며 추후 자세한 정보로 업데이트를 예정하고 있습니다.
용어 구분
데이터베이스 관련
- 데이터베이스 : 데이터의 집합
- 데이터베이스 관리 시스템(DBMS) : 구성, 저장, 관리, 사용을 위한 S/W 패키지
- 데이터베이스 시스템 : 데이터베이스와 어플리케이션을 연결
값, 데이터, 메타데이터
- 값 : 다양한 해석이 가능한 상태
- 데이터 : 하나의 값에 두개 이상의 설명 패드가 붙은 것
- 메타데이터 : 값에 의미를 부여하는 부연설명
예)
12’C -> 값
오늘, 낮 최고기온 -> 메타데이터
위의 세 가지를 통틀어서 데이터 (값과 메타데이터의 묶음)
DB의 3단계 구조
내부 스키마
- 개념 단계의 스키마를 어떻게 저장할것인지 결정
- 물리적 단위(어디의 몇번째 파일)
개념 스키마
- 전체 데이터의 구조를 나타내며 데이터의 의미만 표현
외부 스키마
- 뷰, 사용자가 필요한 데이터를 볼 수 있는 공간
사상의 존재
- 내부와 개념, 개념과 외부 사이에 각각 존재
트랜잭션
- 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
- 동시에 같은 데이터에 접근할수 없도록 하여 일관성을 유지
예)
명령어 집합인 A(출금)가 완전히 수행되기 전까지 다른 작업(입금)을 수행하지 않도록 함
데이터베이스 언어
- DBMS는 편리성을 위해 언어 형태의 인터페이스를 제공
- 현대 데이터베이스 언어는 자연어와 유사한 형태의 SQL로 표준화
1. DDL(Data Definition Language)
- 데이터를 저장할 수 있는 구조를 만드는 역할
- 데이터베이스 객체를 생성, 수정 삭제
- 논리적 구성과 특징 및 물리적 구성을 규정
2. DML(Data Manipulation Language)
- 사용자의 접근 및 조작을 간편하고 정확하며 효율적이게 할 수 있도록 지원
- 검색, 삽입, 삭제, 수정
시스템 아키텍쳐 방식
중앙 집중식 방식
- 저렴한 구성, 과부하시 전체 시스템 성능 저하
분산 시스템 방식
- 중앙 서버에게 데이터 관리만을 위임하고 일을 분산해서 처리
- 소프트웨어의 유지 보수 비용을 절감 및 이식성 증가
- 2계층 구조와 3계층 구조
2계층과 3계층의 차이
애플리케이션이 애플리케이션 서버와 클라이언트로 각각 분화하여 서버사이드와 클라이언트 사이드에 위치
-> 시스템 특징 및 상황에 따라 더 좋은 방식이 달라진다.