DB설계시
A회사, B회사, C회사 등 회사별로 동일 콘텐츠(여러 테이블, 속성들로 구성)를 제공시,
A회사, B회사, C회사 등 회사별로 각각 1개씩의 DB를 생성하여
관리하는 것이 바람직 한 것인가요? or
1개의 DB속에 테이블상으로 회사별로 분류하여 여기에 동일 콘텐츠의
속성을 분류하여 관리하는 바람직한 것인가요?
전자, 후자에 대한 장단점도 가능하시다면
조언을 부탁드립니다.
회사별로 나누는게 원칙이지만,
회사의 업무내용에 따라 달라 질수 있을 것 같은데요.
저희 회사도 회사가 여러개로 나누어 있는데 회사구분으로 처리하고 있죠.
자료를 합해서 보여준다던가, 업무내용상 자동처리를 한다던가 했을때는 회사구분으로 들어가는게 프로그램 개발이 간단하죠 (간단 ?) 만약 다른 데이타베이스로 구성한다면 회사가 늘어 났을때 프로그램에 다 적용해야 되는 심가한 문제가 발생할수 있을것 같군요.
그러나 별도의 내용으로만 본다면 분리하셔도 크게 문제는 안될것 같구요. login시만 아이디로 접속만 조절하면 되니까...
업무적 특성, 자료의 규모, 등 여러가지 상황을 고려해 보셔야 할것 같습니다.
자세한 내용은 메일로 연락주시면 같이 고민해 보죠.
안녕하세요. ^^
지나가다 몇자 적습니다.
훔. 제생각에는 이렇습니다.
우리가 설계를 할때 논리적 모델과 물리적 모델을 나눌수가 있는데.
일단 논리적 모델을 말씀드리겠습니다.
1. 하나의 콘텐츠 안에는 여러개의 회사가 올수있다
- 이는 한개의 타입, 즉 릴레이션으로 볼수가 있습니다. A라는 회사로써, B라는 회사로써, C라는 회사로써 설명이 가능하기 때문에 이는 구분자로 나누는 것이 맞습니다.
2. 하나의 콘텐츠는 여러개의 회사를 갖고 있을수 있고 한개의 회사는 여러개의 콘텐츠를 갖고 있을수 있다.
- 이는 M:M 이 발생하므로 1:M으로 만들어 줄수 있는 릴레이션 테이블이 필요하겠죠.
머 회사업무 성격에 따라 틀려 질수도 있지만 제 생각의 논리적인 모델이라 함은 자신의 생각을 집합적으로 표현을 하거나 업무를 좀더 심도 있게 분석할수 있는 기준에서 논리적인 모델을 한다고 봅니다.
장단점을 말해달라 하셨는데요.
일단 전자는 피하시는것이 좋을듯 하구요.
후자는 잘 이해가 안가네요. ^^;;
주저리 적어 봤습니다. ^^
그럼 참고 하시구요 수고하세요~