맨위로가기

데이터 사전

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

데이터 사전은 메타데이터, 즉 정보에 대한 데이터를 저장하는 데이터 구조로, 데이터베이스의 구조, 내용 및 규칙을 설명하는 문서이다. 데이터 사전은 크게 수동 데이터 사전과 활성 데이터 사전으로 나뉘며, 활성 데이터 사전은 DBMS에 의해 자동 업데이트되는 반면 수동 데이터 사전은 사용자가 직접 관리해야 한다. 데이터 사전은 데이터베이스 사용자 및 애플리케이션 개발자에게 유용하며, 데이터베이스 테이블, 필드, 데이터 유형, 관계 등 다양한 정보를 제공한다. 또한, 미들웨어를 통해 데이터 사전 기능을 확장하여 분산 데이터베이스 쿼리 최적화 및 RAD(신속 애플리케이션 개발)를 지원하기도 한다.

더 읽어볼만한 페이지

  • 메타데이터 - DOAJ
    DOAJ는 과학 및 학술 저널의 오픈 액세스 가시성을 높이고 이용 편의성을 향상시켜 접근성과 영향력을 확대하며, 피어 리뷰를 거친 학술지를 엄격하게 심사하여 수록하고 모든 콘텐츠를 무료로 제공하는 오픈 액세스 저널 디렉토리이다.
  • 메타데이터 - 해시태그
    해시태그는 2007년 트위터에서 관심 주제를 묶기 위해 제안되어 마이크로블로깅 네트워크에서 널리 사용되기 시작했으며, 다양한 분야에서 활용되고 언어학적 분석의 대상이 되기도 한다.
  • 데이터 모델링 - 빌딩 정보 모델링
    빌딩 정보 모델링(BIM)은 건축물의 전 생애주기 동안 발생하는 정보를 디지털 모델로 통합 관리하는 프로세스이다.
  • 데이터 모델링 - 저장 프로시저
    저장 프로시저는 데이터베이스 관리 시스템에서 SQL 문들을 미리 컴파일하여 저장하고, 모듈화, 보안성, 성능 향상, 유지보수 용이성과 같은 특징을 가지며, 데이터베이스 시스템마다 구현 방식과 지원하는 언어가 다를 수 있는 코드 묶음이다.
  • 지식 표현 - 시소러스
    시소러스는 특정 단어나 개념의 유의어, 상위어, 하위어를 모아놓은 사전으로, 어휘의 의미 관계를 보여주며 글쓰기, 번역 등 다양한 분야에 활용된다.
  • 지식 표현 - 시맨틱 네트워크
    시맨틱 네트워크는 개념 간의 관계를 표현하는 지식 표현 방법으로, 노드와 링크를 사용하여 지식을 구조화하며 인공지능, 언어학 등 다양한 분야에서 활용된다.
데이터 사전

2. 데이터 사전의 종류

데이터 사전은 크게 활성 데이터 사전수동 데이터 사전으로 나뉜다.[2]

수동 데이터 사전은 설계자, 사용자, 관리자만 사용하고 DBMS 소프트웨어에서는 사용되지 않는 반면, 활성 데이터 사전은 DBMS 소프트웨어에서 사용된다.

데이터베이스 사용자응용 프로그램 개발자는 데이터 사전 문서에서 도움을 받을 수 있다.[3] 데이터 사전 문서에는 테이블(레코드 또는 개체)의 이름과 설명, 내용(필드), 유형, 데이터 요소의 길이 등 추가 정보가 포함된다. 또한, 테이블 간의 관계 정보도 제공될 수 있다.

데이터 사전은 각 지원 백엔드 DBMS에 맞게 조정된 시스템 생성 명령 파일에 의해 데이터베이스에 생성된 레코드 유형(테이블)으로 구성된다.

2. 1. 활성 데이터 사전 (Active Data Dictionary)

활성 데이터 사전은 DBMS에 의해 자동 업데이트되는 데이터 사전이다. 데이터베이스 스키마가 변경되면, 변경 사항이 자동적으로 반영된다.[2]

활성 데이터 사전은 주로 DBMS 내부 모듈(DDLDML 컴파일러, 쿼리 최적화기 등)에서 사용된다.[2] 데이터베이스 사용자응용 프로그램 개발자도 데이터 사전 문서를 통해 데이터베이스 구성, 내용 및 규칙을 파악하여 도움을 받을 수 있다.[3]

