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)"
ดึงข้อมูลจาก "http://th.wikipedia.org../../../s/q/l/SQLObject_0dc1.html".
ภาษาอื่น