가자미의 개발이야기

[데이터베이스]데이터베이스 시스템의 개념 본문

Computer Science/데이터베이스

[데이터베이스]데이터베이스 시스템의 개념

가자미 2021. 2. 9. 18:40

1. 데이터베이스 시스템

-DBMS(Database Management System) : 사용자와 데이터베이스를 연결시켜주는 소프트웨어

-데이터베이스 : 데이터를 모아둔 토대. 컴퓨터 내부 하드디스크에 저장

-데이터 모델 : 데이터가 저장되는 기법에 대한 논리적인 내용. 데이터가 저장되는 스타일을 나타냄.

 

2. 데이터베이스 시스템의 발전

실체 시스템 파일 시스템 데이터베이스 시스템 웹 데이터베이스
시스템
분산 데이터베이스
시스템
1970년대
정보 시스템 없음
수작업 회계
1980년대
데이터를 파일 단위로
파일서버에 저장.
LAN으로 컴퓨터와 연결.
독립적으로 파일을 다루기 때문에 중복 저장 및 일관성 훼손의 문제.
DBMS도입, 통합관리.
클라이언트-서버 개념 도입
설계 과정 도입으로 중복을 줄이고 데이터 표준화와 무결성을 유지
데이터베이스를 웹에서도 사용할 수 있음
클라이언트=웹서버-DBMS서버로 연결
여러 곳에 분산된 DBMS 서버를 연결해 운영하는 시스템.

3. 데이터베이스 저장

구분 파일 시스템 DBMS
데이터 정의 및 저장 정의 : 응용 프로그램/저장: 파일 시스템 정의 : DBMS/저장 : 데이터베이스
데이터 접근방법 응용 프로그램이 직접 파일에 접근 응용 프로그램이 DBMS에 접근을 요청
사용 언어 자바, c 등.. 자바, c 등 과 SQL
CPU/주기억장치 사용 적음 많음
데이터 중복 파일 단위로 저장하므로 중복 가능성 높음 DBMS로 데이터를 공유하기 때문에 낮음
데이터 일관성 중복 저장으로 일관성 낮음 중복 제거로 일관성 높음
데이터 독립성 데이터 정의와 프로그램의 독립 유지 불가 독립유지 가능
데이터 관리 기능 보통 복구, 보안, 동시성 제어 등 을 수행
기타 장점 별도의 소프트웨어 설치가 필요 x 데이터 무결성 유지, 데이터 표준 준수 용이

4. 데이터베이스 시스템의 구성

a. 데이터베이스 언어(sql)

-데이터 정의어 : DBMS에 저장된 테이블 구조를 정의 (CREATE, ALTER, DROP)

-데이터 조작어 : 데이터를 검색, 삽입, 삭제, 수정하는 데 사용 (SELECT,INSERT, DELETE, UPDATE)

-데이터 제어어 : 데이터 사용 권한을 관리 (GRANT, REVOKE)

 

b.데이터베이스 사용자

-일반 사용자

-응용 프로그래머 : 일반 사용자가 사용할 수 있도록 프로그램 만듬

-SQL 사용자 : 데이터 모니터링 등

-데이터베이스 관리자 : 데이터베이스 시스템 총괄

 

c.DBMS

-DML/DDL 컴파일러 : SQL을 변역

-Embedded DML 컴파일러 : 응용 프로그램에 삽입된 SQL을 번역

-질의처리기 : 번역된 SQL을 처리하는 알고리즘

 

d.데이터 모델

구분 장점 단점
포인터 사용(계층 모델, 네트워크 모델) 포인터값을 저장하는 방식.
직접 찾아가서 속도는 빠름
개발 속도가 느림
속성 값 사용(관계 데이터 모델) 속성값을 데이터에 저장하는 방식.
개념이 쉽고 개발이 빠름
직접적인 포인터는 없음.
포인터 방식보다 느림
객체식별자 사용(객체 데이터 모델) 고유 식별자인 object id(oid)를 저장하는 방법.
상속, 캡슐화 등 객체 개념 지원
 

5. 데이터베이스의 개념적 구조

외부 스키마 사용자가 보는 데이터
개념 스키마 전체 데이터
내부 스키마 DBMS가 보는 데이터
데이터베이스(물리적 구조)  

a. 외부 단계

-일반 사용자나 응용 프로그래머가 접근
-하나의 논리적인 부분. 여러 개가 있을 수 있음

-서브 스키마라고도 함. 뷰의 개념.

ex. 학교 데이터베이스 일때, 학생처의 학생 정보, 교무처의 수강 정보 등

 

b. 개념 단계

-전체 데이터베이스의 정의. 하나만 존재.

-저장 장치에 독립적으로 기술.

-데이터와 관게, 제약사항, 무결성에 대한 내용 포함.

ex. 학생 정보, 수강 정보 등이 모두 모인 대학 전체 데이터 베이스

 

c. 내부 단계

-물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법. 하나만 존재

-인덱스, 레코드 배치 방법, 데이터 압축 등 포함

 

※매핑 : 각 단계 간 대응 관계를 정의.

-외부/개념 매핑 : 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응

-개념/내부 매핑 : 개념 스키마의 데이터가 내부 스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지 대응.

 

※데이터 독립성 :하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨김. 한 단계에서 변경에 대해 다른 단계와 상호 간섭이 없도록 하는 것.

-논리적 데이터 독립성 : 외부-개념 사이의 독립성. 개념 스키마가 변경되도 외부 스키마에는 영향 없도록.

-물리적 데이터 독립성 : 개념-내부 사이의 독립성. 저장장치 구조 변경 등 내부 스키마가 변경되도 개념 스키마에 영향 없도록.