개체 관계 모델

1) 개체 (Entity)

현실 세계에서 조직을 운영하는 데 꼭 필요한 구별되는 모든 것.

구별되는 이름, 각 개체만의 고유한 특성이나 상태(속성)을 가진다.

 

개체 인스턴스(어커런스) : 개체를 구성하는 속성이 실제 값을 가짐으로서 실체화됨

개체 집합 : 특정 개체 타입에 대한 개체 인스턴스를 모아 놓은 것

 

2) 속성

개체가 가지고 있는 고유의 특성

의미 있는 데이터의 가장 작은 논리적 단위

 

(1) 단일 값 속성 / 다중 값 속성

- 단일 값 속성 : 특정 개체를 구성하는 속성의 값이 하나일 때. E-R 다이어그램에서 타원.

- 다중 값 속성 : 속성 값이 여러개일 때. E-R 다이어그램에서 이중 타원으로 표시.

 

(2) 단순 속성과 복합 속성

단순 속성 : 의미를 더 이상 분해할 수 없는 속성

복합 속성 ; 의미를 분해할 수 있어 여러 개의 의미를 포함

 

(3) 유도 속성

값이 별도로 저장되는 것이 아니라 기존의 속성 값에서 유도되는 속성 점선 타원

생년월일에서 나이 속성. 가격과 할인율에서 판매가격

 

(4) 널 속성

아직 결정되지 않았거나 모르는 값. 0, 공백과는 다르다.

 

 

(5) 키 속성

각 개체 인스턴스들을 식별하는데 사용되는 속성

키 속성의 값은 각 개체 인스턴스마다 달라야 함. E-R 인스턴스에서 밑줄로 표현

 

3) 관계

개체와 개체가 맺고 있는 의미 있는 연관성.

개체 집합들 사이의 대응 관계, 매핑

E-R 다이어그램에서 마름모로 표현됨

 

 

출처

김연희, 데이터베이스 개론, 한빛아카데미, 2019

이영호, 가천대학교 데이터베이스 수업, 가천대학교, 2019

'Study > DataBase' 카테고리의 다른 글

데이터 모델링  (0) 2019.11.13
데이터 언어와 DBMS의 구성  (0) 2019.11.13
데이터베이스 사용자  (0) 2019.10.31
데이터베이스의 구조  (1) 2019.10.31
ACID  (0) 2019.10.11

데이터 모델링

1) 데이터 모델링

현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 작업

추상화 과정을 통해 데이터를 간결하게.

데이터 구조에 저장할 수 있도록 개념 세계로 옮긴 후 컴퓨터 세계로 옮김

 

2) 데이터 모델

데이터 구조 : 데이터를 어떤 모습으로 => 논리적 구조

연산 : 실제로 표현된 값들을 처리하는 작업, 동적

제약조건 : 구조적 측면, 의미적 측면

 

개념적 데이터 모델링 + 논리적 데이터 모델링 = 데이터베이스 설계

 

 

출처

김연희, 데이터베이스 개론, 한빛아카데미, 2019

이영호, 가천대학교 데이터베이스 수업, 가천대학교, 2019

'Study > DataBase' 카테고리의 다른 글

개체 관계 모델  (0) 2019.11.13
데이터 언어와 DBMS의 구성  (0) 2019.11.13
데이터베이스 사용자  (0) 2019.10.31
데이터베이스의 구조  (1) 2019.10.31
ACID  (0) 2019.10.11

데이터 언어

1) 데이터 정의어 : 스키마를 정의하거나 수정, 삭제하기 위해서 사용

2) 데이터 조작어 : 데이터의 CRUD를 처리하기 위해서 사용한다.

절차적 데이터 조작어 : 어떤 데이터를 원하고 해당 데이터를 얻으려면 어떻게 처리해야 할지 설명한다.

비절차적 데이터 조작어 : 어떤 데이터를 원하는지만 설명, 어떻게는 DBMS에 맡김. 선언적 언어

3) 데이터 제어어 : 내부적으로 필요한 규칙이나 기법을 정의하기 위해서 사용.

무결성, 보안, 회복, 동시성을 보장하기 위해서 사용됨.

 

데이터베이스 관리 시스템의 구성

1) 질의 처리기

사용자의 데이터 처리 욕구를 해석하여 처리하는 역할을 담당

 

> 데이터 정의어 컴파일러(DDL컴파일러) : 데이터 정의어로 작성된 스키마의 정의 해석

> DML 프리 컴파일러 : 응용 프로그램에 삽입된 데이터 조작어 추출

> DML컴파일러 : 데이터 조작어 (CRUD) 해석

> 런타임 데이터베이스 처리기 : 저장 데이터 관리자를 통해 데이터베이스 접근. 전달받은 데이터 처리 요구를 실제 실행

> 트랜잭션 관리자 : 접근 권한, 데이터 무결성 제약조건 판단, 회복 병행제어 관리.

 

2) 저장 데이터 관리자

운영체제의 도움을 받아 디스크에 저장된 데이터베이스와 데이터 사전 관리. 접근.

 

 

