일단 플레이어 각각에 대한 정보를 저장하는 테이블을 정해 봅시다. 테이블 이름은 UserAccount라고 합시다.
▼ 표 7-4 플레이어 정보가 담긴 UserAccount 테이블
ID |
Password |
Etc |
Hong Gil Dong |
xxx |
... |
Kang Bu Ja |
xxx |
... |
이때 플레이어 ID는 서로 중복되지 않아야 합니다. 따라서 ID 필드에는 유니크 속성이 들어 있는 인덱스(7.6절 참고)를 추가해 줍시다. 보기 좋게 하려면 ID 필드에 프라이머리 키를 설정해도 됩니다.
데이터베이스의 어떤 테이블을 넣어야 할지 계획을 잡을 때 자주 사용하는 방식은 외래 키(foreign key)를 사용하는 것입니다. 외래 키란 테이블의 어떤 필드가 다른 테이블의 특정 필드 값을 가리키는 것을 의미합니다.
플레이어는 플레이어 캐릭터를 여러 개 가지고 있습니다. 반대로 말하자면, 플레이어 캐릭터 각각은 자기 자신을 소유하는 플레이어가 있음을 의미합니다. 플레이어 캐릭터를 테이블에 저장할 때 플레이어 캐릭터의 고유 이름으로 ID뿐만 아니라 “이 플레이어 캐릭터가 누구의 소유인가?”도 저장하면 어떨까요?