활성 데이터 사전에서는 데이터에 제약 조건을 설정할 수 있다. 예를 들어, 숫자 데이터 값의 범위를 지정하거나, 테이블의 레코드가 다른 레코드 유형과의 관계에 참여하도록 강제할 수 있다. 분산 DBMS에서는 활성 데이터 사전에 테이블의 물리적 위치와 같은 특정 위치 관련 정보가 포함될 수 있다.

2. 2. 수동 데이터 사전 (Passive Data Dictionary)

데이터 사전 시스템이 설계자, 사용자 및 관리자에 의해서만 사용되고 DBMS 소프트웨어에서는 사용되지 않는 경우 이를 "수동 데이터 사전"이라고 한다.[2] 수동 데이터 사전은 DBMS (데이터베이스) 구조에 대한 변경 사항과 별도로 수동으로 업데이트된다.

데이터베이스 사용자응용 프로그램 개발자는 하나 이상의 데이터베이스 구성, 내용 및 규칙을 목록화한 데이터 사전 문서로부터 혜택을 받을 수 있다.[3] 여기에는 일반적으로 다양한 테이블(레코드 또는 개체)의 이름과 설명, 해당 내용(필드)과 각 유형 및 데이터 요소의 길이와 같은 추가 세부 정보가 포함된다.

3. 데이터 사전의 구성 요소

데이터 사전은 메타데이터, 즉 구조화된 정보에 대한 데이터를 저장하는 데이터 구조이다. 독립형 데이터 사전 또는 데이터 저장소 소프트웨어 패키지는 DBMS 소프트웨어 모듈과 상호 작용할 수 있지만, 주로 정보 자원 관리를 위해 컴퓨터 시스템 설계자, 사용자 및 관리자가 사용한다. 이러한 시스템은 시스템 하드웨어 및 소프트웨어 구성, 설명서, 응용 프로그램 및 사용자, 시스템 관리에 관련된 기타 정보를 유지한다.[2]

데이터 사전 시스템이 설계자, 사용자 및 관리자에 의해서만 사용되고 DBMS 소프트웨어에서는 사용되지 않는 경우, 이를 "수동 데이터 사전"이라고 한다. 그렇지 않은 경우 "활성 데이터 사전" 또는 "데이터 사전"이라고 한다. 수동 데이터 사전은 DBMS (데이터베이스) 구조에 대한 변경 사항과 별도로 수동으로 업데이트해야 한다. 활성 데이터 사전의 경우, 사전을 먼저 업데이트하면 DBMS에서 변경 사항이 자동으로 발생한다.

데이터베이스 사용자응용 프로그램 개발자는 하나 이상의 데이터베이스 구성, 내용 및 규칙을 카탈로그하는 권위 있는 데이터 사전 문서로부터 혜택을 받을 수 있다.[3] 데이터 사전은 각 지원 백엔드 DBMS에 맞게 조정된 시스템 생성 명령 파일에 의해 데이터베이스에 생성된 레코드 유형(테이블)으로 구성된다. 오라클에는 "sys" 사용자를 위한 특정 뷰 목록이 있어, 사용자가 필요한 정확한 정보를 조회할 수 있다. 명령 파일에는 해당 유형의 데이터베이스에서 필요한 특정 명령문을 사용하여 CREATE TABLE, CREATE UNIQUE INDEX, ALTER TABLE(참조 무결성을 위해) 등에 대한 SQL 문이 포함되어 있다.

이러한 문서의 세부 수준에 대한 보편적인 표준은 없다. 데이터베이스 사용자 및 애플리케이션 개발자에게는 데이터베이스의 구조, 내용 및 규약을 목록화한 데이터 사전 문서가 유용하다.[15] 잘 설계된 데이터 사전 문서는 복잡한 데이터베이스나 대규모의 연합 데이터베이스에서 일관성을 유지하는 데 도움을 준다.[16]

3. 1. 데이터 요소 (필드) 정보

