SQL

SQL정리(ERD)

goshek 2024. 9. 27. 14:42

### erd ###

# ERD 개념
# : Entity Relationship Diagram
# : E-R 다이어그램
# : Entity(존재하고 있는 것)들의 Relationship(관계)를 나타낸 Diagram(도표)
# = 데이터들의 관계를 나타낸 도표(그림)

# ERD 구성
# 1. 엔티티(Entity)
# : 데이터베이스에서 관리되어야 하는 정보의 실제 사례
# : 데이터베이스 내에서 식별 가능해야 함
# : 사각형으로 표현, 엔티티 이름은 사격형 안에 명시

# 2. 속성(Attribute)
# : 엔티티를 구성하는 데이터의 항목, 엔티티의 특성이나 상태를 설명
# ex) 학생 엔티티 - 학번, 이름, 주소 등
# : 원(타원형)으로 표현, 속성의 이름은 원 안에 명시
# : 엔티티와 속성은 선으로 연결 

# 3. 관계(Relationship)
# : 두 개 이상의 엔티티 간의 연관성을 나타냄
# : 엔티티들 사이에 어떤 상호작용이나 연결이 있는지를 설명
# : 일대일(1:1), 일대다(1:N), 다대다(N:N)의 형태를 가질 수 있음
# : 선으로 표현, 관계 이름과 유형이 선 위나 근처에 명시
# : 관계를 나타내는 선은 연결된 엔티티들 사이를 이음

#! DBMS에서 데이터 모델링의 중요성
# 1. 시스템 성능 최적화
# : 데이터 접근과 조회에 필요한 시간을 축약
# : 데이터 간의 관계를 명확하게 하여 데이터의 품질을 향상

# 2. 의사소통 개선
# : 개발자, 비즈니스 사용자 간의 의사소통 도구의 역할
# : 시각적 표현으로써 프로젝트 참여자의 명확한 의사소통을 촉진

#! ERD 규칙

# A는 부모, B는 자식의 관계를 가진 ERD
# 하나의 A는 하나의 B로 구성
# = 하나의 A는 하나의 B를 포함

# 실선
# : 부모의 기본키를 자식이 가지고 있고
# : 이를 기본키로 사용하는 경우

# 점선
# : 부모의 기본키를 자식이 가지고 있지만
# : 이를 기본키로 사용하지 않는 경우

# 학생-수강내역 테이블

# 학생(부모)테이블 - 수강내역(자식)테이블
# 부모 테이블의 PK를 자식 테이블에서 PK로 사용
# 1명의 학생에게서 0 ~ N 개의 수강 내역이 존재할 수 있다.

#! ERD 다이어그램 생성 방법
# 1. 테이블 생성(DDL)
# 2. 상단 탭(Database) 클릭
#    Reverse Engineer... 클릭

# 3. 연결할 Connection 선택 > Next
# 4. 생성하고자 하는 스키마(데이터베이스) 선택 > Next
# 5. Next > Execute로 생성

# 6. 테이블 간의 관계 설정