비식별(약한) 관계

  • 개체가 독립적
  • 두 테이블에 관계가 성립
  • 외래키가 기본키에 참여하지 않음
  • 부모 테이블의 기본키나 유니크 키를 자식 테이블이 외래키로 이용
    즉, 부모 데이터가 없어도 자식 테이블에 데이터를 추가할 수 있음
  • 구조변경에 자유롭지만 데이터 정합성을 위한 로직이 따로 필요

식별(강한) 관계

  • 하나의 개체가 다른 개체 없이 독립적으로 존재하지 못함
  • 외래키가 기본키에 참여
  • 부모 테이블의 기본키나 유니크 키를 자식 테이블이 자신의 기본키로 사용한다.
  • 데이터의 정합성 유지를 DB에서 검증가능하나 구조 변경에 어려움이 있다.

 

Forward Enginner 툴로 DB 생성

워크벤치로 DB 생성을 할 수 있지만 공부 단계니까 그냥 직접 쓸거임 !

그냥 이런 기능이 있어서 적어둔것

메뉴탭 databasc - forward enginner

DB 선택
옵션 패스

 

# DB 선택
use myDB;
commit;

 

# 테이블 조회
select * from emp;
select * from dept;

 

# 테이블 구조 확인
desc emp;
desc dept;

 

 

# 로우
insert into emp values(1, '홍길동', '서울 강남구');

insert into dept values('d001', '홍보부', 1);
insert into dept values('d002', '개발부', 2); # error ! 외래키 제약조건 위배
insert into dept(did, dname) values('d003', '기획실');

 

# 테이블 조회
select * from emp_copy1;
select * from dept_copy1;
# 테이블 구조 확인
desc emp_copy1;
desc dept_copy1;

 

# 로우
insert into emp_copy1 values(1, '홍길동', '서울 강남구');

insert into dept_copy1 values('d001', '홍보부', 1);
insert into dept_copy1 values('d002', '개발부', 2); # error ! 외래키 제약조건 위배
insert into dept_copy1(did, dname) values('d003', '기획실'); # Error Code: 1364. Field 'emp_copy1_emp_no' doesn't have a default value

 

 

Revere Enginner 툴로 erd 만들기

erd 만들 db 선택

 

ERD CLOUD

https://www.erdcloud.com/

 

ERDCloud

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

 

논리적 : 컬럼에 한글로 설명

물리적 : 컬럼에 영어로 지정

 

번호 이름 설명
1 Zero or One or Many 0 아님 1 아님 여러개
2 Zero or Many 0 아님 여러개
3 Zero or One 0 아님 1개
4 One or Many 1개 또는 여러개
5 One Only 반드시 한개
6 Many 2개 이상 
7 One 1개

비식별 관계

 

식별 관계

 

내보내기

기능만 알고 쓰지 않기