1.3 ERD(Entity Relationship Diagram) 소개

약 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 예제

실습

이제 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 코드를 실행한 후, 데이터베이스에는 MemberPost라는 두 개의 테이블이 생성됩니다. Member 테이블의 구조는 member_id, name, email로 구성되며, Post 테이블은 post_id, member_id, title, content로 구성됩니다.

데이터 변화 시나리오

  1. 회원 정보를 데이터베이스에 추가합니다.
INSERT INTO Member (name, email) VALUES ('홍길동', 'hong@example.com');
INSERT INTO Member (name, email) VALUES ('김유신', 'kim@example.com');

실행 후 Member 테이블은 다음과 같이 변화합니다.

member_id name email
1 홍길동 hong@example.com
2 김유신 kim@example.com
  1. 게시물 정보를 추가합니다.
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

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.