티스토리 뷰

데이터 모델(Data Model)


정의 : 데이터의 관계, 접근과 그 흐름에 필요한 처리 과정에 관한 추상화된 모형. 데이터 모델은 데이터 구조(Data Structure)를 결정한다.



데이터 모델의 3가지 관점


1) 개념적 데이터 모델(Conceptual Data model) : 일반 사용자가 인식하는 데이터

2) 물리적 데이터 모델(Physical Data model) : 컴퓨터에 저장되는 데이터의 세세한 정보 정의

3) Represetational Data model : 사용자(엔드유저)가 데이터베이스가 어떻게 조직되어 있는지 쉽게 알 수 있다.



데이터베이스 Entity, Attribute, Relationship


- Entity : DB에 표현하려는 유형, 무형의 객체를 뜻하며 서로 구별된다. 1개의 Entity는 데이터 테이블로 볼 수 있다

ex) 학생이라는 Entity는 학과, 학번, 이름이라는 3가지 속성으로 구성되어 있다.


- Attribute : Entity가 가지고 있는 특성, 즉 값을 뜻한다. Attribute는 이름을 가진, 데이터의 가장 작은 논리적 단위가된다. 데이터 항목(Data item), 필드(Field)라고도 한다.


- Relationship : 2개 이상의 Entity 사이의 관계를 뜻한다. 쉽게 말해서 두 엔티티 간의 업무적 연관성이라고 할 수 있습니다.

Relationship의 예시



※Relational 데이터 모델 vs Object 데이터 모델 : 80년도에 이 두 모델이 경쟁을 하다가 결국 Object 모델은 쇠락하고 현재까지 관계형 데이터베이스 모델이 유지되고 있다. 관계형 데이터베이스 모델은 주로 표로 표현할 수 있는 것에 활용하기 좋다. 과거에는 데이터의 형태가 단순했으나 현재의 비디오, 이미지 데이터 등은 다루기 어려워 NoSQL이 나오게 되었다.



데이터베이스 물리적 모델(Physical Model)

물리적 모델이란? Data가 어떻게 파일 형태로 컴퓨터에 저장되어 있는지를 나타낸 것을 말합니다.


**Access Path : 특정 DB의 레코드를 효율적으로 검색할 수 있는 구조 ex) Index 



데이터베이스 Schemas, Instances, State


스키마(Schema)란? DB 구조와 제약조건에 대한 전반적인 명세를 기술한 것이다. 밑에 있는 예제 사진을 보면 이해가 쉬울 것이다.


스키마의 예. 3가지 관점으로 나뉜다.



스키마(Schema)의 3가지 구조



1) External Level : 유저가 보는 뷰를 말한다. 특정 유저에 따라서 뷰가 달라질 수 있다. 예를 들면 에임즈 포털에서 관리자, 교수, 학생이 볼 수 있는 것이 다른 것과 마찬가지이다.


2) Conceptual Level : DB 조직의 전체적인 뷰를 가리킨다. 개체간의 관계, 제약을 나타내고, 접근권한, 보안, 무결성 규칙에 대해 명세한다.

Conceptual 스키마 위에는 여러개의 External 스키마가 존재한다.


3) Internal Level : 시스템 프로그래머나 설계자의 관점에서 바라보는 스키마. 일반 사용자, 개발자에게는 보이지 않는 부분이다. 데이터베이스의 물리적 구조를 말한다(=실제 컴퓨터 내부에 저장하는 방법을 기술하는 물리적인 하드웨어 장치와 관련이 있다)



DBMS 언어

정리가 잘 되어있는 표가 있어서 가져왔다.(출처 : http://brownbears.tistory.com/180)



DBMS, APP, DB의 관계도



















댓글