데이터 사전

Data dictionary

IBM Dictionary of Computing에 정의된 데이터 사전 또는 메타데이터 저장소는 "의미, 다른 데이터와의 관계, 출처, 사용 및 형식과 같은 데이터에 대한 정보의 중앙 집중식 저장소"[1]입니다.Oracle은 이를 메타데이터가 포함된 테이블 모음으로 정의합니다.이 용어는 데이터베이스 및 데이터베이스 관리 시스템(DBMS)과 관련하여 밀접하게 관련된 여러 가지 의미 중 하나를 가질 수 있습니다.

  • 데이터베이스 또는 데이터베이스 집합을 설명하는 문서
  • 구조를 결정하는 데 필요한 DBMS의 필수 컴포넌트
  • DBMS의 네이티브 데이터 사전을 확장 또는 대체하는 미들웨어입니다.

문서

데이터 사전데이터 저장소라는 용어는 카탈로그보다 더 일반적인 소프트웨어 유틸리티를 나타냅니다.카탈로그는 DBMS 소프트웨어와 밀접하게 연계되어 있습니다.사용자 및 DBA에게 저장된 정보를 제공하지만 주로 DDL DML 컴파일러, 쿼리 옵티마이저, 트랜잭션프로세서, 보고서 생성기, 제약조건 적용기 등 DBMS 자체의 다양한 소프트웨어 모듈에 의해 액세스됩니다.한편, 데이터 사전은 메타데이터, 즉 정보에 관한 (구조화된) 데이터를 저장하는 데이터 구조입니다.독립형 데이터 사전 또는 데이터 저장소용 소프트웨어 패키지는 DBMS의 소프트웨어 모듈과 상호 작용할 수 있지만 주로 정보 자원 관리를 위해 컴퓨터 시스템의 설계자, 사용자 및 관리자에 의해 사용됩니다.이러한 시스템은 시스템 하드웨어 및 소프트웨어 구성, 문서, 응용 프로그램 및 사용자에 대한 정보와 시스템 관리에 관련된 [2]기타 정보를 유지합니다.

데이터 사전 시스템이 DBMS 소프트웨어가 아닌 설계자, 사용자 및 관리자만 사용하는 경우 패시브 데이터 사전이라고 합니다.그렇지 않으면 활성 데이터 사전 또는 데이터 사전이라고 합니다.패시브 데이터 사전을 업데이트하면 DBMS(데이터베이스) 구조의 변경과는 별도로 수동으로 업데이트됩니다.활성 데이터 사전을 사용하면 사전이 먼저 업데이트되고 그 결과 DBMS에서 자동으로 변경됩니다.

데이터베이스 사용자와 응용프로그램 개발자는 하나 이상의 데이터베이스의 [3]구성, 내용 및 규칙을 카탈로그로 작성하는 신뢰할 수 있는 데이터 사전 문서를 사용할 수 있습니다.여기에는 일반적으로 다양한 테이블(레코드 또는 엔티티)의 이름 및 설명과 그 내용(필드) 및 각 데이터 요소의 유형 및 길이와 같은 추가 세부 정보가 포함됩니다.데이터 사전이 제공할 수 있는 또 다른 중요한 정보는 표 간의 관계입니다.이것은 엔티티-관계 다이어그램에서 참조되는 경우가 있습니다.또한 Set Descriptor를 사용하여 데이터베이스 테이블이 관여하는 Sets를 식별합니다.

활성 데이터에서는 사전 제약이 기본 데이터에 적용될 수 있습니다.예를 들어 데이터 요소(필드)의 숫자 데이터 값에 범위를 적용하거나 테이블의 레코드가 다른 레코드 유형과의 설정된 관계에 강제로 참여하도록 할 수 있습니다.또한 분산형 DBMS는 액티브 데이터 딕셔너리에 특정 로케이션의 상세 내용이 기재되어 있는 경우가 있습니다(테이블이 물리적으로 배치되어 있는 경우 등).

