[Oracle] 데이터 모델
✴︎ 데이터 모델
: 컴퓨터에 데이터를 저장하는 방식을 정의해 놓은 개념 모형
: 대표 데이터 모델 → 계층형, 네트워크형, 관계형, 객체 지향형 등
✴︎ 계층형 데이터 모델
: 나뭇가지 형태의 트리(Tree) 구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리
: 일대다(1:N) 관계의 데이터 구조를 파악해야함
• 제약
→ 하나의 부모 개체가 여러 자식을 가질 수 있는 반면에 자식 개체는 여러 부모 개체를 가질 수 없음
→ 일대다 구조의 데이터를 표현하기에는 알맞지만 자식 개체가 여러 부모를 가진 관계를 표현할 수 없음
✴︎ 네트워크형 데이터 모델
: 망형 데이터 모델이라고도 함
: 그래프(Graph) 구조를 기반으로 함
→ 개체 간 관계를 그래프 구조로 연결하므로 자식 개체가 여러 부모 개체를 가질 수 있음
✴︎ 객체 지향형 데이터 모델
: 객체 지향 프로그래밍에서 사용하는 객체 개념을 기반으로 한 데이터 모델
: 객체 지향 프로그래밍처럼 데이터를 독립된 객체로 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그래밍에 사용되는 강력한 기능을 활용 가능
✴︎ 관계형 데이터 모델
: 현대에 가장 많이 사용하는 관계형 데이터베이스의 바탕이 되는 모델
: 관계형 데이터 모델은 다른 모델과 달리 데이터 간 관계(Relationship)에 초점을 둠
: 관계형 데이터 모델에서는 각 데이터의 독립 특성만을 규정하여 데이터 묶음을 나눔
→ 중복이 발생할 수 있는 데이터는 별개의 Relation으로 정의한 후 사원 정보에 소속된 부서를 식별하는 '부서 코드'를 포함하여 사원 정보 데이터와 부서 정보 데이터를 연결하는 것
• 데이터 묶음 = 개체 집합 (Entity Set)을 의미.
• 관계형 데이터베이스에서 테이블(Table), 릴레이션(Relation)으로 표기함. 데이터 묶음 간의 관계는 관계(Relationship)이라고 함.
✴︎ 데이터 모델의 핵심 구성 요소
이름 | 설명 |
개체 (Entity) | 데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위입니다. 관계형 데이터베이스의 테이블(Table) 개념과 대응되며 테이블은 릴레이션(Relation)으로 표기하기도 함. |
속성 (Attribute) | 개체를 구성하는 데이터의 가장 작은 논리적 단위로서 데이터의 종류∙특성∙상태 등을 정의함. 관계형 데이터베이스의 열(Column) 개념과 대응됨. |
관계 (Relationship) | 개체와 개체 또는 속성 간의 연관성을 나타내기 위해 사용. 관계형 데이터베이스에서는 테이블 간의 관계를 외래키(Foreign Key) 등으로 구현하여 사용 |
• 위 핵심 구성 요소를 활용하여 데이터의 독립성(Independency)과 무결성(Integrity)과 같은 데이터를 안전하게 관리하기 위해 필요한 개념들을 정의,