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