데이터 모델링의 개요를 이해한다. 데이터 모델링과 관련된 용어를 이해한다. 논리적 모델링과 기타 모델링 방법을 이해한다.

Slides:



Advertisements
Similar presentations
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
Advertisements

목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
제 4 장 관계 학기 소프트웨어설계.
제 9 장 구조체와 공용체.
MySQL 및 Workbench 설치 데이터 베이스.
목차 백업과 복원.
6 장. ER-관계 사상에 의한 관계 데이터베이스 설계
Windows Server 장. 사고를 대비한 데이터 백업.
5장 Mysql 데이터베이스 한빛미디어(주).
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
27장. 모듈화 프로그래밍.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
데이터베이스 설계도구 ERwin 사용법(Erwin 4.1.4)
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
제 5 장 집합연관, 복합연관, 인터페이스, 실체화 (교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006) 학기 소프트웨어설계.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
Clipping 이진학.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
데이터 베이스 DB2 관계형 데이터 모델 권준영.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
( Windows Service Application Debugging )
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
약식 진리표를 이용한 타당성 증명 진리표 그리기 방법의 한계
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 1 단위, 물리량, 벡터.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
Chapter 1 단위, 물리량, 벡터.
Part 2 개념적 데이터 모델 Copyright © 2006 by Ehan Publishing Co. All rights reserved.
Chapter 10 데이터 검색1.
12 그리드 시스템.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
5.1-1 전하의 흐름과 전류 학습목표 1. 도선에서 전류의 흐름을 설명할 수 있다.
4장. 데이터 모델링 데이터 모델링과 데이터 모델의 개념 개체-관계 모델 논리적 데이터 모델.
OOA&D 5조_PROJECT 김연호 이은정 조방실 허혜원.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
상관계수.
Numerical Analysis Programming using NRs
.Net FrameWork for Web2.0 한석수
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
데이터 모델링과 예제 데이터베이스 데이터 모델링의 개요를 이해한다. 데이터 모델링과 관련된 용어를 이해한다.
07. DB 설계 명지대학교 ICT 융합대학 김정호.
 6장. SQL 쿼리.
7 생성자 함수.
6 객체.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
Presentation transcript:

데이터 모델링의 개요를 이해한다. 데이터 모델링과 관련된 용어를 이해한다. 논리적 모델링과 기타 모델링 방법을 이해한다.

데이터 모델링 데이터 모델링

1. 데이터 모델링 개요 데이터 모델링은 다음과 같이 크게 논리적 모델링과 물리적 모델링 으로 나뉜다. 데이터 모델링은 전통적으로 실체-관계도(ERD, Entity- Relationship Diagram) 방법론을 많이 사용해 왔으므로, 여기서도 기본적인 설명은 이를 기준으로 할 것이다.

1. 데이터 모델링 기초 용어 모델링을 본격적으로 알아보기 전에 모델링에 관련된 기초 용어를 알아두면 나중에 모델링을 이해하는 데 도움이 될 것이다. 여기서는 주로 논리적 모델링에서 사용되는 실체, 속성, 인스턴스, 식별자, 관계, 관계 차수, 외래 식별자, 식별 관계, 비식별 관계, ERD (실체들의 관계를 표현한 다이어그램) 등의 기초 용어에 대해 살펴볼 것이다.

1. 데이터 모델링 기초 용어 실체(entity) 정보를 가지고 있거나 그에 대한 정보를 알아야 하는 유 / 무형의 사람, 장소, 사물, 사건, 개념 등을 가리킨다. [그림 12-1]에서는 필자와 책이 실체다. 대부분의 경우, 논리적 모델에서의 실체는 나중에 데이터베이스 의 테이블이 된다. 실체를 파악하는 방법에는 여러 가지가 있지만, 요구 사항 명세를 문장 으로 적은 후, 거기서 명사나 명사형을 추출하고, 이들 중 의미가 있는 것을 골라내어 실체의 후보로 만드는 방법이 있다.

1. 데이터 모델링 기초 용어

1. 데이터 모델링 기초 용어 속성(attribute) 실체의 성질, 분류, 식별, 수량, 상태 등을 나타내는 세부적인 특성이다. 주 식별자(primary identifier)도 하나 이상의 속성 집합이며, 식별자에 해당하지 않는 속성은 비식별자 속성(non-identifier attributes)이라 한다. 대부분의 경우 속성은 데이터베이스의 열로 매핑된다. 일반적으로, 한 실체의 속성 수는 2개 이상 10개 이하 정도를 권장 하지만, 상황에 따라서는 이 범위를 벗어날 수도 있다.

