개인 채팅과 그룹 채팅을 모두 사용할 수있는 데이터베이스 스키마를 설계하려고합니다. 여기에 지금까지있어 무엇 : 그래서채팅을위한 데이터베이스 스키마 : 비공개 및 그룹
- 이론은 사용자가 하나 하나에 개인 채팅에 불과하더라도, 그들은 여전히 'roomID', 및 각 메시지를 할당한다는 것입니다 그들은 room
에 보낸다.
그들이 관련된 모든 객실을 찾으려면 테이블 에서 목록을 선택하여 확인할 수 있습니다.
이 괜찮는, 그러나 그것은 room
테이블이 정말 방 이름이 필요 없다는 점에서 약간 중복 저에게 느낌, 나는 알아 SELECT DISTINCT roomID FROM particpants
그것을 생략하고 단순히 participants
테이블을 사용할 수 있습니다 각 방.
누구나 나에게 더 나은 구조를 설명 할 수 있습니까? 왜 내가 방 테이블을 유지해야합니까?
외래 키가 있습니까? –
@RyanGadsdon 예 라인이 외래 키를 가리키고 있습니다 – Chud37
아하 저는 이름 옆에있는 FK를 보는 데 익숙합니다. 저는 개인 방과 공공 실을 분리 할 것입니다. 또는 private 및 public room 하위 클래스로 Room 속성을 만듭니다. 다른 대화방이 있다면 어떻게 될까요? 예 : 스포츠, 사회, 직장. 사람들을 대화방에 연결하는 것이 더 쉬울 것입니다. –