종종 admin 정보, 버전 등과 같은 시스템 속성을 저장해야 할 때 플랫 파일 (database.properties, init.properties 등)을 사용합니다. 이것은 일상적으로보고 사용하는 다른 프로그램에서 흔히있는 것처럼 보입니다.데이터베이스에 속성 테이블을 포함시키는 것은 나쁜 생각입니까?
때때로 플랫 파일은 여러 가지 이유로 이상적이지 않습니다. 수많은 클라이언트에 웹 응용 프로그램을 배포 할 때 종종 한계가 있습니다. 이러한 경우에는 데이터베이스 테이블을 사용하여 정보를 보관합니다. 예를 들어 저장하려는 일부 관리 데이터가 있고 내 환경에 대한 세부 정보가 있다고 가정 해 보겠습니다. 나는 이런 식으로 뭔가를 할 수 있습니다
property_entry_table
[id, scope, refId, propertyName, propertyValue, propertyType]
1, 0, 1, "DB_VER", "2.3.0", "FLOAT"
2, 0, 1, "LICENCE", "88475", "INT"
3, 0, 1, "TOP_PROJECT", "1", "INT"
4, 0, 1, "SHOW_WELCOME", "F", "BOOL"
5, 0, 1, "SMTP_AUTH", "SSH", "STRING"
6, 1, 1, "ADMIN_ALERTS", "T", "BOOL"
나는이 SQL의 입력을 중단하고 문자열로 유형의 모든 종류를 저장하기 위해 나를 수 있습니다 알고 있습니다. 이 좋은 습관입니까, 아니면 제가 잘못된 방향으로 가고 있습니까?
그렇지 않은 경우 어떤 식 으로든이 유형의 정보를 저장해야합니까?
몇 가지 시스템 속성 등을 저장하는 한 괜찮습니다. 이 ** 모든 ** 데이터를 저장하는 아이디어를 얻지 마십시오! 이에 대한 설명을 보려면 다음을 참조하십시오. http://www.simple-talk.com/sql/database-administration/five-simple--database-design-errors-you-should-avoid/ –
또한 이 질문에, 왜 내가 여기 아래로 투표했다 : http://stackoverflow.com/questions/2300356/using-a-single-row-configuration-table-in-sql-server-database-bad-idea/2300450#2300450 – Stephano