1. 데이터 모델링 기초 용어 인스턴스(instance) 실체의 단일 사례다. 바꾸어 말하면, 실체는 인스턴스들의 집합이다. 예를 들어, 필자 이름이‘홍길동’이고, 전화번호가‘02-123-4567’ 이며, 주소가‘서울시 강남구 역삼동 100번지’인 필자를 [그림 12-1] 의 필자 실체의 한 인스턴스라고 할수 있다.

1. 데이터 모델링 기초 용어 식별자 한 실체에 똑같은 인스턴스가 두 개 이상 있다면 그 중 하나를 추출하는 것은 불가능하며, 결과적으로 데이터 중복 및 조회 문제가 발생한다. 따라서 실용적인 데이터베이스를 구축할 때는 인스턴스의 값을 유일하게 유지 관리해야 한다. 이때 인스턴스들을 좀 더 효율적으로 서로 구분할 수 있게 해주는 것이 주 식별자(primary identifier) 다. 주 식별자는 속성 하나나 둘 이상의 속성 조합으로 구성될 수 있다(둘 이상의 속성 조합으로 구성된 주 식별자를 복합 주 식별자라 한다).

1. 데이터 모델링 기초 용어 [그림 12-1]에서 필자의 주 식별자는 필자 ID고, 책의 주 식별자는 책 ID다. [표 12-2]에 필자 실체의 주 식별자와 인스턴스의 예를 들었다. 주 식별자인 필자 ID만으로 인스턴스들을 완벽하게 식별할 수 있음을 알 수 있다.

1. 데이터 모델링 기초 용어 주 식별자는 주민등록번호와 같이 자연적인 속성도 후보(candidate)가 될 수 있으나, 필자 ID나 책 ID처럼 인위적인 것도 좋은 후보가 될 수 있다. 인위적인 주 식별자를 물리적 모델에서 IDENTITY 속성 등과 연계하면 좀 더 효율적으로 테이블을 관리할 수 있다. 주 식별자가 될 수 있는 각 후보들을 후보 식별자(candidate identifier) 라 하며, 이 중에서 주 식별자로 지정하지 않은 것을 부 식별자(alternate identifier)라 한다. 부 식별자는 물리적 모델링에서 유일성(UNIQUE) 인덱스를 설정하는 경우가 많다.

1. 데이터 모델링 기초 용어 관계 실체들 간에 의미가 있는 연결을 관계(relationship)라고 한다. 관계에는 이름이 붙어 있다. 관계는 관계형 데이터베이스에서 가장 중요한 요소라 할 수 있다. 관계를 파악하는 방법 중 하나는 요구 사항 명세를 문장으로 적은 후 거기서 동사를 추출하고, 이들 중 위에서 파악한 실체들 사이에 적용할 수 있는 것을 골라내어 관계 후보로 만드는 것이다.

1. 데이터 모델링 기초 용어

1. 데이터 모델링 기초 용어 관계 차수(cardinality) 관계를 구성하는 실체들의 인스턴스 수를 규명하는 것이다. 관계 차수를 따질 때는 반드시 인스턴스를 이용해야 한다. 중요한 관계 차수 및 표시법들을 [표 12-3]에 나타냈다. 표시법에서 왼쪽에는 부모(주) 실체가, 오른쪽에는 자식(종) 실체가 있다고 가정 한다(식별 / 비식별 관계의 구분은 나중에 설명할 것이다).

1. 데이터 모델링 기초 용어 참고로, 여기서는 IDEF1X(integration definition for information modeling, 미 공군의 지원으로 개발된 IDEF 시리즈 중 데이터 모델링 용으로 특화된 모델링 기법으로, 현재 미 국방성 산하 기관뿐만 아니라 일반인들에 의해서도 많이 사용되고 있다) 표기법을 따른다.

1. 데이터 모델링 기초 용어 외래 식별자 실체들 사이에 관계를 맺을 때 부모 실체의 주 식별자가 자식 실체의 외래 식별자(foreign identifier)로 이주한다(migration). 이는 ERWin과 같은 CASE 도구를 사용할 경우에는 자동으로 이루어지지만, 수작업으로 모델링할 경우에는 작업자가 직접 외래 식별자에 해당하는 속성을 자식 실체에 추가시켜야만 한다. [그림 12-1]에서 책 실체 내의 필자 ID 속성이 바로 관계에 의해 추가된 외래 식별자에 해당된다.

