비식별(약한) 관계
- 개체가 독립적
- 두 테이블에 관계가 성립
- 외래키가 기본키에 참여하지 않음
- 부모 테이블의 기본키나 유니크 키를 자식 테이블이 외래키로 이용
즉, 부모 데이터가 없어도 자식 테이블에 데이터를 추가할 수 있음 - 구조변경에 자유롭지만 데이터 정합성을 위한 로직이 따로 필요
식별(강한) 관계
- 하나의 개체가 다른 개체 없이 독립적으로 존재하지 못함
- 외래키가 기본키에 참여
- 부모 테이블의 기본키나 유니크 키를 자식 테이블이 자신의 기본키로 사용한다.
- 데이터의 정합성 유지를 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
논리적 : 컬럼에 한글로 설명
물리적 : 컬럼에 영어로 지정
번호 | 이름 | 설명 |
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 |