본문 바로가기
🌈 백엔드/데이터베이스

DB_데이터베이스_개요

by 개발자 알마 2023. 4. 20.
반응형

 

[1] 데이터베이스의 정의와 특징


(1) 데이터베이스

1. 데이터 베이스의 정의

조직에서 필요로 하는 여러 응용 시스템을 공동으로 사용할수 있도록 관련 데이터를 통합하여 저장한 데이터의 집합 

 

2. 데이터베이스의 구성

  • 통합데이터 
  • 저장데이터
  • 운영데이터
  • 공용데이터

(2) 데이터베이스의 특징

1. 실시간 접근성

2. 계속적인 변화

3. 동시공유

4.내용에 의한 참조

 

(3) 데이터베이스의 논리적 구성요소

 

학생 = 개체

 

1. 속성 :

 

각각의 데이터 필드 (고유번호 , 이름 , 지역 )

객체의 성질이나 상태를 기술한 역할 

객체의 구성요소

가장 작은 논리적 단위 

 

 

2. 개체 :

- 여러 속성이 모여 개체가 된다 (학생)

- 정보의 역할을 수행하는 것은 개체이다 

- 개체의 구성요소 : 개체 타입 , 개체 어커런스 , 개체집합 ,  도메인

 

 

 

  • 개체 타입 : 개체를 구성하는 속성들의 집합 ; 표의 제목 

 

 

  • 개체 어커런스 : 개체 타입에 의해 생성된 실제 값 ; 레코드 

 

  • 개체 집합 : 개체 어커런스의 집합 

 

  • 도메인 : 속성이 가질수 있는 값의 집합이나 범위 

 

3. 관계

  • 속성관계 : 속성과 속성 사이의 관계
  • 개체관계 : 개체집합과 개체 집합 사이의 관계
  • 개체 관계의 종류  : 1:1 관계 , 1: 다 관계 , 다 : 다 관계 

 

 

[2] 데이터베이스의 구조


(1) 논리적 구조

- 일반 사용자와 프로그래머 측면의 데이터베이스를 정의한 구조 

- 취급 데이터 : 논리적 레코드

- 논리적 데이터베이스 : 논리적 레코드로 구성된 데이터베이스 

(2) 물리적 구조

- 디스크 , 테이프 같은 물리적 저장 장치 측면의 데이터베이스 

- 취급데이터 : 저장 레코드 

- 물리적 데이터 베이스 : 물리적 구조로 구성된 데이터베이스 

(3) 데이터베이스의 사상 맵핑

 

학생 = 개체

- 논리적 데이터베이스와 물리적 데이터베이스 사이의 대응관계 

- 논리적 데이터베이스로 만들어진 구조를 물리적 데이터 베이스의 어디에 저장할것인가 

 

 

 

[3] 파일시스템


(1) 파일시스템의 이해

1. 정의

- 특정 조직에서 사용하는 데이터를 파일로 만들어서 관리하는 시스템

 

2. 특징

 

- 응용프로그램은 논리적 파일 구조와 물리적 파일구조가 1:1 대응이 필요하다 

- 프로그래머는 물리적 데이터 구조를 알고 있어야 논리적 파일구조를 설계할수있다 

- 1개의 응용프로그램이 1개의 데이터 파일을 요구하므로 각각 응용프로그램 별로 관리해야한다 

 

 

(2) 파일시스템의 문제 

1. 데이터의 종속성

- 응용 프로그램과 데이터 간의 상호의존적인 관계가된다 

- 문제 : 데이터 구성 , 형식 , 접근방법이 변경되면 응용프로그램에서도 문제가 생길수 있다 

- 해결 : 응용프로그램과 데이터의 독립성 만든다

 

2. 데이터의 중복성

- 데이터 구조 중 일부 또는 전체가 중복이 있다 

- 문제 

  • 일관성 문제 : 데이터 불일치 발생하여 일관성이 없음. 데이터 모순이 생긴다 
  • 보안성 문제 : 데이터가 여러곳에 중복된 값이 확인되어 보안 수준의 유지가 어렵다 
  • 경제성문제 : 중복 데이터 저장을 위한 추가 저장공간이 필요하게 됨 . 중복된 데이터를 삭제하는 갱신 비용도 상승함
  • 무결성 문제 : 중복된 데이터로 인해 데이터의 정확성이 떨어짐

- 해결 : 데이터 중복 제거한다

 

 

 

[4] 데이터베이스 관리 시스템


(1) DBMS 의 등장 배경과 정의

1. DBMS의 등장 배경

- 파일시스템의 문제인 "데이터 종속성 , 데이터 중복성 " 을 해결하기 위해 제안된 시스템 

 

2. DBMS의 정의