항목설명
엔터티/테이블/폼 이름 또는 ID해당 필드가 속한 그룹
필드 이름데이터베이스 필드 이름 (예: RDBMS 필드 이름)
표시 이름사용자에게 표시되는 필드 제목 (필드 이름을 기본값으로 사용 가능)
데이터 타입문자열, 정수, 날짜 등 필드의 데이터 형식
측정값최소/최대값, 표시 너비, 소수 자릿수 등
표시 순서필드 표시 순서 또는 탭 순서
화면 좌표화면 상의 필드 위치 (위치 기반 또는 그리드 기반 UI인 경우)
기본값필드의 기본값
프롬프트 유형드롭다운 목록, 콤보 상자, 체크박스 등
필수 여부필드 값 입력 필수 여부 (Boolean)
읽기 전용 여부필드 값 변경 가능 여부 (Boolean)
참조 테이블 이름외래 키(Foreign Key)인 경우, 참조하는 테이블 이름 (유효성 검사 또는 선택 목록에 사용)
이벤트 핸들러"클릭 시", "검증 시" 등 이벤트 발생 시 처리 로직 (사건 기반 프로그래밍 참고)
형식 코드정규 표현식 또는 COBOL 스타일 "PIC" 문
설명/개요필드에 대한 추가 설명


3. 2. 데이터베이스 객체 정보

데이터베이스 사용자응용 프로그램 개발자는 하나 이상의 데이터베이스 구성, 내용 및 규칙을 카탈로그하는 권위 있는 데이터 사전 문서로부터 혜택을 받을 수 있다.[3] 여기에는 일반적으로 다양한 테이블(레코드 또는 개체)의 이름과 설명, 해당 내용(필드)과 각 유형 및 데이터 요소의 길이와 같은 추가 세부 정보가 포함된다. 데이터 사전에서 제공할 수 있는 또 다른 중요한 정보는 테이블 간의 관계이다. 이는 때때로 개체 관계 다이어그램(ERD)에서 언급되거나 집합 설명자를 사용하는 경우 데이터베이스 테이블이 참여하는 집합을 식별한다.

활성 데이터 사전에서는 기본 데이터에 제약 조건을 설정할 수 있다. 예를 들어 데이터 요소(필드)의 숫자 데이터 값에 범위를 적용하거나 테이블의 레코드가 다른 레코드 유형과의 집합 관계에 참여하도록 강제할 수 있다. 또한 분산 DBMS는 활성 데이터 사전 내에 특정 위치 관련 정보를 가질 수 있다(예: 테이블이 물리적으로 위치한 곳).

4. 데이터 사전과 미들웨어

데이터베이스 애플리케이션을 구축할 때, 기반 DBMS 데이터 사전에 통신하는 미들웨어인 데이터 사전 소프트웨어 계층을 추가하는 경우가 있다. 이러한 상위 데이터 사전은 DBMS 고유의 하위 데이터 사전으로는 불가능한 기능과 유연성을 제공한다. DBMS 고유의 데이터 사전은 해당 DBMS의 기본 기능을 지원하며, 애플리케이션의 요구에 부응하는 것은 아니다. 상위 데이터 사전을 사용하면 동일한 데이터베이스를 공유하는 여러 애플리케이션에 대해 각각 최적화된 개체 관계 모델을 제공할 수 있다.[17] 또한, 데이터 사전 확장을 통해 분산 데이터베이스에 대한 쿼리 최적화를 지원할 수 있다.[18]

