2012-01-17 3 views
1

ASP.net MVC에서 양식을 양식 사용에 관한 질문이 있습니다.양식 유효성 검사 ASP.net MVC 3 모범 사례

내 MVC 3 응용 프로그램이 사용하는 SQL 2008 서버 데이터베이스에 대해 aspnet_regsql을 실행했습니다. 이것은 내 서버에 새로운 데이터베이스를 만들었습니다. 이제 컨트롤러에 로그인하여 보안을 설정할 수 있습니다.

제 질문은 이것입니다 : 내 응용 프로그램이 데이터를 저장하는 데이터베이스를 변경해야합니까? 또는 보안을 위해 하나는 내 응용 프로그램을 위해 두 개의 데이터베이스를 사용해야합니까?

감사합니다.

+0

난 aspnet 생성 된 데이터베이스를 혼자 떠나야한다고 생각해. 당신은 그것을 만질 필요가 없으며 그것을 망칠 기회가 없습니다. – gideon

+0

감사합니다. 나는 동의한다. aspnet db와 software db로부터 many-to-many와 one-to-many 관계를 어떻게 생성 할 것을 제안하겠습니까? – jason

+0

몇 가지 가능한 선택 사항에 대해이 두 가지 유사한 질문을보십시오 (결론적으로, 꼭 필요한 경우가 아니면 같은 데이터베이스에 두는 것이 좋습니다) : http://stackoverflow.com/questions/5166641/sql-server-foreign -keys-across-databases-boundaries-for-enforcement 및 http://stackoverflow.com/questions/265921/sql-design-around-lack-of-cross-database-foreign-key-references – patmortech

답변

4

어느 쪽이든 할 수 있습니다. 보안 및 응용 프로그램 데이터를 단일 데이터베이스에 결합하거나 두 개의 별도 데이터베이스로 유지할 수 있습니다. 선택하는 것은 개인 취향과 응용 프로그램 데이터베이스의 복잡성에 따라 다릅니다. 테이블을 기능별로 별도의 데이터베이스로 분리 할 수 ​​있도록 테이블을 개별적으로 유지하고자 할 수 있습니다. 반면에, 이렇게하면 데이터베이스 유지 관리가 좀 더 복잡해질 것입니다. 이제는 두 개의 데이터베이스를 백업해야하고, 재해의 경우에는 단 하나가 아닌 두 개의 데이터베이스를 복원해야하기 때문입니다.

편집 : 주석에서 지적한대로이 두 데이터베이스로 분할하고 응용 프로그램 데이터베이스에서 인증 데이터베이스로의 외래 키 참조를 원할 경우 문제가 될 수 있습니다. Sql Server는 데이터베이스 간 외래 키 참조를 지원하지 않습니다. 이것이 거래 차단기 인 경우 1) 두 데이터베이스를 단일 데이터베이스로 결합하거나 2) 교차 데이터베이스 외래 키 참조에 대한 지원 부족을 피하기 위해 일부 해결 방법을 조사 할 수 있습니다. 이 두 번째 경로를 선택하는 경우이 문제에 대해서는 먼저 stackoverflow post을 사용해보십시오.

+0

감사합니다. 응답. 내 질문에, 그렇다면 내가 두 개의 데이터베이스를 사용한다면, 어떻게 둘을 묶어 연결을 만드는 것이 좋을까요? 예를 들어, 일대 다 또는 다 대다? 소프트웨어 데이터베이스에 다른 "사용자"테이블을 만들어야합니까? 하나의 데이터베이스 테이블에서 다른 데이터베이스 테이블로 외래 키를 만들 수 없다고 확신합니다. – jason

+0

안녕하세요 제이슨. 맞습니다. 이것을 DB로 분할하면 데이터베이스 간 외래 키 참조를 수행하는 데 문제가 있습니다. 일부 해결 방법은 내 의견 편집을 참조하십시오. 감사. –

+0

또한 일부 호스팅 업체는 두 개의 DB를 사용하는 데 더 많은 비용을 부과합니다. – RickAndMSFT