- 모든 응용프로그램들이 데이터베이스를 공용 할수 있도록 관리하는 소프트웨어 시스템 

 

(2) DBMS 의 역할

 

- 모든 응용프로그램이 데이터베이스에 접근할때는 DBMS를 통해서만 가능하다

- DBMS는 데이터베이스의 구성, 접근방법, 관리유지를 책임진다

 

(3) DBMS의 필수기능

1. 정의기능

  • DBMS는 데이터의 논리적 구조와 특성을 데이터 모델에 맞게 기술한다
  • DBMS는 데이터베이스가 물리적 저장 장치에 저장될수 있도록 물리적 구조를 기술한다 
  • DBMS는 서로 다른 구조 사이의 변환이 가능하도록 사상을 기술한다

2. 조작기능

  • DBMS는 응용 프로그램과 데이터베이스간의 상호작용 수단을 제공한다
  • DBMS는 사용이 쉽고 자연스러워야한다
  • DBMS는 명확하고 완전해야한다
  • DBMS는 효율적이여야한다 

 

3. 제어기능

  • DBMS는 데이터베이스의 내용에 대해 정확성과 안정성을 유지할수 있도록 제언한다
  • DBMS는 데이터의 무결성을 유지한다
  • DBMS는 보안 유지 및 권한을 검사한다
  • DBMS는 병행 제어한다 

 

(4) DBMS의 장단점

 

DBMS 장점 DBMS 단점
데이터 중복 최소화 운영비 증대
데이터 공용 가능 자료처리의 복잡화
데이터 일관성 유지 예비조치와 회복 기법 복잡
데이터 무결성 유지 시스템의 취약성
데이터 보안 보장  
표준화 작업  

 

(5) 데이터의 독립성 

1. 논리적 데이터 독립성

- 데이터 베이스의 논리적 구조 변경이 가능하다 ( 응용프로그램 영향 안줌)

- 1개의 논리적 구조로 다양한 응용 프로그램이 요구하는 여러개의 논리적구조로 사상 매핍이 가능하다 

 

2. 물리적 데이터 독립성

-논리적 구조의 데이터베이스는 물리적 구조의 저장 매체에도 저장되어있다 

- 물리적 구조의 저장매체가 변경이나 확장되어도 응용프로그램에 영향을 주지 않는다 

 

 

 

[5] 데이터베이스 시스템


(1) 데이터베이스 시스템의 개념

1. 정의

- 데이터를 데이터베이스로 저장하고 관리에 필요한 정보를 생성하는 컴퓨터 시스템 

 

2. 데이터베이스 시스템의 구성요소

  • 데이터베이스 DB
  • 데이터베이스 관리 시스템 DBMS
  • 데이터베이스 언어 DBL 
  • 사용자 user
  • 데이터베이스 관리자 직업 DBA
  • 데이터베이스 컴퓨터 DBM

(2) 스키마 Schema

1. 정의

- 개체, 속성, 관계 같은 데이터 객체에 대한 데이터 구조와 제약 조건에 대해 명세를 기술한 것이다 

 

2. 3단계 데이터베이스 구조

 

  • 외부 스키마 : 서브 스키마 = 사용자 뷰 view 
  • 개념스키마 : 모든 데이터 객체 , 제약조건 포함 , 접근권한 / 보안 정책 / 무결성 규칙 , 종합적 의미의 논리적 구조 ; 전체적인 뷰
  • 내부스키마 : 레코드 인덱스의 유무 , 저장데이터 표현방법 , 물리적 저장 순서 등의 형식 정의 및 기술 ; 레코드의 물리적 구조

 

(3) 시스템 카탈로그

1. 정의

- 데이터 사전 ; 시스템 데이터베이스 

- 데이터베이스의 모든 데이터 객체들에 대한 정의 , 명세에 대한 정보를 유지 관리한다 

 

2. 데이터사전

- 데이터베이스에 저장된 데이터에 접근할수 있는 위치 정보를 관리하는 시스템

 

3. 메타 데이터

-시스템 카탈로그 , 데이터 디렉터리 같은 시스템 데이터 베이스 

 

(4) 데이터 언어

데이터 베이스를 정의하고 접근하기 위한 통신수단

 

1. 데이터 정의어 DDL 

- 데이터베이스 스키마를 정의하거나 조작하기 위한 언어 

 

2. 데이터 조작어 ; 데이터베이스 언어 DML

- 데이터베이스의 내부 데이터를 관리하기 위한 언어 

- 데이터 조회, 추가 , 변경, 삭제 등 작업에 이용된다 

 

3. 데이터 제어어 DCL 

- 데이터베이스 권한 부여하기 위한 언어

 

(5) 사용자

1. 일반사용자

2. 응용프로그래머

3. 데이터베이스 관리자

 

반응형

댓글