본문 바로가기
DataBase

데이터베이스와 데이터베이스 시스템

by 스파이디웹 2020. 2. 25.
728x90

※데이터(data):

-관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값

 

※정보(information):

-데이터에 의미를 부여한 것을 말함

 

※지식(knowledge):

-사물이나 현상에 대한 이해

 

※스키마(schema):

-조직이나 구조

 

※데이터베이스(database):

-조직의 운영에 필요한 정보를 통합하여 저장한 공유 데이터

 

※데이터베이스 시스템:

-조직에서 사용하던 데이터를 모아서 통합하고 서로 공유하여 생기는 장점을 이용하는 시스템.

-데이터베이스 관리 시스템(DBMS), 데이터베이스, 데이터 모델로 이루어짐.

 

1.DMBS:

-사용자와 데이터베이스를 연결시켜주는 소프트웨어로 주기억장치에 상주(my sql,oracle, MSSQL, DB2)

 

2.데이터베이스:

-데이터베이스에서 베이스는 물건의 밑 부분이나 개념의 토대를 의미하는 것으로 데이터베이스는 데이터를 모아둔 토대를 말함.

-물리적으로는 컴퓨터 내부의 하드디스크에 저장

 

3.데이터 모델:

-데이터가 저장되는 기법에 관한 내용으로, 눈에 보이지 않는 논리적인 개념이다.

-가전제품에 붙여진 모델 번호가 제품의 특성을 나타내듯이 데이터 모델은 데이터가 저장되는 스타일

 

※정보 시스템의 발전

1.파일 시스템

-데이터를 파일 단위로 파일 서버에 저장

-컴퓨터는 LAN(Local Area Network)을 통하여 파일 서버에 연결되어 있고, 파일 서버에 저장된 데이터를 사용하기 위해

각 컴퓨터의 응용 프로그램에서 열기/닫기를 요청한다.

-파일 시스템은 각 응용 프로그램이 독립적으로 파일을 다루기 때문에 데이터가 중복 저장될 가능성이 있고, 동시에 파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있다.

 

2.데이터베이스 시스템

-DMBS를 도입하여 데이터를 통합 관리하는 시스템

-클라이언트-서버 시스템(C/S), 데이터를 가진 쪽이 서버, 외부에서 데이터를 요청하는 쪽이 클라이언트

-DMBS서버가 파일을 다루며 데이터의 일관성 유지, 복구, 동시 접근 제어 등의 기능을 수행

-데이터를 저장하기 전 설계 과정을 거치기 때문에 데이터의 중복을 줄이고, 데이터를 표준화하며, 무결성을 유지

 

3.웹 데이터베이스 시스템

-데이터베이스를 웹 브라우저에서 사용할 수 있도록 서비스하는 시스템이다.

-클라이언트는 익스플로러 웹 브라우저 프로그램으로 웹 서버에 접속한 후 데이터를 요청하며, 웹 서버는 DBMS 서버에 요청을 전달하다.

-요청된 데이터는 사용자에게 전달

-웹 데이터베이스 시스템은 불특정 다수 고객을 상대로 하는 온라인 상거래나 공공 민원 서비스 등에 사용.

 

4.분산 데이터베이스 시스템

-데이터가 발생하는 곳이 여러 곳이면 각각 데이터베이스를 운영

-여러 곳에 분산된 DBMS 서버를 연결하여 운영하는 시스템으로 대규모의 응용 시스템에 사용

 

※데이터베이스 시스템의 구성

 

※데이터베이스 사용자

1.일반 사용자

-데이터베이스에 접근하여 데이터의 검색, 삽입,삭제,수정 작업

-자신이 DBMS를 이용하는지 알지 못한다.

 

2.응용 프로그래머

-일반 사용자가 사용할 수 있도록 프로그램을 만드는 사람

-프로그래밍 언어와 SQL을 사용하여 일반 사용자를 위한 사용자 인터페이스와 데이터를 관리하는 응용 로직을 개발함.

 

3.SQL 사용자

-SQL을 사용하여 업무를 처리하는 IT 부서의 담당자로, 응용 프로그램으로 구현되어 있지 않은 업무를 SQL을 사용하여 처리한다.

