Notice
Recent Posts
Link
Tags
- 프로그래머스
- 문자열
- nginx
- spring security 6
- Django
- string
- PYTHON
- session
- join
- spring
- DI
- Docker
- Git
- 데이터베이스
- sql
- SSL
- select
- jpa
- 자바
- java
- spring boot
- springboot
- mysql
- 스프링부트
- 1차원 배열
- spring mvc
- AWS
- 스프링
- @transactional
- ORM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Archives
개발하는 자몽
2. 데이터베이스 관리 시스템 본문
위 강의와 데이터베이스 개론(2019, 김연희 지음) 책을 바탕으로 작성하는 글입니다.
데이터베이스 관리 시스템의 등장 배경
파일 시스템(file system)
- 데이터를 파일로 관리하기 위해 파일을 생성/삭제/수정/검색하는 기능을 제공하는 소프트웨어
- 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함 → 같은 내용의 데이터가 여러 파일에 중복 저장될 수 있음
파일 시스템의 문제점
- 같은 내용의 데이터가 여러 파일에 중복 저장된다 → 내용이 변경되었을 때 중복된 데이터를 모두 수정하지 않으면 데이터 불일치로 인해 데이터의 일관성, 무결성을 유지하기가 어려움(한계점)
- 응용 프로그램이 데이터 파일에 종속적이다 → 사용하는 파일에 맞게 응용 프로그램이 작성되므로 데이터 파일의 구조가 변경되면 응용 프로그램도 다시 설계해야함
- 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다
- 응용 프로그램 개발이 쉽지 않다 → 파일에서 기본적인 특징이나 구조, 데이터 관리 기능을 각각의 응용 프로그램이 갖고 있어야 하므로 개발이 쉽지 않음
파일 시스템의 주요 문제점
- 같은 내용의 데이터가 여러 파일에 중복 저장된다 → 데이터 중복성(data redundancy)
- 저장 공간의 낭비
- 데이터 일관성(data consistency) 및 무결성(data integrity)을 유지하기 어려움
- → 이러한 점을 해결하기 위해 데이터베이스 관리 시스템이 등장
: 별도의 파일로 관리하는 것이 아닌 데이터를 통합하여 효율적으로 관리
- 응용 프로그램이 데이터 파일에 종속적이다 → 데이터 종속성(data dependency)
- 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함
데이터베이스 관리 시스템의 정의 및 특성
데이터베이스 관리 시스템
- DBMS(DataBase Management System)
- 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
- 파일 시스템의 문제점 : 종속성, 중복성 -- 해결 --> 데이터베이스 관리 시스템
- 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함
데이터베이스 관리 시스템에서의 데이터 관리
- 별도의 파일로 저장되어 관리되고 있던 데이터들을 통합, 저장해서 하나의 데이터베이스로 관리
- 데이터베이스에 저장되어 있는 데이터들을 검색, 삽입, 수정할 수 있는 기능을 제공
- 응용 프로그램들은 DBMS를 공유해서 사용
데이터베이스 관리 시스템의 주요 기능
- 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있다.
- 조작 기능 : 데이터를 삽입/삭제/수정/검색하는 연산을 할 수 있다.
- 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다.
데이터베이스의 장단점
장점
- 데이터 중복 통제
- 데이터 독립성 확보 ← 파일 시스템에서의 종속성 문제 해결
- 데이터 동시 공유
- 데이터 보안 향상
- 데이터 무결성(accuracy) 유지
- 표준화
- 장애 발생 시 회복 가능
- 응용 프로그램 개발 비용 감소
단점
- 비용 문제
- 복잡한 백업, 회복 방법
- 중앙 집중 관리로 인한 취약점
데이터베이스 관리 시스템의 발전 과정
크게 4세대로 분류하고, 사용하는 데이터 모델에 따라 네트워크 DBMS, 계층 DBMS, 관계 DBMS, 객체지향 DBMS, 객체관계 DBMS, NoSQL, NewSQL로 나눈다.
- 1세대 : 네트워크 DBMS, 계층 DBMS
- 2세대 : 관계 DBMS
- 3세대 : 객체지향 DBMS, 객체관계 DBMS
- 4세대 : NoSQL DBMS, NewSQL DBMS
'Database' 카테고리의 다른 글
데이터의 분류 (0) | 2022.01.09 |
---|---|
3. 데이터베이스 시스템 (0) | 2022.01.09 |
1. 데이터베이스 기본 개념 (0) | 2022.01.05 |
SQL 명령어 (0) | 2021.12.31 |
MySQL Server, Workbench (0) | 2021.12.30 |
Comments