IT Japan

【DB개론】데이터베이스 시스템에 요구되는 요건 본문

카테고리 없음

【DB개론】데이터베이스 시스템에 요구되는 요건

swhwang 2017. 5. 29. 10:45
반응형

유능한 엔지니어에게 , DB 기술기반은 필수입니다.

「사용할수 있는」시스템을 구축하는 데있어서, 시스템 설계가 매우 중요합니다. 선원이 우연한 만남을 피하느냐 마느냐 , 시스템 구축 및 어플리케이션 개발이 성공 하느냐 실패하느냐 ,  데이터베이스 설계에 달려있다. 그리고 여기가 커다.

본 연재에서는 풍부한  실례와 연습 문제로, 부끄럽지않은 설계 과정을 설명해줍니다. 시스템 구축에서 "어떤 과정에서든지, 어떤 식 으로든 관측으로부터 데이타 설계를 진행할 것"과 같은 시각, DB 설계의 포인트와 함께 일반 용도의 안내를 소개합니다.


데이터베이스 시스템에 요구되는 요건

데이터베이스를 구축 할 때 먼저 무엇이 데이터베이스 시스템에 요구되고 있는지를 파악해야합니다. 데이터베이스는 사용자가 필요로하는 데이터가 저장되어있는 것은 당연 합니다만 시스템으로 어떻게 사용하기 쉽고 데이터를 사용할 수 있는가하는 것을 생각했을 때 다음의 요구 사항이 요구됩니다.

공유 사용 (여러 사용자가 공유 이용)
중앙 관리 (1 데이터 1 개소의 원칙)
신뢰성 (복원력 고급 보안)
성능 (속도)




1 공유 사용

데이터베이스는 여러 사용자나 응용 프로그램이 동시에 액세스합니다. 여러 사용자 나 응용 프로그램이 동일한 데이터를 동시에 읽거나 변경할 것을 상정 다루고있는 데이터가 서로 모순을 초래하지 않도록해야합니다.

그것을 실현하기 위해서는 다음 두 가지가 중요합니다.
배타 제어
동시성의 유지



● 배타 제어
다루고있는 데이터에 모순이 생기지 않도록하기 위해서는 배타 제어 기능을 구현하고 누군가가 데이터를 변경하는 동안 다른 사용자가 같은 데이터를 동시에 변경하지 않도록 제어하는 해야합니다. 록하는 기능을 구현함으로써 배타 제어를 실현합니다.




● 동시성의 유지
데이터베이스 관리 시스템 (Database Management System : DBMS)에있어서 배타 제어는 필수 기능입니다. 그러나 장기간 잠금을 걸어두면  해당 데이터에 대해 다른 사용자가 변경할 수 없게됩니다. 동시에 같은 데이터에 액세스 할 때 가능한 많은 사용자가 데이터를 액세스 할 수 있도록해야합니다. 이것을 동시성을 유지한다고합니다.



2 중앙 관리

중앙 관리되지 않으면 곤란하게 되는데  예를 하나 들어 보자.

예를 들어, 고객 정보를 판매 촉진 파일에 등록되어 있고, 홍보 부서가 관리하는 것으로합니다. 또한 같은 고객 정보를 유지 보수 계약을 관리하는 파일에 등록되어 있고, 고객 지원 부서가 관리하는 것으로합니다.

고객이 이전했기 때문에, 고객 지원 부서에 주소 변경 정보가 전달되었습니다. 그러나 판매 촉진 부문에는 그 정보가 전해지지 않고, 판촉 파일은 업데이트되지 않았습니다. 이 경우, 인사 장 오래된 주소에 도착하게되고, 고객의 주소조차 중앙 관리하지 못하고 회사와 받아 들여지고 신용을 잃게 될지도 모릅니다.

어떤 의미를 가지는 정보 (1 데이터)는 1 개소에만 존재 시킨다는 원칙을 1 데이터 1 개소 원칙 (정확하게는 "하나의 사실은 1 개소에만 존재하는 '원칙이라고 표현합니다 )이라고합니다. 1 데이터 1 개소의 원칙을 지켜 데이터를 관리하고 다음과 같은 경우 처리가 편하다는 것을 알 수 있습니다.



CASE1] 변경이 발생했을 때
복수 개소에 동일한 의미를 갖는 데이터가 산재 해있는 경우, 그 모든 것을 빠짐없이 변경해야합니다. 하나라도 변경하지 않으면, 그 데이터를 사용하는 사용자는 잘못된 처리 결과를 얻게 신뢰를 잃게됩니다.


[CASE2] 응용 프로그램을 추가 할 때
복수 개소에 산재 해있는 데이터를 사용하는 응용 프로그램이 추가 된 경우, 새로운 응용 프로그램은 모든에 대한 처리를 빠짐없이 작성해야합니다.



응용 프로그램을 변경하거나 확장 할 수 있는 경우에는 1 데이터 1 개소의 원칙에 따라 데이터를 관리 할 필요가 있음을 알 수 있습니다. 데이터베이스를 설계 할 때이 원칙을 기반으로 데이터를 관리 할 수 ​​있도록하기 위해 표준화하는 작업을 수행합니다.

● 종속 관계의 드러내
정규화는 "데이터를 관리 할 때 고유 한 형태로 데이터를 관리하기 위해 수행하는 작업"이라고합니다. 이 중복이없는 형태로 데이터를 관리하기 위해서는 데이터 사이의 종속 관계를 밝혀 낸다해야합니다.

