페이스 북 사용자를 위해 데이터베이스를 모델링하려고합니다. 내 User 테이블의 경우 {account_name, account_id, ..., password}를 변수로 사용합니다. Friendlist 또는 Contacts 테이블과 같은 해당 사용자의 친구를위한 테이블을 만들려고하는데 연락처 테이블에 가능한 모든 우정 (예 : {user_id, friend_id, friends_since, ...}) 또는 연락처 테이블을 특정 user_id에 지정할 수 있습니다 (그래서 {contact_id, friends_since, no_of_mutual_contacts 등}).데이터베이스 - 데이터베이스의 테이블에 모든 글로벌 인스턴스가 포함되어야하거나 특정 ID에만 적용될 수 있습니다.
이것은 아마도 내 두뇌의 객체 지향 부분 일 뿐이지 만, 예를 들어 시네마 데이터베이스를 사용하는 경우를 예로들 수 있습니다. 5 개의 영화관이 있고 각각에는 5 개의 스크린이 있고, CINEMA는 테이블이고 SCREEN은 테이블입니다. SCREEN 테이블에 25 개의 데이터 인스턴스가 있거나 SCREEN 테이블에 특정 CINEMA에 해당하는 5 개의 화면 만 포함될 수 있습니다.
원래의 질문으로 돌아가 봅니다. 주소록 테이블은 모든 우정을 포함하는 전역 테이블이어야하며, 연락처 테이블은 user_id와 관련된 연락처 만 반환합니다.
데이터베이스의 관계형 차트를 볼 때 링크가 user.Contacts 또는 user.Events와 같은 멤버로 표시된 구조와 같은 다소 객체를 ressembing하는 것을 볼 수 있습니다.
데이터 모델링과 OOP를 혼동하지 마십시오. OOP는 복잡한 시스템을 대화 형 상태 저장 서비스 네트워크로 분해하기위한 것입니다. 데이터 모델링은 복잡한 지식을 간단한 사실 집합으로 분해하기위한 것입니다. – reaanb