1. 데이터 모델링 기초 용어 외래 식별자로 지정된 속성은 임의의 값을 갖지 못하고, 외래 식별자가 참조하는 부모 실체의 주 식별자가 가지고 있는 값만 가질 수 있는데, 이를 참조 무결성(referential integrity)이라 한다.

1. 데이터 모델링 기초 용어 식별(identifying) 관계 부모 실체의 주 식별자가 자식 실체의 외래 식별자이자 동시에 주 식별자 가 되는 관계다. 식별 관계선은 [그림 12-5]처럼 실선으로 표시된다. [그림 12-5]에서 식별 관계에 의해 필자 실체의 주 식별자(필자 ID)가 책 실체의 주 식별자 영역에 외래 식별자(필자 ID)로 들어가 있는 것을 볼 수 있다.

1. 데이터 모델링 기초 용어

1. 데이터 모델링 기초 용어 식별 관계는 장점도 많지만, 단점도 많다(이는 학자들 간에도 논란의 여지 가 많은 분야다). 한 예로, [그림 12-5]에서 필자와 책 그리고 책과 판매 실체 사이에 모두 식별 관계를 맺은 것을 볼 수 있는데(초보자들은 흔히 이렇게 모델링한다), 이 경우 주 식별자 영역이 점점 비대해지며, 결과적으로 무의미한 외래 식별자들이 주 식별자 영역에 들어가는 경우도 많다. 식별 관계는 부모 실체의 주 식별자를 자식 실체의 주 식별자로 계속해서 전파시키는 특성이 있기 때문이다. [그림 12-5]의 예에서 판매 실체의 주 식별자로 필자 ID는 필요치 않다.

1. 데이터 모델링 기초 용어 외래 식별자는 앞에서 설명한 대로 참조 무결성을 강화하는 목적으로도 쓰이지만, 최종적인 데이터베이스에서 부모 테이블과 자식 테이블을 조인 (JOIN)하는 데도 많이 사용된다. 조인할 때 대부분 부모 테이블의 주 식별자와 자식 테이블의 외래 식별자 를 조인 조건에서 사용하는데, 이때 조인 조건식이 복잡해지고 결과적 으로 성능이 저하되는 것도 식별 관계의 또 다른 단점이라고 볼 수 있다. 왜냐하면 식별 관계를 많이 사용할 경우, 복합 주 식별자가 만들어질 가능성이 높아지기 때문이다.

1. 데이터 모델링 기초 용어 비식별 관계 부모 실체의 주 식별자가 자식 실체의 비식별자 영역의 외래 식별자가 되는 관계를 비식별 관계(non-identifying)라고 한다. 비식별 관계선 은 [그림 12-1]처럼 점선으로 표시된다. 대부분의 경우, 비식별 관계를 적용하는 것이 적절한 경우가 많다. 비식별 관계는 강제적(mandatory) 비식별 관계와 선택적(optional) 비식별 관계로 구분된다.

1. 데이터 모델링 기초 용어 강제적(mandatory) 비식별 관계: 외래 식별자에 NULL을 허용하지 않는 관계다. 이는 자식 실체가 존재하기 위해 부모 실체가 반드시 먼저 존재해야 함을 의미한다. 선택적(optional) 비식별 관계: 외래 식별자에 NULL을 허용하는 관계다. 이는 부모 실체가 없어도 자식 실체가 존재할 수 있음을 의미하는데, [그림 12-7]에서 필자 없는 책이 존재할 수도 있다는 것을 나타낸다. 선택적 비식별 관계는 관계 자체를 약화시킨다고 볼 수도 있으나, 상황에 따라 필요한 경우가 많다. 여기서 유의할 사항은, 외래 식별자가 NULL이 아닌 경우에는 참조 무결성 제약을 반드시 지켜야 한다는 점이다.

1. 데이터 모델링 기초 용어 즉, 외래 식별자는 자기가 참조하는 부모 실체의 주 식별자가 가지고 있는 값만 가질 수 있다. 선택적 비식별 관계선의 부모 실체 쪽에는 [그림 12-7]과 같이 다이아몬드 형태로 표시한다. [그림 12-7]의 선택적 비식별 관계의 관계 차수는 ‘(0 또는 1) : (0, 1 또는 그 이상)’이다.

