>

SQL 서버에 사용 가능한 데이터 생성기에 대한 제안을 받고 싶습니다. 응답을 게시 할 때 중요하다고 생각되는 기능을 제공하십시오.

이러한 응용 프로그램을 사용한 적이 없으므로이 주제에 대한 교육을받을 수 있습니다. 감사합니다.

(제 목표는 응용 프로그램을 테스트하기 위해 각 테이블에 10,000 개 이상의 레코드로 데이터베이스를 채우는 것입니다.)


  • 답변 # 1

    정규 표현식에 맞는 임의의 데이터를 생성하는 자체 데이터 생성기를 롤백했습니다. 학습 프로젝트 (개발 중)로 전환되었으며 github에서 사용할 수 있습니다.

  • 답변 # 2

    과거에는 데이터 생성기를 사용했습니다. 살펴볼 가치가 있습니다.

    타사 수정

    등록하지 않으면 100 개의 행만 생성 할 수 있습니다. 다음은 오늘 인터페이스가 어떻게 보이는지 보여주는 샘플입니다 (2016 년 10 월)

  • 답변 # 3

    여기에 비슷한 질문이 있습니다 : 테스트 생성 데이터베이스의 데이터

    Red Gate SQL 데이터 생성기는 해당 도메인에서 훌륭하게 작동합니다. 시드가있는 임의의 데이터를 사용하여 데이터베이스의 모든 필드를 사용자 정의 할 수 있습니다. 정규 표현식을 사용하여 특정 패턴을 만들 수도 있습니다.

  • 답변 # 4

    샘플 데이터를 생성하기 위해 간단한 Python 응용 프로그램을 사용합니다.

    고려 사항 :

    <올>

    간단한 수정 및 구성

    성능 테스트 및 일관된 결과를 얻을 수있는 반복 가능한 데이터 세트

    모든 DB 참조 무결성 규칙 및 제약 조건을 따르십시오.

    현실적인 데이터

    처음 두 개는 데이터를로드 할 스크립트 파일을 생성하려고 함을 나타냅니다. 세 번째는 더 강하다. 데이터베이스 메타 데이터 및 제한 조건을 발견하는 방법이 있습니다. 3과 4를 함께 살펴보면 간단한 리버스 엔지니어링이 필요하지 않습니다. 현실적인 값을 생성하기 위해 제어 할 수있는 것이 필요합니다.

    일반적으로 범위와 주요 관계가 올바른지 확인할 수 있도록 고유 한 엔터티 모델을 만들려고합니다.

    이 세 가지 방법으로 할 수 있습니다.

    <올>

    수동으로로드 할 수있는 데이터의 CSV 파일을 생성하십시오. 반복 가능한 테스트 데이터가 훌륭합니다.

    실행할 수있는 SQL 스크립트를 생성하십시오. 반복 가능한 좋은 데이터도 있습니다.

    데이터베이스에 직접 데이터를 생성하려면 ODBC 연결을 사용하십시오. 나는 실제로 이것을 좋아하지 않지만 당신은 할 수 있습니다.

    다음은 CSV 파일을 작성하는 한 테이블 전용 버전의 데이터 생성기입니다.

    import csv
    import random
    class SomeEntity( list ):
        titles = ( 'attr1', 'attr2' ) # ... for all columns
        def __init__( self ):
            self.append( random.randrange( 1, 10 ) )
            self.append( random.randrange( 100, 1000 ) )
            # ... for all columns
    myData = [ SomeEntity() for i in range(10000) ]
    aFile= open( 'tmp.csv', 'wb' )
    dest= csv.writer( aFile )
    dest.writerow( SomeEntity.titles )   
    dest.writerows( myData )
    aFile.close()
    
    

    여러 개체의 경우 카디널리티를 해결해야합니다. 임의의 키를 생성하는 대신 다른 엔터티에서 임의로 선택하려고합니다. 따라서 ChildEntity가 FK-PK 관계가 올바른지 확인하기 위해 ParentEntity에서 임의의 요소를 선택하도록 할 수 있습니다.

    random.choice(someList) 사용  그리고 random.shuffle(someList)  참조 무결성을 보장하기 위해.

  • 답변 # 5

    Visual Studio Team System Database Edition (일명 Data Dude)이이를 수행합니다.

    아직 데이터 생성에 사용하지는 않았지만 2 가지 기능이 훌륭합니다.

    <올>

    임의의 데이터 생성기에 대한 고유 한 시드 값을 설정하십시오. 이를 통해 동일한 임의의 데이터를 두 번 이상 처리 할 수 ​​있습니다.

    마법사를 '실제'데이터베이스로 지정하고 실제 데이터처럼 보이는 것을 생성하도록하십시오.

    이것이 다른 곳의 표준 기능일까요?

  • 이전 ios - dispatch_sync가 @synchronized에 비해 어떤 장점이 있습니까?
  • 다음 c# - 리플렉션을 사용하여 클래스에서 DataTable을 만드시겠습니까?