인사말,많은 확인란 입력을 데이터베이스에 삽입하는 가장 좋은 방법은 무엇입니까?
나는 거의 150 개의 체크 박스가있는 양식을 가지고 있지만 한 곳이 아니며 양식이 여러 부서로 나뉘며 각 부서에는 블록이 있으며 확인란은 그룹에 따라이 블록에 배치됩니다 여기서 네 곳의 확인란을 찾을 수 있으며 다른 곳에서는 여덟 곳, 다른 곳에서는 여덟 곳의 체크 박스를 찾을 수 있습니다.
그래서 두 개의 테이블을 하나씩 만들어 그룹을 저장하고 다른 하나는 체크 박스를 저장하고 다른 그룹은 그 그룹에 속하게했습니다. 예를 들어, 지정된 테이블에 자신의 키의 연결된 문자열로
첫 번째 저장 체크 박스 값과 직접 삽입 :
UserProperties
----------------------------------------
| ID | Customer | PropertiesType |
----------------------------------------
| 1 | Cat | home,farm |
----------------------------------------
FormBlocks
--------------------------
| ID | key |
--------------------------
| 1 | property_type |
| 2 | providors |
--------------------------
BlocksCheckBoxes
------------------------------------------------
| ID | Label | Key | FormBlockId |
------------------------------------------------
| 1 | Sweet Home | home | 1 |
| 2 | Farm | farm | 1 |
| 3 | Invst Bank | bank | 2 |
| 4 | Constructor | constr | 2 |
------------------------------------------------
나는 그 값을 저장하는 두 가지 방법이 프로 : 구현하기가 매우 쉽습니다. 필자는 열을 추가하기 만하면됩니다. 따라서 이론적으로 더 빠릅니다.
가 : 데이터 무결성의 데시벨 수준을 잃게하고는, (내가 그렇게 살 수 있다고 생각)
나는 각 블록 테이블을 만드는 두 번째 방법 응용 프로그램 수준에 예를 들어 따라 달라집니다 :
UserProperties
---------------------
| ID | Customer |
---------------------
| 1 | Cat |
---------------------
UserPropertiesTypes
--------------------------------------
| ID | CustomerId | CheckBoxId |
--------------------------------------
| 1 | 1 | 1 |
--------------------------------------
| 1 | 1 | 2 |
--------------------------------------
프로 : 전문적인 방법으로 볼 수 있으며 데이터베이스 수준의 데이터 무결성을 보장합니다.
단 : 확인란이 여러 개인 테이블에 대한 생성이 필요합니다. 형태.
각 체크 박스에 대해 열을 만들어야하기 때문에 bitwise를 고려하지 않았으며 30 개 이상의 체크 박스가있는 큰 그룹에는 효율적이지 않습니다. 그래서 나는 응용 프로그램에서 구현 될 방법을 선호했습니다.
제안이나 더 좋은 방법이 있다면 주저하지 말고 알려주십시오. 2, 그것은 단지 하나의 옵션이 포착 할 수 있습니다 제안 당신에게
BlocksCheckBoxes
------------------------------------------------
| ID | Label | Key | FormBlockId |
------------------------------------------------
| 1 | Sweet Home | home | 1 |
| 2 | Farm | farm | 1 |
| 3 | Invst Bank | bank | 2 |
| 4 | Constructor | constr | 2 |
------------------------------------------------
으로 판단
답장을 보내 주셔서 감사합니다. 잠시 시간을내어 확인해보십시오. – Kronass