3.1 데이터베이스의 종류
종류 : 계층형 데이터베이스, 네트워크형 데이터베이스, 관계형 데이터베이스, NoSQL
3.1.1 데이터베이스란
데이터베이스 : 사용자나 프로그램에서 사용하기 위해 저장 및 관리하는 데이터 집합
특징
- 실시간 접근 : 데이터베이스에 언제든지 접근해 필요한 처리를 할 수 있다.
- 동시 공유 : 여러 사용자가 데이터베이스 접근할 수 있다.
- 지속적 변화 : 데이터의 갱신, 삽입, 삭제 등을 통해 계속해서 변화한다.
- 내용 기반 참조 : 데이터의 값을 이용해 데이터에 접근할 수 있다.
구성
- 개체(entity) : 데이터로 표현하려는 대상을 의미하며, 하나 이상의 속성으로 구성한다.
- 속성(attribute) : 개체의 특성과 상태를 나타내며, 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
- 관계(relationship) : 개체 간에 어떤 관련이 있는지 나타내며, 주로 동사로 표현한다.
스키마 : 데이터베이스의 전체적인 구조와 제약 조건을 명시하기 위해 사용
- 내부 스키마: 사용자 측면에서 데이터베이스의 전체 구조
- 개념 스키마: 데이터베이스의 전체 구조
- 외부 스키마: 물리적 저장장치 측면에서 데이터베이스의 구조
3.1.2 관계형 데이터베이스
데이터가 2차원 테이브에 저장되며 테이블을 이용해 데이터의 구조와 데이터간 종속성 등을 알 수 있다.
스키마를 바탕으로 데이터베이스의 구조를 정의하는데 스키마는 개체-관계 다이어그램(ERD, Entity-Relation Diagram) 또는 문자열로 표현 가능.
릴레이션(relation) : 데이터의 개념적 모델
테이블: 릴레이션을 실제로 구현한 개체
- 키와 값으로 이루어진 2차원 형태로 행과 열로 구성. (키: 테이블의 행을 식별할 수 있는 속성으로, 열에 해당, 값: 속성의 실제 데이터)
- 행(row) = 튜플(tuple) = 레코드(record) : 데이터 묶음
- 열(column) = 필드(field) : 이름과 타입을 가진 데이터의 속성
3.1.3 NoSQL 데이터베이스(Not Only SQL)
비관계형 데이터베이스로, 보다 유연한 형태의 데이터베이스. 다양한 형태의 데이터를 저장할 수 있다.
(도큐먼트, 그래프, 키-값, 와이드컬럼)
- 대용량 데이터를 조회할 때 속도 면에서 유리
- 수평적 확장성이 좋아 서버를 추가해 데이터베이스를 확장하기도 쉬움.
* 계층형 데이터베이스
-> 데이터 간에 부모-자식 관계를 갖는 트리 형태의 데이터베이스.
-> 개체 간 1:N 관계를 갖기 때문에 일대다 관계라고도 한다.
* 네트워크형 데이터베이스
-> 트리 형태의 데이터베이스이나 계층형 데이터베이스와 달리 개체간 N:M 관계를 갖는 그래브 구조를 이룬다.
'CS' 카테고리의 다른 글
3.2 관계형 데이터 베이스에서 사용하는 개념 (0) | 2023.12.15 |
---|---|
앱서버 웹서버 (2) | 2023.12.12 |
2. 예상 질문 (0) | 2023.12.04 |
2. 컴퓨터 네트워크 정리 (0) | 2023.12.04 |
2.4 REST (0) | 2023.12.04 |