0. 시작에 앞서.

- 지금 하는 프로젝트에서도 사용하는 mysql과 같은 데이터베이스를 기본적인 이론부분부터 다시 정리해보자.

 

1. 데이터 베이스란?

- 한 조직 내에서 필요로 하는 데이터를 공동으로 사용할 수 있도록 중복을 최소화하여 통합 저장한 데이터의 집합체. 데이터를 효율적으로 처리하기 위해 개발된 것으로, 데이터의 중복에서 오는 모순성을 제거할 수 있고 새로 개발된 응용 프로그램도 데이터베이스 내에 있는 기존의 데이터를 사용할 수 있음. 자료틀. 순화어는 `기초 자료'.

( 정의 출처 : Oxford Languages )

 

2. DBMS(DataBase Management System) 란?

 

- 데이터베이스를 관리할 수 있게 해주는 소프트웨어

- 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 제공해주고 데이터베이스를 관리해주는 소프트웨어

- 데이터의 종속성과 중복성 문제를 해결하기 위해 제안되었다.

- 데이터베이스의 구성, 접근방법, 유지관리에 대한 모든 책임을 진다.

- Oracle, MySQL, MSSQL 등이 있다.

 

 2-1. 데이터 종속성이란?

    - 데이터와 프로그램 사이에는 상호 의존관계가 있다.

    - 데이터에 대한 접근과 저장방법이 프로그램 안에 명세되어있다.

    - 그러므로 프로그램은 해당 데이터에 맞는 접근 방법으로 작성되어야 한다.

    - 따라서, 데이터의 속성이 변경되면, 이를 기초로 한 응용프로그램도 변경되어야 한다. 

      (반대로 프로그램의 데이터 저장방식에 따라 데이터의 저장방식이 바뀌기도 한다.)

    - 데이터 종속성 때문에 데이터의 구조가 바뀌면 프로그램도 수정해야 하므로 비용이 많이 들어간다.

    - 결국 데이터와 응용프로그램이 의존관계에 있다는 것이다.

 

2-2 데이터 중복성이란?

    - 같은 데이터를 사용하더라도, 그 사용방식에 따라 구조와 양식을 다르게 하여 사용하는 경우가 많이 존재한다.

    - 파일 시스템에서는 이러한 경우에 별도의 파일을 만들어 사용해야 한다.

    - 이러한 상황 발생시 같은 내용의 구조가 다른 데이터들이 많이 생겨나고, 하나의 시스템에서 같은 데이터가 중복되

      되게 저장 관리하는 것을 데이터 중복성이라고 한다.

    - 결국 같은 데이터가 중복된채 저장되어 있는 것이고, 이를 관리함에 있어 일부가 수정될 경우 같은 모든 중복데이터

       를 수정해주어야 한다. (그렇지 않으면 불일치성이 발생한다.)

 

3. DBMS 사용 효과

- 1. 중복성을 피해 공간 절약

- 2. 데이터의 일관성을 유지하기 편리

- 3. 데이터 무결성 유지

- 4. 데이터를 통합하여 관리가능

- 5. 보안을 유지하기에 편리하다.

- 6. 데이터베이스의 논리적 물리적 독립성을 보장

 

4. DBMS가 갖춰야할 기능

- 1. 정의 ( Definition )

    : 응용프로그램이 요구하는 데이터를 지원하기 위해 데이터베이스에 저장될 데이터의 타입과 구조, 이용방식, 제약 조

      건등을 정확히 명시하여야 하며, 데이터와 데이터 사이의 관계를 명확하게 명시해야 한다.

 

- 2. 조작 ( Manipulation )

    : 응용프로그램과 데이터베이스 사이에 인터페이스를 제공하여, 데이터 탐색, 수정, 삽입, 삭제를 할 수 있도록 한다.

 

- 3. 제어 기능 ( Control )

    : 데이터의 무결성을 유지하고, 보안에 관련된 부분을 제어해야 한다. 또한, 여러 사용자가 동시에 접근하여 수정할 때

      도 항상 정확성을 유지할 수 있도록 Concurrency control ( 동시(병행) 제어 ) 가 가능해야 한다. 

+ Recent posts