소프트웨어 공부/데이터베이스

[데이터베이스] 필드 명세

야곰야곰+책벌레 2021. 8. 23. 17:07
728x90
반응형

  필드들은 데이터베이스 기반이다. 이것들은 조직에 중요한 주제(subject)의 특성들을 나타낸다. 데이터 무결성에 대해서는 많은 말을 하고 있지만, 필드에 대해서는 대체로 그렇지 않다. 필드 명세(field specifications)를 정의함으로써 데이터 무결성을 설정하는 법을 알아보자.

 

필드 명세는 왜 중요한가


  필드 명세가 결정적으로 중요한지 그 이유를 알아보자.

 

  • 필드 명세는 필드 수준의 무결성을 설정하고 강화하는데 도움이 된다.
  • 각 필드를 위한 필드 명세를 정의하는 것은 전반적인 데이터 무결성을 개선한다.
  • 필드 명세를 정의하는 것은 데이터베이스 내의 데이터의 본질과 목적을 완전히 이해하도록 해 준다.
  • 필드 명세는 데이터베이스의 '데이터 사전(data dictionary)'을 구성한다.

  데이터베이스 내의 데이터의 일관성, 품질, 그리고 정확성의 수준은 이 명세를 완성하는 수준에 비례한다.

 

필드 수준의 무결성


  필드 수준의 무결성은 다음과 같은 것을 보장한다.

 

  • 필드의 주체성과 목적이 명확하고 이것이 나타나는 모든 테이블이 적절히 식별된다.
  • 데이터베이스 전체에 걸쳐 필드 정의가 일관성이 있다.
  • 필드의 값들이 일관성 있고 유효하다.
  • 필드의 값들에 적용될 수 있는 수정, 비교, 연산의 종류가 명확히 식별된다.

  필드 명세의 완전한 집합을 가지고 있고 이상적 필드의 요소들을 완전히 따를 때, 필드 구조는 정상적이고 최적으로 설계되어 있다고 보장할 수 있다. 이상적 필드의 요소들을 따르는 것을 확인하면, 명세 집합을 정의하는 것이 비교적 쉬운 작업이 된다.

 

이상적 필드의 요소들

  • 테이블 주제의 고유한 특성을 나타낸다.
  • 단지 하나의 값만 포함한다.
  • 더 작은 구성 요소로 해체될 수 없다.
  • 계산되거나 연결된 값을 포함하지 않는다.
  • 전체 데이터베이스 구조 안에서 유일하다.
  • 하나 이상의 테이블에 나타날 때는 속성들의 대부분을 보유한다.

 

필드 명세의 분석


  필드 명세는 필드의 각 속성(atrribute)을 정의하는 다양한 요소들을 포함한다. 명세 내의 모든 요소들은 일반적 요소, 물리적 요소, 또는 논리적 요소로 범주화된다. 이 요소 범주들은 명세를 정의하면서 필드의 서로 다른 측면에 초점을 맞출 수 있게 해 주고, 특정 요소를 아주 쉽게 찾는 방법을 제공한다.

 

  • 일반적 요소 : 필드 이름, 부모 테이블, 라벨, 명세 종류, 원본 명세, 공유, 별칭, 설명
  • 물리적 요소 : 데이터 형, 길이, 소수점 위치, 문자 지원, 입력 마스크, 디스플레이 형식
  • 논리적 요소 : 키 종류, 키 구조, 유일성, 널 지원, 값 입력자, 필요 값, 기본 값, 값 범위, 편집 규칙, 허용 비교, 허용 연산

 

일반적 요소

  일반적 요소 범주의 항목들은 필드의 가장 기초적인 속성들을 나타낸다.

 

필드 이름
  이것은 데이터베이스 전체에 걸쳐 특정 필드를 유일하게 식별하는 절대 최소의 단어들의 집합이다.

 

부모 테이블
  주어진 필드를 그 구조에 포함하는 테이블이 그 필드의 부모 테이블이다.

 

라벨

  데이터베이스를 위해 만드는 최종 사용자 애플리케이션 인터페이스 내에서 필드를 식별할 수 있는 다른 이름이다. 테이블 구조에서 라벨을 공식적인 필드 이름으로 사용하는 것은 삼가야 한다.

 