1. 데이터 모델링 기초 용어

1. 데이터 모델링 기초 용어 ERD ERD는 Entity-Relationship Diagram의 약자로, 번역하면‘실체- 관계도’가 되는데, 이는 [그림 12-7]과 같이 실체와 그 사이의 관계를 규명한 다이어그램을 의미한다.

1. 데이터 모델링 논리적 모델링 논리적 모델링은 데이터베이스 구축 과정 중 분석 작업에 해당한다. 분석이 잘 되어야 정확한 설계와 구현이 가능해지므로 논리적 모델링 은 데이터베이스 구축에 있어 가장 중요한 단계다. 여기서는 논리적 모델링에서 많이 사용되는 중요한 모델링 기법 몇 가지를 예제를 통해 살펴볼 것이다.

1. 데이터 모델링 논리적 모델링 다대다 관계 해소 [그림 12-8]의 논리적 모델을 통해 책과 서점 실체 사이의 관계를 파악 해 보자. 책은 서점에 납품되어야 하므로, 분명히 관계는 있는 것으로 보인다. 관계 차수를 따져보면 책 한 종류(인스턴스)는 여러 서점에 납품되어야 하고, 한 서점에서는 여러 종류의 책을 납품받아야 하므로, 다대다 관계가 된다. IDEF1X에서는 다대다 관계를 [그림 12-8]처럼 양쪽에 검은 원을 가진 실선으로 표시한다. 그런데 이 다대다 관계는 논리적 모델에서만 허용 되며, 물리적 모델에서는 허용되지 않는다.

1. 데이터 모델링 논리적 모델링

1. 데이터 모델링 논리적 모델링 다대다 관계가 발생하는 상황은 대부분 다음의 두 가지 경우다. 관계가 없는 경우 간접적인 관계가 있는 경우(중간의 실체가 누락) 첫 번째 상황은 초보자들이 흔히 저지르는 실수인데 없는 관계를 만들려고 할 때 많이 형성되며, 이런 경우에는 관계를 맺지 말아야 한다. 두 번째 상황은 두 실체 간에 직접적인 관계는 없으나, 하나 이상의 중간 실체를 경유한 간접적인 관계가 있는 경우다. [그림 12-8]의 책과 서점의 관계가 바로 이에 해당된다. 이 경우에는 중간의 실체(들)를 찾아내는 작업을 해야 한다.

1. 데이터 모델링 논리적 모델링 정규화 정규화(normalization)를 한 마디로 축약하면,‘ 데이터 중복을 막고 무결성을 강화시키기 위해 하나의 실체를 둘 이상의 실체로 분리하는 작업’이라고 할 수 있다. 정규화된 모델을 정규형(normal form)이라 한다.

1. 데이터 모델링 논리적 모델링 정규형에는 다음과 같은 종류가 있다. - 제 1 정규형(1NF, First Normal Form) - 제 2 정규형(2NF, Second Normal Form) - 제 3 정규형(3NF, Third Normal Form) - Boyce-Codd 정규형(BCNF) - 제 4 정규형(4NF, Fourth Normal Form) - 제 5 정규형(5NF, Fifth Normal Form)

1. 데이터 모델링 논리적 모델링 함수적 종속성(functional dependency): 속성들 사이(실체들 사이가 아님)의 종속 관계를 나타내는 것이다. 예를 들어, 주문 실체 내에 주문 번호, 고객 ID, 영업 사원 ID라는 속성이 있다고 가정하자. 또한 주문 번호 는 고객 ID를, 주문 번호는 영업 사원 ID를, 고객 ID는 영업 사원 ID를 결정짓는다고 할 때, 이들의 함수적 종속 관계를 [그림 12-11]처럼 나타 낼 수 있다(화살표 방향은 결정짓는 쪽에서 종속되는 쪽으로 향하는 것에 유의한다).

1. 데이터 모델링 논리적 모델링

1. 데이터 모델링 논리적 모델링 제 1 정규형(1NF, First Normal Form): 실체 내에 반복되는 속성이나 1∼7까지의 속성이 반복되고 있으므로 비 1차 정규형(NFNF 또는 NF2, Non-First Normal Form)에 해당된다. 반복되는 속성(그룹)은 정보 손실과 저장 공간 낭비라는 심각한 문제점을 안고 있으므로 반드시 제거 해야 한다.

1. 데이터 모델링 논리적 모델링

