-
데이터 베이스 기본 개념
- 기존의 데이터를 저장하는 방식의 경우 데이터의 중복 저장 및 효율적인 데이터 처리가 불가능함
- 데이터베이스는 이러한 문제를 해결하기 위해 데이터의 중복을 제거하고 데이터의 효율적인 사용을 목표로 함
- 데이터베이스는 구조적, 관계형, 객체지향형 등으로 구분되며 대부분의 데이터베이스는 관계형 데이터베이스를 주로 사용한다.
- 데이터베이스를 효과적으로 운영하고 설계하기 위해서는 DBMS(소프트웨어)이 필요함.
-
데이터베이스의 장점
- 데이터의 중복을 최소화하고 데이터의 무결성을 유지할 수 있다.
- 일관성있는 데이터 관리를 할 수 있으며 데이터의 보안이 보장된다.
-
무결성
- 테이블에 정의되는 데이터의 형식을 정의할 수 있다.(Type 지정)
- 실체 무결성 : 데이터의 유일성을 보장하는 무결성 (Primary key)
- 참조 무결성 : 데이터의 참조 연결(Foreign key)
- 컬럼 무결성 : 지정된 데이터 형식을 만족하는 값만 포함하는 무결성
-
데이터베이스 기본 구조
- 데이터 저장소 내부에 각각의 관리 목적을 갖는 DB가 생성이 되며 각 DB 하위에는 테이블이 존재한다.
- 테이블은 행에서 데이터의 속성값을 정의하고 열에는 실제 값(Value)이 저장된다.
- DB 하위에 테이블속에 Colume(속성) & Value(실제 값) 존재
-
DBMS
- 기본적으로 데이터베이스를 응용프로그램이 직접 관리하는 것이 아닌 데이터 베이스를 효과적으로 설계 운영 복구 할 수 있도록 도와주는 SW를 의미함
- 시대적으로 발전해 왔으며, 데이터베이스의 구조에 따라 사용되는 DBMS가 다름
- 대표적으로 RDBMS로 Oracle, MS-SQL, MySQL(MariadDB) 등이 있음
-
DBMS 특징
- Real Time Accessibilities : 데이터를 실시간 처리 (생성된 데이터를 즉 전달하여 처리되는 방식)
- Continuous Evolution : 데이터 입력, 삭제, 수정 등의 처리가 수시로 이루어 진다.
- Councrrent Sharing : 여러 사용자가 자신이 원하는 데이터를 동시 접근하여 사용 가능하다.
- Content Referemce : 데이터의 주소나 위치가 아닌 사용자 요구에 따른 데이터 참조되어 진다.
-
DBMS 기능
-
정의 기능
- DB, 테이블 인덱스 뷰, 트리거, 시퀀스 정의
- 응용 프로그램과 데이터베이스 간의 인터페이스를 제공
- 논리적 구조 명세
- 물리적 구조 명세
-
조작 기능(Manipulation)
- 데이터의 검색 삽입 삭제 수정 등의 기능 제공
- 사용자와 데이터 베이스 간의 인터페이스를 제공
-
제어 기능
- 권한 부여 및 제거
- 데이터의 정확성 및 안정성을 유지 (보안, 복구, 백업)
- 데이터베이스 자체를 제어하는 기능
-
RDBMS
- 관계형 데이터베이스로 데이터들간의 사전에 정의된 연결 관계가 형셩되어 있는 데이터 베이스 구조를 의미함
- 각 데이터의 항목은 열과 행의 집합인 테이블로 구성됨
- 테이블의 관계 형성을 통해 데이터를 관리할 수 있도록 구성되어 있다.
- 테이블은 1:1, 1:n, n:n 형식의 관계를 맺을 수 있다.
- 테이블은 기본키를 이용하여 자신의 고유 식별 값을 갖을 수 있으며 다른 여러 테이블과의 관계 형성을 위해 외래키를 사용한다.
- 테이블들의 관계를 얼마나 체계적으로 맺고 관리하게 구성을 했는가에 따라 성능의 차이가 발생함(정규화에 따른 성능 비용)
- 데이터베이스는 만능 사용자들의 요청에 대한 다양한 처리를 안정적으로 제공하기 위한 기능 구현되어 있다.