RIEN😚
이상한 나라의 개발자
RIEN😚
전체 방문자
오늘
어제
  • 분류 전체보기 (125)
    • Algorithm (68)
      • 알고리즘 (0)
      • Baekjoon (8)
      • 프로그래머스 (55)
      • HackerRank (5)
    • Android (30)
      • Project (1)
      • Error (2)
      • Studio (1)
      • Android (26)
    • Kotlin (6)
    • CS (4)
      • 네트워크 (2)
      • 데이터베이스 (2)
    • Front End (5)
      • React (1)
      • VUE (3)
      • Project (0)
      • 기타 (1)
    • 기록 (11)
      • 회고록 (6)
      • TIL (5)

블로그 메뉴

  • Github🔥
  • 포트폴리오🌹

공지사항

인기 글

티스토리

250x250
반응형
hELLO · Designed By 정상우.
RIEN😚

이상한 나라의 개발자

CS/데이터베이스

[DataBase] ERD에 대해 알아보자

2022. 6. 2. 20:45
728x90
반응형

🔥 CS 복습하기 1Day-1

 

🌹참고

 

Entity Relationship Diagram (ERD) | ER Diagram Tutorial

ER Diagram tutorial. Learn about ER diagram symbols, how to draw ER diagrams, best practices to follow when drawing ER diagrams and ERD examples.

creately.com

 

ERD란?

ERD는 Entity Relation Diagram의 약자로 시스템 내 entity들의 구조와 각 enity들의 관계를 표현한 diagram입니다.

ERD는 여러 방면에서 시스템을 디자인할 때 사용될 수 있지만, 주로 데이터 베이스를 기획할 때 사용됩니다.

 

시스템의 요구사항이 주어지면 해당 요구사항을 기반으로 ERD를 작성하며,

이 ERD를 기반으로 데이터 베이스를 구축하고 이후 재설계가 필요한 경우에 설계도 역할을 담당합니다.👍

 

ERD 작성하기

ERD에는 3가지 기본 구성요소가 있습니다.

🌹 Entity, Attribute, Relation

그리고 이러한 메인 구성요소를 기반으로, weak entity / multivalued attribute / derived attribute / weak relationship / recursive relationship에 구성요소가 있습니다.

 

Entity

Entity는 사람, 장소, 사건, 또는 사물 등 시스템에 필요한 객체를 말합니다.

예를 들어, 학교에서 사용하는 시스템에는 학생, 교수, 강의, 과목, 수강료 등의 Entity가 필요합니다.

 

Entity는 ERD에서 사각형으로 표현할 수 있으며, 특정 명사를 이용해 이름 지어집니다.

 

Weak Entity

Weak Entity는 또 다른 Entity에 의존하는 Entity를 말합니다.

자신만으로는 아무런 의미를 가지고 있지않은 데이터 집합이며, 또 다른 Entity와 함께 사용되어 집니다.

 

주문 상품이 좋은 예입니다. 주문 상품 정보는 '주문'이라는 Entity 없이는 아무런 의미도 가지고 있지 않은

Entity입니다. 주문 상품은 Foreign Key을 이용하 주문 상품에 의존할 필요가 있는 Weak Entity 입니다.

Attribute

Attribute는 entity, relation, 또 다른 attribute가 가지고 있는 속성을 말합니다.

예를 들어, 학생 Entity는 학번, 이름, 학점 등의 attribute를 가질 수 있습니다.

 

하나의 Entity는 여러 Attibute를 가질 수 있고,

attribute 자신이 여러 attribute들을 가질 수도 있습니다.

 

예를 들어, 학생의 주소 Attibute는 도로명, 도로 번호, 상세 주소의 하위 Attibute를 가질 수 있습니다.

이러한 하위 Attribute를 composite attributes라고 합니다.

큰 단위의 ERD에서는 주로 Attribute까지 포함하지 않지만, Attribute는 타원으로 표현할 수 있습니다.

 

Relationship

Relationship(관계)는 이름 그대로 entity들이 어떻게 연결되어 있는지 표현하는데 사용됩니다.

 

참고 게시글의 예제를 가져와보겠습니다.

Carpenter(목수) Entity와  table은 만들고/만들어지는 관계로 관련되어 있습니다.

ERD에서 Relationship은 다이아몬드로 표현할 수 있습니다.

하지만 실제 데이터베이스를 기획하다 보면 위와 같은 형태로는 부적한 점이 있습니다.

바로 n:m 관계 또한 표현해줄 필요가 있기 때문입니다.

 

이러한 관계는 아래처럼 표현할 수 있습니다. 😊

추가적으로, 아래 화살표(?)들을 이용해서도 n:m 관계를 나타낼 수 있습니다.🔥

 

이 글 제일 위에서 보여준 ERD가 이런 화살표를 이용해 관계를 표시한 예입니다.

반응형

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

[Database] 데이터베이스 정규화  (0) 2022.06.02
    'CS/데이터베이스' 카테고리의 다른 글
    • [Database] 데이터베이스 정규화
    RIEN😚
    RIEN😚
    안드로이드 / 코틀린 독학으로 취업하자!

    티스토리툴바