일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- PYTHON
- Algorithm
- 레디스
- db
- 완전탐색
- It
- jpa
- BFS
- 아키텍처
- 캐싱
- deque
- OS
- HTML
- 자료구조
- 영속성 컨텍스트
- DFS
- nosql
- 프로그래머스
- 운영체제
- 플로이드-워셜 알고리즘
- redis
- javascript
- java
- 백준
- CS
- 데이터베이스
- 알고리즘
- Dijkstra
- Data structure
- CSS
- Today
- Total
If at first you don't succeed, try again
[DB] 데이터베이스의 개념 본문
* 데이터
- 현실에 존재하는 사실적인 자료들의 집합으로 예를 들어 온도, IQ 등과 같이 그 자체로는 단순한 사실만을 나타내는 것
* 데이터의 특성
- 통합 데이터 : 데이터들이 모여 있으면 중복되는 데이터들이 있을 수밖에 없다. 그러한 데이터들을 통합하여 중복되는 데이터를 줄이는 것을 '통합 데이터' 라고 한다.
- 저장 데이터 : 종이에 쓰인 문서나 책 등이 아니라 컴퓨터 내부에 저장되어 있는 데이터를 의미하는 것을 '저장 데이터' 라고 한다.
- 운영 데이터 : 조직을 운영하는 데 도움이 되는 데이터들이 저장되는 데이터를 '운영 데이터' 라고 한다.
- 공유 데이터 : 개개인의 필요에 의해 모인 데이터가 아니라, 공동의 필요에 의해 저장되는 데이터를 '공유 데이터' 라고 한다.
* 데이터베이스
- 데이터들이 가치를 지니려면, 이들 사이에 논리적인 연관성이 있어야 한다. 논리적으로 연관된 데이터들을 체계화해서 여러 사람이 공유하여 사용할 목적으로 통합한 것을 데이터베이스라고 한다.
* 데이터베이스의 특징
- 실시간 접근성 : 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 한다.
- 지속적인 변화 : 데이터베이스는 동적인 특성을 지닌다. 그러므로 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지해야 한다.
- 동시 공유 : 데이터베이스는 서로 다른 목적을 가진 사용자들을 위한 것이므로 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 한다.
- 내용에 따른 참조 : 데이터베이스에 있는 데이터를 참조할 때, 데이터의 주소나 위치에 의해서가 아닌 사용자가 요구하는 데이터의 내용을 찾는다.
* 데이터베이스 관리 시스템(DBMS)
- 데이터베이스를 효율적으로 관리하기 위해 만들어진 시스템이다. DBMS는 사용자와 데이터베이스의 중간 다리 역할을 하며 데이터의 통합적인 관리를 할 수 있는 소프트웨어이다.
* DBMS의 세 가지 기능
- 정의 기능 : 응용 프로그램이 요구하는 데이터베이스 구조를 지원하고 생성, 변경, 제거할 수 있다. 여기서 구조를 조작한다는 것은 테이블을 조작한다는 의미이다. 'DDL' 이라고도 한다.
- 조작 기능 : 데이터베이스에 접근하여 사용자가 요구하는 데이터를 삽입, 갱신, 삭제할 수 있다. 여기서 데이터를 조작한다는 것은 테이블 내의 데이터를 조작한다는 의미이다. 'DML' 이라고도 한다.
- 제어 기능 : 데이터베이스에 접근할 수 있는 사용자를 제한하고 성능을 관리할 수 있다. 또한 동시에 접근하려는 사용자들에 의해 데이터가 부정확해지는 문제가 발생하지 않도록 제한하는 기능을 한다. 'DCL' 이라고도 한다.
* 데이터베이스 모델
- 데이터를 저장하는 형식에 따라 계층형, 네트워크형, 관계형, 객체 - 관계형, NoSQL 데이터베이스로 구분된다. 이는
각각의 데이터베이스가 등장한 시기에 따른 순서이다.
* 데이터베이스의 유형
- 계층형 데이터베이스 : 계층에 따라 조직화한 데이터베이스이다.
- 네트워크형 데이터베이스 : 부모 여럿과 자식 여럿이 연결되는 다대다 관계를 표현하여 계층형 데이터베이스의 단점을 보완한 데이터베이스이다.
- 관계형 데이터베이스 : 현재 가장 주류를 이루고 있는 데이터베이스로, 데이터를 행과 열로 구분하는 2차원 테이블 형태로 구성하여 관리하는 데이터베이스이다.
- 객체 - 관계형 데이터베이스 : 관계형 데이터베이스 시스템에 객체지향 개념의 장점들을 추가한 데이터베이스이다.
- NoSQL 데이터베이스 : Not Only SQL의 줄임말로, 기존의 관계형 데이터베이스의 단점을 보완하여 성능을 높이는 특징을 가지고 있다. 생산성이 필요하고, 데이터의 규모가 큰 곳에서 쓰기 위한 데이터베이스이다.
'DB' 카테고리의 다른 글
[DB] 인덱스의 종류 및 쿼리 튜닝 - MySQL (0) | 2025.03.08 |
---|---|
[DB] Index 실습(대용량 데이터 처리) - MySQL (0) | 2025.03.08 |
[DB] 트랜잭션 (0) | 2025.02.07 |
[DB] SQL의 개념 (0) | 2021.09.10 |