데이터 모델
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
데이터 모델은 정보 시스템을 개발하고 데이터베이스를 설계하는 데 사용되는 데이터의 구조와 형식을 정의하는 개념이다.
정보 시스템 모델링에 관한 초기 연구는 Young과 Kent(1958)가 수행했으며,[7][8] 이들은 "데이터 처리 문제의 정보 및 시간적 특성을 명확하고 추상적인 방식으로 지정하는 것"을 주장했다. 또한 "분석가가 모든 종류의 하드웨어를 중심으로 문제를 구성할 수 있게 해주는 표기법"을 만들고자 했다. 이들의 연구는 다른 하드웨어 구성 요소를 사용하여 다른 대체 구현을 설계하기 위한 추상적인 사양과 불변의 기반을 만드는 최초의 시도였다. 이후 IS 모델링은 1959년에 설립된 IT 산업 컨소시엄인 CODASYL에 의해 수행되었으며, Young과 Kent와 마찬가지로 "데이터 처리의 시스템 수준에서 기계 독립적인 문제 정의 언어를 위한 적절한 구조"를 개발하는 것을 목표로 했다. 이는 특정 IS 정보 대수 개발로 이어졌다.[8]
정보 시스템의 주요 기능은 대량의 정형 및 비정형 데이터를 관리하는 것이다. 데이터 모델은 관계형 데이터베이스와 같은 데이터 관리 시스템에서 저장 장치를 위한 정형 데이터를 기술하며, 일반적으로 워드 프로세서 문서, 이메일, 그림, 음성 또는 비디오와 같은 비구조화된 데이터는 다루지 않는다.[5][31]
데이터 모델링은 1950년대부터 연구가 시작되었으며, 1960년대에 경영 정보 시스템의 등장과 함께 중요성이 커졌다. 1970년대에는 개체-관계 모델이 등장했고, 1980년대에는 객체 지향 프로그래밍의 발전과 함께 데이터 모델링 방식에도 변화가 생겼다. 1990년대에는 의미론의 커뮤니케이션 부분에 집중한 연구가 진행되었다.
데이터 모델은 데이터베이스 모델, 정보 시스템 설계, 데이터 교환 등에 사용되며, 일반적으로 데이터 모델링 언어로 지정된다. ANSI/SPARC 아키텍처는 데이터 모델을 개념적, 논리적, 물리적 모델의 세 가지 관점으로 구분한다. 데이터 모델의 종류에는 플랫 모델, 계층적 모델, 네트워크 모델, 관계형 모델, 스타 스키마 등이 있다. 관련 모델로는 데이터 흐름도, 정보 모델, 객체 모델, 객체-역할 모델링, 통합 모델링 언어 모델 등이 있다.
2. 역사
1960년대에는 경영 정보 시스템(MIS) 개념이 시작되면서 데이터 모델링이 더욱 중요해졌다. Leondes(2002)에 따르면, "당시 정보 시스템은 경영 목적으로 데이터와 정보를 제공했다. 통합 데이터 저장소(IDS)라고 불리는 1세대 데이터베이스 시스템은 찰스 바흐만이 제너럴 일렉트릭에서 설계했다. 이 기간 동안 네트워크 데이터 모델과 계층적 데이터 모델이라는 두 가지 유명한 데이터베이스 모델이 제안되었다."[9] 1960년대 말, 에드거 F. 코드는 데이터 배열에 대한 자신의 이론을 연구하여 일차 술어 논리를 기반으로 하는 관계형 모델을 데이터베이스 관리를 위해 제안했다.[10]
1970년대에는 개체-관계 모델링이 새로운 유형의 개념적 데이터 모델링으로 부상했으며, 1976년에 피터 첸이 형식화했다. 개체-관계 모델은 요구 사항 분석 중 정보 시스템 설계의 첫 단계에서 정보 요구 사항 또는 데이터베이스에 저장할 정보 유형을 설명하기 위해 사용되었다. 이 기술은 특정 관심 영역에 대한 개념과 그 관계의 개요 및 분류인 모든 온톨로지를 설명할 수 있다.
1970년대에 G.M. Nijssen은 "자연어 정보 분석 방법"(NIAM)을 개발했으며, 1980년대에 테리 할핀과 협력하여 객체-역할 모델링(ORM)으로 발전시켰다.
1980년대에는 Jan L. Harrington(2000)에 따르면 "객체 지향 패러다임의 개발은 우리가 데이터를 바라보는 방식과 데이터에 작용하는 절차에 근본적인 변화를 가져왔다. 전통적으로 데이터와 절차는 별도로 저장되었다. 즉, 데이터와 데이터베이스의 관계, 응용 프로그램의 절차가 분리되어 있었으나, 객체 지향에서는 엔티티의 절차와 데이터를 결합했다."[12]
3. 데이터 모델의 역할
데이터 모델의 주요 목적은 데이터의 정의와 형식을 제공하여 정보 시스템 개발을 지원하는 것이다. West와 Fowler(1999)에 따르면, 데이터 모델이 시스템 전체에서 일관되게 수행되면 데이터 호환성을 달성할 수 있고, 동일한 데이터 구조를 사용하여 데이터를 저장하고 접근하면 서로 다른 애플리케이션이 데이터를 공유할 수 있다. 그러나 시스템과 인터페이스 구축, 운영 및 유지 관리에 예상보다 더 많은 비용이 들 수 있으며, 비즈니스를 지원하기보다는 제약할 수도 있다. 이는 주로 시스템과 인터페이스에 구현된 데이터 모델의 품질이 낮기 때문이다.[5][31]
낮은 품질의 데이터 모델은 다음과 같은 문제를 야기할 수 있다.[5][31]
이러한 문제는 데이터 모델이 비즈니스 요구 사항을 충족하고 일관성을 유지하도록 보장할 표준이 부족하기 때문에 발생한다.[5][31]
4. 3가지 관점 (ANSI/SPARC 아키텍처)
1975년 ANSI는 데이터 모델 인스턴스를 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델의 세 가지 종류로 제시했다.[56][6]
ANSI에 따르면, 이 접근 방식은 세 가지 관점이 서로 상대적으로 독립적일 수 있다는 중요한 특징을 가진다. 저장 기술은 논리적 또는 개념적 모델에 영향을 미치지 않고 변경될 수 있으며, 테이블/열 구조는 개념적 모델에 영향을 주지 않고 변경될 수 있다. 각 경우에 구조는 다른 모델과 일관성을 유지해야 한다.
4. 1. 개념적 데이터 모델
1975년 ANSI에 따르면 데이터 모델 ''인스턴스''는 다음 세 가지 종류 중 하나일 수 있다.[56][6][32]
많은 소프트웨어 개발 프로젝트의 초기 단계에서는 개념적 데이터 모델의 설계를 강조한다. 이러한 설계는 논리적 데이터 모델로 자세히 설명할 수 있다. 이후 단계에서 이 모델은 물리적 데이터 모델로 변환될 수 있다. 그러나 개념적 모델을 직접 구현하는 것도 가능하다.
4. 2. 논리적 데이터 모델
1975년 ANSI에 따르면 데이터 모델 ''인스턴스''는 세 가지 종류가 있다.[6]
ANSI에 따르면 이 접근 방식의 중요성은 세 가지 관점이 서로 상대적으로 독립적일 수 있다는 것이다. 저장 기술은 논리적 또는 개념적 모델에 영향을 미치지 않고 변경될 수 있다. 테이블/열 구조는 (필요에 따라) 개념적 모델에 영향을 미치지 않고 변경될 수 있다. 물론 각 경우에 구조는 다른 모델과 일관성을 유지해야 한다. 테이블/열 구조는 엔티티 클래스 및 속성의 직접적인 변환과 다를 수 있지만 궁극적으로 개념적 엔티티 클래스 구조의 목표를 수행해야 한다. 많은 소프트웨어 개발 프로젝트의 초기 단계에서는 개념적 데이터 모델의 설계를 강조한다. 이러한 설계는 논리적 데이터 모델로 자세히 설명할 수 있다. 이후 단계에서 이 모델은 물리적 데이터 모델로 변환될 수 있다. 그러나 개념적 모델을 직접 구현하는 것도 가능하다.
4. 3. 물리적 데이터 모델
1975년 ANSI에 따르면 데이터 모델 ''인스턴스''는 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델의 세 가지 종류가 있다.[6] 이 중 물리적 데이터 모델은 데이터가 저장되는 물리적 수단을 설명하며, 파티션, CPU, 테이블스페이스 등과 관련이 있다.[56]
ANSI에 따르면 이러한 접근 방식의 중요성은 세 가지 관점(개념, 논리, 물리)이 서로 상대적으로 독립적일 수 있다는 점이다. 저장 기술은 논리적 또는 개념적 모델에 영향을 미치지 않고 변경될 수 있으며, 테이블/열 구조는 (필요에 따라) 개념적 모델에 영향을 미치지 않고 변경될 수 있다. 물론 각 경우에 구조는 다른 모델과 일관성을 유지해야 한다. 테이블/열 구조는 엔티티 클래스 및 속성의 직접적인 변환과 다를 수 있지만, 궁극적으로 개념적 엔티티 클래스 구조의 목표를 수행해야 한다.[56]
5. 종류
데이터 모델은 대량의 정형, 비정형 데이터를 관리하는 정보 시스템의 주된 기능이다. 데이터 모델은 관계형 데이터베이스와 같은 데이터 관리 시스템에서 기억장치를 위한 정형 데이터를 기술한다. 워드 처리 문서, 이메일 메시지, 사진, 디지털 오디오, 비디오와 같은 비정형 데이터는 다루지 않는다.[39]
데이터 모델의 종류는 다음과 같다.
5. 1. 데이터베이스 모델
데이터베이스 모델은 데이터베이스의 구조와 사용 방식을 설명하는 명세이다.[39]일반적인 모델은 다음과 같다.
모델 종류 | 설명 |
---|---|
플랫 모델 | 데이터 요소의 단일 2차원 배열로 구성되며, 주어진 열의 모든 구성원은 유사한 값으로 가정하고, 행의 모든 구성원은 서로 관련되어 있다고 가정한다. 엄밀히 말해 데이터 모델로 간주되지 않을 수 있다. |
계층적 모델 | 네트워크 모델과 유사하지만, 링크가 트리 구조를 형성하는 반면 네트워크 모델은 임의의 그래프를 허용한다는 점이 다르다. |
네트워크 모델 | 레코드와 세트라는 두 가지 기본 구조를 사용하여 데이터를 구성한다. 레코드는 필드를 포함하고, 세트는 레코드 간의 일대다 관계(하나의 소유자와 여러 구성원)를 정의한다. |
관계형 모델 | 일차 술어 논리에 기반한 데이터베이스 모델이다. 핵심 아이디어는 데이터베이스를 술어 변수의 유한 집합에 대한 술어 모음으로 설명하는 것으로, 가능한 값과 값의 조합에 대한 제약 조건을 설명한다. |
객체 관계형 모델 | 관계형 모델과 유사하지만, 객체, 클래스 및 상속이 데이터베이스 스키마와 쿼리 언어에서 직접 지원된다. |
객체-역할 모델링 | "속성 없는" 및 "사실 기반"으로 정의된 데이터 모델링 방법이다. ERD, UML 및 의미론적 모델과 같은 다른 일반적인 아티팩트를 파생할 수 있는 검증 가능한 올바른 시스템이 생성된다. 데이터베이스 설계 절차에서 데이터 객체 간의 연관성을 설명하므로 정규화는 프로세스의 불가피한 결과이다. |
스타 스키마 | 데이터 웨어하우스 스키마의 가장 단순한 스타일이다. 여러 개의 "팩트 테이블"(이름을 정당화하는 하나만 있을 수도 있음)이 여러 개의 "차원 테이블"을 참조하는 방식으로 구성된다. 스노우플레이크 스키마의 중요한 특수한 경우로 간주된다. |
5. 2. 데이터 구조 다이어그램
자료 구조 다이어그램(DSD)은 다이어그램이자 자료 모델로, 개념 스키마를 설명하기 위해 사용된다. 이는 개체 클래스와 그들의 관계형 모델 간의 관계를, 그리고 이를 묶는 무결성 제약 조건을 그래픽 표기법으로 문서화한다. DSD의 기본 그래픽 요소는 개체를 나타내는 상자와 관계를 나타내는 화살표이다. 자료 구조 다이어그램은 복잡한 자료 개체를 문서화하는 데 가장 유용하다.
자료 구조 다이어그램은 개체-관계 모델(ER 모델)의 확장이다. DSD에서는 속성이 개체 상자 외부에 표시되는 대신 내부에 지정된다. 반면 관계는 개체를 함께 묶는 제약 조건을 지정하는 속성으로 구성된 상자로 그려진다. DSD는 ER 모델과 달리 ER 모델은 서로 다른 개체 간의 관계에 초점을 맞추는 반면, DSD는 개체 내 요소 간의 관계에 초점을 맞추고 각 개체 간의 링크와 관계를 완전히 볼 수 있도록 한다.
자료 구조 다이어그램을 표현하는 데는 여러 가지 스타일이 있으며, 기수성을 정의하는 방식에 주목할 만한 차이가 있다. 선택 사항은 화살표 머리, 반전된 화살표 머리(까마귀 발), 또는 기수성의 숫자 표현이다.