출처

김연희, 데이터베이스 개론, 한빛아카데미, 2019

이영호, 가천대학교 데이터베이스 수업, 가천대학교, 2019

'Study > DataBase' 카테고리의 다른 글

개체 관계 모델  (0) 2019.11.13
데이터 모델링  (0) 2019.11.13
데이터베이스 사용자  (0) 2019.10.31
데이터베이스의 구조  (1) 2019.10.31
ACID  (0) 2019.10.11

1) 데이터베이스 관리자

- 데이터베이스를 운영 관리

> 데이터베이스 구성 요소 선정

> 데이터베이스 스키마 정의

> 물리적 저장 구조와 접근 방법 설정

> 무결성 유지를 위한 제약조건 정의

> 보안 및 접근 권한 정책 결정

> 백업 및 회복 기법 정의

> 시스템 데이터베이스 관리

> 시스템 성능 감시 및 성능 분석

> 데이터베이스 재구성

 

2) 최종 사용자

- 데이터를 CRUD 하기 위해 데이터베이스에 접근하는 사용자

- 최종 사용자 (end user) = 일반 사용자

 

3) 응용 프로그래머

응용 프로그램을 작성할 때 데이터 조작어를 사용하는 사용자

'Study > DataBase' 카테고리의 다른 글

데이터 모델링  (0) 2019.11.13
데이터 언어와 DBMS의 구성  (0) 2019.11.13
데이터베이스의 구조  (1) 2019.10.31
ACID  (0) 2019.10.11
OLTP와 OLAP  (0) 2019.10.10

2. 데이터베이스의 구조

1) 스키마

스키마 : 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것.

인스턴스 : 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값

 

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

(1) 외부 단계

- 개별 사용자의 관점, 서브 스키마

- 여러 개 존재 가능

 

(2) 개념 관계

- 조직 전체의 관점, 전체 데이터베이스, 관계와 제약조건의 정의, 보안 정책과 접근 권한의 정의

- 하나만 존재

 

(3) 내부 관계

- 저장 장치의 관점, 물리적, (레코드, 필드, 파일, 인덱스, 경로)

- 하나만 존재

 

3) 데이터 독립성

3단계 구조로 나누는 이유 : 데이터 독립성을 실현하기 위해서

(1) 데이터 독립성 : 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않음

- 논리적 데이터 독립성 (외부/개념 사상) : 개념 스키마(논리구조)가 변경되더라도 외부 스키마는 영향받지 않는다. = 응용

- 물리적 데이터 독립성 (개념/내부 사상) : 내부 스키마(저장구조)가 변경되더라도 내부 스키마는 영향받지 않는다. = 저장 인터페이스

 

4) 데이터 사전

- 데이터베이스에 저장되는 데이터의 정보를 담는 데이터베이스

- 데이터 사전 = 시스템 카탈로그 = 시스템 데이터베이스

- 메타데이터 정보 저장

- 사용자도 검색 가능 (추가 및 수정은 DBMS)

- 위치 정보는 데이터 디렉토리에서 관리함

'Study > DataBase' 카테고리의 다른 글

데이터 언어와 DBMS의 구성  (0) 2019.11.13
데이터베이스 사용자  (0) 2019.10.31
ACID  (0) 2019.10.11
OLTP와 OLAP  (0) 2019.10.10
데이터베이스 관리 시스템 (DBMS)  (0) 2019.09.27

데이터베이스에서 ACID는 데이터베이스의 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리킨다.

1) Atomicity (원자성)
트랜젝션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않음을 보장하는 것이다.

2) Consistency (일관성)
트랜젝션이 실행을 성공적으로 마쳤다면 데이터베이스의 상태를 일관성 있게 유지해야 한다.

3) Isolation (고립성)
트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장한다.

4) Durability (지속성)
성공적으로 수행된 트랜잭션은 영원히 반영되어야 한다.

 

참고자료

https://ko.wikipedia.org/wiki/ACID

'Study > DataBase' 카테고리의 다른 글

데이터베이스 사용자  (0) 2019.10.31
데이터베이스의 구조  (1) 2019.10.31
OLTP와 OLAP  (0) 2019.10.10
데이터베이스 관리 시스템 (DBMS)  (0) 2019.09.27
데이터베이스 1  (0) 2019.09.19

OLTP (Online Transactional Processing)
실시간으로 데이터를 트랜잭션 단위로 처리하는 데이터 처리 방법입니다. OLTP 에서는 데이터베이스에 데이터를 트랜잭션을 통해 생성, 열람, 갱신, 삭제가 가능합니다. 온라인 뱅킹, 주문, 직원 세부정보 업데이트 등과 같은작업을 예로 들 수 있으며 일반적으로 단일 레코드와 관련된 작업입니다.

