복붙노트

[SQL] 어떤 시점에서 데이터베이스를 사용하여 가치가있다?

SQL

어떤 시점에서 데이터베이스를 사용하여 가치가있다?

나는 질문이 데이터베이스에 관한 어떤 점하는 일에 가치가 다이빙에 있습니다. 나는 주로 임베디드 엔지니어,하지만 나는 우리의 컨트롤러와 인터페이스 Qt는을 사용하여 응용 프로그램을 쓰고 있어요.

우리는 우리가 데이터베이스 (약 700 항목 및 성장) 모든 관리를 구현하는 것이 가능하다고 충분한 데이터가 홀수 점에서, 그러나 나는 확실히 그것을 가치가 다루는 지금 시간이 아니다. 나는 엑셀에서 생성 및 파싱 파일이있는 GUI를 구현 아무런 문제가 없지만 VBA 스크립트로도 추적 할 수 지루하고 어려워지고 있습니다. 나는 Microsoft Access를 사용하여 응용 프로그램 측에 더 관리 무언가로 우리의 데이터를 변환하여 주위를 연주하고 그 잘 작동하는 것 같군. 나는 밖으로 그 작품 만 단계 (또는 여러) 멀리 SQL 데이터베이스를 사용하여 액세스에 Qt는 라이브러리를 사용하고 수정에서 생각합니다.

나는이 수준에서 많은 경험 관리 데이터가이 접근하는 가장 좋은 방법은 어떻게 될 것인가 궁금하지 않습니다. 그래서 어떤이 경우에 데이터베이스를 사용하는 실제 혜택은 무엇입니까? 나는 매우 응용 프로그램의 특정 될 수 있습니다 많은이의 실현,하지만 임베디드 / 응용 프로그램 프로그래밍 라인을 걸쳐하는 방법에 대한 몇 가지 일반적인 아이디어와 제안 도움이 될 것입니다.

이 임베디드 프로젝트에서 데이터베이스를 퍼팅에 대해 없습니다. 또한 더 큰 데이터베이스가 일반적으로 사용되는 비즈니스 형 응용 프로그램이 아닙니다. 나는 모니터링 및 구성을 위해 마이크로 컨트롤러와 인터페이스에 바탕 화면에 하나의 사용자에 대한 GUI를 설계하고있다.

내가 SQLite는 함께 가기로 결정. 먼저이 프로젝트를 시작할 때 정말 옵션을 고려하지 않았 음을 데이터와 함께 아주 흥미로운 일을 할 수있다.

