묻고답하기
멤버시리얼과 다른 테이블의 시리얼 중복 문제 문의합니다.
2013.05.20 13:31
시퀀스 테이블에 의해서 부여되는 각 테이블의 레코드(로번호)의 각각의 시리얼 번호는 서로 중복되지 않도록 되어 있는데요.
멤버시리얼 번호와 게시판, 페이지, 등의 다른 테이블의 시리얼 번호와 중복될 경우 문제가 될수 있는 요소가 있는지 문의합니다.
예를들어
회원테이블의 member_srl 의 50과 게시판의 document_srl 의 50과 같은 번호가 되었을때 문제가 될수 있는지요?
왜냐면, 회원정리를 하면서 3500명의 회원을 member_srl 번호에 1부터 3500 번까지 순차적으로 주어서 업로드 했거든요.
admin은 4번으로 맞춰주고요.
이럴때 1~3500번까지 번호들이 다른 게시판,페이지 등의 다른 모듈의 시리얼 번호와 중복이 60% 넘는데,
홈페이지가 에러를 발생시킬수 있는 등의 문제가 발생될 요소가 있는지 문의합니다.
회원정리를 하다보면 가끔 이런 작업을 하게 되는데, 데이터마이그레이션으로 하면 알아서 들어간다고는 하는데,
번거롭기도하고 안해봐서 저는 그냥 무식하게 엑셀에다 집어넣고 멤버시리얼 번호를 일괄적,순차적으로 주어서
업로드 시키는 방식으로 합니다.
문제가 된다면 어떠한 문제나 에러요소가 있는지요?
제가 잘못하고 있는건지
개발팀에 관계된 분께서 어떤 문제가 발생될수 있는지 알려주시면 좋겠는데요.
XE DB구조에 대해서 잘 아시는 분께서 조언 좀 부탁드립니다.
댓글 2
-
푸시아
2013.05.20 13:38
-
푸시아
2013.05.20 13:43
문제가 있을수 있겠네요.
예를들어 xe를 처음 설치하면 첫 회원인 admin 의 시퀀스는 4 번 입니다.
그리고 말씀하신대로 DB에 1~3500 까지 그냥 넣는다면,
4번 회원과 admin 의 member_srl 이 겹치게 되겠네요.
member_srl 로 호출하는 모든 함수에서 에러가 날 것입니다.
이것은 그냥 예시로 설명 드린 거구요.
회원 가입을 누군가 3501번째로 하게 될 때 시퀀스 넘버를 무엇으로 부여받을지를 잘 세팅 해야 합니다.
시퀀스 테이블에 3500 이라고 입력하고 사용해야 하는데 이것 역시 document_srl 과 연관이 있으므로
세심하게 따져 봐야 합니다.
-
또별
2013.05.20 14:38
4번 admin의 member_srl 은 맞춰주면 되지만, 다른 번호들이 게시판이나 페이지 등의 다른 시리얼번호와 같을때 예상되는 문제점이 있을까요? -
또별
2013.05.20 14:40
예를들어, member_srl 30번과 document_srl 30 이 중복될 경우 이런식으로 모듈은 달라도 같은 번호가 2개 존재할경우 문제가 있나요? -
푸시아
2013.05.20 15:08
@또별 님/ member_srl 30번과 document_srl 30번이 중복된다는 것 자체가 시퀀스 테이블에 넘버를 맞춰주지 않으신다는 뜻입니다. member 를 등록하셔서 임의로 시퀀스 넘버를 부여하셨다면 xe_sequence 테이블에 마지막 넘버를 기입 하셔야 getNextSequence() 함수로 다음 넘버를 불러와 회원도 추가하고 글이나 댓글도 추가할 수 있습니다. -
푸시아
2013.05.20 15:09
@또별 님/ 이미 document_srl 이 있는 상태에서 member_srl 과 중복되는건 문제가 없을것 같기도 합니다.
예전에 저도 잘 모를적에 그런식으로 작업해 본적이 있는데요.
결과적으로 게시판에서 원인을 알 수 없는 오류를 뿜는 경우가 자주 있었습니다.
정확히 뭐가 어떻게 잘못이라고 지적해 드릴수는 없습니다만,
엑셀로 대량 회원가입시키는 모듈을 만든적이 있는데
$oInsert_membersController = &getController('member');
$output = $oInsert_membersController->insertMember($args);
if(!$output->toBool()) return $output;
요런 식으로 member 컨트롤러를 불러서 입력하면 될 것 같습니다.