OLAP(Online Analytical Processing)
OLTP로 처리된 데이터들을 분석하여 의사결정에 필요한 정보를 얻을 수 있도록 하는 처리 방법입니다. OLAP는 OLTP에 비해 더 적은 사용자들이 사용하지만 더 많고 복잡한 쿼리와 긴 처리 시간을 가집니다. 왜냐하면 일반적으로 단일 레코드를 처리하는 OLTP와는 달리 전체적인 많은 레코드 단위를 분석하는 작업이기 때문입니다. 

'Study > DataBase' 카테고리의 다른 글

데이터베이스 사용자  (0) 2019.10.31
데이터베이스의 구조  (1) 2019.10.31
ACID  (0) 2019.10.11
데이터베이스 관리 시스템 (DBMS)  (0) 2019.09.27
데이터베이스 1  (0) 2019.09.19

데이터베이스 관리 시스템 (DBMS)

파일 시스템의 데이터 중복성과 데이터 종속성 문제를 해결하는 1차 방안으로 데이터를 통합하여 저장하게 됩니다. 통합 저장된 데이터를 관리하고 처리해 주는 소프트웨어가 필요합니다.

데이터베이스 관리 시스템(DBMS : DataBase Management System)은 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어 입니다. 데이터베이스 관리 시스템은 응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입, 삭제, 수정하고 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 해 줍니다.

데이터베이스 관리 시스템의 주요 기능은 정의 기능, 조작 기능, 제어 기능 입니다.

  • 정의 기능 : 조직에 필요한 데이터를 저장하기 적합한 데이터베이스를 정의, 수정할 수 있다.
  • 조작 기능 : 데이터베이스에 저장된 데이터에 접근하여 데이터를 삽입, 삭제, 수정, 검색 할 수 있다.
  • 제어 기능 : 여러 사용자가 데이터를 공유해도 항상 데이터를 정확하고 안전하게 유지하는 기능을 제공한다.

 

데이터베이스 관리 시스템의 장점

  • 데이터 중복을 통제할 수 잇다.

    데이터베이스는 데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제를 해결할 수 있다. 데이터 중복을 허용하는 경우에도 중복을 최소화하여 데이터 일관성을 유지한다.

  • 데이터 독립성이 확보된다.

    응용 프로그램을 대신해서 데이터베이스에 접근하고 모든 책임을 DBMS가 지기 때문에 DB 구조가 변경되어도 응용 프로그램이 영향을 받지 않는다.

  • 데이터를 동시 공유할 수 있다.

    데이터베이스에 통합된 데이터를 여러 응용 프로그램이 공유하여 같은 데이터에 동시 접근할 수 있도록 지원한다.

  • 데이터 보안이 향상된다.

    사용자별로 접근 가능한 데이터베이스 영역을 제한하거나 접근 수준을 차별화 하여 데이터의 보안을 확보한다.

  • 데이터 무결성을 유지할 수 있다.

    데이터에 대한 연산이 수행될 때마다 유효성을 검사하여 데이터 무결성을 유지한다.

  • 표준화 할 수 있다.

    데이터에 접근하는 방법, 데이터 형식과 구조 등을 표준화 하기 쉽다.

  • 장애 발생 시 회복이 용이하다.

    장애가 발생해도 데이터 일관성과 무결성을 유지하면서 데이터를 장애 이전으로 복구할 수 있다.

  • 응용 프로그램 개발 비용이 줄어든다.

    데이터에 대한 관리를 DBMS에 일임하므로 그 부분에 대한 응용 프로그램 개발 비용이 적게 든다. 또한 데이터베이스 구조가 변경되어도 응용 프로그램은 변경하지 않아도 된다.

 

데이터베이스 관리 시스템의 단점

  • 데이터베이스 관리 시스템 설치에 대한 비용이 발생한다.

    파일 시스템만 사용한다면 따로 구매 비용이 들지 않는다. 그러나 DBMS를 사용하게 된다면 그에 대한 라이센스의 구매 비용이 따로 들 수 있다. 물론 무료 혹은 오픈소스 DBMS도 있지만 메이저 사의 DBMS를 사용하기 위해서는 그에 대한 비용이 발생한다.

  • 백업과 회복 방법이 복잡하다.

    데이터베이스는 데이터양이 많아 구조가 복잡하고 동시 공유도 지원하기 때문에 장애의 원인과 상태를 파악하기 어려울 수도 있다. 그래서 데이터 백업과 회복의 방법이 복잡할 수 있다.

  • 중앙 집중 관리에 대한 취약점

    모든 데이터베이스가 데이터베이스에 통합되어 있고 관리도 DBMS에 의존하므로 DBMS나 데이터베이스 서버에 장애가 발생하면 전체 업무 처리가 중단된다.

 

 

출처

김연희, 데이터베이스 개론, 한빛아카데미, 2019

이영호, 가천대학교 데이터베이스 수업, 가천대학교, 2019

'Study > DataBase' 카테고리의 다른 글

데이터베이스 사용자  (0) 2019.10.31
데이터베이스의 구조  (1) 2019.10.31
ACID  (0) 2019.10.11
OLTP와 OLAP  (0) 2019.10.10
데이터베이스 1  (0) 2019.09.19

+ Recent posts