1. 데이터 모델링 논리적 모델링 제 2 정규형: 하나의 실체가 제 1 정규형이면서 모든 비식별자 속성들이 주 식별자에 함수적으로 완전히 종속되는 형태다. 복합 주 식별자의 경우, 주 식별자의 일부 속성에만 함수적으로 종속되는 비식별자 속성이 있어 서는 안 된다. 제 3 정규형: 하나의 실체가 제 2 정규형이면서 어떠한 비식별자 속성들도 다른 비식별자 속성에 함수적으로 종속되지 않는 형태다. 예를 들어, [그림 12-15]의 강아지 실체에서 개집 이름과 개집 위치는 개집 ID에 함수적 으로 종속되므로 이는 제 3 정규형을 위반하고 있다. 따라서 이 속성들을 별도의 실체로 분리하면 [그림 12-16] 과 같은 제 3 정규형이 만들어진다.

1. 데이터 모델링 논리적 모델링

1. 데이터 모델링 물리적 모델링 물리적 모델링: 논리적 모델링에 대응되는 모델링 기법으로, 특정 DBMS에 의존하는 데이터 형식, 각종 제약 조건, 뷰, 인덱스 등을 설정하는 작업이다. 물리적 모델링의 수행 절차는 대략 다음과 같다. 이름의 영문화 : 논리적 모델에서는 대부분 한글 이름을 부여하는데, 물리적 모델에서는 한글 이름을 영문 이름으로 바꿔야 한다. 이름은 각종 프로그래밍에도 쓰이므로 영문으로 바꾸는 것을 적극 권장한다. 데이터 형 지정 NULL, NOT NULL 및 IDENTITY 지정

1. 데이터 모델링 물리적 모델링 제약 기본값과 개체 기본값 정의 체크와 규칙 정의 도메인 정의 및 적용 인덱스 설정 테이블별 코멘트 작성 뷰 정의

1. 데이터 모델링 객체 지향 데이터 모델링 최근에 객체 지향과 컴포넌트 기반의 소프트웨어 개발이 전성기를 맞이하고 있다. 현재 우리 주변에서 볼 수 있는 개발 도구의 대부분은 객체 지향 개념을 적용하여 만들어진 것이고, 이러한 개발 도구를 이용하여 점차 기존의 절차적 프로그래밍에서 벗어나 객체 지향 프로그래밍 쪽으로 방향을 선회하고 있다. 그러나 데이터베이스 분야는 객체 지향(또는 객체 관계형) DBMS가 관계형 DBMS의 위력에 눌려 널리 확산되지 못하였기 때문에, 데이터 모델링 기법은 오랫동안 ERD 방식을 고수해 왔고, 또 이것을 최선의 방법이라고 여겨 왔다.

1. 데이터 모델링 객체 지향 데이터 모델링 그러나 최근에 데이터 모델링 분야에도 새로운 움직임이 일고 있다. 개체 역할 모델링인 UML(Unified Modeling Language, 객체 지향 분석 / 설계 언어이자 방법론)과 ORM(Object Role Modeling, ‘역할을 수행하는 개체’의 관점에서 현실 세계를 보며, 표현력이 우수 하고 의미적인 분석에 강한 모델링 방법론)을 이용하여 좀 더 효율적 이고 정확히 모델링하려는 움직임이 그것이다.

1. 데이터 모델링 객체 지향 데이터 모델링 예: UML(정확하게 말하면 UML 데이터 모델링 프로필)로 데이터 모델링을 할 수 있는 기능이 래셔널 로즈(Rational Rose)에 포함 되었고, 비주얼 스튜디오 닷넷 엔터프라이즈 아키텍트(Visual Studio .NET Enterprise Architect)에서는 개념적 데이터 모델링 단계에 ORM을 채택하고 있다.

1. 데이터 모델링 객체 지향 데이터 모델링 래셔널 로즈 데이터 모델러를 사용하면 데이터베이스 개발자와 응용 프로그램 개발자가 단일화된 언어(UML)와 동일한 개발 환경(래셔널 로즈)에서 작업할 수 있다는 장점이 있으며, ORM은 ERD나 UML 보다 표현력이 우수하고 의미적인 분석에 강하며 변경이 용이하다고 알려져 있다. 또한 완성된 ORM 모델은 ERD나 개체 관계 모델 (Object Relational Model)과 같은 다른 모델로 자동으로 변환 될 수 있다.