데이터 사전은 지원되는 각 백엔드 DBMS에 맞게 작성된 시스템에서 생성된 명령 파일에 의해 데이터베이스에 작성된 레코드 유형(테이블)으로 구성됩니다. Oracle에는 "sys" 사용자를 위한 특정 보기 목록이 있습니다.이를 통해 사용자는 필요한 정확한 정보를 검색할 수 있습니다.명령 파일에는 CREATE TABLE, CREATE UNIQURE INDEX, ALTER TABLE(참조 무결성용) 등에 대한 SQL 문이 포함되어 있습니다.

이러한 문서에는 세부사항의 수준에 대한 보편적인 기준이 없습니다.

미들웨어

데이터베이스 애플리케이션 구축에서는 데이터 사전 소프트웨어의 추가 레이어(즉, 기반이 되는 DBMS 데이터 사전과 통신하는 미들웨어)를 도입하는 것이 편리할 수 있습니다.이러한 "고급" 데이터 사전은 일반적인 애플리케이션의 요건이 아닌 DBMS의 기본 기능을 지원하는 것이 주된 목적인 네이티브 "저급" 데이터 사전의 한계를 뛰어넘는 추가 기능과 유연성을 제공할 수 있습니다.예를 들어, 높은 수준의 데이터 사전은 공통 [4]데이터베이스를 공유하는 다른 애플리케이션에 적합하도록 맞춤화된 대체 개체 관계 모델을 제공할 수 있다.데이터 사전의 확장 기능은 분산 데이터베이스[5]대한 쿼리 최적화에도 도움이 됩니다.또한 DBA 기능은 활성 데이터 사전과 긴밀하게 연결된 재구성 도구를 사용하여 자동화되는 경우가 많습니다.

신속애플리케이션 개발을 목적으로 하는 소프트웨어 프레임워크에는 메뉴, 양식, 보고서 및 데이터베이스 응용 프로그램의 기타 컴포넌트(데이터베이스 자체 포함)를 구축하기 위해 필요한 프로그래밍 양을 대폭 줄일 수 있는 고급 데이터 사전 기능이 포함될 수 있습니다.예를 들어 PHPlens에는 여러 데이터베이스에 [6]대해 이식 가능한 테이블, 인덱스 및 외부 키 제약 조건 생성을 자동화하는 PHP 클래스 라이브러리가 포함되어 있습니다.RADICORE 툴킷의 일부인 또 다른 PHP 기반 데이터 사전은 데이터 검증복잡한 [7]결합을 통해 메뉴와 폼의 프로그램 객체, 스크립트 및 SQL 코드를 자동으로 생성합니다.ASP의 경우.NET 환경, Base One의 데이터 사전은 데이터베이스 자동 생성, 데이터 검증, 성능 향상(캐싱 및 인덱스 사용), 애플리케이션 보안 및 확장 데이터 [8]유형을 위한 교차 DBMS 기능을 제공합니다.Visual DataFlex 기능은[9] DataDictionary를 클래스 파일로 사용하여 사용자 인터페이스와 기본 데이터베이스 간에 중간 계층을 구성할 수 있는 기능을 제공합니다.목적은 표준화된 규칙을 생성하여 데이터 무결성을 유지하고 하나 이상의 관련 애플리케이션 전체에 비즈니스 규칙을 적용하는 것입니다.

일부 업계에서는 시스템 간의 상호 운용성을 보장하기 위해 범용 데이터 사전을 기술 표준으로 사용합니다.예를 들어 부동산 업계는 RESO의 데이터 사전을 준수하고 있으며, 전미 REALTORS협회[10] 정책 [11]핸드북을 통해 MLS를 준수하도록 규정하고 있다.MLS 네이티브 데이터베이스의 이 중간 매핑레이어는 MLS 조직에 API 서비스를 제공하는 소프트웨어 회사에 의해 지원됩니다.