5. 3. 개체-관계 모델 (ERM)
개체-관계 모델(ERM)은 개체-관계 다이어그램(ERD)이라고도 하며, 구조화된 데이터를 나타내기 위해 소프트웨어 공학에서 사용되는 추상적인 개념 스키마 (또는 의미론적 데이터 모델 또는 물리적 데이터 모델)를 나타내는 데 사용될 수 있다.[34] ERM에는 여러 가지 표기법이 사용된다. DSD와 마찬가지로, 속성은 개체 상자 외부가 아닌 내부에서 지정되며, 관계는 선으로 그려지며, 관계 제약 조건은 선에 대한 설명으로 나타낸다. E-R 모델은 강력하지만 여러 속성을 가진 개체를 나타낼 때는 시각적으로 복잡해질 수 있다.[34]데이터 구조 다이어그램을 표현하는 데는 여러 가지 스타일이 있으며, 카디널리티를 정의하는 방식에 상당한 차이가 있다. 선택 사항은 화살표 머리, 뒤집힌 화살표 머리(까마귀 발) 또는 카디널리티의 숫자 표현이다.[34]
1970년대에 개체 관계 모델이 1976년에 피터 첸에 의해 처음 제안되어, 개념 데이터 모델의 새로운 유형으로 출현했다. 개체 관계 모델은 데이터베이스에 저장되는 정보 요구 사항 및 정보의 유형을 기술하기 위한 요구 사항 분석 중 정보 시스템 설계의 첫 번째 단계에서 사용되었다. 이 기술은 모든 개념 체계, 즉, 일정한 관심 영역에 대한 개념의 전체 모습과 분류 및 그 관련성을 기술할 수 있다.[37]
개체-관계 모델(ER 모델)은 구조화된 데이터를 표현하기 위해 소프트웨어 공학에서 사용되는 추상 개념 스키마 (또는 의미적 데이터 모델)이다.[38]
5. 4. 지리적 데이터 모델
지리 정보 시스템의 자료 모형은 지리 객체나 표면을 데이터로 표현하기 위한 수학적 구조이다. 예를 들어,- 벡터 자료 모형은 지리를 점, 선, 그리고 다각형으로 표현한다.
- 래스터 자료 모형은 지리를 숫자 값을 저장하는 셀 행렬로 표현한다.
- 불규칙 삼각망(TIN) 자료 모형은 지리를 인접하고 겹치지 않는 삼각형 집합으로 표현한다.[14]
지리 정보 시스템에서의 데이터 모델은 데이터로서 지리적 객체 또는 지표를 표현하기 위한 수학적 개념이다. 예를 들어,
- 벡터 데이터 모델은 점, 선 및 다각형의 집합으로 지형을 표현한다.
- 래스터 데이터 모델은 숫자를 저장하는 셀 매트릭스로 지형을 표현한다.
- 불규칙 삼각망(TIN) 데이터 모델은 연속적이고 중복되지 않는 삼각형 집합으로 지형을 표현한다.[41]
5. 5. 제네릭 데이터 모델
일반 데이터 모델은 기존 데이터 모델을 일반화한 형태이다. 이는 표준화된 일반 관계 유형과 해당 관계 유형으로 연결될 수 있는 종류의 것들을 정의한다. 일반 데이터 모델은 기존 데이터 모델의 몇 가지 단점을 해결하기 위한 접근 방식으로 개발되었다. 예를 들어, 서로 다른 모델러는 일반적으로 동일한 도메인에 대해 서로 다른 기존 데이터 모델을 생성하는데, 이는 서로 다른 사람들의 모델을 통합하는 데 어려움을 초래하고 데이터 교환 및 데이터 통합에 걸림돌이 된다. 그러나 이러한 차이는 모델의 서로 다른 추상화 수준과 인스턴스화할 수 있는 사실의 종류(모델의 의미 표현 능력)의 차이로 귀결된다. 모델러는 차이를 덜 중요하게 만들기 위해 더 구체적으로 표현될 특정 요소에 대해 소통하고 합의해야 한다.5. 6. 시맨틱 데이터 모델
소프트웨어 공학에서 의미적 데이터 모델은 다른 데이터와의 상호 관계 속에서 데이터의 의미를 정의하는 기술이다. 의미적 데이터 모델은 저장된 기호가 실제 세계와 어떻게 관련되는지 정의하는 추상화이다.[13] 의미적 데이터 모델은 때때로 개념적 데이터 모델이라고도 한다.데이터베이스 관리 시스템(DBMS)의 논리적 데이터 구조는 계층형 모델, 네트워크 모델, 또는 관계형 모델이든, 데이터의 개념적 정의에 대한 요구 사항 분석을 완전히 충족시킬 수 없다. 이는 범위가 제한적이고 DBMS에서 사용하는 구현 전략에 편향되어 있기 때문이다. 따라서 세 가지 스키마 접근 방식에서 데이터를 정의해야 할 필요성이 의미적 데이터 모델링 기술의 개발로 이어졌다. 즉, 다른 데이터와의 상호 관계의 맥락에서 데이터의 의미를 정의하는 기술이다. 자원, 아이디어, 사건 등의 실제 세계는 물리적 데이터 저장소 내에서 기호적으로 정의된다. 의미적 데이터 모델은 저장된 기호가 실제 세계와 어떻게 관련되는지 정의하는 추상화이다. 따라서 이 모델은 실제 세계의 진정한 표현이어야 한다.[13]
6. 데이터 모델링
소프트웨어 공학에서의 데이터 모델링은 데이터 모델링 기법을 사용하여 공식적인 데이터 모델 설명을 적용함으로써 데이터 모델을 생성하는 과정이다. 데이터 모델링은 데이터베이스에 대한 비즈니스 요구 사항을 정의하는 기술이다. 데이터 모델은 결국 데이터베이스에 구현되기 때문에 때로는 "데이터베이스 모델링"이라고도 한다.[16]
개념적 데이터 모델은 개발 중인 애플리케이션에 대한 데이터 요구 사항을 기반으로 개발되며, 아마도 활동 모델의 맥락에서 개발될 것이다. 데이터 모델은 일반적으로 엔터티 유형, 속성, 관계, 무결성 규칙 및 해당 객체의 정의로 구성된다. 그런 다음 인터페이스 또는 데이터베이스 설계의 시작점으로 사용된다.[5]
7. 데이터 아키텍처
데이터 아키텍처는 목표 상태를 정의하고, 그 목표 상태에 도달하기 위해 필요한 후속 계획을 수립하는 데 사용되는 데이터 설계이다. 이는 일반적으로 엔터프라이즈 아키텍처 또는 솔루션 아키텍처의 기둥을 형성하는 여러 아키텍처 도메인 중 하나이다.
데이터 아키텍처는 비즈니스 및/또는 해당 애플리케이션에서 사용되는 데이터 구조를 설명한다. 여기에는 저장된 데이터 및 이동 중인 데이터에 대한 설명, 데이터 저장소, 데이터 그룹 및 데이터 항목에 대한 설명, 그리고 이러한 데이터 아티팩트를 데이터 품질, 애플리케이션, 위치 등에 매핑하는 내용이 포함된다.
데이터 아키텍처는 주어진 시스템에서 데이터가 어떻게 처리, 저장 및 활용되는지를 설명하며, 이는 목표 상태를 실현하는 데 필수적이다. 또한, 데이터 흐름을 설계하고 시스템 내 데이터 흐름을 제어할 수 있게 해주는 데이터 처리 작업에 대한 기준을 제공한다.[1]
8. 관련 모델
정보 시스템을 통해 데이터의 "흐름"을 그래픽으로 나타내는 자료 흐름도(DFD), 소프트웨어 공학에서 사용되는 통합 모델링 언어(UML) 모델 등이 데이터 모델과 관련되어 있다.
- '''자료 흐름도(DFD, Data Flow Diagram)'''