-데이터 검색, 데이터 구조 변경,  데이터에 관한 통계 처리 등 데이터를 모니터링하는 업무를 하거나 보고서 형태로 만들어 상부에 보고하는 업무

 

4.데이터베이스 관리자

-데이터베이스 운영 조직의 데이터베이스 시스템을 총괄하는 사람

-데이터 설계,구현,유지보수의 전 과정을 담당한다.

-데이터베이스 사용자 통제, 보완, 성능 모니터링, 데이터 전체파악 및 관리, 데이터 이동 및 복사 등 제반 업무

 

※DBMS의 기능

1.데이터 정의:

-데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행

 

2.데이터 조작:

-데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 검색, 삽입, 수정, 삭제 작업을 지원

 

3.데이터 추출:

-사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출

 

4.데이터 제어:

-데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어

-백업과 회복,동시성 제어 등의 기능을 지원

 

※데이터 모델

-데이터 모델을 구분하는 가장 큰 기준은 데이터들 간에 관계를 표현하는 방법

 

1.포인터 사용: 계층 데이터 모델, 네트워크 데이터 모델

-포인터를 사용하는 방법은 데이터를 직접 찾아갈 수 있어서 프로그램 속도는 빠르지만 포인터를 다루는 프로그래밍을 해야 하기 때문에 응용 프로그램 개발 속도 면에서 느리다는 단점이 있다.

 

2.속성 값 사용: 관계 데이터 모델

-포인터를 사용하는 방법보다 속도는 조금 느리지만 개념이 쉽고 프로그램 개발이 빠르기 때문에 관계 데이터 모델을 비롯한 많은 데이터베이스 시스템에서 이 방법을 사용

 

3.객체식별자 사용: 객체 데이터 모델

-객체 데이터 모델에서 사용하며 객체지향 언어의 상속, 캡슐화 등의 개념을 도입

 

※3단계 데이터베이스 구조

1.외부 단계:

-일반 사용자나 응용 프로그래머가 접근하는 계층으로 전체 데이터베이스 중에서 하나의 논리적인 부분을 의미

-여러 개의 외부 스키마가 있을 수 있다.

-서브 스키마라고도 하며, 뷰의 개념

 

2.개념 단계:

-전체 데이터베이스의 정의를 의미

-통합 조직별로 하나만 존재하며 DBA가 관리

-하나의 데이터베이스에는 하나의 개념 스키마가 있다.

-저장장치에 독립적으로 기술되며, 데이터와 관계, 제약사항, 무결성에 대한 내용이 포함

 

3.내부 단계:

-물리적 저장장치에 데이터베이스가 실제로 저장되는 방법을 표현

-내부 스키마는 하나

-인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함

 

-DBMS는 매핑(mapping)(사상)을 통하여 각 단계 간 대응 관계를 정의

 

-매핑은 개념 스키마의 어느 부분이 외부 스키마가 되는지 또는 개념 스키마가 어떤 물리적인 표현을 통하여 내부 스키마가 되는지에 따라 두 가지로 나뉜다.

 

-외부/개념 매핑:

사용자의 외부 스키마와 개념 스키마 간의 매핑(사상)으로 외부 스킈마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킨다.

 

-개념/내부 매핑:

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

 

※데이터 독립성

-3단계 데이터베이스 구조의 특징은 데이터 독립성

-하위 단계의 내용을 추상화하여 상위 단계에 세부 사항을 숨김으로써 한 단계 내의 변경에 대해서 다른 단계와 상호 간섭이 없도록 하는 것.

 

-논리적 데이터 독립성:

외부 단계/ 개념 단계 사이의 독립성으로, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원함

 

-물리적 데이터 독립성:

개념 단계/ 내부 단계 사이의 독립성으로, 저장장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원함. 물리적 독립성은 논리적 독립성보다 구현하기 쉽다.

728x90

'DataBase' 카테고리의 다른 글

oracle DBMS와 MySQL DBMS의 문법차이  (0) 2020.04.16
데이터베이스 프로그래밍  (1) 2020.03.06
SQL 고급  (0) 2020.03.03
SQL기초  (0) 2020.02.26
관계 데이터 모델의 개념  (0) 2020.02.26

댓글