PHP Fiction Management System
โปรเจ็กต์นี้จะสร้างเป็น "ระบบบริหารจัดการพล็อตนิยาย" แบบง่ายๆ มาเล่าสู่กันฟังครับ
มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย
และค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเขียนนิยาย
และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น
แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้
ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ
แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู
ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า
ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย
มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย
และค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเขียนนิยาย
และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น
แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้
ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ
แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู
ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า
ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย
หลังจากที่ได้นั่งคิดนอนคิด และหลับไปฝันไป
จนในที่สุดก็ได้ฐานข้อมูลระบบบริหารจัดการพล็อตนิยายมาคร่าวๆ มาจนได้ โครงสร้างฐานข้อมูลตอนนี้อาจจะขี้เหร่ไปบ้าง แต่ในอนาคตก็คงจะพัฒนากันต่อไป
ตารางที่จะต้องสร้าง มีทั้งหมด ดังนี้
1. รายชื่อนิยายทั้งหมด2. แนวนิยายที่เขียน
3. พล็อตของแต่ละเรื่อง
4. ฉากเหตุการณ์ในแต่ละพล็อต
5. เนื้อเรื่องในแต่ละฉาก
6. รายชื่อตัวละครในนิยายแต่ละเรื่อง
7. ข้อมูลอ้างอิง (บางฉากอาจจะต้องการเก็บข้อมูล อ้างอิงที่พิสูจน์ได้ เช่นแนววิทยาศาสตร์)
เมื่อลองกำหนดรายชื่อตารางที่ใช้เก็บข้อมูลเบื้องต้น ก็จะได้ในเบื้องต้น 8 ตาราง
- tb_member ระบบสมาชิก
- tb_story_charactor รายชื่อตัวละครในนิยายแต่ละเรื่อง
- tb_story_detail เนื้อเรื่องในแต่ละฉาก
- tb_story_info_reference ข้อมูลอ้างอิง
- tb_story_list รายชื่อนิยายทั้งหมด
- tb_story_plot พล็อตของแต่ละเรื่อง
- tb_story_scene ฉากเหตุการณ์ในแต่ละพล็อต
- tb_story_type แนวนิยายที่เขียน
สำหรับโครงสร้าง Data Dictionary ก็มีดังนี้
1. tb_member
Column | Type | Null | Default | Comments |
---|---|---|---|---|
row_id | int(11) | No | ||
member_id | varchar(50) | No | ||
regis_date | datetime | No | ||
photo | varchar(50) | No | ||
name | varchar(30) | No | ||
surname | varchar(30) | No | ||
nickname | varchar(20) | No | ||
username | varchar(20) | No | ||
password | varchar(130) | No | ||
birthday | date | No | ||
gender | varchar(20) | No | ||
varchar(40) | No | |||
homepage | varchar(200) | No | ||
district | varchar(30) | No | ||
province | varchar(30) | No | ||
geo | varchar(20) | No | ||
job | varchar(50) | No | ||
remark | text | No | ||
update_by | varchar(30) | No | ||
update_time | datetime | No | ||
unlock_date | date | No | วันที่เริ่มให้ใช้งานอีกครั้ง | |
status | int(1) | No | 0=temp,1=active,8=Lock, 9=Delete |
2. tb_story_charactor
Table comments: รายชื่อตัวละคร
Column | Type | Null | Default | Comments |
---|---|---|---|---|
ch_id | int(11) | No | auto | |
ch_person_name | varchar(40) | No | ชื่อตัวละคร | |
ch_role | varchar(30) | No | บทบาทในเรื่อง | |
ch_physical | varchar(250) | No | ลักษณะทางกายภาพ | |
ch_characteristic | varchar(250) | No | ลักษณะทางจิต | |
ch_profile | varchar(250) | No | ภูมิหลัง | |
ch_way_of_life | varchar(250) | No | ลักษณะการดำเนินชีวิต | |
ch_self_present | varchar(250) | No | การแสดงออกที่สะท้อนให้เห็นตัวตนของเขา | |
ch_skill | varchar(250) | No | ความสามารถ หรือทักษะพิเศษ | |
ch_short_scene | varchar(250) | No | เรื่องย่อ ๆ ของเขาในเรื่อง | |
ch_other_detail | text | No | ข้อสังเกตอื่น ๆ | |
ch_status | int(1) | No | ||
ch_create_by | varchar(30) | No | ||
ch_create_date | datetime | No |
3. tb_story_detail
Table comments: เนื้อเรื่องในแต่ละฉาก
Column | Type | Null | Default | Comments |
---|---|---|---|---|
sd_id | int(11) | No | auto | |
sd_story_id | int(11) | No | อ้างอิงนิยาย | |
sd_plot_id | int(11) | No | อ้างอิงพล็อต | |
sd_scene_id | int(11) | No | อ้างอิงฉาก | |
sd_content | text | No | เนื้อหา | |
sd_status | int(1) | No | ||
sd_create_by | varchar(50) | No | ||
sd_create_date | datetime | No |
4. tb_story_info_reference
Table comments: อ้างอิงบทความวิชาการ
Column | Type | Null | Default | Comments |
---|---|---|---|---|
rf_id | int(11) | No | auto | |
rf_scene_id | int(11) | No | อ้างอิงฉากเหตุการณ์ | |
rf_title | varchar(250) | No | อ้างอิงหนังสือ หน้าบทความ หรือลิงค์หน้าเว็บ | |
rf_create_by | varchar(30) | No | ||
rf_create_date | datetime | No |
5. tb_story_list
Table comments: ตารางเก็บข้อมูลรายชื่อนิยาย
Column | Type | Null | Default | Comments |
---|---|---|---|---|
sl_id | int(11) | No | auto | |
sl_title | varchar(100) | No | ชื่อนิยาย | |
sl_author | varchar(50) | No | ชื่อผู้แต่ง | |
sl_abstract | varchar(220) | No | เรื่องย่อ | |
sl_theme | varchar(50) | No | ธีมของเรื่อง | |
sl_type | varchar(50) | No | แนวนิยาย | |
sl_status | int(1) | No | 1=active,9=trash | |
sl_create_by | varchar(50) | No | username | |
sl_create_date | datetime | No |
6. tb_story_plot
Table comments: พล็อตของแต่ละเรื่อง
Column | Type | Null | Default | Comments |
---|---|---|---|---|
sp_id | int(11) | No | auto | |
sp_story_id | int(11) | No | อ้างอิงนิยาย | |
sp_title | varchar(100) | No | ชื่อพล็อต/ชื่อแต่ละบท | |
sp_status | int(1) | No | 1=active,9=trash | |
sp_create_by | varchar(50) | No | username | |
sp_create_date | datetime | No |
7. tb_story_scene
Table comments: ฉากเหตุการณ์ในแต่ละพล็อต
Column | Type | Null | Default | Comments |
---|---|---|---|---|
sc_id | int(11) | No | auto | |
sc_story_id | int(11) | No | อ้างอิงนิยาย | |
sc_plot_id | int(11) | No | อ้างอิงพล็อต | |
sc_title | varchar(500) | No | ชื่อแต่ละฉาก | |
sc_status | int(1) | No | ||
sc_create_by | varchar(50) | No | ||
sc_create_date | datetime | No |
8. tb_story_type
Table comments: แนวนิยายที่เขียน
Column | Type | Null | Default | Comments | ||||
---|---|---|---|---|---|---|---|---|
st_id | int(11) | No | auto | |||||
st_story_id | int(11) | No | อ้างอิงนิยาย | |||||
st_title | varchar(30) | No | ชื่อแนวที่เขียน | |||||
st_create_by | datetime | No | ||||||
st_create_date | datetime | No |
สำหรับท่านใดที่ต้องการ SQL สำหรับสร้างตารางอัตโนมัติเลยนั่น ต้องบอกเลยว่าตัวกระผมเองก็ได้ทำหายไปแล้ว T___T นี่ก็คงต้องเสียเวลามานั่งสร้างทีละตารางจนกว่าจะครบ
และระบบนี้จะเริ่มสร้างให้เห็นกันทีละสเต็ปในเร็ววันนี้ เมื่อตัวผู้เขียนว่างเว้นจากภาระกิจที่ติดพันหลายๆอย่างในช่วงยาวๆนี้ไปอีกสักพักนะครับ
ความคิดเห็น
แสดงความคิดเห็น