2011-11-08 3 views
0

最近、私は、ある会社のソフトウェアのシリアルキーを生成するスクリプトを作成するプロジェクトを手に入れました。 私の考えは、最初に各ソフトウェアの異なるMySQLテーブルを保存していました。 私が必要としたのは、それぞれの10のソフトウェアごとに2000個のユニークなキーコードを生成することでした。彼らが求めている量のデータを聞いた後、私の懸念は、異なるテキストファイルにデータを保存することに続いた。Mysqlまたはテキストファイルのレコードを保存する

今私は、ソフトウェアごとに10個のカラムとテキスト形式のカラムに2000個のシリアルキーを保存した、堅牢なMySQLテーブルを考えています。

各シリアルキーは10の整数コードであり、繰り返しはありません。

彼らは、CDやウェブサイトで印刷するためのシリアルキーを生成するスクリプトを作成するよう求めています。エンドユーザーからシリアルキーを取得し、ユーザーにはパスワードが必要です。

この場合、MySQLデータベースはこの膨大なデータに対処できないため、テキストファイルを保存する方が良い考えですが、この操作のセキュリティについてはわかりません。

私の問題は、自分のプロジェクトのデータベース設計について決定する必要があるということです。

どちらをお勧めしますか? MySQLデータベースにこのデータを保存、なぜ私は理解していない

+0

"このケースでは、MySQLデータベースがこの膨大な量のデータに対処できないため、テキストファイルを保存する方が良い考えですが、このアクションのセキュリティについてはわかりません」 MySQLは**大量のデータを処理する**設計**です!それは、後に、**データベース**です。さらに、それは多くのデータではありません。 – Flukey

+0

"このケースでは、MySQLデータベースはこの膨大なデータに対処できないため、テキストファイルを保存する方が良い考えですが、このアクションのセキュリティについてはわかりません」 私はMySQLのファンではありません。しかし、あなたの考えはこれについて完全に後ろ向きです。あなたの判断を疑問に呼びます。このクライアントを気にする人は、経験豊富な開発者に紹介してください。 –

答えて

2

は、たとえば、あなたが以下のような2つの単純なテーブルを設計することができ、問題がある可能性があります:

Table : programs 
    -id - INT [PK] 
    -name - VARCHAR(50) 


Table : serials 
    -id - INT [PK] 
    -p_id - INT [FK] ---> programs.id 
    -scode - INT (the program serial) 

一つのテーブル(プログラム)のリストが含まれていますプログラム(使用可能なプログラムの列挙型)、もう1つは、プログラムテーブル内の特定のプログラムを参照するプログラムシリアル番号を含みます。

+0

彼らは25000のシリアルキーについて話しており、この量のデータを読んでそれらを保存することは、サーバの高いソース使用の問題です。しかし、私がこの金額をファイルに保存することを選択した場合、アクセスは簡単で速くなりますが、セキュリティは確実ではありません。 –

+1

25000は上記のように2つのテーブルがインデックスとして設計されていても問題ありません。 – aleroot

+0

@MacTaylor - このデザインに従ってください。新しいプログラムを追加するたびにDBテーブルを変更したり、アプリケーションを書き直したりする必要はありません。 –

関連する問題