ฉันได้เรียนรู้การออกแบบฐานข้อมูลเชิงนามธรรมของ CommunityServer (CS) ชุมชนโอเพ่นซอร์สที่มีชื่อเสียง คิดอย่างอิสระ คิดเกี่ยวกับปัญหาจากมุมมองเชิงปรัชญา และสรุปเพิ่มเติม และในที่สุดก็ได้ออกแบบฐานข้อมูลสากลที่เป็นนามธรรมและชั้นการเข้าถึงข้อมูลสากล
ข้อดีหลักคือ:
1) จัดเก็บเอนทิตีข้อมูลและความสัมพันธ์ระหว่างเอนทิตีผ่านตารางนามธรรมสองตาราง
2) ความต้องการในการขยายฟิลด์ของเอนทิตีข้อมูลใด ๆ เกิดขึ้นได้ด้วยวิธีการออกแบบฟิลด์แบบขยายสองวิธี และฟิลด์แบบขยายรองรับฟังก์ชันการเรียงลำดับและค้นหาระดับฐานข้อมูล การเพิ่มฟิลด์แบบขยายไม่ได้แตกต่างจากฟิลด์ทั่วไปมากนัก เพียงเพิ่มคุณลักษณะเท่านั้น .
3) เนื่องจากความสัมพันธ์ระหว่างเอนทิตีที่เป็นนามธรรมในระดับสูง (ในที่สุดก็ถูกแยกเป็นความสัมพันธ์แบบเรียกซ้ำแนวนอนและแบบพาเรนต์-รอง) อินเทอร์เฟซของชั้นการเข้าถึงฐานข้อมูลจึงมีความหลากหลายมากและสามารถปรับให้เข้ากับความสัมพันธ์ระหว่างเอนทิตีได้ การออกแบบประเภทนี้ไม่สามารถแสดงออกมาเป็นคำธรรมดาได้ บางทีคุณอาจจะเข้าใจมันหลังจากอ่านโค้ดแล้ว
4) ดูดซับการออกแบบที่ดีมากมายใน CS เช่นโหมดผู้ให้บริการ การสร้าง SQL แบบไดนามิกเพื่อใช้การสืบค้นแบบกำหนดเอง การแคช การออกแบบไฟล์ทรัพยากรหลายภาษา การเขียน Url แบบกำหนดเองใหม่ ฟังก์ชัน Ajax ฯลฯ
5) ผลการดำเนินงานที่ดีเยี่ยม
6) ใช้ระบบการจัดการพื้นหลังอย่างง่ายของระบบเผยแพร่บทความเป็นการสาธิตเพื่อสาธิตฟังก์ชันบางอย่างของกรอบการทำงานนี้
7) ปัจจุบันกรอบการทำงานยังคงได้รับการปรับปรุงและปรับให้เหมาะสมอย่างต่อเนื่อง -
ข้อควรระวังในการใช้งาน:
ขั้นแรกให้แนบไฟล์ฐานข้อมูล Sql ภายใต้ DB
1) ข้อมูลลิงค์ฐานข้อมูลจะต้องตั้งค่าอย่างถูกต้องในไฟล์ web.config
สตริงการเชื่อมโยงฐานข้อมูลนี้
2) ที่อยู่หน้าถูกเขียนใหม่ และวางหน้าจริงแล้ว ดังตัวอย่างต่อไปนี้:
ในไดเร็กทอรี ControlPanelArticle ข้อมูลการกำหนดค่าการเขียนที่อยู่ URL ใหม่จะถูกวางไว้ในไฟล์ Urls.xml
3) หากคุณต้องการดีบักโมดูลการจัดการบทความ รหัสจะอยู่ในนั้น
AppCodeControlsControlPanelArticle
ตั้งค่าเบรกพอยต์ในไฟล์ CS ในไดเร็กทอรี จากนั้นแก้ไขจุดบกพร่องโดยแนบไปกับกระบวนการ
เนื่องจากการสาธิตนี้ไม่ได้รับการออกแบบให้เป็นเว็บไซต์ แต่อยู่ในรูปแบบของไลบรารี จึงสามารถแก้ไขจุดบกพร่องได้โดยการแนบไปกับกระบวนการเท่านั้น
นอกจากนี้ ฉันยังสร้างลิงก์เพื่อเพิ่มข้อมูลการทดสอบบทความอย่างรวดเร็ว ที่อยู่คือ:
http://localhost/createarticles.aspx?count=100
ในจำนวนนี้ count=100 หมายถึงการสร้างบทความ 100 บทความ คุณสามารถเปลี่ยนเป็นค่าใดก็ได้ที่มากกว่าศูนย์เพื่อสร้างข้อมูลทดสอบที่คุณต้องการ
หลังจากทดสอบข้อมูลไป 20,000 ชิ้นแล้ว ฉันพบว่าประสิทธิภาพยังดีอยู่ ยังไม่มีการทดสอบข้อมูลเพิ่มเติม
ฉันเชื่อว่าประสิทธิภาพของเฟรมเวิร์กนี้น่าจะค่อนข้างดี ตอนที่ฉันออกแบบมัน หลายส่วนได้รับการออกแบบมาโดยเฉพาะเพื่อประสิทธิภาพ
ขยาย