SQLObject
จากวิกิพีเดีย สารานุกรมเสรี
SQLObject เป็นตัวส่งระหว่างโมเดลเชิงวัตถุและเชิงสัมพันธ์ระหว่างฐานข้อมูลเอสคิวแอลและวัตถุภาษาไพทอน SQLObject ได้รับความนิยมในชุมชนผู้ใช้และยังเป็นส่วนหนึ่งของโครงการอื่นๆ (เช่น เทอร์โบเกียร์) SQLObject คล้ายกับ Active Record ของ Ruby On Rails มาก ในการดำเนินการ SQLObject ใช้นิยามของคลาสเพื่อกำหมดรูปแบบของตารางซึ่งสมบัติการสะท้อนและความไดนามิกมีประโยชน์มาก
SQLObject ใช้ได้กับโปรแกรมฐานข้อมูลที่เป็นที่นิยมหลายโปรแกรม ได้แก่ MySQL PostgreSQL SQLite Sybase SQL Server MaxDB Microsoft SQL Server และ Firebird
SQLObject เป็นซอฟต์แวร์เสรีที่มีสัญญาอนุญาตแบบ LGPL
[แก้] ตัวอย่างการใช้งาน
- การนิยามคลาส (ที่กำหนดรูปแบบของตารางในโมเดลเชิงสัมพันธ์)
from sqlobject import *
# กำหนด URI ของฐานข้อมูล ซึ่งในที่นี้ใช้ SQLite
connection = connectionForURI('sqlite:///Users/vee/dict.sqlite')
sqlhub.processConnection = connection
# นิยามของคลาส
class Dict(SQLObject):
data = StringCol()
oldId = StringCol()
lang = StringCol()
- การสร้างตารางตามนิยามคลาส
Dict.createTable()
คำสั่งภาษาเอสคิวแอลที่ตรงกับคำสั่งที่ใช้สร้างตารางข้างต้น
CREATE TABLE dict (
id INTEGER PRIMARY KEY,
data TEXT,
old_id TEXT,
lang TEXT
);
- การสร้างวัตถุใหม่
dict = Dict(oldId=23, lang="Thai", data="(แมว,Cat)")
ตารางเชิงสัมพันธ์ที่ตรงกับวัตถุข้างต้น
| id | 1 |
| data | (แมว,Cat) |
| lang | Thai |
| old_id | 23 |
- การใช้งานวัตถุฐานข้อมูล
# การต้นคืน dict = Dict.get(1) # การอ่านข้อมูล print dict.data # การเขียนข้อมูล dict.data = "(แมว, cat)"

