2009-03-26 9 views
5

データベースにデータを入力するために使用するアプリやツールはありますか?私は、データを1つの項目に入力するためのPHP Webベースのシステムを使用する既存の(厄介な)システムを改善しようとしています。ODBC経由でのデータ入力と取得にはどのようなアプリケーションを使用しますか?

私の現在の解決策は、スプレッドシートを使用することです。これは、人間が読めるテキストと数字ではうまくいきますが、他のテーブルの行と結合するために使用される外部キーではうまく機能しません。

誰かが住んでいる都市を含むような行のデータがあるとします。これを保持する列は、id(シリアル)とname(テキスト)の2つの列を持つ「city」テーブルにキーされたid_cityです。 。

ユーザは、どの都市(都市名のテキストを表示する)を選択することができるが、実際には選択された都市IDを格納することができるid_city列の各行に対してドロップダウンメニューを含むように表計算機能を拡張することができる。 。このようにすれば、スプレッドシートは
(1)各画面に多くのデータを表示し、
(2)をcsvファイルとしてエクスポートし、手動でデータベースに行を挿入するスクリプトにスローすることができます。

私はMS ExcelとAccess、そしてOpenOfficeのスイートを使いこなしてきましたが、上記の機能を私に与えるものは見つかりませんでした。

私の希望リストの他の項目:
(1)ユーザーが選択できる都市の名前を動的に取得します。
(2)バックエンドでデータの行のいずれかの列が変更された場合、最近の変更を反映するための画面上のデータ

私はどのようなツールを使いますか?私はバックエンドにPostgreSQLを使用し、MS Office、OpenOffice柔軟性があり、強力で、開発やデプロイメントに多くの時間を要しないソリューションが大好きです。(私は夢を知っています...)

pgAdmin3には同様の機能がありますが私が見たものからユーザーが使用するためのものではなく、管理ツールのほうが多いです。

+0

これは長期間の職務機能ですか、1回限りの活動ですか? –

答えて

5

j_random_hackerが指摘したように、私はAccess 97以降、MS Accessを使用してODBCデータソースに接続しています。

あなたが外部表へのリンクを経由して、これを行うことができます(アクセスなど、フィルタリング、ソートを含め、リンクされたテーブルとして外部表を見たら、アクセス2010 :)

New -> Blank Database 
External Data -> ODBC Database -> Link to Data Source 
Machine Data Source -> New -> System Data Source -> Select Driver (Oracle, or whatever) -> Finish 
Enter a new name for your DSN, the all of the connection parameters, then click OK 
Select newly created DSN, hit ok. 

にあなたがそんなにを行うことができます1つの注意点があります。私が知る限り、パススルークエリを使用していない限り、すべての操作はクライアント側で行われます。 3000レコードのテーブルを見ているなら、それはいいですね。 2,000,000レコードで、それは痛い。明らかにするために、テーブル内のすべてのデータは、すべてのテーブルがジョインされるためにワークステーションに送られ、ジョインはクライアント側で行われ、サーバー側では実行されません。

2

基本的なデータベース管理には、通常、スタンドアロンのツールがあります。たとえば、OracleやMySQLの場合、基本的なデータベースのデータ入力にはSQL Developerという無料のツールが必要です。

さらに複雑なタイプ(特にclobを含む)の場合は、Java側ですでにモデルとDAOが利用可能な場合、通常はJava + SWTでアプリケーションをノックすることができます。ええ、あなたは何かの努力を払わなければなりませんが、それが将来的に定期的に使用されるのであれば、それはおそらく価値があります。

あなたのケースでは(大量のデータをインポートしている場合)、CSVから読み込んだいくつかのPerlをノックアップし、都市IDの検索は簡単に実装できます。一回限りのもののための無駄かもしれませんか?インポートするデータの量によって異なります。

+0

すべてが現在スプレッドシートにプラグインされており、csvファイルからバックエンドに大量にCOPYすることができるシェイプになります(pgsql固有)。それは多くの仕事であり、人間の間違いが多く、改善が必要です。改善のアイデアや提案をありがとう。 –

+0

ああ、ここでは、少なくとも、スプレッドシートの内容がCOPY前に有効であることを確認したコードを少なくとも必要としたいと思うかもしれません。 Excelや独自のアプリケーションのいずれであっても、人為的なエラーが発生する可能性があります。がんばろう。 – JeeBee

2

MS Accessが探しているものを実行できない場合、私は驚いています。これは基本的に正確なユースケースです。つまり、スプレッドシートがあまり伸びない単純なCRUD DBアプリケーションのすばらしいUIをすばやくスローします。

+0

ありがとう、私はこれを調べます。 –

1

これは推奨技術的に、その答えですが、ない:

私はMS SQLへの簡単なデータ入力ファイルをインポートするためのExcelとSSISを使用しましたが、それは十分ではない - データを制御する非常に少ない能力がありますSSISは非常に扱いにくいので、特にExcelで作業する場合は特にそうです。

-1

Microsoft以外の一部のデータベースでは、MS Accessがうまく機能しません。 Apache OpenOffice Baseと呼ばれるオープンソースの同等の機能があります。

関連する問題