업데이트해야하는 SQL 데이터베이스를 사용하는 정말 오래된 응용 프로그램이 있습니다. 데이터베이스 구조를 개선 할 수있는 기회를 가지기를 바라고 조언을 해 주시면 감사하겠습니다.사용자가 데이터 형식을 만들 수있는 데이터베이스
기본적인 문제는 데이터베이스의 중요한 부분이 코드를 건드리지 않고 사용자가 구성 할 수 있어야한다는 것입니다. 보다 구체적으로, DB는 제품을 저장하고 이러한 제품은 유형에 따라 다른 스펙 (즉, 열)을 갖습니다. 앱에서 열을 검색 할 수 있어야합니다. 몇 가지 유형 (~ 20) 만 있지만 관리자는 코드를 건드리지 않고 새 유형을 작성할 수 있어야합니다. 각 제품에 대해 저장해야하는 데이터는 문자열 또는 부동 소수점 형식이며 각 형식은 7 개입니다.
테이블을 만들고 삭제하는 인터페이스를 만드는 대신 다음 "솔루션"이 구현되었습니다. - Products 테이블에는 ID에 대해 하나의 열이 있습니다. ProducTypeID에 대한 하나의 열. 7 개의 문자열 열과 7 개의 부동 열 - ProducType 열에는 ProducTypeID에 대한 열과 각각의 제품 유형에 대한 7 개의 문자열 열과 7 개의 열의 이름을 나타내는 14 개의 문자열 열이 있습니다. 제품에 너무 많은 열이 필요하지 않은 경우 열 이름은 NULL입니다.
이것은 작동하지만 여분의 간접 참조로 인해 클라이언트 코드를 유지하는 것이 매우 귀찮습니다.
질문 : SQL DB를 유지하고 테이블을 만들거나 삭제하는 방법을 추가해야합니까? 아니면 noSQL DB를 사용해야합니까? 각 경우에 장단점은 무엇입니까?
모든 NoSQL 데이터베이스가 스키마가 아닙니다. – Philipp
@Philipp : 코스 바로 벗어났습니다. 해명 해줘서 고마워. – Hernan