스키마 정의에서 private, public 테이블에 대한 질문입니다.

public : 모든 게이머의 정보를 반환
private : 테이블의 로그인된 해당 게이머의 정보만 반환

이렇게 설명이 되어 있는데,
private의 테이블의 로그인된의 의미를 잘 모르겠습니다.

만약 제가 private으로 inventory 테이블을 만들어서 각 유저들의 인벤토리 데이터를 저장하고,
userindate라는 열을 만들어서 이것을 unique key로 하여 사용한다고 했을 때,
userindate로 특정 유저의 인벤토리를 검색할 경우,
위의 테이블의 로그인된 해당 게이머의 정보를 반환이 어떤식으로 작동하는지 궁금합니다.

안녕하세요 개발자님

public 테이블의 경우 테이블 소유자의 읽기/쓰기, 타인의 읽기가 가능하고,
private 테이블의 경우 테이블 소유자의 읽기/쓰기만 가능한 테이블입니다.

혹시 아래와 같은 표현을 어디서 보셨는지 알려주실 수 있으신가요? 애매한 표현이라 수정하도록 하겠습니다.

public : 모든 게이머의 정보를 반환
private : 테이블의 로그인된 해당 게이머의 정보만 반환

userindate란 키를 이용하여 검색하는 경우
해당 테이블이 public 테이블인 경우 모든 유저가 검색이 가능하고,
private테이블인 경우 해당 테이블이 검색한 유저의 소유일 경우 검색이 되고, 검색한 유저의 소유가 아닐 경우 검색에 실패됩니다.

좋아요 1
  • 자주묻는질문 -> 게임 정보 관리에서 보았습니다.

테이블이 검색한 유저의 소유일 경우가 어떤 의미일까요?
스키마 정의의 경우 테이블은 콘솔에서 밖에 생성못하는것이 아닌지요

아니면 유저들이 생성할 수 있는 다른 의미의 테이블이 있는 건지 궁금합니다.

뒤끝의 경우 콘솔에서는 테이블 명과 테이블 형태를 선언할 수 있고, 유저는 기본적으로 해당 테이블을 가지고 있지 않습니다.

테이블의 경우 클라이언트에서 테이블 생성 요청을 서버로 보내야 해당 테이블을 유저가 소유할 수 있습니다.

또한 한 유저가 동일한 테이블을 여러개 소유 할 수 있습니다.

테이블의 경우 public/private 상관 없이 테이블 생성 요청을 보낸 유저의 소유이기 때문에 테이블을 검색한 유저의 소유 라는 표현을 사용하였습니다.

콘솔에서 테이블을 생성할 수는 있으나 해당 기능은 버그 등으로 인해 정상적으로 테이블을 생성하지 못한 유저가 있을 경우 등 불가피한 상황에 대응하기 위해 제공하고 있는 기능입니다.

위의 개발자링크 문서를 알려주셔서 감사합니다.

해당 문구는 수정하도록 하겠습니다.

좋아요 1

데이터베이스의 경우 MySQL과 같은 형태의 관계형 데이터베이스 밖에 경험해보지 못해서
아직도 현재 뒤끝 스키마정의 테이블의 구조가 이해가 잘 되지 않습니다.

클라이언트에서 테이블 생성 요청을 서버로 보내야 해당 테이블을 유저가 소유할 수 있습니다.

위 부분의 경우 테이블 생성 요청이 어떤 것을 의미하는지 알 수 있을까요?

제가 처음에 이해한 스키마 정의 테이블은
콘솔에서 테이블과 컬럼등의 형태를 만들고, (테이블을 유저가 소유한다는 개념은 존재하지 않음)

유저가 클라이언트에서 get으로 테이블에 있는 row를 가져오고, insert로 테이블에 row를 삽입하는
전형적인 관계형 데이터베이스의 구조를 생각했는데, 이것이 틀린것일까요?

테이블을 생성한다는 것은 해당테이블에 row를 삽입한다는 의미로 말씀드린 것 입니다.

또한 get도 테이블의 row를 가져온다는 것을 말씀드린 것 입니다.

소유라는 것 또한 해당 row의 소유권을 말씀드린 것 이고요.

개발자님께서 이해하신 부분이 정확하게 맞습니다.

답변드릴 때 row를 생성한다고 말씀드리면 이해하지 못하시는 분들이 계셔 포괄적으로 테이블을 생성한다고 말씀드린 것이었는데, 제가 답변을 헷갈리게 드렸는 것 같습니다

앞으로 더 나은 답변을 드릴 수 있도록 노력하겠습니다.

좋아요 1

정확히 이해했습니다! 답변 감사드립니다