본문 바로가기

데이터베이스/SQLD

[SQLD] Entity와 속성

728x90

Entity란?

엔티티는 데이터베이스의 구성 요소로, 독립적으로 식별 가능한 객체(Object)를 의미합니다.

예를 들어, 대학을 모델링할 때 학생, 교수, 수업 등이 엔티티로 정의될 수 있습니다.

엔티티는 자신을 표현하기 위해 속성(Attribute)이라는 하위 요소를 가지고 있습니다.

Entity의 특징

  1. 업무에 필요하며 관리해야 하는 정보: 엔티티는 특정 업무에 필요한 정보를 포함하고 있어야 합니다.
  2. 식별이 가능하도록 유일한 식별자(PK)를 가지고 있다: 엔티티는 각 인스턴스를 고유하게 식별할 수 있는 식별자(Primary Key, PK)를 반드시 가져야 합니다.
  3. 영속적으로 존재하는 인스턴스(행)가 2개 이상 존재한다: 엔티티는 최소 두 개 이상의 행이 존재해야 합니다.
  4. 하위 요소로는 반드시 속성을 가지고 있다: 엔티티는 자신을 구성하는 속성을 반드시 가지고 있습니다.
  5. 다른 엔티티와 반드시 한 개 이상의 관계를 가지고 있어야 한다: 대부분의 경우, 엔티티는 다른 엔티티와의 관계를 반드시 가져야 합니다. (코드성, 통계성 엔티티와 같은 예외가 있을 수 있습니다.)

속성이란?

속성은 엔티티에 대한 상세하고 구체적인 정보를 나타내며, 엔티티의 하위 요소입니다. 속성은 업무와 관계되어 필요한 정보를 정의합니다. 개수에는 제한이 없지만, 꼭 필요한 것들만 정의해야 합니다. 필수적인 것들로 최소화하는 것이 좋습니다.

속성 값

속성 값은 속성이 가질 수 있는 특정 값이며, 하나의 엔티티 인스턴스가 가진 속성의 구체적인 값을 의미합니다. 하나의 인스턴스에서 각각의 속성은 하나의 속성값만 가져야 합니다. 만약 2개 이상의 속성값을 가지는 경우라면, 반드시 1차 정규화를 수행하여 하나의 속성값만 가지게 해야 합니다.

 

도메인이란?

도메인은 속성이 가질 수 있는 값의 범위를 의미합니다. 도메인은 데이터 타입, 크기, 제약 사항을 묶어 별도의 이름으로 정의하며, 이렇게 정의된 도메인을 각각의 속성에 지정할 수 있습니다.

예를 들어, "나이"라는 속성의 도메인은 정수 타입이며, 0부터 120까지의 값을 가질 수 있습니다. 도메인을 사용하면 데이터의 일관성과 무결성을 유지하는 데 도움이 됩니다.

728x90

'데이터베이스 > SQLD' 카테고리의 다른 글

[SQLD] 서브 쿼리  (0) 2024.08.14
[SQLD] NULL 속성  (0) 2024.08.13
[SQLD] 트랜잭션  (1) 2024.08.02
[SQLD] 정규화  (1) 2024.07.30
[SQLD] 모델링  (0) 2024.07.24