명세 종류

  주어진 필드를 위해 설정한 요소들은 이 필드를 위해 정의하는 명세의 종류에 의존한다.

  1. 유일(unique) : 다른 필드들을 위한 템플릿으로 사용하는 필드들 또는 외래 키로서 테이블 관계에 참여하는 필드들을 제외한 모든 필드들을 위한 기본 명세다.
  2. 일반(generic) : 다른 필드 명세들을 위한 템플릿으로 사용되고, 같은 일반적 의미를 가진 필드들을 일관성 있게 정의하도록 해 준다. 일반 명세는 가능한 한 넓고 일반적인 비특정 필드 이름과 요소 설정들을 사용하도록 요구한다.
  3. 복제(replica) : 일반적인 필드에 기초한 필드 또는 테이블 관계 내의 외래 키로 사용되는 필드를 위한 기본 명세이고, 이것은 기존의 명세로부터 대부분의 요소 설정들을 추출한다.

원본 명세

  이 요소는 오직 복제 명세에서만 설정되고, 현재 명세가 기초하고 있는 특정 필드 명세의 이름을 가리킨다.

 

공유

  필드를 공유하는 다른 테이블들의 이름을 가리킨다.

 

별칭

  매우 드문 상황에서 필드를 위해 사용하는 이름이다. 별칭의 사용은 허용되기는 하지만 매우 조심해서 사용해야 한다. 그렇지 않으면 관리 및 유지가 힘들어진다.

 

설명

  필드의 완전한 해석이다.

 

물리적 요소

  필드의 구조에 적합하다. 

 

데이터 형

  필드가 저장하는 데이터의 특성을 나타낸다.

 

길이

  주어진 필드 값을 위해 사용자가 입력할 수 있는 문자들의 총개수를 지정한다.

 

소수점 위치

  실수에서 소수점 오른쪽의 자릿수를 나타낸다. 자릿수는 실수의 정밀도를 결정한다.

 

문자 지원

  주어진 필드 값으로 입력할 수 있는 문자들의 종류를 가리킨다. 이 요소를 설정하고 강화하는 것은 사용자가 의미 없는 데이터를 필드에 도입하지 못하게 하고, 따라서 필드 수준의 무결성을 개선하도록 도와준다.

 

입력 마스크

  사용자가 필드에 데이터를 입력하는 방법을 지정한다. 입력 마스크를 사용하면 사용자가 필드에 일관성 있게 값을 입력하고, 날짜 문자열의 의미에 대한 혼란을 방지하도록 도와준다.

 

디스플레이 형식

  필드의 값이 화면에 표시되거나 문서 내에 인쇄될 때 외형을 통제한다. 디스플레이 형식은 입력된 것보다 더 의미 있거나 읽기 좋은 형태로 필드 값을 나타내도록 해 준다.

 

논리적 요소

  주로 필드의 값과 관련이 있다.

 

키 종류

  테이블 내에서의 필드의 역할을 지정하는데, 이것은 테이블을 위해 주 키를 설정할 때 식별한 것이다. 필드는 비키, 주키 또는 대체 키로 지정될 수 있다.

 

키 구조

  주 키로 지정된 필드가 단순 주 키인지 복합 주 키의 한 부분인지를 나타낸다.

 

유일성

  필드의 값이 유일한지 여부를 나타낸다. 키 종류 요소가 '주(primary)'로 설정될 때는 이것을 '유일(unique)'로 설정하고, 그렇지 않으면 대부분 이 요소를 '비유일(non-unique)'로 설정한다.

 

널 지원

  필드가 널 값을 허용할지 여부를 지정한다.

 

값 입력자

  필드 값의 원천을 나타낸다. 사용자가 필드에 수작업으로 값을 입력하거나, 또는 데이터베이스 애플리케이션 프로그램이 값을 자동으로 입력할 것이다.

 

필요 값

  사용자가 필드를 위해 값을 입력할 필요가 있는지 여부를 나타낸다.

 

기본 값

  이것은 더 적절한 값이 아직 없고 널이 허용될 때 사용자가 필드에 입력할 수 있는 값이다. 기본 값은 매우 조심해서 그리고 의미가 있을 때만 사용한다.

 

값 범위

  필드를 위해 가능한 모든 유효한 값을 지정한다.

 

편집 규칙

  언제 사용자가 필드에 값을 입력할지, 그리고 이 값을 수정할 수 있는지 여부를 나타낸다.

 

허용 비교

  사용자가 필드로부터 정보를 추출할 때 주어진 필드 값에 적용할 수 있는 비교의 종류를 나타낸다.

 

허용 연산

  필드의 값에 대해 수행할 수 있는 연산의 종류를 지정한다.

728x90
반응형