1. DataBase란
1. Data와 정보
1-1. Data란
- 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값을 의미한다.
- 자료들이라고 생각하면 편함
- 데이터를 기반으로 의미를 부여한 것
- 잘 정돈한 자료들을 불러모아 온 정보
2. DataBase
2-1. DataBase란
- 한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고, 중복되는 데이터를 최소화 하여 구조적으로 통합/저장하는 것
- 데이터가 인포메이션화 할 수 있도록 잘 정돈하여 저장한 공간
2-2. DataBase 정의
- 운영: 조직의 목적을 위해 사용되는 데이터
- 공용: 공동으로 사용되는 데이터
- 통합: 중복을 최소화하여 중복으로 인한 데이터 불일치 현상 제거
- 저장: 영구적 저장 목적
2-3. DataBase 특징
- 실시간 접근성: 사용자가 데이터 요청하면 실시간으로 결과를 서비스
- 계속적인 변화: 데이터 값은 시간에 따라 항상 바뀜
- 동시 공유:데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시 공유됨
- 내용에 따른 참조:인덱스 체계로만 돌아가는 것이 아닌 데이터베이스에 저장된 데이터는 데이터의 물리적 위치가 아니라 데이터 값에 따라 참조됨
2. DBMS(Database Management System)
1. DBMS
1-1. DBMS란
- 데이터베이스에서 데이터를 추출, 조작, 정의, 제어 등을 할 수 있게 해주는 데이터베이스 전용 관리 프로그램을 말함
1-2. DBMS 기능
- 데이터 추출: 사용자가 조회하는 데이터 혹은 응용프로그램의 데이터 추출
- 데이터 조작: 데이터 조작하는 소프트웨어(응용프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원
- 데이터 정의: 데이터의 구조를 정의 및 데이터 구조에 대한 삭제, 변경 기능을 수행
- 데이터 제어(중요!): 데이터베이스 사용자를 생성, 모니터링하며 접근을 제어 백업과 회복, 동시성 제어 등의 기능을 지원
1-3. DBMS의 사용 이점
- 데이터 중복 최소화: 데이터와 응용 프로그램 분리시켜서 상호 영향 정도를 줄일 수 있음
- 쿼리 언어: sql과 같은 강력한 쿼리 언어 제공해서 복잡한 검색과 분석 작업을 손쉽게 수행할 수 있음
- 데이터 무결성: 데이터의 무결성을 보장하기 위해 다양한 제약 조건과 규칙을 설정 할 수 있음 > 이는 데이터의 품질과 정확성을 보장
- 데이터 백업 및 복구: 데이터의 백업과 복구를 지원해서 시스템 장애나 데이터 손상 시에도 데이터를 복원할 수 있음
- 표준화: 표준화된 방법을 통해 데이터를 관리하므로, 데이터의 구조와 접근 방법이 일괄적 > 이로 인해 애플리케이션 개발 및 유지보수 용이해짐
1-4. DBMS의 종류와 특징
1-5. Database의 변천 과정(걍 한 번씩 읽어보기)
- 파일시스템(File System)
: 가장 기본적인 데이터 저장 방식으로, 데이터를 파일 형태로 저장하며 복잡하지 않지만 효율적인 데이터 관리 기능은 부족
- 계층 데이터 모델(Hierarchical Data Model)
: 데이터를 계층적 트리 구조로 조직화하고 각 레벨의 데이터 항목은 상위 레벨의 하나의 항목에 연결하여 부모-자식 관계를 사용하여 데이터 관계를 표현하며 주로 문서 관리 시스템이나 XML 데이터베이스에서 사용
- 네트워크 데이터 모델(Network Data Model)
: 계층 모델과 유사하지만 하나의 데이터 항목이 여러 상위 항목과 연결될 수 있어 복잡한 관계와 데이터 구조를 나타내는 데 적합하며, 각 노드는 여러 부모노드를 가질 수 있어 더 유연한 관계 표현이 가능
- 관계 데이터 모델(Relational Data Model)
: 데이터를 테이블 형태로 구성(행과 열로 구성)하며, 서로 다른 테이블 간의 관계는 키를 통해 정의함. 데이터의 무결성을 유지하고 SQL을 사용하여 복잡한 쿼리와 데이터 조작을 용이하게 함
- 객체 데이터 모델(Object Data Model)
: 객체 지향 프로그래밍의 개념을 데이터 모델링에 적용하여 데이터에 연관된 동작을 객체로 캡슐화하고 복잡한 데이터 데이터 구조와 상속, 다형성 등 객체 지향 개념을 지원하여 개발자가 더 자연스러운 방식으로 데이터를 처리할 수 있게 함
- 객체-관계 데이터 모델(Object-Relational Data Model)
: 객체 데이터 모델과 관계 데이터 모델의 특징을 결합해 데이터를 객체로 관리하면서도 관계형 데이터베이스의 기능을 제공. 복잡한 데이터 유형과 관계를 처리할 수 있으며 상속과 다형성 같은 객체 지향 특성을 관계형 데이터베이스 내에서 사용할 수 있게 함
1-6. Database의 유형
- 관계형 데이터베이스(RDBMS)
- 릴레이션(=테이블)을 기반으로 한 데이터베이스
- 같이 조화되는데 특화되어 있음(기억해두기)
- 원자성, 일관성, 고립성, 지속성
- 장점:
데이터 무결성을 유지하는데 효과적
강력한 쿼리 언어를 통해 복잡한 데이터 조작이 가능
데이터 정규화를 통해 중복성 최소화
- 단점:
복잡한 객체 관계를 표현하는데 한계가 있음
스키마 변경 어렵고, 비용이 많이 듦
- 관계형 데이터베이스를 사용하는 가장 큰 이유
- 한 번에 여러 테이블 조회
- 데이터 무결성
- 조회의 목적이 크다