[Boostcourse] 풀스택/웹 프로그래밍(풀스택)

Mysql { DB 와 DBMS란? }

Ben의 프로그램 2023. 7. 18. 21:35
728x90
수업목표
프로그램에서 다루는 데이터가 많아질수록, 그 데이터를 동시에 사용하는 사람이 많아질수록 데이터의 관리는 어려워진다. 이러한 방대해지는 데이터를 쉽고 편리하게 다룰 수 있도록 등장한 것이 DBMS 입니다. 이번 시간에는 데이터베이스와 데이터베이스 매니지먼트 시스템에 대해서 알아보도록 하겠습니다. 

 

데이터베이스 & 데이터베이스 관리 시스템 { 정의 & 특성 }
데이터베이스는 무엇인가요? 데이터베이스 관리 시스템은 무엇인가요? 책과 사서를 예시로 이해해보겠습니다. 책 한권 한권이 데이터베이스라고 한다면 책들을 관리해주는 사서는 데이터베이스 관리 시스템이라고 말할 수 있습니다. 우리가 배우는 것은 데이터베이스 관리 시스템입니다. 하나씩 좀 더 살펴보도록 하겠습니다. 

1) 데이터베이스 정의
데이터베이스는 데이터의 집합을 의미합니다. 여러 응용 시스템(프로그램)들의 통합된 정보들을 저장하여 운영할 수 있는 공용(share) 데이터의 집합을 의미합니다. 효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 한다.

2) 데이터베이스 특성
- 실시간 접근성 Real-time Accessability : 사용자의 요구를 즉시 처리할 수 있다.
- 계속적인 변화 Continuous Evolution : 정확한 값을 유지하려고 삽입 삭제 수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있다.
- 동시 공유성 Concurrent Sharing : 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다. 
- 내용 참조 Content Reference : 저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 한다.

3) 데이터베이스 관리 시스템 정의
데이터베이스를 관리하는 소프트웨어를 의미합니다. 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 합니다. 우리는 mySql 이라는 DBMS 를 이용할 예정입니다. 이외에도 Oracle, SQL Server, DB2 등의 DBMS 가 있다. 

3) 데이터베이스 관리 시스템 필수 3기능
- 정의 기능 DDL : 데이터 베이스의 논리적, 물리적 구조를 정의
- 조작 기능 DML : 데이터를 검색, 삭제, 갱신, 삽입 하는 기능
- 제어 기능 DCL : 데이터베이스의 내용 정확성과 안전성을 유지하도록 제어하는 기능

 

데이터베이스 관리 시스템 { 장/단점 }
1. 장점
- 데이터 중복의 최소화 (만약 데이터베이스 관리 시스템을 사용하지 않는다면 우리는 파일 시스템을 통해서 데이터를 관리해야한다. 그럴 경우 파일에는 데이터가 중복이 되는지 등의 여부를 관리해주지 않는다)
- 데이터의 일관성 및 무결성 유지
- 데이터 보안 보장 

2. 단점
- 운영비가 비싸다 (mySql 은 무료이지만 Oracle 등의 상업적 DBMS 는 유료인 경우가 있다.)
- 백업 및 복구에 대한 관리가 복잡
- 부분적 데이터베이스 손실이 전체 시스템을 정지

 

 

 

 

 

 

 

출처 : boostcourse 웹 프로그래밍(풀스택) 
https://www.boostcourse.org/web316/lecture/20655?isDesc=false