2012-05-30 7 views
6

私の質問は、Pythonで単純なデータベースを作成する方法です。私の例は次のとおりです。Python Database

User = { 
'Name' : {'Firstname', 'Lastname'}, 
'Address' : {'Street','Zip','State'}, 
'CreditCard' : {'CCtype','CCnumber'}, 
} 

今、私はちょうど罰金このユーザーの情報を更新することができますが、どのように私は

  1. このデータ構造へのより多くのユーザーを追加します。辞書の辞書?
  2. の応答のための

おかげ1人の関係に多くの人が、私はあなたが興味があるかもしれないしばらく

+2

本当の問題は、このメモリ内のアプローチが面倒で速くなることです。あなたがユーザーの辞書を持っているなら、あなたはそのキーのために何を使いますか?キーが重複している場合はどうなりますか?など –

+0

ところで、あなたはこの[データベースのPythonの関連リスト]に興味がある可能性があり(http://wiki.python.org/moin/DatabaseInterfaces#Native_Python_Databases)、特にネイティブのPythonのもの。 – kojiro

答えて

10

のために、このまわりで私の頭をラップしようとしてきた、ユーザーが複数のクレジットカードを持っていることを許可SQLAlchemy。 SQLiteやMySQLなどの実際のデータベースは、Pythonクラスのように機能します。

4

単純なデータベースは、sqliteというPythonで作成することができます。基本的なデータベースはtutorialです。

+1

が、私はそれがはるかに容易になるだろうと確信しているが、私の教授はややプリックのものであり、ハードな方法を学ぶために私たちを望んでいる –

5

私が見たほとんどのキーバリューストアは、辞書の辞書(mongo *など)または文字列の辞書(redisなど)です。両方のアプローチに長所と短所があります。私はあなたが欲しいかわからないので、私は最も簡単な答えあげる:

Users = [] 
Users.append({ 
    'Name' : {'Firstname', 'Lastname'}, # Are these sets? 
    'Address' : {'Street','Zip','State'}, 
    'CreditCard' : {'CCtype','CCnumber'}, 
}) 

は* OK、公平であるために、モンゴがより魔法文字列の辞書のようなものです:辞書のリストに移動しますが。それはjsonですが、ルックアップは内部的に処理されるので、任意の(しかしjson-serializableの)データ構造の辞書のように扱うことができます。

4

1。このデータ構造にユーザーを追加してください。辞書の辞書?

辞書のリスト。

[{'name': ...}, {'name': ...}] 

2. 1人の関係

リストに多く、ユーザーが複数のクレジットカードを持ってできるようにします。

{'name': ..., 'creditcard': [['type', 'number'], ['type', 'number']]} 
+1

ああ素晴らしい、私はちょうどこのような構造をオフに基づいてユーザーを作成する方法を見つける必要があります、ありがとうございました。ありがとうございました –

4

情報を格納するためのUserクラスを作成します。クラスはcreditcards属性を持つことができ、listCreditCardクラスインスタンスが作成されたとき、または後で定義できるクラスメソッドを使用してクラスインスタンスに追加されます。他のメソッドは、呼び出されたときに必要に応じてこの(およびその他の)属性を更新できます。オブジェクト指向プログラミング(OOP)と呼ばれています。

インスタンスは、listおよびdictなどのさまざまな組み込みコンテナクラスのインスタンス内でメモリに格納できます。ディスクに保存して、後でpickleshelvejson、およびsqlite3モジュールを使用して取得することができます。

これまでに行われていないことは何もやろうとしていません。これは、既製のソフトウェアが大量にあることを意味するため、良いニュースですが、それらをドキュメントで使用し、それらを使用する方法を学ぶまで、多少の質問をしてから、質問に答えることができます。 ;-)

は、Pythonへようこそ!