귀하의 질문에는 개념 레벨과 논리 레벨이라는 두 가지 다른 수준의 추상화가 혼합되어 있습니다.
개념적 차원에서 제안 된 데이터베이스에 대한 정보 요구 사항을 설명하는 데 관심이 있습니다. 하나의 솔루션이나 다른 솔루션으로 설명을 기울이지 않고이 작업을 수행하는 것이 유용합니다. 이 목적에 유용한 하나의 모델은 Entity-Relationship (ER) 모델입니다. 이 모델에서 주제는 엔티티 (주제)와 엔티티 간의 관계로 나뉩니다. 모든 데이터는 entites 중 하나 또는 관계 중 하나의 일부 측면을 설명하는 것으로 볼 수 있습니다.
"Is-a"및 "has-a"관계는이 추상화 수준에서 관련이 있습니다. 이 수준에서는 관계가 식별되지만 구현되지는 않습니다.
데이터베이스의 개념 모델을 만든 후 데이터베이스 자체를 만들기 전에 논리적 디자인 단계를 수행하면 데이터베이스의 논리적 모델이됩니다. 데이터베이스가 관계형 인 경우 논리적 모델을 관계형으로 만드는 것이 유용합니다. 관계형 모델은 차세대 추상화 수준입니다.
여기에는 기본 키와 외래 키가 들어 있습니다.이 키는 개념 단계에서 식별 된 관계를 구현합니다. 이것은 관계형 모델이 관계를 구현하는 방법입니다. 이 단계에서 접합점 테이블, 테이블 구성 및 정규화와 같은 디자인 문제에 개입하게됩니다.
개념 수준과 논리 수준 외에도 실제 수준과 스크립트 수준이 있습니다. 그러나 이것들은 당신의 질문 범위 밖에 있습니다.
두 가지 종류의 관계는 해결해야 할 문제의 특징입니다. 기본 키에 대한 외래 키 참조는 제안 된 솔루션의 기능입니다.