비식별(약한) 관계
- 개체가 독립적
- 두 테이블에 관계가 성립
- 외래키가 기본키에 참여하지 않음
- 부모 테이블의 기본키나 유니크 키를 자식 테이블이 외래키로 이용
즉, 부모 데이터가 없어도 자식 테이블에 데이터를 추가할 수 있음 - 구조변경에 자유롭지만 데이터 정합성을 위한 로직이 따로 필요
식별(강한) 관계
- 하나의 개체가 다른 개체 없이 독립적으로 존재하지 못함
- 외래키가 기본키에 참여
- 부모 테이블의 기본키나 유니크 키를 자식 테이블이 자신의 기본키로 사용한다.
- 데이터의 정합성 유지를 DB에서 검증가능하나 구조 변경에 어려움이 있다.
Forward Enginner 툴로 DB 생성
워크벤치로 DB 생성을 할 수 있지만 공부 단계니까 그냥 직접 쓸거임 !
그냥 이런 기능이 있어서 적어둔것
메뉴탭 databasc - forward enginner
# 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 CLOUD
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개 |
비식별 관계
식별 관계
내보내기
기능만 알고 쓰지 않기
'Others > 데이터베이스' 카테고리의 다른 글
[SQL] INDEX 문법 정리 및 예제 (0) | 2024.06.18 |
---|---|
[SQL] VIEW 문법 정리 및 예제 (0) | 2024.06.18 |
DB 구축 단계 (0) | 2024.06.17 |
[SQL] 그룹 함수 집계 함수 문법 정리 및 예제 (0) | 2024.06.16 |
[SQL] SubQuery : 서브 쿼리 문법 정리 및 예제 (0) | 2024.06.16 |