DB/수업2017. 4. 13. 01:21

데이터 베이스 관리시스템

(Database Management System)

 - 약어 : DBMS

 - 방대한 양의 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공해주는 시스템 소프트웨어


파일 시스템(File System)

 - 데이터를 관리함에 있어 파일을 읽고 쓰는 애플리케이션에 종속적

 - 호환성이 없고 데이터 종속성이 있고 데이터 중복성이 있다는 문제점


데이터 종속성(Data Dependency)

 - 파일을 중심으로 한 자료 처리 시스템이 갖는 문제점 중의 하나로 애플리케이션 데이터 간의 상호 의존 관계가 밀접하여 데이터 구성 방법이나 구성 형식, 접근 방법이 변경되면 이에 관련된 애플리케이션도 같이 변경되어야 하는 성질을 의미


데이터 중복성(Data Redundancy)

 - 한 시스템 내에 같은 내용의 데이터가 다수의 파일에 중복되어 저장되어 있으면 수정 시 중복된 데이터를 모두 수정해줘야 하기 때문에 중복된 노력 필요함

 - 동일한 데이터를 저장해야 하기 때문에 데이터 크기가 큰 경우 문제가 발생하며 수정 시 중복된 데이터의 일부분만 수정될 경우 데이터 불일치성이 발생되어 데이터가 일관성이 없게된다.


데이터 베이스 시스템(DBS:Database System)

 - 데이터베이스를 통하여 데이터를 저장하고 관리하기 위한 목적으로 사용되는 일체의 시스템

ex) DATA + HARDWARE + SOFTWARE + USER


데이터베이스 관리 시스템의 필수 기능

 - 정의기능, 조작기능, 제어기능

 - 1. 정의 기능

     -  구현된 하나의 물리적 구조의 데이터베이스로 여러 사용자들의 다양한 형태의 데이터 요구를 지원해 줄 수 있도록 가장 적절한 데이터베이스 구조를 정의할 수 있는 기능


 - 정의기능의 요건

   * 모든 응용프로그램이 요구하는 데이터 구조를 지원할 수 있게끔 데이터베이스의 논리적 구조와 그 특성을 목표 데이터베이스 관리 시스템이 지원하는 데이터 모델에 맞게 기술한다.

   * 데이터베이스를 물리적 저장 장치에 저장하는 데 필요한 명세를 포함한다.

   * 데이터의 논리적 구조와 물리적 구조 사이의 사상명세를 포함한다.

 - 2. 조작 기능

- 사용자와 데이터베이스 사이의 인터페이스를 위한 수단을 제공

- 조작기능의 요건

 1) 사용하기 쉽고 자연스러워야한다.

 2) 데이터와 데이터 간의 관계를 명확하게 명세할 수 있어야 하고, 원하는 데이터 연산은 무엇이든 명세할 수 있도록 완전해야한다.

 3) 데이터 접근이나 처리가 효율적이어야 한다.


 - 3. 제어기능

- 공용 목적으로 관리되는 데이터베이스의 내용에 대해 항상 무결성이 파괴되지않도록 하며 정확성과 안정성을 유지하는 기능


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

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

 - 파일 시스템에 비해 데이터 중복을 최소화

 - 여러 사용자와 응용 프로그램들이 데이터를 공유하는 것이 가능

 - 데이터의 일관성을 유지

 - 무결성이 유지

 - 모든 데이터에 대한 보안을 보장

 - 데이터 베이스의 일관성 있는 접근

 - 데이터 관리를 유연

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

 - 운영비 증가

 - 백업과 복구에 대한 전문적인 기술과 지식이 필요


=============================================================================

스키마(Schema)

 - 데이터 구조와 제약조건에 대한 명세(Specification)를 기술하는 것

 - 개체(entity), 속성(attribute), 관계(relationship)에 대한 정의와 이들이 유지해야 될 제약조건(constratints)을 포함

외부단계 : 데이터를 이용하는 각 개인의 견해