자료 흐름도는 정보 시스템을 통해 데이터의 "흐름"을 그래픽으로 나타낸 것이다. 순서도와 달리 프로그램의 ''제어'' 흐름이 아닌 ''자료'' 흐름을 보여준다. 자료 흐름도는 데이터 시각화를 통해 자료 처리(구조적 설계)를 시각화하는 데에도 사용될 수 있다.
- '''통합 모델링 언어(UML, Unified Modeling Language) 모델'''
통합 모델링 언어(UML)는 소프트웨어 공학 분야에서 표준화된 범용 모델링 언어이다. 소프트웨어 집약 시스템의 아티팩트를 시각화하고, 명세하고, 구성하고, 문서화하기 위한 그래픽 언어이다.[27]
8. 1. 데이터 흐름도 (DFD)
자료 흐름도(DFD)는 정보 시스템을 통해 데이터의 "흐름"을 그래픽으로 나타낸 것이다. 이것은 프로그램의 ''제어'' 흐름을 보여주는 순서도와 달리, ''자료'' 흐름을 보여준다는 점에서 차이가 있다. 자료 흐름도는 데이터 시각화를 통해 자료 처리(구조적 설계)를 시각화하는 데에도 사용될 수 있다. 자료 흐름도는 구조적 설계의 최초 개발자인 래리 콘스탄틴(Larry Constantine)[20]이 마틴과 에스트린의 "자료 흐름 그래프" 계산 모델을 기반으로 발명했다.
시스템과 외부 개체 간의 상호 작용을 보여주는 컨텍스트 레벨 자료 흐름도를 먼저 그리는 것이 일반적이다. DFD는 시스템이 어떻게 더 작은 부분으로 나뉘는지 보여주고 해당 부분 간의 데이터 흐름을 강조하도록 설계되었다. 이 컨텍스트 레벨 자료 흐름도는 모델링되는 시스템의 더 자세한 내용을 보여주기 위해 "확장"된다.
8. 2. 정보 모델
정보 모델은 데이터 모델의 한 유형이라기보다는 일종의 대안 모델이다. 소프트웨어 공학 분야에서 데이터 모델과 정보 모델은 모두 속성, 관계 및 수행할 수 있는 연산을 포함하는 엔티티 유형의 추상적이고 형식적인 표현일 수 있다. 모델의 엔티티 유형은 네트워크의 장치와 같은 실제 세계 객체의 종류일 수도 있고, 청구 시스템에 사용되는 엔티티와 같이 추상적일 수도 있다. 일반적으로 엔티티 유형, 속성, 관계 및 연산의 폐쇄된 집합으로 설명할 수 있는 제한된 도메인을 모델링하는 데 사용된다.[21]Lee (1999)에 따르면[21] 정보 모델은 선택한 담론 영역에 대한 데이터 의미를 지정하기 위한 개념, 관계, 제약 조건, 규칙 및 연산의 표현이다. 도메인 컨텍스트에 대한 공유 가능하고 안정적이며 조직화된 정보 요구 사항 구조를 제공할 수 있다.[21] 일반적으로 '정보 모델'이라는 용어는 시설, 건물, 공장 등과 같은 개별 사물의 모델에 사용된다. 이러한 경우 개념은 시설 정보 모델, 빌딩 정보 모델, 플랜트 정보 모델 등으로 전문화된다. 이러한 정보 모델은 시설 모델과 시설에 대한 데이터 및 문서의 통합이다.
정보 모델은 소프트웨어에서 해당 설명을 실제 구현에 매핑하는 방법을 제한하지 않고, 문제 도메인에 대한 형식주의를 제공한다. 정보 모델의 매핑은 많을 수 있다. 이러한 매핑은 객체 모델(예: UML 사용), 개체-관계 모델 또는 XML 스키마인지 여부에 관계없이 데이터 모델이라고 불린다.
8. 3. 객체 모델
컴퓨터 과학에서 객체 모델은 프로그램이 세계의 특정 부분을 검사하고 조작할 수 있는 객체 또는 클래스의 모음이다. 즉, 어떤 서비스나 시스템에 대한 객체 지향 인터페이스이다. 이러한 인터페이스는 표현된 서비스 또는 시스템의 ''객체 모델''이라고 한다. 예를 들어, DOM(Document Object Model)은 웹 브라우저에서 페이지를 나타내는 객체의 모음이며, 스크립트 프로그램에서 페이지를 검사하고 동적으로 변경하는 데 사용된다.[22] Microsoft Excel을 다른 프로그램에서 제어하기 위한 객체 모델이 있으며,[22] ASCOM 망원경 드라이버는 천체 망원경을 제어하기 위한 객체 모델이다.[23]컴퓨팅에서 ''객체 모델''이라는 용어는 특정 컴퓨터 프로그래밍 언어, 기술, 표기법 또는 객체를 사용하는 방법론에서 객체의 일반적인 속성에 대한 뚜렷한 두 번째 의미를 갖는다. 예를 들어, ''자바 객체 모델'', ''COM 객체 모델'' 또는 ''OMT의 객체 모델''이 있다. 이러한 객체 모델은 일반적으로 클래스, 메시지, 상속, 다형성, 캡슐화와 같은 개념을 사용하여 정의된다. 프로그래밍 언어의 형식적 의미론의 하위 집합으로서 형식화된 객체 모델에 대한 광범위한 문헌이 있다.
8. 4. 객체-역할 모델링 (ORM)
객체-역할 모델링(ORM)은 개념 모델링 방법이며, 정보 및 규칙 분석 도구로 사용될 수 있다.[25]
객체-역할 모델링은 개념적 수준에서 시스템 분석을 수행하기 위한 사실 지향적 방법론이다. 데이터베이스 애플리케이션의 품질은 설계에 크게 좌우된다. 정확성, 명확성, 적응성 및 생산성을 보장하기 위해 정보 시스템은 사람들이 쉽게 이해할 수 있는 개념과 언어를 사용하여 먼저 개념적 수준에서 지정하는 것이 가장 좋다.
개념적 설계는 데이터, 프로세스 및 동작적 관점을 포함할 수 있으며, 설계를 구현하는 데 사용되는 실제 DBMS는 여러 논리적 데이터 모델(관계형, 계층형, 네트워크형, 객체 지향형 등) 중 하나를 기반으로 할 수 있다.[26]
8. 5. 통합 모델링 언어 (UML) 모델
통합 모델링 언어(UML)는 소프트웨어 공학 분야에서 표준화된 범용 모델링 언어이다. 소프트웨어 집약 시스템의 아티팩트를 시각화하고, 명세하고, 구성하고, 문서화하기 위한 그래픽 언어이다.[27] 통합 모델링 언어는 다음과 같은 시스템 청사진을 작성하는 표준 방법을 제공한다.[53]- 비즈니스 프로세스 및 시스템 기능과 같은 개념적인 것
- 프로그래밍 언어 문, 데이터베이스 스키마, 재사용 가능한 소프트웨어 컴포넌트와 같은 구체적인 것들.
UML은 기능 모델, 데이터 모델 및 데이터베이스 모델을 혼합하여 제공한다.
참조
[1]
간행물
Paul R. Smith & Richard Sarfaty Publications, LLC
2009
[2]
웹사이트
What is a Data Model?
https://cedar.prince[...]
2024-05-29
[3]
웹사이트
UML Domain Modeling - Stack Overflow
https://stackoverflo[...]
Stack Exchange Inc.
2017-02-04
[4]
간행물
A Conceptual Data Model of Datum Systems
http://nvl.nist.gov/[...]
National Institute of Standards and Technology
1999-08
[5]
간행물
Developing High Quality Data Models
https://sites.google[...]
The European Process Industries STEP Technical Liaison Executive (EPISTLE)
1999
[6]
간행물
ANSI/X3/SPARC Study Group on Data Base Management Systems; Interim Report
American National Standards Institute
1975
[7]
간행물
"Abstract Formulation of Data Processing Problems"
Journal of Industrial Engineering
1958-11
[8]
간행물
"From Information Algebra to Enterprise Modelling and Ontologies - a Historical Perspective on Modelling for Information Systems"
Conceptual Modelling in Information Systems Engineering
2007
[9]
서적
Database and Data Communication Network Systems: Techniques and Applications
2002
[10]
간행물
"Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks"
1969
[11]
웹사이트
Data and Reality
http://www.bkent.net[...]
[12]
서적
Object-oriented Database Design Clearly Explained
2000
[13]
간행물
FIPS Publication 184
http://www.itl.nist.[...]
National Institute of Standards and Technology (NIST)
1993-12-21
[14]
서적
A to Z GIS
http://store.esri.co[...]
[15]
간행물
The National Geologic Map Database Project: Overview and Progress
http://pubs.usgs.gov[...]
U.S. Geological Survey Open-File Report
2003
[16]
서적
Systems Analysis and Design Methods
2004
[17]
서적
Database Systems 3rd Edition
Palgrave, Basingstoke, UK
2004
[18]
서적
"The Data Model Resource Book: Universal Patterns for Data Modeling"
2008
[19]
간행물
Introduction to Systems Engineering Practices
http://ses.gsfc.nasa[...]
2000-07
[20]
간행물
Structured Design
IBM Systems Journal
1974
[21]
간행물
"Information modeling from design to implementation"
http://www.mel.nist.[...]
National Institute of Standards and Technology
1999
[22]
웹사이트
Excel Object Model Overview
http://msdn2.microso[...]
[23]
웹사이트
ASCOM General Requirements
http://ascom-standar[...]
2014-09-25
[24]
간행물
Geologic Concept Modeling
http://pubs.usgs.gov[...]
U.S. Geological Survey Open-File Report
1999
[25]
서적
Pro Scalable .NET 2.0 Application Designs.
2005
[26]
웹사이트
Object Role Modeling: An Overview (msdn.microsoft.com)
http://msdn2.microso[...]
2008-09-19
[27]
간행물
OMG Unified Modeling Language Specification
https://web.archive.[...]
2005
[28]
간행물
Creating a strategic plan for configuration management using Computer Aided Software Engineering (CASE) tools.
http://www.osti.gov/[...]
1993
[29]
서적
"Data Modeling Made Simple 2nd Edition"
http://www.technicsp[...]
Technics Publications, LLC
2009
[30]
간행물
"A Conceptual Data Model of Datum Systems"
http://nvl.nist.gov/[...]
National Institute of Standards and Technology
1999-08
[31]
간행물
Developing High Quality Data Models
http://www.matthew-w[...]
The European Process Industries STEP Technical Liaison Executive (EPISTLE)
1999
[32]
간행물
ANSI/X3/SPARC Study Group on Data Base Management Systems; Interim Report
American National Standards Institute
1975
[33]
서적
"Data Modeling for the Business"
http://www.technicsp[...]
Technics Publications, LLC
2009
[34]
간행물
"Abstract Formulation of Data Processing Problems"
Journal of Industrial Engineering
1958-11
[35]
간행물
"From Information Algebra to Enterprise Modelling and Ontologies - a Historical Perspective on Modelling for Information Systems"
Conceptual Modelling in Information Systems Engineering
2007
[36]
서적
Database and Data Communication Network Systems: Techniques and Applications
2002
[37]
간행물
"Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks"
IBM Research Report
1969
[38]
서적
Object-oriented Database Design Clearly Explained
2000
[39]
논문
情報処理技術と数学〔第6回〕 データベースの数学モデル
[40]
문서
FIPS Publication 184
http://www.itl.nist.[...]
Computer Systems Laboratory of the National Institute of Standards and Technology (NIST)
1993-12-21
[41]
서적
A to Z GIS
http://store.esri.co[...]
[42]
간행물
The National Geologic Map Database Project: Overview and Progress
http://pubs.usgs.gov[...]
U.S. Geological Survey Open-File Report 03–471
2003
[43]
서적
Systems Analysis and Design Methods
2004
[44]
서적
Database Systems 3rd Edition
Palgrave, Basingstoke, UK
2004
[45]
서적
The Data Model Resource Book: Universal Patterns for Data Modeling
2008
[46]
문서
Introduction to Systems Engineering Practices
http://ses.gsfc.nasa[...]
2000-07
[47]
논문
Structured Design
1974
[48]
문서
"Information modeling from design to implementation"
http://www.mel.nist.[...]
National Institute of Standards and Technology
1999
[49]
웹사이트
http://ascom-standar[...]
[50]
문서
Geologic Concept Modeling
http://pubs.usgs.gov[...]
U.S. Geological Survey Open-File Report 99-386
1999
[51]
서적
Pro Scalable .NET 2.0 Application Designs.
2005
[52]
웹사이트
Object Role Modeling: An Overview (msdn.microsoft.com)
http://msdn2.microso[...]
2008-09-19
[53]
문서
OMG Unified Modeling Language Specification
http://www.omg.org/d[...]
2000-03
[54]
웹인용
"Data Modeling Made Simple 2nd Edition", Steve Hoberman, Technics Publications, LLC 2009
https://web.archive.[...]
2011-09-13
[55]
웹사이트
"A Conceptual Data Model of Datum Systems"
http://nvl.nist.gov/[...]
National Institute of Standards and Technology
1999-08
[56]
간행물
ANSI/X3/SPARC Study Group on Data Base Management Systems; Interim Report
1975
관련 사건 타임라인
( 최근 20개의 뉴스만 표기 됩니다. )
몽고DB의 제언, ‘똑똑한’ 애플리케이션 데이터 플랫폼 구축 방안 – 바이라인네트워크
넷플릭스 IT팀도 레거시와 싸운다? – 바이라인네트워크
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com