해결법

  1. ==============================

    1.데이터베이스 때 가치가있다 :

    데이터베이스 때 가치가있다 :

    데이터 기반 실행에 진화 데이터가 변경되어 있지만 실행이 아닌 경우,이 데이터 중심의 프로그램 또는 프로그램의 일부의 표시 구동 데이터입니다입니다. 구성 옵션의 설정은 데이터 중심 기능의 표시이지만, 전체 응용 프로그램은 데이터가 구동되지 않을 수 있습니다. 어떤 경우, 데이터베이스 캔 도움이 데이터를 관리 할 수 ​​있습니다. (데이터베이스 라이브러리 나 응용 프로그램은 오라클과 같은 거대 할 필요는 없지만 린하고 SQLite는 같은 의미 할 수있다).

    외부 데이터 구조의 설계 및 개발 직렬화에 대해 스택 오버플로 질문을 게시 또는 사용 파일에 나무와 목록을 변환하는 프로그램이 데이터베이스를 사용하여 졸업 한 좋은 표시입니다. 또한,이 파일에 데이터를 저장하는 데 시간 설계 알고리즘의 금액을 지출하거나 파일의 데이터를 설계하는 경우 것은 데이터베이스의 사용을 연구하는 좋은 시간이다.

    데이터 공유 응용 프로그램이 다른 응용 프로그램, 다른 조직 또는 다른 사람과 데이터를 공유 여부, 데이터베이스를 지원할 수 있습니다. 데이터베이스를 사용하여 데이터 일관성을 달성하기 쉽습니다. 문제 조사에서 큰 문제 중 하나는 팀이 동일한 데이터를 사용하지 않는 것입니다. 고객은 하나 개의 데이터 세트를 사용할 수 있습니다; 다른 데이터 세트를 사용하여 검증 팀은 서로를 개발. 데이터베이스는 데이터를 쉽게 버전과 실체가 동일한 데이터를 사용할 수 있습니다.

    복잡한 데이터 프로그램은 하드 코딩 된 데이터의 작은 테이블을 사용하여 시작합니다. 지도, 나무와 목록 동적 데이터를 사용하여에이 진화. 때로는 데이터가 8 이상으로 간단한 두 개의 열에서 확장합니다. 데이터베이스 이론과 데이터베이스는 데이터를 조직의 복잡성을 완화 할 수 있습니다. 데이터 관리에 대한 데이터베이스 걱정을하자 응용 프로그램 및 개발 시간을 확보. 결국, 데이터 관리 방법, 데이터의 질과의 접근성만큼 중요하지 않습니다.

    데이터 복제 데이터가 증가 할 때 종종, 중복 데이터에 대한 적 성장 매력이있다. 데이터베이스 및 데이터베이스 이론은 데이터의 중복을 최소화 할 수 있습니다. 데이터베이스는 중복 대해 경고하도록 구성 할 수 있습니다.

    데이터베이스를 사용하여 이동하는 것은 고려해야 할 여러 가지 요소가 있습니다. 일부는 포함 하나 이에 국한되지 않습니다 : 데이터의 복잡성, (데이터의 일부를 포함), 데이터 복제, 프로젝트 마감, 개발 비용과 라이센스 문제. 프로그램이 데이터베이스를보다 효율적으로 실행할 수 있다면, 그렇게. 데이터베이스는 개발 시간 (돈)을 절약 할 수 있습니다. 당신과 당신의 응용 프로그램이 데이터를 관리보다 수행 할 수있는 다른 작업이 있습니다. 전문가에 데이터 관리를 둡니다.

  2. ==============================

    2.당신이 일반적인 비즈니스 응용 프로그램 같은 소리하지 않습니다 설명하고 있으며, 이미 여기에 게시 답변의 대부분이 당신에 대해 얘기하는 응용 프로그램의 종류가 있다고 가정, 그래서 내가 다른 관점을 제공 할 수 있습니다.

    당신이 일반적인 비즈니스 응용 프로그램 같은 소리하지 않습니다 설명하고 있으며, 이미 여기에 게시 답변의 대부분이 당신에 대해 얘기하는 응용 프로그램의 종류가 있다고 가정, 그래서 내가 다른 관점을 제공 할 수 있습니다.

    여부는 700 개 항목에 대한 데이터베이스가 데이터의 특성에 크게 의존하는 것입니다 사용합니다.

    나는이 규모에서 시간의 90 %에 대해, 당신은 SQLite는 같은 경량 데이터베이스에서 혜택을, 말할 것이라고 제공 :

    시간의 또 다른 10 %, 데이터는 매우 구조화됩니다 계층, 객체 기반하고 깔끔하게 데이터베이스 또는 Excel 테이블의 테이블 모델에 적합하지 않습니다. 이 경우, XML 파일을 사용하는 것이 좋습니다.

    현재 사용자 인터페이스 (또는 디스플레이 구성 설정)을 설계하는 엑셀 데이터를 사용하는 경우 차라리 디스플레이 고객 기록을보다, XML이 더 적합 할 수있다, 본능적으로이 같은 문제에 데이터베이스를 던지하는 등의 개발자가 알고 있지만. XML은 Excel 또는 데이터베이스 테이블 중 하나 이상의 표현하고, 쉽게 간단한 텍스트 편집기를 조작 할 수 있습니다.

    XML 파서와 C ++의 데이터 바인더는 쉽게 찾을 수 있습니다.

  3. ==============================

    3.내가 앱에서 데이터베이스를 도입 할 것을 권장 유연성을 확보하고 유지하고 미래에 새로운 기능을 개선하기 쉬울 것입니다 응용 프로그램. 내가 SQLite는 같은 가벼운 파일 기반 DB로 시작합니다. 잘 설계된 데시벨로 당신은해야합니다 :

    내가 앱에서 데이터베이스를 도입 할 것을 권장 유연성을 확보하고 유지하고 미래에 새로운 기능을 개선하기 쉬울 것입니다 응용 프로그램. 내가 SQLite는 같은 가벼운 파일 기반 DB로 시작합니다. 잘 설계된 데시벨로 당신은해야합니다 :

    마지막으로, 엑셀 가져 오기 / 업데이트 / 내보내기 지옥에서 당신을 저장하는 데이터베이스를 사용!

  4. ==============================

    4.데이터베이스를 사용하는 이유 :

    데이터베이스를 사용하는 이유 :

    데이터베이스를 사용하지 않는 이유 :

  5. ==============================

    5.당신은 그들이 미래에 이용되는 방법 확실하지 않은 것을 많은 데이터가있는 경우.

    당신은 그들이 미래에 이용되는 방법 확실하지 않은 것을 많은 데이터가있는 경우.

    예를 들어, 당신은 필요가 확실 사용 방법하지 않은 것으로 통계를 등록하는 것을 임베디드 응용 프로그램에서 SQLite는 데이터베이스를 추가 할 수 있습니다. 나중에는 중앙 서버에서 실행되는 더 큰 하나에 주입 전체 데이터베이스를 전송하고 그 데이터를 쉽게 요청을 사용, 악용 될 수 있습니다.

    응용 프로그램의 목적에 경우 사실, 다음 데이터베이스가 있어야 갖는 "데이터를 수집."

  6. ==============================

    6.나는 또한 데이터베이스에서 만난 꽤 많은 요구 사항을 참조하십시오 :

    나는 또한 데이터베이스에서 만난 꽤 많은 요구 사항을 참조하십시오 :

    1). 임시 쿼리. 내 모든 {X}이 충족 기준 Y 찾기

    2). 정상화 혜택을 누릴 수 있습니다 구조와 데이터 - 공동의 가치 밖으로 인수 분해를 별도의 "테이블"로. 당신은 공간을 절약하고 불일치의 가능성이 방법을 줄일 수 있습니다. 그런 다음 이런 짓을하면 그 임시 쿼리는 정말 유용하게 시작합니다.

    삼). 대형 데이터 볼륨. 전문 데이터베이스 자원, 영리 쿼리 최적화의 좋은 사용을하고 전략을 페이징 매우 좋다. 이 재료를 직접 작성하기 위해 노력하는 것은 진정한 도전입니다.

    당신은 명확하게 마지막을 필요로하지 않는,하지만 다른 두, 어쩌면 당신에 적용 않습니다.

  7. ==============================

    7.적절한 데이터베이스 사용자의 요구 사항에 따라 상당히 다를 수 있다는 것을 잊지 마십시오 (그리고 네 요구 사항이 충분히 간단한 경우 텍스트 파일이 데이터베이스로 사용될 수 있다는 것을 잊지 마세요 - 예를 들어, 설정 파일은 특정 있습니다 데이터베이스의 종류). 이러한 매개 변수는 다음과 같을 수 있습니다 :

    적절한 데이터베이스 사용자의 요구 사항에 따라 상당히 다를 수 있다는 것을 잊지 마십시오 (그리고 네 요구 사항이 충분히 간단한 경우 텍스트 파일이 데이터베이스로 사용될 수 있다는 것을 잊지 마세요 - 예를 들어, 설정 파일은 특정 있습니다 데이터베이스의 종류). 이러한 매개 변수는 다음과 같을 수 있습니다 :

    700 개 항목이 데이터베이스를 들어, 인 - 메모리 배열이 잘 적합 할 수 있습니다 텍스트 파일에서로드 분류. 그러나 나는 또한 임베디드 SQL 데이터베이스에 대한 필요성을 참조하거나 어쩌면 다양한 요구 (및 자원의 제한)이 무엇인지에 따라 네트워크 연결을 통해 데이터베이스에서 컨트롤러 요청 데이터를 보유 할 수있다.

  8. ==============================

    8.데이터베이스가 가치가있는 특정 지점이 없습니다. 대신에 나는 보통 다음과 같은 질문을한다

    데이터베이스가 가치가있는 특정 지점이 없습니다. 대신에 나는 보통 다음과 같은 질문을한다

    나는이 대부분의 질문에 '예'로 답한 경우 (예 : XML / INI / CSV / 엑셀 / 텍스트 파일 또는 파일 시스템과 같은 다른 옵션 반대) 나는 거의 항상 데이터베이스를 선택합니다.

    응용 프로그램이 동시에 데이터에 액세스 할 수있는 많은 사용자가있을 것입니다 경우에도, 나는 전체 데이터베이스 서버 (MySQL은, SQL 서버, 오라클 등) 향하다 것입니다.

    그러나 종종 단일 사용자 (또는 작은 동시성) 상황에서 같은 SQLite는 같은 로컬 데이터베이스는 휴대 및 배포의 용이성을 위해 구타 할 수 없습니다.

  9. ==============================

    9.때문에 비 결정적 대기 시간, 실시간 처리에 적합하지 : 음을 추가합니다. 그러나 그것은까지보고 시작하는 동안 예를 들어, 운영 매개 변수를 설정하는 매우 충분한 것입니다. 나는 중요한 시간 경로에 데이터베이스 액세스를 넣어하지 않을 것입니다.

    때문에 비 결정적 대기 시간, 실시간 처리에 적합하지 : 음을 추가합니다. 그러나 그것은까지보고 시작하는 동안 예를 들어, 운영 매개 변수를 설정하는 매우 충분한 것입니다. 나는 중요한 시간 경로에 데이터베이스 액세스를 넣어하지 않을 것입니다.

  10. ==============================

    10.당신이 (임베디드 포인트) 단일 사용자 응용 프로그램에 핸들을 하나 개 또는 두 개의 테이블에서 수천 개의 행이있는 경우 데이터베이스가 필요하지 않습니다.

    당신이 (임베디드 포인트) 단일 사용자 응용 프로그램에 핸들을 하나 개 또는 두 개의 테이블에서 수천 개의 행이있는 경우 데이터베이스가 필요하지 않습니다.

    그것은 여러 사용자 (동시 액세스, 잠금) 또는 거래의 필요성에 대한 경우 당신은 definitly 데이터베이스를 고려해야합니다. 정규화 된 테이블의 복잡한 데이터 구조체를 처리하고 integrety 유지, 또는 엄청난 양의 데이터는 데이터베이스를 사용한다 또 다른 표시 일 것이다.

  11. ==============================

    11.응용 프로그램이 데스크톱 컴퓨터에서 실행하고 간단하게 임베디드 디바이스로 통신하는 것 같은데.

    응용 프로그램이 데스크톱 컴퓨터에서 실행하고 간단하게 임베디드 디바이스로 통신하는 것 같은데.

    이러한 데이터베이스를 사용하는 등 훨씬 더 가능하다. 임베디드 플랫폼에서 하나를 사용하면 훨씬 더 복잡한 문제이다.

    지속적으로 새로운 정보를 저장할 필요와 관계형 방식으로 정보를 추출 할 필요가있을 때 바탕 화면 전면에 나는 데이터베이스를 사용합니다. 내가 무엇을 데이터베이스를 사용하지 않는 것은 정적 정보, 내가 부하 그게 전부 한 번에 읽어 정보를 저장합니다. 응용 프로그램이 많은 사용자를 가지고 있으며, 사용자 별 기준으로이 정보를 저장 할 필요가있는 경우는 예외입니다.

    그것은 당신이 GUI를 통해 디스플레이로 나중에 사용 후, 어떻게 든 그것을 저장, 임베디드 장치에서 정보를 수집처럼 나에게 할 소리.

    이 데이터베이스를 사용하기위한 좋은 경우 특히 당신이 건축가 임베디드 장치와의 지속적인 커뮤니케이션을 관리하는 데이터 수집 데몬이되도록 시스템을 할 수 있습니다. 이 응용 프로그램은 단지 데이터베이스에 데이터를 기록 할 수 있습니다. GUI를 시작하면 그것은 표시에 대한 데이터를 추출 할 수 있습니다.

    또한 같은 다른 뷰를 표시해야하는 경우 GUI 개발 완화 될 데이터베이스를 사용하여 "나에게 두 날짜 사이의 모든 항목을 보여줍니다." 데이터베이스로 당신은 그냥 당신이 많이 GUI에서 "비즈니스 로직"코드의 분리 할 수 ​​있도록 제공됩니다 어떤 적절한 SQL 쿼리와 GUI 디스플레이와 디스플레이에 올바른 값을 부탁드립니다.

  12. ==============================

    12.우리는 또한 비슷한 상황에 직면하고있다. 우리는 다른 테스트 설정에서 오는 데이터의 설정과 현재, 엑셀 시트로 덤프 펄 또는 VBA를 사용하여 처리되고있다.

    우리는 또한 비슷한 상황에 직면하고있다. 우리는 다른 테스트 설정에서 오는 데이터의 설정과 현재, 엑셀 시트로 덤프 펄 또는 VBA를 사용하여 처리되고있다.

    우리는 문제의이 방법이 있었다 많이 발견 :

    나는. 엑셀 시트를 사용하여 데이터를 관리하는 것은 매우 복잡합니다. 몇 시간 후에는 엑셀 시트의 전체를 많이 가지고 있고 그것에서 필요한 데이터를 검색하는 쉬운 방법이 없습니다.

    II. 사람들은 이리저리 전자 메일을 통해 의견과 검토를 위해 엑셀 시트를 보내기 시작합니다. E-Mail은 데이터에 관한 의견을 관리하는 기본 모드가됩니다. 이 코멘트 시간 이후 시점에서 손실되고이를 다시 검색하는 방법이 없습니다.

    III. 파일의 여러 복사본이 생성 얻을 하나의 변화는 다른에 반영되지 않습니다 복사 - 어떤 버전이 없습니다.

    이것은 우리가 데이터베이스 기반 솔루션으로 이동하기로 결정하고 현재 그 작업을하는 것과 같은 이유입니다. 나에게 우리가 무엇을하려고 요약하고 보자 :

    나는. 데이터베이스는 모든 테스트 설정에서 PC가 액세스 할 수있는 중앙 서버에 있습니다.

    II. 가 생성 될 때 모든 데이터는 곧 임시 위치 (파일의 로컬 하드 디스크)로 들어갑니다. 파일로부터, (그래서 네트워크 문제가있는 경우에도 데이터가 로컬 파일 시스템에 존재한다) 백그라운드에서 실행중인 프로세스에 의해 데이터베이스에 푸시됩니다.

    III. 우리는 사용자가 원하는 형식으로의 액세스 데이터를 기록 할 수있는 웹 기반 응용 프로그램이 있습니다. 그들 댓글을 추가 할 수 있도록 포털, 당신은 당신과 함께 그것을 가지고해야 할 경우를 대비, 또한 엑셀 시트로 데이터를 내보낼 수있는 능력이있을 것이다 리뷰 등을 한 후 다른 사용자와 공유, 보고서의 다른 종류를 생성합니다.

    이 더 잘 구현 될 수 있는지 알고하자.

  13. ==============================

    13."어떤 시점에서 데이터베이스를 사용하여 가치가?"

    "어떤 시점에서 데이터베이스를 사용하여 가치가?"

    만약 당신이 데이터를 가지고 때 관리하는?

  14. from https://stackoverflow.com/questions/2648802/at-what-point-is-it-worth-using-a-database by cc-by-sa and MIT license