ERD
ERD가 돌고돌아서.. 굉장히 심플해졌다.
n : m 관계 때문에 members 테이블 생성을 더 한 것이다.
user가 여러개의 미팅을 할 수도 있고, 미팅도 여러개의 유저를 받아올 수 있는데
이것을 n:m 관계로 중간에 배열로 받아오게 되는 것은 어려운 부분이 생기기 때문에
중간에 테이블을 추가한 것이다.
그리하여
Users 테이블도 Members와 1 : N 관계이고
Meetings 테이블은 Members 1 : N 관계가 되었다.
RDBMS 에서 테이블 식별관계와 비식별관계는 무엇인가?
ERD를 작성하면서 점선으로 테이블 끼리 연결하는 부분이 있어서
이 부분에 대한 이해를 위해 찾아보게 되었다.
식별 관계:
부모 테이블의 기본키 또는 유니크 키를 자식 테이블이 자신의 기본키로 사용하는 관계.
반드시 부모 테이블의 데이터가 존재 해야 자식 테이블에 데이터를 입력할 수 있다.
부모 데이터가 없다면 자식 데이터는 생길 수 없다.
식별관계는 ERD상 실선으로 표시.
비식별관계:
비 식별 관계란 부모 테이블의 기본키 또는 유니크 키를 자신의 기본키로 사용하지 않음,
외래키로 사용하는 관계이다.
자식 데이터는 부모 데이터가 없어도 독립적으로 생성 될 수 있다.
의존성을 줄일 수 있어서 좀 더 자유로운 데이터 생성 수정이 가능.
https://deveric.tistory.com/108
[Database] 식별관계와 비 식별관계
RDBMS의 테이블을 생성하고, 각 테이블마다 관계를 설정해 줄 때 일반적으로 외래 키를 사용하곤 합니다. 외래 키를 통해 다른 테이블과 같은 키를 공유하고 이를 이용하여 조인하여 관계를 이용
deveric.tistory.com
순환참조
기본키는 테이블에 존재하는 수많은 데이터들을 구별 할 수 있는 유일한 기준이 되는 속성
= PK는 중복해서 존재할 수 없다
예를 들면 개인정보.
그 사람 이름으로 구분하면 동명이인에게도 같은 값이 있을 수 있기 때문에,
유일성을 갖는 키를 확인하는 것이다.
스키마를 짜다가 순환참조에 대해서 알게 되었다.
서로 다른 두 개체가 서로를 참조하고 있는 관계를 뜻한다.
1:1 관계에서 서로의 PK 를 FK 로 갖고 있으면
데이터 베이스에 정보를 INSERT 하거나, DELETE 할 때 순환참조 문제가 발생한다.
A라는 개체는 B를 먼저 참조하는데 , B라는 개체는 A를 또 참조하는 것이다.
이것이 무한루프로 이어져서 문제가 발생한다.
**숙제
1. 창민튜터님 데이터베이스 특강 다시보기 (정규화에 대해)
2. 호영튜터님 스탠다드 수업 다시보기 (webSocket, Socket.IO)