일부 산업에서는 시스템 간의 상호 운용성을 보장하기 위해 일반화된 데이터 사전을 기술 표준으로 사용한다. 예를 들어, 부동산 산업은 전미 부동산 중개인 협회가 정책 핸드북을 통해[11] 준수하도록 의무화하는 [https://ddwiki.reso.org RESO의 데이터 사전]을 준수한다.[10] MLS의 기본 데이터베이스에 대한 이 중간 매핑 계층은 MLS 조직에 API 서비스를 제공하는 소프트웨어 회사에서 지원한다.

4. 1. 미들웨어의 역할

데이터베이스 애플리케이션 구축 시, 기반 DBMS 데이터 사전에 통신하는 추가적인 데이터 사전 소프트웨어 계층, 즉 미들웨어를 도입하는 것이 유용할 수 있다. 이러한 "고수준" 데이터 사전은 기본적인 DBMS 기능, 즉 일반적인 애플리케이션의 요구 사항이 아닌 지원을 주요 목적으로 하는 기본 "저수준" 데이터 사전의 제한을 넘어 추가 기능과 유연성을 제공할 수 있다.[4] 예를 들어, 고수준 데이터 사전은 공통 데이터베이스를 공유하는 다양한 애플리케이션에 맞게 조정된 대체 개체-관계 모델을 제공할 수 있다.[4] 데이터 사전의 확장은 분산 데이터베이스에 대한 쿼리 최적화를 지원할 수 있으며,[5] DBA 기능과 연동하여 자동화된 재구성 도구를 제공하는 경우도 많다.

4. 2. 소프트웨어 프레임워크와의 연동

신속 애플리케이션 개발(RAD)을 위한 소프트웨어 프레임워크는 종종 고급 데이터 사전 기능을 포함하여 메뉴, 양식, 보고서 및 데이터베이스 자체를 포함한 데이터베이스 애플리케이션의 구성 요소를 구축하는 데 필요한 프로그래밍 양을 크게 줄일 수 있다.

예를 들어, PHPLens는 여러 데이터베이스에 대해 테이블, 인덱스 및 외래 키 제약 조건을 이식 가능하게 자동 생성하는 PHP 클래스 라이브러리를 포함하고 있다.[6] RADICORE 툴킷의 일부인 또 다른 PHP 기반 데이터 사전은 데이터 유효성 검사 및 복잡한 조인을 사용하여 메뉴 및 양식에 대한 프로그램 객체, 스크립트 및 SQL 코드를 자동 생성한다.[7] ASP.NET 환경에서 Base One의 데이터 사전은 자동화된 데이터베이스 생성, 데이터 유효성 검사, 성능 향상(캐싱 및 인덱스 활용), 애플리케이션 보안 및 확장된 데이터 유형에 대한 교차 DBMS 기능을 제공한다.[8]

5. 특정 플랫폼 사례

IBM i 환경에서 개발자는 데이터 설명 명세서(DDS)를 사용하여 파일 설명에서 데이터 속성을 기술한다.[12] 오라클 데이터베이스의 'sys.ts$' 테이블은 데이터베이스가 생성될 때 함께 만들어지는 데이터 사전의 일부로, 데이터베이스의 모든 테이블에 대한 정보를 저장한다.[13] 개발자는 개방형 환경에서 구조화된 쿼리 및 트랜잭션 쿼리를 위해 자유-오픈 소스 소프트웨어(FOSS)의 DDS 컨텍스트를 사용할 수도 있다.

참조

[1] 서적 IBM Dictionary of Computing http://portal.acm.or[...] ACM 1993
[2] 서적 Fundamentals of Database Systems ''
[3] 웹인용 What is a data dictionary? http://searchsoa.tec[...] TechTarget 2009-02-12
[4] 특허 Database management system with active data dictionary http://www.freepaten[...] AT&T 1985-11-19
[5] 특허 Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases http://www.freepaten[...] Honeywell Bull 1985-02-28
[6] 웹인용 ADOdb Data Dictionary Library for PHP http://phplens.com/l[...] PHPLens 2007-11-07
[7] 웹사이트 What is a Data Dictionary? http://www.radicore.[...] RADICORE
[8] 웹사이트 Base One Data Dictionary http://www.boic.com/[...] Base One International Corp.
[9] 웹인용 features http://www.visualdat[...] VISUAL DATAFLEX 2018-04-05
[10] 웹사이트 Real Estate Transaction Standards (RETS) Web API https://www.nar.real[...] 2020-10-11
[11] 웹사이트 Handbook on Multiple Listing Policy https://www.nar.real[...] 2020-10-11
[12] 웹사이트 DDS documentation for IBM System i V5R3 http://publib.boulde[...]
[13] 웹사이트 Oracle Concepts - Data Dictionary http://www.dba-oracl[...] 2017-02-13
[14] 서적 IBM Dictionary of Computing http://portal.acm.or[...] ACM 1993
[15] 웹사이트 What is a data dictionary? http://searchsoa.tec[...] TechTarget
[16] 간행물 Guidelines for Developing a Data Dictionary http://library.ahima[...] AHIMA Practice Brief 2006-02
[17] 특허 Database management system with active data dictionary http://www.freepaten[...] AT&T 1985-11-19
[18] 특허 Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases http://www.freepaten[...] Honeywell Bull 1985-02-28
[19] 웹사이트 ADOdb Data Dictionary Library for PHP http://phplens.com/l[...] PHPLens
[20] 웹사이트 What is a Data Dictionary? http://www.radicore.[...] RADICORE
[21] 웹사이트 Base One Data Dictionary http://www.boic.com/[...] Base One International Corp.
[22] 서적 IBM Dictionary of Computing http://portal.acm.or[...] ACM 1993



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com