본문 바로가기
데이터베이스(DB)/SQLD

[SQLD 1-1-3] 데이터 모델링의 이해 - 속성

by 송기동 2024. 5. 6.
728x90

1. 속성의 개념

- 사전적 정의 : 사물의 특징이나 성질

- 데이터 모델링 관점 : 업무에서 필요로 하는, 인스턴스로 관리하고자 하는, 그 의미상 더 이상 분리되지 않는 최소의 데이터 단위

  ex) "강사" 엔터티의 속성으로는 "이름, 주소, 생년월일" 등이 될 수 있다.


2. 엔터티, 인스턴스, 속성,  속성값의 내용 및 표기법

1) 엔터티, 인스턴스, 속성, 속성값의 관계

- 엔터티에는 두 개 이상의 인스턴스가 존재하고 각각의 엔터티는 속성정보 두 개 이상을 갖는다.

- 각각의 인스턴스는 속성의 집합이고, 하나의 속성은 하나의 인스턴스에만 존재할 수 있다.

- 속성은 관계로 기술될 수 없고 자신이 속성을 가질 수도 없다.

- 엔터티 내에 있는 하나의 인스턴스는 각각의 속성들에 대해 한 개의 속성값만을 가질 수 있다.

# 정리

- 한개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.

- 한 개의 엔터티는 두 개 이상의 속성을 갖는다.

- 한 개의 속성은 한 개의 속성값을 갖는다.

 

2) 속성 표기법


3. 속성의 특징

 

- 엔터티와 마찬가지로 반드시 해당 업무에 필요하고 관리하고자 하는 정보여야 한다.

- 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 한다.

- 하나의 속성에는 한 개의 값만 갖는다.

- 하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔터티를 이용하여 분리한다.


4. 속성의 분류

1) 특성에 따른 분류

- 기본 속성 : 업무 분석을 통해 직접 정의된 속성. 엔터티에 가장 일반적이고 널리 사용되는 속성

  BUT! 업무상 이미 코드로 정의된 속성은 기본 속성이 아닐 수 있다.

- 설계 속성 : 데이터 모델링 과정에서 새로 만들거나 변형하여 정의하는 속성

  ex) 업무상 필요에 따라 변형된 코드성 속성이나, 유일한 식별자를 부여하기 위해 모델 상에서 새로 정의하는 일련번호 등

- 파생 속성 : 다른 속성들로부터 계산되거나 변형되어 생성되는 속성, 다른 속성에 영향을 받기에 프로세스 설계 시 데이터 정합성을 유지하기 위해 주의가 필요하며, 파생속성을 적게 정의하는 것을 권장

2) 엔터티 구성방식에 따른 분류

- PK (Primary Key) 속성 : 엔터티를 식별할 수 있는 고유한 속성 ex) 학생 엔터티의 학번

- FK (Foreign Key) 속성 : 다른 엔터티와의 관계에서 포함된 속성 ex) 학생이 수강하는 강의의 강의번호

- 일반 속성 : PK, FK에 포함되지 않은 다른 모든 속성 ex) 학생의 이름, 주소, 전화번호 등


5. 도메인

- 각 속성이 가질 수 있는 값의 범위

- 엔터티 내에서 속성에 대한 데이터 타입 및 크기, 그리고 기타 제약사항을 지정하는 것


6. 속성의 명명

- C/S(Client/Server) 환경, Web 환경에서 속성명이 사용자 인터페이스(UI)에 드러나기 때문에 업무와 직결

- 용어의 혼란을 없애기 위해 용어사전이라는 업무사전을 프로젝트에 사용

# 속성명 명명규칙

- 해당 업무에서 사용하는 이름 부여

- 서술식 속성명은 사용 금지

- 약어 사용 자제

- 모든 속성의 이름을 중복되게 않게 작성

728x90