2008-09-27 5 views
0

시뮬레이션 결과를 저장할 데이터베이스를 만들어야합니다. 이 리소스를 설계하는 데 도움이되는 리소스는 무엇입니까?데이터베이스 디자인

편집 : 우리는 군대에서 사용되는 이산 사건 시뮬레이션 작업 자세한 내용을 원하는 사람들 ...

하십시오. 중요한 시뮬레이션 이벤트는 무기가 발사 될 때, 살해가 발생할 때, 그리고 무기가 목표물을 죽이지 못할 때도 마찬가지입니다. 다른 중요한 이벤트는 대상이 탐지되거나 더 이상 추적되지 않는 경우입니다. 우리는 평균 로그와 다른 통계를 계산하기 위해 꽤 상세한 로그 파일을 보관합니다. 주로 데이터베이스에 저장하는 데 관련된 통계입니다.

내가 포함시키고 싶은 또 다른 사항은 사례 ID입니다. 시스템의 특정 조합과 중요한 입력 매개 변수에 해당하는 영숫자 ID 문자열을 사용하여 여러 사례를 식별합니다. 예를 들어, 센서가 모드에 따라 3 개의 다른 범위에서 목표를 탐지 할 수 있다고 가정 할 때, 0, 1 또는 2로 분류 된 감지 범위의 각 레벨에 해당하는 문자 ID에 사건 ID가 있습니다. 주어진 경우, 사례 ID 문자는 9 다음의 문자로 전환합니다.이 사례 ID는 분명히 데이터베이스에서 중요한 키입니다. 데이터를 저장 한 후에는 여러 사례를 비교하는 차트를 만들기 위해 특정 숫자를 검색해야합니다. 우리는 현재 Excel에서 차트를 만들었지 만 최근에 MATLAB을 더 추가했습니다.

데이터베이스 기술의 경우 Access에서 테이블 디자인을 수행하여 프로토 타입을 작성한 다음 MS SQL Server에서 구현한다고 생각했습니다. Ruby를 사용하여 데이터 테이블과 그래프가있는 HTML 보고서를 만들 계획입니다.

+0

나는 질문의 "아니오보기 '기능을 좋아합니다. 매우 개방적입니다. 창조적 인 반응을위한 많은 공간. –

답변

1

"스택 오버플로"라는 웹 사이트에서 도움을 줄 수있는 영리한 사람들이 많이 있습니다. ;-)

저장하려는 항목에 대한 자세한 정보를 입력하면 도움이되는 답변을 얻을 수 있습니다.

+0

좋은 재귀 답변. ;-). –

+0

Hahaha LOL "recursive answer"...이 경우 스택 오버플로 예외로 끝날 것입니다! –

+0

고맙습니다. 나는 그것에 대해 생각해 봤어야합니다. (나는 두통에 그것을 비난한다). –

2

는 다음을 제공하고 당신은 도움이 대답을

  1. 데이터베이스 유형 (MSSQL, MySQL은 등)
  2. 이 함께 사용하는 다른 언어 (C#을, PHP)
  3. 데이터를 얻을 수 있습니다 당신이 데이터를 할 계획 무엇
  4. 을 저장하려면,이 단계는 매우 선택 사항입니다 (이 저장하고 조회하는 최선의 방법에 영향을 줄 수 있습니다)
2

도움이 될 수있는 한 가지는 엔티티 관계 다이어그램을 갖는 것입니다. 이렇게하면 사용하려는 다른 테이블을 디자인하고 이들 테이블이 어떻게 상호 연관되는지를 알 수 있습니다. 시뮬레이션이 두 개 이상의 테이블을 사용할 필요가 없다면 과도한 요구 일 수 있습니다.

저렴한 솔루션 (무료는 아닙니다)은 Happy Fish입니다. 수백 개의 테이블이있는 다소 복잡한 응용 프로그램의 경우에도 데이터를 시각화하는 좋은 방법을 제공합니다. 이 도구는 스키마 DDL을 자동으로 생성하여 환경에 필요한 테이블, 색인, 외래 키 제약 조건 (Oracle, MySQL, Microsoft SQL Server 등의 지원이 포함됨)을 생성합니다.

이 정맥에는 많은 추가 도구가 있습니다. Wikipedia에서 무료 도구를 선택할 수 있습니다.

1

관계형 데이터베이스를 사용하는 경우 (힌트 : 아마도 '예') 가장 먼저 알아야 할 것은 데이터를 정규화하는 방법입니다 (즉, 테이블을 올바르게 구성하는 방법).

좋은 출발점 : this Wikipedia article.

1

무엇을 시뮬레이션합니까?

David C. Hay의 저서 Data Model Patterns: Conventions of Thought에는 다양한 비즈니스 유형에 대한 설계법이 있습니다. 어쩌면 당신은 그곳의 모델에서 영감을 얻을 수 있을까요?

0

자주 사용 사례와 사용 담당자를 적어 두었습니다.

때로는 데이터베이스에 포함될 사항을 적어두기도합니다. 엔티티, 엔티티 및 엔티티가 수행하는 다양한 작업.

일단 기본 배경이 생기면 엔티티 다이어그램과 그 엔티티가 서로 어떻게 관련되어 있는지를 그려 봅니다.

이 모든 것을 감안할 때 우리는 사진을 사용 가능한 기술에 매핑하고 다음 단계를 위해 몇 가지 권장 사항을 제시 할 수있는 경험이있는 사람들을 찾으려고합니다.

1

사용하려는 데이터베이스에서 프로토 타입을 제안 할 것입니다. 이러한 유형의 데이터는 장기간에 걸쳐 액세스가 적절하지 않습니다. Access Sql은 SQL Server와 매우 다르므로 SQL Server 데이터 유형과는 달리 액세스 데이터 형식이 다르므로 (변환 할 때 마법사가 매우 열악한 선택을 함) 프로토 타입에 대한 액세스를 사용하면 아무 것도 얻을 수 없으며 더 많은 작업을 만들 수 있습니다. 이미 효과가있었습니다.

0

DBMS 기초 : SQL Server Express를 사용한 다음 필요한 경우 SQL Server로 이동하십시오. 이를 위해 액세스를 사용하지 마십시오.

0

루비를 사용하려는 경우 ActiveRecord (레일즈의 핵심 구성 요소이지만 배타적으로 묶이지는 않음)을 사용하여 데이터베이스를 구축하는 것을 고려해보십시오. 그렇게하면 마이그레이션을 사용하여 스키마를 발전시킬 수 있습니다. 이는 관리하는 좋은 방법입니다. 기본적으로 데이터베이스는 SQLite로 구현됩니다. Access의 그래픽 측면을 잃어 버리지 않으면 좋은 작은 패키지 (그리고 아마도 많은 사람들이 알지 못하는 세계에서 가장 구현 된 DB 소프트웨어 일 것입니다)입니다. SQL Server 로의 이동은 상당히 고통스럽지 않습니다 (필자는 그것을했습니다 - 큰 상처는 없었습니다).

Ruby를 통해 HTML에서 데이터를 출력하려면 해당 경로를 사용하고 전체를 이동하여 Rails 기반 웹 사이트로 구축하십시오. 재발 명을 피하는 바퀴의 수는 그만한 가치가있을 것입니다.

(면책 조항 :.. 어떤 의도 전도 나 윈도우 기반 DB 응용 프로그램 개발의 긴 역사를 가진 거듭난 레일 프로그래머 해요 사과는)