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 นี่ก็คงต้องเสียเวลามานั่งสร้างทีละตารางจนกว่าจะครบ
และระบบนี้จะเริ่มสร้างให้เห็นกันทีละสเต็ปในเร็ววันนี้ เมื่อตัวผู้เขียนว่างเว้นจากภาระกิจที่ติดพันหลายๆอย่างในช่วงยาวๆนี้ไปอีกสักพักนะครับ



ความคิดเห็น
แสดงความคิดเห็น