혼자서는 살아갈 수 없는 나약한 아이를 Weak Entity 라고 한다.
엄마 아빠가 없으면 자신이 누군지 방황하며, 독립하지 못하는 마마보이 이다.
힘세고 강한 싸나이는 엄마가 없다.
혼자서는 자기를 식별하지 못하는 약해빠진 Enity 를 Weak Entity 라고 한다.
가령 아래의 Apartment 는 door# (방 번호) 를 통해 식별을 해볼려고 하지만, 건물마다 같은 방번호가 존재한다.
가령 1동에도 101호가 있고, 3동에도 101호가 있다.
Apartment 를 제대로 식별하려면 Building 의 address 가 추가로 필요하다.
즉 Apartment 를 식별하려면 Building 이라는 부모가 반드시 필요하다.
다른 entity 의 attribute 와 조합해야 제대로 된 식별 key 를 만들 수 있는 나약한 Entity 가 Weak Entity 이다.
즉 자기 자자신이 가진 attribute 로는 아무것도 못하는 나약한 Entity 이다.
객체지향 프로그래밍에서의 상속이 생각나지만, 차이점이 있다면 부모의 attribute 를 상속해서 복사하지 않는다.
다만 자식은 부모 테이블을 참조해서, 부모테이블의 도메인에 접근할 뿐이다.
즉 자식(Toy, Candy)은 부모의 값(price, name)을 전혀 가지지 않는다.
다음을 그려내야 한다.