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)"