데이터 : 관찰의 결과로 나타난 정량적 혹은 정성적인 실제값
정보 : 데이터에 의미를 부여한 것
지식 : 사물이나 현상에 대한 이해
DBMS용어 정리
스키마 : 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것[ex) 고객번호int, 이름char(10), 나이int]
인스턴스: 스키마에 따라 데이터베이스에 실제로 저장된 값
도메인 : 하나의 Attribute가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합
튜플 : 행(row)
애트리뷰트(속성) : 열(column)
왜 데이터 모델링을 하는가?
1. 효율성과 성능 향상
- 얼마나 많은 데이터가 저장될 수 있는가?
- 저장 공간은 얼마만큼 필요한가?
- 얼마나 빠르게 처리하는 것이 가능한가?
2. 유연성
- 새로운 요구사항에 대하여 얼마나 쉽게 시스템에 적용가능한가?
3. 유지보수
- 중복된 데이터가 없는가?
- 프로그램 정의로부터 데이터 정의가 얼마나 독립적인가?
데이터 모델링에 대한 잘못된 편견
- 오직 다이어그램을 생성하는 것이다.
- DB를 위해서만 존재하는 것이다.
- DB관리 시스템을 위해 존재하는 것이다.
데이터 모델링의 과정
-
개념적 모델링 : 요구사항을 수집하고 분석한 내용을 바탕으로 개체를 추출하고 개체들간의 관계를 정의한다. ER다이어그램을 만드는 과정까지를 말한다.
-
논리적 모델링 : 개념적 모델링에서 만든 ER다이어그램을 DBMS에 맞게 매핑하여 실제 DB로 구현하기 위한 모델을 만드는 과정. 개념적 모델링에서보다 좀 더 구체적으로 상세 속성을 모두 추출
-
물리적 모델링 : 실제 컴퓨터의 저장장치에 저장하기 위해 물리적인 정의를 내리는 과정을 말한다.
ER모델 - ER모델은 개체와 개체간의 관계를 나타낸다.
-
개체(entity) : 정보를 가지고 있는 독립적인 실체를 말한다. 개체끼리는 비슷한 속성(개체 타입)을 가지고 있으며 개체 집합으로 묶인다. 개체는 다른 개체와 최소 한 개 이상의 관계를 맺고 있다. ER다이어그램에서 개체 타입은 직사각형으로 나타낸다. 모델링을 할 때 모든 개체를 뽑아낸 후 약한 개체 타입을 찾아낸다.
1) 강한 개체 타입 : 보통 개체 하면 강한 개체 타입으로, 독자적으로 있을 수 있음.2) 약한 개체 타입 : 어떠한 개체에 딸려서 생성되어 혼자 있을 수 없는 개체이므로 상위 개체 타입이 있어야 함
-
속성(attribute) : 개체가 가지고 있는 성질을 말한다. ER다이어그램에서 속성 타입은 타원형으로 나타내며 개체와 실선으로 연결된다.
1) 단순 속성 : 더이상 분해가 불가능2) 복합 속성 : 독립적인 의미를 가진 속성으로 분해가 가능 ex)주소-시, 동3) 단일값 속성 : 하나의 값만을 가지는 속성4) 다중값 속성 : 여러개 값을 가지는 속성으로 이중타원으로 나타냄 ex)학위5) 저장 속성 : 다른 속성의 영향없이 단독으로 저장되는 속성 ex)생년월일6) 유도 속성 : 다른 저장 속성으로부터 유도된 속성으로 점선타원으로 나타냄 ex) 나이
-
관계(relationship): 개체 사이의 연관성을 말한다. 마름모로 나타낸다.- 강한 개체 타입과 약한개체 타입의 관계를 나타낼 때 이중마름모로 나타내며, 강한개체 타입 별 약한 개체 타입이 존재할 수도 있고 존재하지 않을 수도 있을 때 사용한다.
* 데이터 베이스에서 속성을 정의할 때 나중의 효율성을 위해 중요한 순서대로 정의한다.
* 개체 타입의 수를 차수(degree)라고 한다.
* 사상이란? ex) 도서(도서번호, 도서이름, 출판사, 가격)