데이터 간의 종속 관계의 예를 보여줍니다. 예를 들어, 직원을 관리하는 명부가 "사원 번호"는 직원 1 인당 1 개의 할당되어 있다고합니다. 이 때, "사원 번호"와 "직원 이름"사이에 "종속 관계"라고 말합니다. 좀 더 정확히 정의하면 어떤 "사원 번호"값을 매우 반드시 하나 "직원 이름"의 값이 결정된다는 관계가있는 경우, "사원 번호"와 "직원 이름"사이에 함수 종속이 라고 "직원 이름"은 "사원 번호"에 "함수 종속된다"고 말합니다.



● 정규화
정규화는 "관리해야 할 데이터 간의 의미 관계를 드러내 종속 관계에있는 데이터 간의 의미 관계를 정리하여 독립적으로 관리 할 수있는 것은 독립시키는 작업을 반복" 라고합니다.

표준화 작업은 제 1 정규화에서 제 5 정규화까지 5 개의 작업이 정의되어 있습니다 만, 일반적으로 제 3 정규화까지 실시하면 충분한 것으로 알려져 있습니다. 그 이유는 "제 3 정규화 이후의 정규화 작업은 예외적 인 경우에 적용 할 작업이기 때문"이며, 본래의 의미에서 말하면 제 5 정상화까지 필요에 따라해야합니다 . 제 5 정규화까지 분석이 행해진 결과의 데이터 저장 방법은 1 데이터 1 개소의 원칙을 충족 이론적으로 중복 관리되는 것은 없습니다.

3 신뢰성

관리되는 데이터가 신뢰할 수있는 것이어야 데이터베이스의 데이터를 안심하고 사용할 수 없습니다. 데이터베이스에 요구되는 신뢰성은 어떤 관점에서 측정 할 것인가를 보여줍니다.

데이터 무결성 유지
내결함성
보안 확보


● 데이터의 무결성 유지
데이터 무결성 유지를 실현하기 위해서는 다음 두 가지 요구 사항을 충족해야합니다.

데이터가 항상 올바른 값을 가지고 있는지
규칙을 위반하는 데이터가 없음


먼저 데이터가 항상 올바른 값을 가지게하기 위해서는 다음의 3 가지 관점에서 데이터를 적절하게 관리해야합니다.

1.있는 업무 처리 관련 데이터가 여러 개있는 경우 그 처리를 완료하기 위해 관련 모든 데이터는 동기화하여 업데이트해야합니다. 이를 위해 트랜잭션 개념을 사용하여 데이터를 관리합니다.


2.한 시점을 취한 경우, 데이터 또는 관련된 여러 데이터를 업데이트 할 수있는 사용자 (또는 응용 프로그램)은 1 명뿐해야합니다. 즉, 동시에 업데이트 할 수있는 경우에는 업데이트 순서를 관리하고 사용자 나 어플리케이션은 한 번에 하나씩 순차적으로 업데이트해야합니다. 이를 위해서는 배타 제어 기능이 필요합니다.


3.데이터가 중앙 관리되어 갱신시 대상 데이터가 1 ​​개소에 존재하는 구성으로되어 있거나 복수 존재하는 경우에도 빠짐없이 업데이트하는 구조가되어 있어야합니다.
다음 정의 된 규칙을 위반하는 데이터가 없도록하기 위해, 예를 들어, 데이터 길이 및 데이터 유형 및 기타 데이터에 대한 규칙을 미리 정의 해 놓은 경우 그에 위반 한 데이터가 존재하지 말라 라는 것이며, 데이터베이스에 데이터를 넣기 전에 또는 업데이트하기 전에 체크하는 기능이 항상 작동하고 있어야합니다.

● 복원력
시스템에 장애가 발생하면 장애에서 회복 할 수없는 것은 쓸모가 없습니다. 장애 복구는 다음 요구 사항을 충족하는지가 중요한 포인트가됩니다.

트랜잭션 처리 도중 오류가 발생하면 트랜잭션이 처음부터 전혀 실행되지 않은 상태로 복원해야합니다.
트랜잭션 처리가 완료된 후 오류가 발생하면 트랜잭션의 갱신 과정은 완전히 복구해야합니다.
복구 프로세스 도중 다음 업데이트 프로세스가 실행될 때 일관성을 유지할 수 없게되기 때문에 복구가 완료 될 때까지 복구 후 업데이트 프로세스를 실행하지 못하도록해야합니다.


● 보안 확보
민감한 데이터에 어떤 사용자 나 응용 프로그램이 자유롭게 접근하는 것이 허용되지 않습니다. 그런 의미에서 다음의 관점에서 관리 할 수 ​​있도록되어 있어야합니다.

사용자 (또는 응용 프로그램)에 대해 테이블 ​​레벨 행 레벨 단위로 권한을 설정할 수있다.
권한은 참조, 업데이트, 삭제 등의 종류에 따라 설정할 수있다.


4 성능 (속도)

아무리 신뢰성이 높고, 중앙 집중식 공유 가능하게 설계되어있는 데이터베이스 시스템에서 하나의 온라인 처리를 실시하는데 30 초도 소요되던 것이 쓸모가 없습니다. 적절한 처리 속도는 시스템에 하나의 중요한 가치입니다.

이러한 요구 사항 중 하나라도 결여 버리면 "사용할 데이터베이스」라고는 말할 수 없습니다. 또한 이러한 요구 사항은 실제 데이터베이스를 구성하는 DBMS와 적절하게 설계된 데이터베이스가 모두 존재하고 처음으로 실현 될 수있는 것입니다.







반응형
Comments