개념단계 : 개인의 모든 견해가 종합된 기관 전체의 견해

내부단계 : 물리적 저장 장치의 입장에서 보는 저장장치의 견해


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

 - 각 단계에서의 스키마 : 외부스키마, 개념스키마, 내부스키마

외부스키마

 - 개개 사용자가 보는 개인적인 데이터베이스에 관한 것

 - 가장 바깥쪽 스키마로 데이터베이스의 개개 사용자나 응용프로그래머가 접근하는 데이터베이스를 정의하는 것

 - 전체 데이터베이스 내의 전체 데이터 중에서 사용자가 사용하려는 한 논리적 부분을 말하기 때문에 서브스키마(sub schema)라고도 함

개념스키마

 - 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스 기술

 - 개념 스키마로부터 모든 외부 스키마가 생성되고 지원

내부 스키마

 - 저장 장치의 입장에서 전체 데이터베이스가 저장되는 방법을 명세

 - 물리적 단계보다 한 단계 위로 물리적 저장 장치 관점에서 본 구조


데이터 독립성

 - 데이터 독립성은 데이터베이스 구조의 변화로 인한 영향을 응용 프로그램(또는 논리적 구조)에 미치지 않도록 하는 것을 의미

 - 논리적 데이터 독립성

     * 응용프로그램에 영향을 주지않고 논리적 데이터 구조를 변경할 수 있게 하는 것

 - 물리적 데이터 독립성

     * 응용 프로그램과 데이터베이스의 논리적 구조에 영향을 주지 않고 물리적 구조를 변경할 수 있게 하는 것

=======================================================================================

데이터 베이스 시스템 구성요소


데이터베이스

 - 특정 조직에서 데이터를 공동업무에 사용하기 위하여 데이터의 구조화, 비 중복화하여 관리하는 것

데이터베이스 관리 시스템

 - 데이터베이스를 관리하는 시스템(Orcle, SQL)등

데이터 언어

 - 사용자와 데이터베이스 사이를 연결시켜 주는 것

 - 사용자가 원하는 정보를 요청하고 제공


데이터 베이스 언어

 데이터 정의어(DDL:Data Definition Language)

 - 데이터베이스 스키마를 정의하거나 수정할 목적으로 사용하는 언어

대표적인 데이터 정의어

 - CREATE (데이터 베이스 생성)
 - ALTER (데이터베이스 변경)

 - DROP(데이터베이스 삭제)

 - RENAME(데이터베이스 객체이름 변경)

 - TRUNCATE(데이터베이스 데이터 삭제)


 데이터 조작어(DML : Data Manipulate Language)

 - 데이터베이스 내의 데이터 연산을 위한 언어

대표적인 데이터 조작어

 - INSERT(데이터 입력)

 - UPDATE(데이터 수정)

 - DELETE(데이터 삭제)


데이터 제어어(DCL : Data Control Language)

 - 데이터베이스 내의 데이터를 올바르고 정확하게 유지하기 위한 언어

데이터 제어어의 역할

 - 보안(security) : 불법적인 사용자로부터 데이터를 보호

 - 무결성(integrity) : 데이터의 정확성

 - 데이터 회복(recovery) : 시스템 장애의 대비

 - 병행수행(concurrency) : 데이터베이스의 동시 접근 가능


데이터베이스 사용자

 - 일반 사용자, 응용프로그래머, 데이터베이스 관리자


DDL, DCL을 이용한 사용자 - DBA

DML은 USER가(일반사용자) 사용

데이터베이스 사용자

 - 일반사용자

* 비절차적 DML(질의어)를 통한 데이터베이스 접근이 가능

 - 응용프로그래머

* 프로그래밍 언어에 DML을 삽입하여 데이터베이스에 접근

 - 데이터베이스 관리자(DBA)

* DDL과 DCL을 통해 데이터베이스를 정의하고 제어하는 사람


Posted by 멜데스