플랫폼 고유의 예

개발자는 Data Description Specification(DDS; 데이터 기술 사양)을 사용하여 IBM i의 [12]컨텍스트에서 데이터를 처리하는 애플리케이션 프로그램 외부에 있는 파일 기술에서 데이터 속성을 기술합니다. Oracle의 sys.ts$ 테이블은 데이터베이스의 모든 테이블에 대한 정보를 저장합니다.오라클 데이터베이스를 [13]생성할 때 생성되는 데이터 사전의 일부입니다.개발자는 개방형 환경에서 구조화된 쿼리 및 트랜잭션 쿼리를 위해 FOSS의 DDS 컨텍스트를 사용할 수도 있습니다.

일반적인 속성

다음은 데이터 사전의 열 또는 필드에 있는 일반적인 항목 목록입니다.

  • 엔티티, 폼명 또는 ID(엔티티)아이디 또는 폼ID) 이 필드가 속한 그룹.
  • 필드명(RDBMS 필드명 등)
  • 표시된 필드 제목.공백일 경우 필드 이름으로 기본 설정될 수 있습니다.
  • 필드 유형(문자열, 정수, 날짜 등)
  • 최소값과 최대값, 표시 폭 또는 소수점 자릿수와 같은 치수.필드 유형에 따라 해석이 다를 수 있습니다.다른 방법으로는 필드 유형에 따라 다른 속성을 가질 수 있습니다.
  • 필드 표시 순서 또는 탭 순서
  • 화면상의 좌표(위치 또는 그리드 기반 UI의 경우)
  • 디폴트값
  • 드롭다운 목록, 콤보 상자, 체크 상자, 범위 등의 프롬프트 유형.
  • Is-required (Boolean) - 'true'인 경우 값은 공백, null 또는 공백만 사용할 수 없습니다.
  • Is-read-only(부울어)
  • 외부 키의 경우 참조 테이블 이름.유효성 검사 또는 선택 목록에 사용할 수 있습니다.
  • 다양한 이벤트 핸들러 또는 참조처예: "on-click", "on-validate" 등이벤트 기반 프로그래밍을 참조하십시오.
  • 정규 표현식 또는 COBOL 스타일의 "PIC" 문과 같은 형식 코드
  • 설명 또는 개요
  • 데이터베이스 인덱스 특성 또는 사양

「 」를 참조해 주세요.

레퍼런스

  1. ^ ACM, IBM Dictionary of Computing, 제10판, 1993년
  2. ^ 라메즈 엘마스리, 샴칸트 BNavathe:데이터베이스 시스템의 기초, 제3장 제17.5절, 페이지 582
  3. ^ TechTarget, SearchSOA, 데이터 사전이란 무엇입니까?
  4. ^ 미국 특허 4774661, 활성 데이터 사전을 갖춘 데이터베이스 관리 시스템, 1985년 11월 19일, AT&T
  5. ^ 미국 특허 4769772, 분산 데이터베이스 실현 접근 계획을 위한 글로벌병렬 로컬 최적화를 모두 사용하는 자동 쿼리 최적화 방법, 1985년 2월 28일, Honeywell Bull
  6. ^ PHP용 ADOdb Data Dictionary Library PHP 2007년 11월 7일 웨이백 머신에 아카이브
  7. ^ RADICORE, 데이터 사전이란 무엇입니까?
  8. ^ Base One International Corporation, Base One 데이터 사전
  9. ^ VISUAL DATAFLEX, 기능
  10. ^ "Real Estate Transaction Standards (RETS) Web API". www.nar.realtor. Retrieved 11 October 2020.
  11. ^ "Handbook on Multiple Listing Policy". www.nar.realtor. Retrieved 11 October 2020.
  12. ^ "DDS documentation for IBM System i V5R3".
  13. ^ "Oracle Concepts - Data Dictionary". www.dba-oracle.com. Retrieved 13 February 2017.

외부 링크