약 7분
읽기 설정
글자 크기
줄 간격
글꼴
1.3 ERD(Entity Relationship Diagram) 소개
데이터베이스를 이해하기 위해 가장 먼저 알아야 할 것 중 하나가 바로 ERD(Entity Relationship Diagram)입니다. ERD는 데이터 간의 관계를 시각적으로 표현한 다이어그램으로, 데이터베이스 설계를 위한 중요한 도구입니다. ERD를 통해 데이터베이스의 구조와 관계를 쉽게 이해하고 설계할 수 있습니다.
ERD의 구성 요소
ERD는 주로 엔티티(Entity), 속성(Attribute), 및 **관계(Relationship)**로 구성되어 있습니다.
- 엔티티: 데이터베이스에서 관리할 정보의 대상입니다. 예를 들어, "회원", "게시물", "주문" 등이 엔티티가 될 수 있습니다.
- 속성: 각 엔티티가 가지는 특징이나 정보를 나타냅니다. 예를 들어, "회원" 엔티티는
회원ID,이름,이메일같은 속성을 가질 수 있습니다. - 관계: 서로 다른 엔티티 간의 상호작용을 보여줍니다. 예를 들어, 한 명의 "회원"이 여러 개의 "게시물"을 작성할 수 있다면, 이는 회원과 게시물 간의 1:N 관계로 표현됩니다.
ERD 예제
아래는 단순한 ERD 예제입니다. 회원과 게시물 간의 관계를 표현한 것입니다.
- 엔티티: 회원(Member), 게시물(Post)
- 속성: 회원은
회원ID,이름,이메일속성을 가지며, 게시물은게시물ID,제목,내용속성을 가집니다. - 관계: 한 회원은 여러 개의 게시물을 작성할 수 있으므로, 회원과 게시물 간의 관계는 1:N입니다.

실습
이제 ERD를 기반으로 데이터베이스를 설계해보겠습니다. 먼저, 회원과 게시물 엔티티를 정의하는 SQL 코드를 만들어보겠습니다.
CREATE DATABASE my_database;
USE my_database;
CREATE TABLE Member (
member_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
CREATE TABLE Post (
post_id INT AUTO_INCREMENT PRIMARY KEY,
member_id INT,
title VARCHAR(200) NOT NULL,
content TEXT,
FOREIGN KEY (member_id) REFERENCES Member(member_id)
);
위 SQL 코드를 실행한 후, 데이터베이스에는 Member와 Post라는 두 개의 테이블이 생성됩니다. Member 테이블의 구조는 member_id, name, email로 구성되며, Post 테이블은 post_id, member_id, title, content로 구성됩니다.
데이터 변화 시나리오
- 회원 정보를 데이터베이스에 추가합니다.
INSERT INTO Member (name, email) VALUES ('홍길동', 'hong@example.com');
INSERT INTO Member (name, email) VALUES ('김유신', 'kim@example.com');
실행 후 Member 테이블은 다음과 같이 변화합니다.
| member_id | name | |
|---|---|---|
| 1 | 홍길동 | hong@example.com |
| 2 | 김유신 | kim@example.com |
- 게시물 정보를 추가합니다.
INSERT INTO Post (member_id, title, content) VALUES (1, '첫 번째 게시물', '이것은 첫 번째 게시물입니다.');
INSERT INTO Post (member_id, title, content) VALUES (1, '두 번째 게시물', '이것은 두 번째 게시물입니다.');
실행 후 Post 테이블은 다음과 같이 변화합니다.
| post_id | member_id | title | content |
|---|---|---|---|
| 1 | 1 | 첫 번째 게시물 | 이것은 첫 번째 게시물입니다. |
| 2 | 1 | 두 번째 게시물 | 이것은 두 번째 게시물입니다. |
이러한 과정을 통해 관계형 데이터베이스에서 엔티티들 간의 관계를 이해하고, 그에 맞게 SQL로 테이블을 설계하는 연습을 할 수 있습니다.
정리
이번 강의에서는 ERD의 기본 개념과 함께, 회원과 게시물 간의 관계를 시각적으로 표현하고 이를 SQL로 구현하는 방법을 학습했습니다. ERD를 통해 데이터베이스의 구조를 시각적으로 이해하는 것이 얼마나 중요한지 알 수 있습니다. 다음 강의에서는 데이터 정규화의 개념을 더욱 심도 있게 다루며, 데이터베이스 설계의 품질을 향상시키는 방법을 배워보도록 하겠습니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.