หลังจากสร้างสภาพแวดล้อมการพัฒนาแล้ว การวางแผนฐานข้อมูล BLOG ของ Doking ก็เป็นขั้นตอนที่สามเช่นกัน นอกจากนี้ยังเป็นขั้นตอนสำคัญที่เกี่ยวข้องโดยตรงกับว่าฐานข้อมูลสามารถทำงานได้อย่างมีประสิทธิภาพในอนาคตหรือไม่ นอกจากนี้ยังเป็นขั้นตอนสำคัญสำหรับข้อกำหนดข้อกำหนดของนักพัฒนาอีกด้วย
3.1 การกำหนดมาตรฐานของฐานข้อมูล
การกำหนดมาตรฐานของฐานข้อมูลส่วนใหญ่สะท้อนให้เห็นในความสัมพันธ์ระหว่างตาราง โครงสร้างข้อมูล และพื้นที่เก็บข้อมูล
3.1.1 ความสัมพันธ์ระหว่างตารางข้อมูล
ผู้เริ่มต้นหลายคนมักคิดว่าการสร้างตารางเพื่อเก็บข้อมูลทั้งหมดก็เพียงพอแล้ว หากคุณคิดเช่นนั้น ก็มักจะทำให้ข้อมูลซ้ำซ้อน รูปที่ 3-1-1 เป็นตารางข้อมูล จะเห็นว่าข้อมูลที่วาดในวงกลมสีแดงซ้ำซ้อน
รูปที่ 3-1-1
ข้อมูลซ้ำซ้อนในตารางข้อมูลจะส่งผลต่อการทำงานที่มีประสิทธิภาพของฐานข้อมูลและยังสามารถทำลายฐานข้อมูลได้อีกด้วย เพื่อลดข้อมูลที่ซ้ำซ้อน ข้อมูลจะต้องถูกจัดเก็บแยกกันเป็นหลายตาราง และต้องสร้างการเชื่อมต่อระหว่างตาราง มีวิธีหลักสามวิธีในการเชื่อมต่อความสัมพันธ์ระหว่างตาราง: แบบหนึ่งต่อกลุ่ม กลุ่มต่อกลุ่ม และแบบหนึ่งต่อหนึ่ง
ความสัมพันธ์แบบหนึ่งต่อกลุ่มเป็นชนิดความสัมพันธ์ที่พบบ่อยที่สุดในฐานข้อมูล ความสัมพันธ์นี้เรียกว่าความสัมพันธ์ของตารางหลักและตารางย่อย หรือความสัมพันธ์ของตารางหลักและตารางย่อย รูปที่ 3-1-2 สะท้อนถึงความสัมพันธ์ของตารางหลักและตารางลูก ที่นี่ ตารางหัวข้อและตารางตอบกลับมีความสัมพันธ์แบบหนึ่งต่อกลุ่ม ตารางหัวข้อคือตารางหลัก และตารางตอบกลับคือตารางย่อย แถวในตารางหัวข้อสามารถมีแถวเป็นศูนย์ หนึ่งแถว หรือหลายแถวที่สอดคล้องกันในตารางตอบกลับ และแต่ละแถวในตารางตอบกลับจะสอดคล้องกับ หัวข้อที่เกี่ยวข้องในตารางหัวข้อ
รูปที่ 3-1-2 ความสัมพันธ์แบบหนึ่งต่อกลุ่ม
ความสัมพันธ์แบบกลุ่มต่อกลุ่มหมายความว่าแต่ละแถวในตารางแรกสามารถสัมพันธ์กับหลายแถวในตารางที่สองได้ ในทำนองเดียวกัน แต่ละแถวในตารางที่สองก็สามารถสัมพันธ์กับหลายแถวได้เช่นกัน แถวในตารางแรกตรงกับหลายบรรทัด ตัวอย่างเช่น ผู้ใช้จำนวนมากสามารถตอบกลับหัวข้อหนึ่งๆ และผู้ใช้ก็สามารถตอบกลับหลายหัวข้อได้เช่นกัน ซึ่งจำเป็นต้องมีการสร้างตารางที่สามเพื่อเชื่อมต่อรหัสหัวข้อและรหัสผู้ใช้ ตารางนี้เป็นตารางหลักของสองตารางแรก ในรูปที่ 3-1-3 "ตารางตอบกลับ" คือตารางหลักของ "ตารางหัวข้อ" และ "ตารางผู้ใช้"
รูปที่ 3-1-3 ความสัมพันธ์แบบกลุ่มต่อกลุ่ม
ความสัมพันธ์แบบหนึ่งต่อหนึ่งคือการเชื่อมโยงแถวในตารางหนึ่งกับแถวในอีกตารางหนึ่ง ความสัมพันธ์นี้เกิดขึ้นไม่บ่อยนัก เพราะถ้าเป็นเช่นนั้น จะสมเหตุสมผลมากกว่าที่จะรวมสองตารางให้เป็นตารางเดียว
3.1.2 โครงสร้างข้อมูลและการจัดเก็บข้อมูล
โครงสร้างทางกายภาพของฐานข้อมูลจะต้องถูกสร้างขึ้นตามโครงสร้างเชิงตรรกะ จำเป็นต้องจดจำกฎบางอย่างเมื่อออกแบบตาราง ฟิลด์ และความสัมพันธ์ ลำดับของแถวและคอลัมน์ไม่มีบทบาท แม้ว่าคอลัมน์จะมีตำแหน่งตามลำดับในตารางข้อมูล แต่ก็ไม่ได้แสดงถึงลำดับการอ้างอิง ลำดับของบันทึกจะมีความสำคัญก็ต่อเมื่อนำมาจากตารางข้อมูลและส่งไปเท่านั้น SQL จะจัดการลำดับการแยกบันทึกผ่านดัชนีฐานข้อมูลพารามิเตอร์ ตัวอย่างเช่น ในตารางข้อมูล คุณสามารถใส่ฟิลด์เพศไว้หน้าฟิลด์ชื่อได้ ตราบใดที่คุณอย่าลืมใส่ฟิลด์ชื่อไว้หน้าฟิลด์เพศเมื่อเรียกใช้ตารางข้อมูลโดยใช้คำสั่ง SQL ก็ไม่เป็นไร
เมื่อออกแบบตารางข้อมูล ให้จัดสรรขนาดฟิลด์อย่างระมัดระวัง และบันทึกให้มากที่สุดเมื่อเพียงพอ หากใช้ฟิลด์นี้เพื่อเก็บจำนวนเต็ม โปรดใช้จำนวนเต็มหรือจำนวนเต็มยาวแทนความแม่นยำเดี่ยวหรือความแม่นยำสองเท่า หากเพียงพอ วิธีที่ดีที่สุดคือสร้างฟิลด์ประเภทข้อความ 100 ตัวอักษรแทนฟิลด์บันทึกช่วยจำ ทำไม หากคุณไม่กลัวค่าใช้จ่ายเซิร์ฟเวอร์ที่สูงหรือการทำงานของฐานข้อมูลเครือข่ายที่ช้า คุณก็ไม่ต้องกังวลเกี่ยวกับเรื่องนี้ แต่จะทำให้ฐานข้อมูลเสียหายอย่างร้ายแรงที่สุด
3.2 การออกแบบฐานข้อมูล BLOG ของ Doking
จากความรู้ข้างต้นเกี่ยวกับมาตรฐานฐานข้อมูล ส่วนนี้จะเริ่มการวางแผนและการออกแบบฐานข้อมูล BLOG ของ Doking ตารางข้อมูลห้าตารางได้รับการออกแบบในฐานข้อมูล BLOG ของ Doking ได้แก่ ตาราง LM (ตารางคอลัมน์), ตาราง ZT (ตารางบันทึกการศึกษา), ตาราง HF (ตารางตอบกลับ), ตาราง YH (ตารางผู้ใช้) และตาราง GLY (ตารางผู้ดูแลระบบ) ตั้งชื่อฐานข้อมูลว่า "dkblog.mdb" และบันทึกไว้ในไดเร็กทอรี "D:dat"
ตาราง LM คือตารางคอลัมน์ซึ่งใช้ในการสร้างแถบนำทางเว็บไซต์และจัดประเภทบันทึกการศึกษา เนื้อหาคอลัมน์ได้รับการออกแบบโดยผู้ดูแลระบบของเว็บไซต์ แสดงไว้ในรูปที่ 3-2-1
รูปที่ 3-2-1 แผนภาพการออกแบบภาคสนามของตาราง LM
ตาราง ZT เป็นตารางบันทึกการเรียนรู้ซึ่งใช้เพื่อจัดเก็บประสบการณ์การเรียนรู้ของผู้ใช้ ที่จริงแล้ว การออกแบบภาคสนามแสดงในรูปที่ 3-2-2:
รูปที่ 3-2-2 แผนภาพการออกแบบภาคสนามของตาราง ZT
ตาราง HH เป็นตารางตอบกลับซึ่งจัดเก็บการตอบสนองของผู้ใช้ต่อบันทึกการศึกษาที่เผยแพร่ ฟิลด์ต่างๆ แสดงในรูปที่ 3-2-3:
รูปที่ 3-2-3 แผนภาพการออกแบบภาคสนามของตาราง HF
ตาราง YH เป็นตารางผู้ใช้ซึ่งเก็บข้อมูลการลงทะเบียนผู้ใช้และอำนวยความสะดวกให้ผู้ใช้เข้าสู่ระบบและโพสต์บันทึกการศึกษาและตอบกลับบันทึกการศึกษา การออกแบบสนามดังแสดงในรูปที่ 3-2-4:
รูปที่ 3-2-4 แผนภาพการออกแบบสนามของตาราง YH
ตาราง GLY คือตารางผู้ดูแลระบบ ซึ่งใช้สำหรับการเข้าสู่ระบบของผู้ดูแลระบบและการจัดการเว็บไซต์ ดังแสดงในรูปที่ 3-2-5
รูปที่ 3-2-5 แผนภาพการออกแบบสนามของตาราง GLY
3.3 สร้างแหล่งการเชื่อมต่อฐานข้อมูล BLOG ของ Doking
(1) เริ่ม Dreamweaver MX 2004 ในเมนู [File] เลือก [New] ใน [New Dialog] เลือกหมวดหมู่เป็น "Dynamic Page" เลือกไดนามิกเพจเป็น "ASP.NET VB" แล้วคลิก ปุ่ม "สร้าง" ” เพื่อสร้างเว็บเพจแบบไดนามิก
(2) สลับไปที่แผง [Application] เลือกแท็บ [ฐานข้อมูล] คลิกเครื่องหมาย "+" และเลือก "OLE DB Connection" ดังแสดงในรูปที่ 3-3-1:
รูปที่ 3-3-1 เลือกการเชื่อมต่อ OLE DB
(3) ในกล่องโต้ตอบป๊อปอัป [OLE DB Connection] ให้ป้อนชื่อการเชื่อมต่อ "dkconn" แล้วคลิกปุ่ม "สร้าง" ดังแสดงในรูปที่ 3-3-2 : :
รูปที่ 3-3-2 ตั้งชื่อการเชื่อมต่อ
(4) เข้าสู่หน้า [Data Connection Properties] และเลือกแท็บ [Select Program] เนื่องจากฐานข้อมูลที่จะเชื่อมต่อเป็นฐานข้อมูล Access2003 ให้เลือก "Microsoft Jet 4.0 OLE DB" ใน โปรแกรมฐานข้อมูล" เป็นไดร์เวอร์ ดังแสดงในรูปที่ 3-3-3
รูปที่ 3-3-3 เลือกกลไกฐานข้อมูล
(5) เลือกแท็บ [เชื่อมต่อ] เลือกฐานข้อมูลที่จะเชื่อมต่อเป็น "D:dkblogdatdkblog.mdb" และล้างกล่องข้อความของ "ชื่อผู้ใช้" และ " รหัสผ่าน" , รูปที่ 3-3-4
รูปที่ 3-3-4 เลือกเพื่อเชื่อมต่อกับฐานข้อมูล
(6) เลือกแท็บ [Advanced] และในการตั้งค่าสิทธิ์การเข้าถึง ให้เลือก "ReadWrite" ดังแสดงในรูปที่ 3-3-5
รูปที่ 3-3-5 ตั้งค่าสิทธิ์การเข้าถึง
(7) กลับไปที่แท็บ [เชื่อมต่อ] คลิกปุ่ม "ทดสอบ" และกล่องโต้ตอบที่แสดงในรูปที่ 3-3-6 จะปรากฏขึ้น ซึ่งหมายความว่าฐานข้อมูล dkblog.mdb ได้รับการเชื่อมต่อกับเว็บไซต์ คลิกปุ่ม "ตกลง" เพื่อสิ้นสุดการเชื่อมต่อฐานข้อมูล ภายใต้ไดเร็กทอรีรากของไซต์ คุณจะเห็นว่ามีการเพิ่มไฟล์ใหม่ "web.config" คุณสามารถแก้ไขการเชื่อมต่อฐานข้อมูลในไฟล์นี้ได้โดยตรงในอนาคต
รูปที่ 3-3-6 กล่องโต้ตอบการทดสอบฐานข้อมูล
หากคุณคลิกปุ่ม [สร้าง] ในขั้นตอนที่ (3) ของส่วนที่ 3.3 กล่องโต้ตอบ [คุณสมบัติการเชื่อมโยงข้อมูล] จะไม่ เปิด. ไม่มีอะไรเกิดขึ้นเมื่อคลิกปุ่ม [สร้าง] สาเหตุหนึ่งที่เป็นไปได้ของปัญหานี้คือ MDAC 2.8 โดย MDAC 2.8 จะรวมอยู่ตามค่าเริ่มต้นใน XP SP2 ผู้ใช้ XP SP1 ที่ติดตั้ง MDAC 2.8 จะได้รับผลกระทบจากปัญหานี้เช่นกัน ปัญหานี้มีผลกับ Dreamweaver MX 2004 เท่านั้น และไม่มีผลกระทบกับ Dreamweaver MX มีสองวิธี:
วิธีแรก: ทำตามขั้นตอนที่ (3) ของขั้นตอนในส่วนที่ 3.3 และป้อนในพื้นที่ข้อความ [สตริงการเชื่อมต่อ] ในกล่องโต้ตอบ [การเชื่อมต่อ OLE DB]:
Provider=Microsoft.Jet OLEDB.4.0 ;DataSource=D:dkblogdatdkblog.mdb;Persist Security Info=False
วิธีที่สอง: สร้างไฟล์ข้อความใหม่บนฮาร์ดดิสก์ เปลี่ยนนามสกุลไฟล์จาก .txt เป็น .udl จากนั้นเปิดไฟล์ .udl . ไฟล์นี้สามารถเปิดกล่องโต้ตอบ [คุณสมบัติการเชื่อมโยงข้อมูล] การดำเนินการเฉพาะมีดังนี้:
1 ทำตามขั้นตอน (3) ของขั้นตอนในส่วนที่ 3.3 ดำเนินการคำสั่งเมนูระบบ [Start] |. [All Programs] |.
2. ในหน้าต่างหลักของโปรแกรม Notepad ให้รันคำสั่งเมนู [File] |. [Save] โดยตรง ในหน้าต่างโต้ตอบ [Save As] ชื่อไฟล์อินพุตคือ Database Connection.udl ดังแสดงในรูปที่ 3 -4-1.
รูปที่ 3-4-1 บันทึก "Database Connection.udl"
3 คลิกปุ่ม [Save] ปิดโปรแกรม Notepad สลับไปที่ [Desktop] ดับเบิ้ลคลิกที่ไฟล์ "Database Connection" ทำตามขั้นตอน (4)-(7) ในบทช่วยสอน ) เพื่อดำเนินการ คลิกปุ่ม [ตกลง] เพื่อปิดกล่องโต้ตอบ [ลิงก์ฐานข้อมูล]
④ดำเนินการคำสั่งเมนูระบบ [Start] |. [All Programs] |. ในหน้าต่างหลักของโปรแกรม Notepad ให้รันคำสั่งเมนู [File] |. [Open] โดยตรง และเลือก "การเชื่อมต่อฐานข้อมูล" เพื่อเปิดไฟล์
⑤ ในหน้าต่างหลักของโปรแกรม Notepad ให้เลือกอักขระทั้งหมดในบรรทัดที่สามเพื่อคัดลอก ดังแสดงในรูปที่ 3-4-2 สลับไปที่โปรแกรม Dreamweaver และวางลงในพื้นที่ข้อความ [Connection String] ในกล่องโต้ตอบ [OLE DB Connection] ที่ปรากฏขึ้นในขั้นตอนที่ (3) ซึ่งจะทำให้ลิงก์ฐานข้อมูลใน Dreamweaver เสร็จสมบูรณ์
รูปที่ 3-4-2 คัดลอกอักขระทั้งหมดในบรรทัดที่สามของไฟล์ "การเชื่อมต่อฐานข้อมูล"