2012-01-12 7 views
4

私はしばしばPythonを使って、他のプラットフォーム、つまり一種のスクラッチパッドのアイデアを試作しています。今、私はデータベース内のリレーショナルデータに関連するアイデアを試してみたいと思います。Pythonでリレーショナルデータ(またはデータベース)をシミュレートしていますか?

Pythonでデータベースを表現する最良の方法は何ですか?タプルのセット? SQLiteのようなモジュールを使用していますか?

私はPythonで簡単なソリューションを探しています。解決策があまりにも "databasey"の場合は、データベース自体のプロトタイピングも行います。

更新:私はデータベースでPythonを実際に使用していません(特定のデータベースも念頭に置いていません)。「Xのリレーショナルデータがある場合は、 Yの問題を解決し、Zの問題を解決しますか?

答えて

2

デファクトリレーショナルデータベースはSQLiteであり、簡単なimport sqlite3ステートメントで使用できます。さらに使用するにはlook at the documentationを使用できます。

また、そのパスを使用したくない場合は、(キー、値)のペアについて辞書を使用できます。それはそうと同様に行うことができる。

d = {} 
d['key'] = 'value' 
6

いずれsqllite3又はオブジェクトリレーショナルマッパなどSQLAlchemy

sqllite3はセットアップが非常に簡単で、SQLデータベースと同じように動作します(プロトタイプ作成のために、本番用ではありません)。

SQLAlchemyは、あたかもオブジェクトのセットであるかのように、実際のデータベースエンジン(それ自体はsqllite3でもかまいません)で作業するうえで最適な方法です。テーブルの作成、例えば、(このtutorialから)次のようになります。

from sqlalchemy import * 

db = create_engine('sqlite:///tutorial.db') 
metadata = BoundMetaData(db) 

users = Table('users', metadata, 
    Column('user_id', Integer, primary_key=True), 
    Column('name', String(40)), 
    Column('age', Integer), 
    Column('password', String), 
) 
users.create() 

は同様に、それは関係を作成、あなたが要素を挿入することができ、簡単な関数やクラスを持ち、他のすべては、あなたがして行うことができますデータベース。

ETA:実際にはデータベースでPythonを使用しないことを理解しています。ただし、SQLAlchemyのようなORMを使用すると、リレーショナルデータをオブジェクトとして扱うことができます。どのようなプロトタイプと同じくらい簡単ですが、最終的な結果に近いという利点があります。

+0

あなたのリンクは正しいですが、モジュールは 'sqllite3'ではなく' sqlite3'と呼ばれます。 –

関連する問題