관계형데이터베이스 설계

이호용·2022년 7월 1일
0

ft_transcendence

목록 보기
10/14

1. 관계형 데이터 베이스.

1. 구조.

2. 특징

  • 관계형 데이터 베이스 테이블로 저장한다.
  • 테이블은 하나의 주제만을 가진 테이블을 만들길 권장한다.
  • 데이터를 CRUD를 통해 쉽게 데이터를 관리할 수 있다.

3. 테이블이 하나의 주제만 가지길 권장하는 이유.

  • 중복 발생 없앨 수 있다.

    모든 표는 하나의 주제만을 가질것!


4. join

  • 하지만 표를 인간이 이해하기엔 아래 쪼개기 전이 더 가독성이 좋다.
  • 그래서 쪼개어진 표를 볼때 합쳐서 보도록 만들어주는게 join이다.
  • 쉽게 보는예제

1. ERD

  • Entity Relationship Diagram (ERD)는 시스템의 엔티티들이 무엇이 있는지 어떤 관계가 있는지를 나타내는 다이어그램입니다.
  • ERD는 크게 3가지로 구성됩니다. (정보그룹, 정보그룹관계, 정보)

ERD 설계

  • 만약 기획하는 사람이랑 DB설계하는 사람이 다르다면, ERD설계 까지는 같이 하는게 좋습니다.

설계순서(1).

  • 기획서에서 저장 할 부분 테이블에 저장.

설계순서(2) - 식별자 정하기.

  • 하나의 키로 식별가능한 값이 여러개가 있다면 기본키를 하나정하고 나머지는 대체키로 설정해 둔다.
  • 반대로 하나의 키만으로 식별이 안되지만, 직원번호 + 부서번호로 식별이 가능한 경우도 있다. 이런 경우 중복키로 식별한다.
  • 식별할 방법 키가 없는경우 table에 고유 id를 만들어주면 된다.

설계순서 (3) - 관계 연결하기.

  • 이제 만들어둔 테이블의 관계를 소속 또는 작성같은 두 테이블 간의 관계를 정해주면 된다.

관계연결 예시.

  • 예제 1. ERD에서 연결할때 보통 선으로 연결한다. 오른쪽 두번째 줄 네모를 보면 하나의 저자가 여러개의 댓글을 가지고 있기 때문에 삼바리로 연결된걸 볼수 있다.

  • 예제 2. 댓글에는 저자가 필수, 저자는 댓글이 없을수 도 있고 있을수도 있다. (4번째 네모와 일치)

ERD 예시

쉬어가기.

  • 여기가지, 개념적 데이터 모델링이다.
  • 이제 논리적 데이터 모델링을 해보자!
  • 논리적 데이터 모델링은 위에서 뽑은 그림을 바탕으로 어떻게 관계형 데이터 베이스에 옮길지 모델링 하는 파트다.

====== 일단 여기까지 =====

관계형 DB를 정의하기 위한 강좌(ERDcloude)

  1. database란? 그리고 간단한 CRUD사용
  2. join을 한번 사용해보자.

표를 쪼개면 좋은이유
1. 주제에 따라 그룹핑 가능.
2. 글을 담고있는 표만 가지고 올수 있어서 자원 아낄수 있음.
3. 댓글에 저자의 정보를 합치고 싶으면 join을 통해 쉽게 합칠수있다.

0개의 댓글