속성(Attributes)
Contents
5.5. 속성(Attributes)#
개체가 가지고 있는 속성을 정의하는 방법에 대해 살펴보겠습니다.
개체 속성은 개체 이름(name) 다음에 중괄호 {}를 쓰고 내부에 자료형(type) 이름(name) 형태로 차례대로 써주면 됩니다.
5.5.1. 속성 설정하기#
CAR 개체와 PERSON 개체의 관계를 설정하고, 각 개체의 속성(attributes)를 정의하는 예를 살펴보겠습니다.
```mermaid
erDiagram
CAR ||--o{ NAMED-DRIVER : allows
CAR {
string registrationNumber
string make
string model
}
PERSON ||--o{ NAMED-DRIVER : is
PERSON {
string firstName
string lastName
int age
}
```
위 예제에서 CAR 개체에는 문자열(string) 형태의 registrationNumber, make, model 이라는 속성을 정의했습니다.
유사하게 PERSON 개체에는 문자열(string) 형태의 firstName과 lastName 속성을 정의하고, 정수형(int) age 속성을 정의하였습니다.
개체 속성은 개체를 표시하는 사각형 안에 표시됩니다.
자료형(type)과 이름(name)은 반드시 알파벳 글자로 시작해야 하며, 알파벳 이후에 숫자, 하이픈(-), 언더스코어(_)를 혼합해서 사용할 수 있습니다.
5.5.2. 속성의 키(Keys)와 주석(Comments)#
때때로 속성에 키(key) 또는 주석(comment)을 부여해야 할 경우가 있습니다.
키(key)는 Primary Key (PK) 또는 Foreign Key (FK)가 될 수 있습니다.
주석(comment)은 키(key)에 대한 설명을 붙여주고 싶을 때 사용합니다.
키와 주석을 정의하는 방법은 다음과 같습니다.
자료형(type) 이름(name) PK[FK] "주석(속성에 대한 설명"
앞에서 사용했던 CAR와 PERSON 개체에 키와 주석을 추가로 정의하는 예제는 다음과 같습니다.
CAR개체:allowedDrive속성에FK지정하고, 주석으로The license of the allowed driver추가PERSON개체:driverLicense속성에PK지정하고, 주석으로The driver license number추가
```{mermaid}
erDiagram
CAR ||--o{ NAMED-DRIVER : allows
CAR {
string allowedDriver FK "The license of the allowed driver"
string registrationNumber
string make
string model
}
PERSON ||--o{ NAMED-DRIVER : is
PERSON {
string driversLicense PK "The driver license number"
string firstName
string lastName
int age
}
```