2013-06-18 2 views
0

먼저 VB.net에서 프로그램을 작성하고 데이터베이스를 설정하면 모든 것이 잘 작동합니다. 지금. 이 프로그램은 사용자 기반이며 사용자가 프로그램에 로그인해야하며 사용자 정보, 주문, 설정, 수수료 등 등 모든 정보가 필요합니다. 지금 가지고있는 문제는 각 사용자가 다른 데이터베이스를 사용하도록 설정 한 것입니다. 사용자 로그인이 있고 사용자 및 초기 프로그램 시작 설정 만 보유하고있는 데이터베이스에 연결합니다. 이와 함께 사용자 데이터베이스 주소와 암호를 프로그램에로드하므로 데이터베이스에 액세스하여 해당 데이터베이스와 관련된 모든 테이블에서 가져올 수 있습니다.내 데이터베이스 디자인 결함 ... 더 나은 방법을 설명하십시오. ((올바른 방법))

나는 각 사용자에 대한 데이터베이스를 보유하는 것이 약간 배제되어 있지만 각 데이터베이스는 특정인과 관련이 있으며 주소, 금액, 기타 많은 것들을 포함하여 정보가 민감 할 수 있다고 생각합니다. 50 명의 사용자가 있으면 50 개의 데이터베이스를 만들고 싶지 않기 때문에 가장 생산성이 높습니다.

도와주세요. 당신이 몇 군데를 읽고 가르치더라도, 나는 그것을 좋아할 것입니다.

미리 감사드립니다.

+0

단일 데이터베이스에 대해 서로 다른 사용자를 만든 다음 해당 사용자에게 특정 권한을 부여 할 수 있습니다 (예 : 사용자 "Bob"은 bobs_table 만 볼 수 있음). – cmt

+0

죄송합니다. 이것은 바보 같은 질문이지만 모든 사람이 자신의 테이블을 만들라고 말하고 있습니까? 그렇다면 나는 그것을 어떻게 성취 할 것인지 모른다. 지금 당장 나는 각 데이터베이스에서 사용자 당 8 개의 다른 테이블을 사용합니다. –

+0

사용자가 원하는대로 액세스 할 수있는 권한을 사용자에게 부여 할 수 있습니다. 0 테이블, 1 테이블 또는 8 테이블에 액세스 할 수있는 권한을 사용자에게 부여 할 수 있습니다. 'CREATE USER'로 새로운 사용자를 생성 할 수 있으며'GRANT '를 사용하여 데이터에 접근 할 권한을 부여 할 수 있습니다. 다음은 MySQL 레퍼런스입니다 : https://dev.mysql.com/doc/refman/5.1/en/adding-users.html – cmt

답변

0

각 사용자에 대해 seprate db를 만드는 것은 방법이 아닙니다. 새 사용자 테이블을 1 db로 만들고 ref 테이블에 userid를 추가했습니다. 다음은이를 달성하는 예제입니다.

User - Userid, UserName, Pwd etc. 
Address - Userid, Addressid, HouseNum, StreetName, City etc. 
Shipping details - Userid, Shippingid, Shippingdate etc. 

로그인 한 사용자의 Userid pull 데이터를 기반으로 한 모든 쿼리에서. 또한 응용 프로그램의 일부 서비스 계정을 사용하여 항상 db에 연결해야합니다. 사용자가 인증되었거나 저장된 proc 또는 쿼리를 사용하지 않는지 확인합니다.

+0

거짓말을하지 않을 것입니다. 저는 아주 새로운 MySql과 데이터베이스입니다. 사용자가 유효한지 여부를 확인하기 위해 서비스 계정을 어떻게 사용합니까? 현재 내가 설정 한 방법은 사용자가 유효한 사용자 이름과 암호를 입력하여 프로그램에 액세스해야한다는 것입니다. 그런 다음 사용자 데이터베이스에서 데이터베이스 주소와 암호를 가져 와서 나중에 참조 할 수 있도록 프로그램에 저장합니다. 그것이 나의 유효성 확인 방법이었습니다. 당신이 말하고있는 것을 성취하는 방법에 대해 약간의 자료를 가르쳐 줄 수 있다면, 나는 그것을 읽고 기쁘게 생각합니다. –

+0

일반적으로 두 가지 유형의 사용자가 있습니다. 1. 데이터베이스에 액세스 할 수 있도록 만들어진 db 사용자 ... 실제 사용자가 아닌 논리적 사용자 (또는 그룹)입니다. 일반적으로 2, 3 명의 사용자가 관리자, 일반 및 읽기 전용 사용자와 같은 목적으로 생성됩니다. 2. 응용 프로그램 사용자는 실제 사용자 (응용 프로그램에 액세스 할 사람)입니다. enteries는 db의 User 테이블에서 수행됩니다. 그래서 연결 b/w 통해 UR 애플 리케이션과 DB를 db 사용자에 의해 수행됩니다. 그러나 실제 쿼리는 앱 사용자 (실제 사용자)에 대해 실행됩니다. –

관련 문제