การออกแบบฐานข้อมูล การสนับสนุนฐานข้อมูล (เทคโนโลยีการเข้าถึงข้อมูล การสร้างแอปพลิเคชันด้วยฐานข้อมูล)

การสร้างแอพพลิเคชั่นสำหรับการทำงานกับฐานข้อมูล

ฐานข้อมูลจะใช้เมื่อจำเป็นต้องทำงานกับข้อมูลจำนวนมาก

ฐานข้อมูลเชิงสัมพันธ์คือชุดของตาราง ขั้นตอน และอ็อบเจ็กต์อื่นๆ ที่รองรับการดำเนินการ โต๊ะก็มี ชื่อ– ตัวระบุที่สามารถอ้างอิงได้ ตัวอย่างตารางข้อมูลพนักงาน ท่าน:

ตัวเลข

แผนก

นามสกุล

ชื่อ

นามสกุล

ปีเกิด

พื้น

ลักษณะเฉพาะ

รูปถ่าย

หมายเลข

ฝ่าย

แฟม

น้ำ

พาร์

ปี_ข

เพศ

ตัวละคร

รูปถ่าย

การบัญชี

อีวานอฟ

อีวาน

อิวาโนวิช

1950

เวิร์คช็อป 1

เปตรอฟ

ปีเตอร์

เปโตรวิช

1960

เวิร์คช็อป 2

ซิโดรอฟ

ซีดอร์

ซิโดโรวิช

1955

เวิร์คช็อป 1

อิวาโนวา

อิริน่า

อิวานอฟนา

1961

คอลัมน์ตารางสอดคล้องกับลักษณะของวัตถุ - ฟิลด์ แต่ละฟิลด์จะมีลักษณะเฉพาะด้วยชื่อและประเภทของข้อมูลที่จัดเก็บ ชื่อฟิลด์เป็นตัวระบุที่ใช้ในโปรแกรมต่าง ๆ เพื่อจัดการข้อมูล เช่นเดียวกับตัวระบุอื่นๆ ชื่อฟิลด์ต้องประกอบด้วยตัวอักษรละติน คำเดียวเท่านั้น ฯลฯ (บรรทัดที่ 2 ในตาราง)

ประเภทฟิลด์กำหนดลักษณะประเภทของข้อมูลที่จัดเก็บไว้ในฟิลด์ สิ่งเหล่านี้อาจเป็นสตริง ตัวเลข ค่าบูลีน ข้อความขนาดใหญ่ (เช่น คุณลักษณะของพนักงาน) รูปภาพ (รูปถ่ายของพนักงาน) เป็นต้น

แต่ละ แถวตารางตรงกับหนึ่งในวัตถุ มันถูกเรียกว่า การบันทึกและมีค่าของฟิลด์ทั้งหมดที่แสดงลักษณะของวัตถุนี้

เมื่อสร้างตารางฐานข้อมูล สิ่งสำคัญคือต้องแน่ใจว่าข้อมูลมีความสอดคล้องกัน ซึ่งมักจะทำโดยการแนะนำ ช่องสำคัญ– สร้างความมั่นใจในเอกลักษณ์ของแต่ละบันทึก ฟิลด์คีย์สามารถเป็นหนึ่งหรือหลายฟิลด์ก็ได้ ในตัวอย่างข้างต้น ชุดของฟิลด์สามารถถูกสร้างเป็นคีย์ได้ แฟม, น้ำ, พาร์- หมายเลขแต่ในกรณีนี้จะเป็นไปไม่ได้ที่จะป้อนข้อมูลลงในตารางเกี่ยวกับคนชื่อเต็มที่มีนามสกุลชื่อและนามสกุลเหมือนกัน ดังนั้นจึงมีการนำเขตข้อมูลแรกเข้าสู่ตาราง

– ตัวเลขที่สามารถสร้างคีย์ได้ รับรองความเป็นเอกลักษณ์ของแต่ละเรคคอร์ด เมื่อทำงานกับตาราง ดูเหมือนว่าผู้ใช้หรือโปรแกรมจะเลื่อนเคอร์เซอร์ไปเหนือเรคคอร์ด ในทุกช่วงเวลาก็มีบ้างบันทึกที่ดำเนินงาน บันทึกในตารางข้อมูลสามารถจัดเรียงได้โดยไม่ต้องเรียงลำดับใดๆ เพียงตามลำดับการป้อนข้อมูล (การปรากฏตัวของพนักงานใหม่) แต่เมื่อนำเสนอตารางต่อผู้ใช้ จะต้องเรียงลำดับตารางเหล่านั้น ผู้ใช้อาจต้องการดูตามตัวอักษรหรือจัดเรียงตามแผนกหรือตามอายุ ฯลฯ

ในการจัดระเบียบข้อมูลจะใช้แนวคิดนี้ ดัชนี- ดัชนีจะแสดงลำดับใดขอแนะนำให้ดูตารางอย่างระมัดระวัง เขาเป็นเหมือนตัวกลางระหว่างผู้ใช้

และตาราง: ดัชนีสามารถหลัก และ.
รอง
ตัวอย่างเช่น ดัชนีหลักอาจเป็นเขตข้อมูลที่ถูกกำหนดให้เป็นเขตข้อมูลหลักเมื่อสร้างฐานข้อมูล และดัชนีรองสามารถสร้างได้จากฟิลด์อื่นทั้งในระหว่างการสร้างฐานข้อมูลเองและในกระบวนการทำงานกับฐานข้อมูลในภายหลัง ดัชนีรองได้รับการกำหนดชื่อ - ตัวระบุที่สามารถนำมาใช้ได้
ฐานข้อมูลมักจะไม่มีตารางเดียวแต่มีหลายตาราง ตัวอย่างเช่น ฐานข้อมูลเกี่ยวกับองค์กรอาจมีตารางแผนกที่มีลักษณะเฉพาะของแต่ละแผนก ตารางรายละเอียดพร้อมเขตข้อมูลหลัก ฝ่าย

โปรอิส ในตารางที่เชื่อมโยง ตารางหนึ่งมักจะปรากฏเป็นบ้าน และอีกอันหนึ่งหรือหลายอัน - เป็นตัวเสริมที่ควบคุมโดยตัวหลัก ตารางหลักและตารางเสริมเชื่อมโยงถึงกันสำคัญ

- บางฟิลด์ที่อยู่ในทั้งสองตารางสามารถทำหน้าที่เป็นคีย์ได้ ฝ่ายในตัวอย่าง ตารางหลักอาจเป็นได้ ท่าน, ผู้ช่วย ฝ่ายและสามารถสื่อสารข้ามสนามได้

ปรากฏอยู่ในทั้งสองตาราง ฝ่ายแต่ละบันทึกในตารางหลัก จับคู่รายการตารางเสริมเหล่านั้นเพอร์ส ฝ่ายซึ่งในฟิลด์สำคัญ ฝ่ายโดยมีชื่อแผนกตรงกับชื่อแผนกในบันทึกปัจจุบันของตารางหลัก กล่าวอีกนัยหนึ่งหากอยู่ในบันทึกปัจจุบันของตารางหลักในสนาม ท่านเขียนว่า "การบัญชี" จากนั้นอยู่ในตารางเสริม

บันทึกทั้งหมดของพนักงานบัญชีจะถูกเน้น ฐานข้อมูลถูกสร้างขึ้นและการสืบค้นได้รับการประมวลผลโดยระบบการจัดการฐานข้อมูล - DBMS: Paradox, Microsoft Access, FoxPro, ออราเคิล, InterBase

DBMS ต่างๆ จัดระเบียบและจัดเก็บฐานข้อมูลด้วยวิธีที่ต่างกัน Paradox ใช้หนึ่งไฟล์สำหรับแต่ละตาราง ใน Microsoft Access และ InterBase ตารางหลายตารางจะถูกจัดเก็บเป็นไฟล์เดียว ในกรณีนี้ ฐานข้อมูลคือชื่อของไฟล์ที่มีเส้นทางในการเข้าถึง ระบบไคลเอนต์/เซิร์ฟเวอร์ (Sybase, Microsoft SQl, Oracle) จัดเก็บข้อมูลทั้งหมดบนคอมพิวเตอร์เครื่องอื่นและสื่อสารกับไคลเอนต์โดยใช้ภาษาพิเศษ - SQL

เพื่อปรับปรุงการเข้าถึงฐานข้อมูล จึงมีการใช้นามแฝงของฐานข้อมูล ชื่อเล่น (นามแฝง)มีข้อมูลทั้งหมดที่จำเป็นเพื่อให้สามารถเข้าถึงฐานข้อมูล ข้อมูลนี้จะถูกรายงานเพียงครั้งเดียวเมื่อสร้างนามแฝง และแอปพลิเคชันใช้นามแฝงในการสื่อสารกับฐานข้อมูล ในกรณีนี้ แอปพลิเคชันไม่สนใจว่าฐานข้อมูลนั้นอยู่ที่ใด และบ่อยครั้งที่ DBMS ที่สร้างและดูแลรักษาฐานข้อมูลนี้ก็ไม่สนใจเช่นกัน เมื่อเปลี่ยนระบบไดเร็กทอรี เซิร์ฟเวอร์ ฯลฯ ไม่จำเป็นต้องเปลี่ยนแปลงอะไรในแอปพลิเคชัน ผู้ดูแลระบบฐานข้อมูลสามารถป้อนข้อมูลที่เหมาะสมลงในนามแฝงได้เพียงพอแล้ว

เก็บเอาไว้การเปลี่ยนแปลงทั้งหมดหมายความว่าการเปลี่ยนแปลงข้อมูลทั้งหมด การแทรกบันทึกใหม่ การลบบันทึกที่มีอยู่ซึ่งดำเนินการโดยผู้ใช้นั้นไม่ได้เกิดขึ้นครั้งแรกในฐานข้อมูล แต่จะถูกเก็บไว้ในหน่วยความจำในตารางเสมือนชั่วคราว และโดยคำสั่งพิเศษเท่านั้นหลังจากตรวจสอบความถูกต้องของข้อมูลที่ป้อนลงในตารางแล้วผู้ใช้จะได้รับโอกาสในการกระทำการเปลี่ยนแปลงทั้งหมดนี้กับฐานข้อมูลหรือละทิ้งสิ่งนี้และกลับสู่สถานะที่อยู่ก่อนการเริ่มต้น ของการแก้ไข

การเปลี่ยนแปลงจะถูกบันทึกลงในฐานข้อมูลโดยใช้ การทำธุรกรรม- นี่คือชุดคำสั่งที่ใช้แก้ไขฐานข้อมูล ผู้ใช้จะได้รับตัวเลือกให้ทำธุรกรรมให้เสร็จสิ้นโดยทำการเปลี่ยนแปลงฐานข้อมูลจริงทั้งหมด หรือย้อนกลับจากสิ่งนี้และกลับสู่สถานะเดิมก่อนที่ธุรกรรมจะเริ่มขึ้น

สิ่งอำนวยความสะดวกDelphi ออกแบบมาเพื่อการพัฒนาและใช้งานแอปพลิเคชันที่ใช้ฐานข้อมูล:

BDE (โปรแกรมฐานข้อมูล Borland) – โปรแกรมฐานข้อมูล Borland เป็นชุดของไลบรารี DLL ที่ให้การเข้าถึงระดับต่ำไปยังฐานข้อมูลท้องถิ่นและไคลเอนต์-เซิร์ฟเวอร์ จะต้องติดตั้งบนคอมพิวเตอร์ทุกเครื่องที่ใช้แอปพลิเคชันฐานข้อมูลที่เขียนขึ้นสำหรับ Delphi

ลิงก์ SQL – ไดรเวอร์สำหรับการทำงานกับเซิร์ฟเวอร์ข้อมูลระยะไกล (MS SQL Server, Oracle)

ผู้ดูแลระบบ BDE เป็นโปรแกรมอรรถประโยชน์สำหรับการตั้งค่านามแฝงฐานข้อมูล (ชื่อ) พารามิเตอร์ฐานข้อมูล และไดรเวอร์ฐานข้อมูลบนคอมพิวเตอร์เฉพาะ เมื่อทำงานกับฐานข้อมูลจากแอปพลิเคชันที่สร้างโดยใช้ Delphi ฐานข้อมูลจะถูกเข้าถึงโดยนามแฝง พารามิเตอร์ของฐานข้อมูลที่กำหนดโดยนามแฝงนั้นใช้ได้สำหรับฐานข้อมูลนี้เท่านั้น พารามิเตอร์ที่ตั้งค่าไว้สำหรับไดรเวอร์ฐานข้อมูลนั้นใช้ได้กับฐานข้อมูลทั้งหมดที่ใช้ไดรเวอร์นั้น นอกจากนี้ คุณยังสามารถตั้งค่าพารามิเตอร์ทั่วไปสำหรับฐานข้อมูลทั้งหมดได้ เช่น รูปแบบวันที่และเวลา รูปแบบในการแสดงค่าตัวเลข ไดรเวอร์ภาษาที่ใช้ เป็นต้น

ฐานข้อมูลเดสก์ท็อป (DBD)) – เครื่องมือสำหรับสร้าง แก้ไข และดูฐานข้อมูล ยูทิลิตี้นี้มุ่งเน้นไปที่การทำงานกับตารางใน DBMS ภายในเครื่องเป็นหลัก เช่น Paradox คุณสามารถสร้างและดูตารางฐานข้อมูลที่ทำงานบนเซิร์ฟเวอร์ได้ โดยมีข้อจำกัดบางประการ: InterBase, MS SQL เซิร์ฟเวอร์, ออราเคิล.

DBD อนุญาตให้โปรแกรมเมอร์สร้างแบบสอบถามไปยังฐานข้อมูลโดยใช้วิธี QBE (Query By Example)

SQL Explorer เป็นยูทิลิตี้สากลที่รวมฟังก์ชันต่างๆ ของ BDE Administrator และ DBD เข้าด้วยกัน ด้วยความช่วยเหลือนี้ คุณสามารถสร้างและดูนามแฝงฐานข้อมูล ดูโครงสร้างและเนื้อหาของตารางฐานข้อมูล สร้างการสืบค้นฐานข้อมูลใน SQL และสร้างพจนานุกรมข้อมูล (เทมเพลตฟิลด์ตาราง)

SQL Monitor เป็นเครื่องมือสำหรับติดตามการดำเนินการของคำสั่ง SQL

ส่วนประกอบที่ไม่ใช่ภาพสำหรับการทำงานกับฐานข้อมูล – ใช้เพื่อเชื่อมต่อแอปพลิเคชันกับตารางฐานข้อมูลในระบบโลคัลและระบบแบบกระจาย จะอยู่ที่หน้า Data Access ของ Component Palette ส่วนประกอบที่ไม่ใช่ภาพใช้เพื่อเชื่อมต่อกับฐานข้อมูล สร้างแบบสอบถามกับส่วนประกอบเหล่านั้น และจัดการตาราง

ส่วนประกอบภาพสำหรับการทำงานกับฐานข้อมูล - ออกแบบมาเพื่อแสดงภาพบันทึกของชุดข้อมูลหรือแต่ละฟิลด์ ส่วนประกอบเหล่านี้อยู่ในหน้าการควบคุมข้อมูลของแผงส่วนประกอบ ทำหน้าที่เป็นเครื่องมือหลักในการพัฒนาส่วนติดต่อผู้ใช้สำหรับการเข้าถึงข้อมูล

คุณสมบัติของโปรแกรมสำหรับการทำงานกับฐานข้อมูล

คุณลักษณะเฉพาะของโปรแกรมที่สร้างขึ้นโดยใช้ Delphi สำหรับการทำงานกับฐานข้อมูลคือการใช้ BDE ที่ขาดไม่ได้ในโปรแกรมเหล่านั้น (ตัวประมวลผลฐานข้อมูลเชิงสัมพันธ์โปรแกรมฐานข้อมูลบอร์แลนด์ รวมอยู่ใน Delphi) ซึ่งทำหน้าที่เป็นสะพานเชื่อมระหว่างโปรแกรมและฐานข้อมูล


ส.บดำเนินงานระดับต่ำทั้งหมดเพื่อให้โปรแกรมไคลเอนต์ได้รับข้อมูลที่ต้องการ ดังนั้นในกรณีทั่วไป การโต้ตอบของโปรแกรมกับข้อมูลจะเกิดขึ้นดังนี้:

ส.บไม่ได้เป็นส่วนหนึ่งของโปรแกรม ขึ้นอยู่กับประเภทของ DBMS สามารถวางตำแหน่งบนเครื่องไคลเอนต์หรือเซิร์ฟเวอร์ได้

โดยปกติจะอยู่ระหว่างโปรแกรมกับ ส.บมีส่วนประกอบหลายชั้นที่ทำให้การพัฒนาโปรแกรมง่ายขึ้นอย่างมาก ส่วนประกอบที่ไม่ใช่ภาพทำงานโดยตรงกับ ส.บและสามชุด (TTable, TQuery, TStoredProc) ทำหน้าที่เป็นชุดข้อมูล ในขณะที่ส่วนประกอบภาพจะแสดงข้อมูลที่ให้มาและให้บริการเพื่อสร้างอินเทอร์เฟซผู้ใช้ที่สะดวกสบาย ระหว่างชุดข้อมูลและส่วนประกอบภาพ จำเป็นต้องมีส่วนประกอบ TDataSource ซึ่งมีบทบาทเป็นวาล์วที่เปิดหรือปิดสตรีมข้อมูลที่แหล่งข้อมูลแลกเปลี่ยนกับส่วนประกอบภาพ (ดูรูป)

บางส่วนได้รับการสนับสนุนในประเภทฐานข้อมูลเดลฟี

ฐานข้อมูลเซิร์ฟเวอร์ท้องถิ่นและไฟล์

ในฐานข้อมูลฐานข้อมูลท้องถิ่น ข้อมูลจะอยู่บนเครื่องของลูกค้า ในไฟล์ฐานข้อมูลเซิร์ฟเวอร์ ข้อมูลจะอยู่บนเซิร์ฟเวอร์ไฟล์เครือข่าย

ตัวเลือกภายในเครื่องสามารถจัดเตรียมโหมดการเข้าถึงข้อมูลผู้ใช้คนเดียวเท่านั้น

ในฐานข้อมูลเซิร์ฟเวอร์ไฟล์ ข้อมูลจะอยู่บนเซิร์ฟเวอร์ไฟล์เครือข่าย ซึ่งผู้ใช้หลายคนสามารถเข้าถึงได้พร้อมกัน ข้อมูลในฐานข้อมูลจะถูกเก็บไว้ในสำเนาเดียว และไคลเอนต์แต่ละรายในแต่ละช่วงเวลาจะทำงานกับสำเนาข้อมูลในเครื่องบางส่วน และการจัดการข้อมูลจะขึ้นอยู่กับโปรแกรมไคลเอนต์ทั้งหมด พวกเขาคือผู้ที่ต้องดูแลการซิงโครไนซ์สำเนาข้อมูลในเครื่องในแต่ละไซต์ไคลเอนต์กับเนื้อหาของฐานข้อมูลหลัก (และเท่านั้น)

เมื่อคุณดำเนินการสืบค้นกับฐานข้อมูลที่อยู่บนไฟล์เซิร์ฟเวอร์ จริงๆ แล้วคุณกำลังสืบค้นสำเนาข้อมูลในเครื่องคอมพิวเตอร์ของผู้ใช้ ดังนั้น ก่อนที่จะดำเนินการค้นหา ข้อมูลในสำเนาในเครื่องจะได้รับการอัปเดตโดยสมบูรณ์จากฐานข้อมูลจริง ดังนั้น หากตารางฐานข้อมูลประกอบด้วย 10,000 เรคคอร์ด และต้องการ 10 เรคคอร์ดเท่านั้นในการตอบแบบสอบถาม เรคคอร์ดทั้ง 10,000 เรคคอร์ดจะยังคงถูกถ่ายโอนไปยังไคลเอนต์ ดังนั้นเครือข่ายจึงถูกโหลดอย่างจริงจัง

ฐานข้อมูลไคลเอ็นต์-เซิร์ฟเวอร์

ในสถาปัตยกรรมไคลเอ็นต์-เซิร์ฟเวอร์ ลิงก์ระดับกลางที่สำคัญจะปรากฏขึ้นระหว่าง BDE และฐานข้อมูล - เซิร์ฟเวอร์ฐานข้อมูล (โปรแกรมพิเศษที่จัดการฐานข้อมูล)

ไคลเอนต์สร้างคำขอไปยังเซิร์ฟเวอร์ในภาษาแบบสอบถาม SQL (ภาษาแบบสอบถามที่มีโครงสร้าง -ภาษาคิวรีที่มีโครงสร้าง) ซึ่งเป็นมาตรฐานอุตสาหกรรมสำหรับฐานข้อมูลเชิงสัมพันธ์ เซิร์ฟเวอร์ SQL จัดเตรียมการตีความคำขอ การดำเนินการ การสร้างผลลัพธ์ และการส่งมอบผลลัพธ์นี้ไปยังไคลเอนต์ ในกรณีนี้ ทรัพยากรของคอมพิวเตอร์ไคลเอนต์ไม่เกี่ยวข้องกับการดำเนินการทางกายภาพของคำขอ: คอมพิวเตอร์ไคลเอนต์จะส่งคำขอไปยังฐานข้อมูลเซิร์ฟเวอร์เท่านั้นและรับผลลัพธ์ หลังจากนั้นจะตีความตามความจำเป็นและนำเสนอต่อผู้ใช้ . เฉพาะข้อมูลที่ลูกค้าต้องการเท่านั้นที่จะถูกส่งผ่านเครือข่าย

เมื่อเซิร์ฟเวอร์ดำเนินการสืบค้น ระดับความปลอดภัยของข้อมูลจะเพิ่มขึ้นอย่างมาก เนื่องจากมีการกำหนดกฎความสมบูรณ์ของข้อมูลไว้บนเซิร์ฟเวอร์และเหมือนกันสำหรับแอปพลิเคชันทั้งหมดที่ใช้ฐานข้อมูลนี้ กลไกธุรกรรมอันทรงพลังที่รองรับโดยเซิร์ฟเวอร์ SQL จะบล็อกการเปลี่ยนแปลงข้อมูลเดียวกันพร้อมกันโดยผู้ใช้ที่แตกต่างกันและให้ความสามารถในการย้อนกลับเป็นค่าดั้งเดิมเมื่อทำการเปลี่ยนแปลงฐานข้อมูลที่สิ้นสุดอย่างผิดปกติ

สร้างและดูนามแฝงฐานข้อมูล

  1. โดยใช้ดีบีดี.

มักจะเป็นสิ่งที่ท้าทาย ฐานข้อมูลเดสก์ท็อปรวมอยู่ในเมนูหลักของ Delphi ภายใต้เครื่องมือ หากยังไม่เสร็จสิ้น คุณสามารถเปิดใช้งานได้โดยใช้คำสั่ง Tools|Configure Tools... (ไฟล์ DBD32.exe)

DBD ช่วยให้คุณสร้างตารางฐานข้อมูลของ DBMS บางตัว ตั้งค่าและเปลี่ยนโครงสร้างได้

คุณสามารถสร้างและดูนามแฝงได้ด้วยการรันคำสั่ง Tools|Alias ​​​​Manager หน้าต่าง Alias ​​​​Manager จะปรากฏขึ้น:


เมื่อคุณเลือกนามแฝงในรายการฐานข้อมูลนามแฝงประเภทไดรเวอร์ในรายการแบบเลื่อนลงจะเปลี่ยนโดยอัตโนมัติ


  1. โดยใช้ผู้ดูแลระบบ BDE


  1. โดยใช้โปรแกรมสำรวจฐานข้อมูล (SQL Explorer)

โปรแกรมนี้เรียกจากเมนูหลักของ Delphi ด้วยคำสั่ง Database| สำรวจ.


Delphi เป็นสภาพแวดล้อมการพัฒนาที่ใช้ภาษาการเขียนโปรแกรม Delphi (เริ่มจากเวอร์ชัน 7 ภาษาในสภาพแวดล้อมเรียกว่า Delphi เดิมคือ Object Pascal) พัฒนาโดย Borland และเริ่มนำไปใช้ในแพ็คเกจ Borland Delphi ซึ่งได้รับชื่อปัจจุบัน ในปี 2546 Object Pascal โดยพื้นฐานแล้วเป็นผู้สืบทอดต่อภาษา Pascal ที่มีส่วนขยายเชิงวัตถุ

Delphi เป็นเครื่องมือที่ดีที่สุดสำหรับการสร้างแอปพลิเคชันฐานข้อมูล เหมาะสมที่สุดเพราะว่า รองรับเทคโนโลยีการพัฒนาภาพ ซึ่งสามารถลดเวลาในการพัฒนาได้อย่างมาก ในขณะที่ยังคงรักษาคุณภาพที่ดีและความน่าเชื่อถือของผลิตภัณฑ์ซอฟต์แวร์ โครงสร้างภาษาของ Delphi ช่วยให้คุณหลีกเลี่ยงข้อผิดพลาดที่ซ่อนอยู่

คุณสมบัติของตระกูล Delphi 7:

*สภาพแวดล้อมการพัฒนาแอปพลิเคชันที่รวดเร็วซึ่งรวมเครื่องมือสำหรับการสร้างแบบจำลองการพัฒนาและการปรับใช้แอปพลิเคชันอีคอมเมิร์ซและบริการบนเว็บ

*รองรับภาษาการเขียนโปรแกรมสำหรับ Win32 (Delphi และ C/C++) และ .NET (Delphi และ C#) ในสภาพแวดล้อมการพัฒนาเดียว ซึ่งทำให้ง่ายต่อการบำรุงรักษาและสร้างแอปพลิเคชัน Win32 ใหม่ และเชี่ยวชาญเทคโนโลยี .NET ได้ง่ายขึ้น

*โอกาสสำหรับนักพัฒนา Windows และ Java แบบดั้งเดิมในการพัฒนาแอปพลิเคชัน .NET โดยไม่ต้องละทิ้งเครื่องมือที่ใช้ โดยคงทักษะเดิม และใช้แนวคิดการเขียนโปรแกรมที่คล้ายคลึงกัน

*ระบบเทมเพลตโค้ดใหม่และนวัตกรรมอื่น ๆ ในสภาพแวดล้อมการพัฒนาช่วยปรับปรุงการทำงานกับซอร์สโค้ดในเชิงคุณภาพและเพิ่มผลผลิตในการพัฒนา

Microsoft SQL Server 2000 เป็นฐานข้อมูลที่สมบูรณ์และการวิเคราะห์ข้อมูลสำหรับการสร้างโซลูชันอีคอมเมิร์ซที่ปรับขนาดได้ แอปพลิเคชันทางธุรกิจ และคลังข้อมูลอย่างรวดเร็ว

ช่วยลดเวลาในการออกสู่ตลาดสำหรับโซลูชันเหล่านี้ได้อย่างมาก ขณะเดียวกันก็ให้ความสามารถในการขยายขนาดเพื่อตอบสนองความต้องการที่มีความต้องการมากที่สุด

แพ็คเกจ Delphi เป็นการต่อยอดมาจากกลุ่มคอมไพเลอร์ภาษาปาสคาลของ Borland Corporation ภาษาปาสคาลเป็นภาษาที่ง่ายมาก และการควบคุมประเภทข้อมูลที่เข้มงวดจะช่วยตรวจจับข้อผิดพลาดตั้งแต่เนิ่นๆ และช่วยให้คุณสร้างโปรแกรมที่เชื่อถือได้และมีประสิทธิภาพได้อย่างรวดเร็ว

การพัฒนาแอปพลิเคชันฐานข้อมูลเป็นหนึ่งในความสามารถที่เป็นที่ต้องการมากที่สุดในสภาพแวดล้อมการเขียนโปรแกรม Delphi พลังและความยืดหยุ่นของ Delphi เมื่อทำงานกับฐานข้อมูลนั้นใช้เคอร์เนลระดับต่ำ - Borland Database Engine (BDE) ส่วนต่อประสานกับโปรแกรมแอปพลิเคชันเรียกว่า Integrated Database Application Programming Interface (IDAPI) BDE ช่วยให้คุณเข้าถึงข้อมูลโดยใช้ทั้งแนวทางการบันทึก (การนำทาง) แบบดั้งเดิมและแนวทางการตั้งค่าที่ใช้ในเซิร์ฟเวอร์ฐานข้อมูล SQL

ไลบรารีอ็อบเจ็กต์ประกอบด้วยชุดขององค์ประกอบภาพที่ทำให้การพัฒนาแอปพลิเคชันสำหรับ DBMS ด้วยสถาปัตยกรรมไคลเอ็นต์-เซิร์ฟเวอร์ง่ายขึ้นอย่างมาก วัตถุห่อหุ้มระดับล่าง - Borland Database Engine

มีชุดส่วนประกอบพิเศษที่รับผิดชอบในการเข้าถึงข้อมูลและส่วนประกอบที่แสดงข้อมูล องค์ประกอบการเข้าถึงข้อมูลช่วยให้คุณสามารถเชื่อมต่อกับฐานข้อมูล เรียกค้น คัดลอกข้อมูล ฯลฯ

ส่วนประกอบการแสดงข้อมูลทำให้คุณสามารถแสดงข้อมูลในรูปแบบของตาราง ฟิลด์ และรายการได้ ข้อมูลที่แสดงอาจเป็นข้อความ กราฟิก หรือรูปแบบอิสระ

ตารางจะถูกบันทึกไว้ในฐานข้อมูล DBMS บางตัวจัดเก็บฐานข้อมูลในรูปแบบของไฟล์แยกกันหลายไฟล์ที่แสดงถึงตาราง (โดยพื้นฐานแล้ว DBMS ในเครื่องทั้งหมด) ในขณะที่บางตัวประกอบด้วยไฟล์เดียวที่มีตารางและดัชนีทั้งหมด (InterBase)

ออบเจ็กต์ฐานข้อมูลของ Delphi เป็นแบบ SQL และรวมพลังเต็มรูปแบบของ Borland Database Engine Delphi ยังมี Borland SQL Link ดังนั้นการเข้าถึงฐานข้อมูล Oracle, Sybase, Informix และ InterBase จึงมีประสิทธิภาพสูง นอกจากนี้ Delphi ยังมีเซิร์ฟเวอร์ Interbase ภายในเพื่อให้สามารถพัฒนาแอปพลิเคชันแบบออฟไลน์และสามารถขยายไปยังเซิร์ฟเวอร์ SQL ภายนอกได้

ความสามารถในการปรับขนาดในทางปฏิบัติ - แอปพลิเคชันเดียวกันสามารถใช้กับตัวเลือกไคลเอนต์เซิร์ฟเวอร์ทั้งในพื้นที่และที่ร้ายแรงกว่า

แม้ว่า Delphi จะไม่มีรูปแบบตารางฐานข้อมูลเป็นของตัวเอง แต่ก็ยังให้การสนับสนุนที่มีประสิทธิภาพสำหรับ DBMS ที่แตกต่างกันจำนวนมาก - ทั้งแบบโลคัล (เช่น dBase หรือ Paradox) และเชิงอุตสาหกรรม (เช่น Sybase หรือ InterBase)

มาสร้างแอปพลิเคชันฐานข้อมูลอย่างง่ายที่แสดงข้อมูลจากตาราง "นักท่องเที่ยว" และบันทึกตาราง "ข้อมูลนักท่องเที่ยว" จากฐานข้อมูล Microsoft Access ที่เชื่อมโยงกับบันทึกปัจจุบันของตาราง "นักท่องเที่ยว"

ในการดำเนินการนี้ มาสร้างแอปพลิเคชัน Windows เปล่ากัน รูปลักษณ์สิ่งแวดล้อม

พัฒนาการดังแสดงในรูปที่ 39

ข้าว. 39. ใบสมัครเปล่า

รูปที่ 39 เน้นกลุ่มองค์ประกอบ “ข้อมูล” ซึ่งประกอบด้วยส่วนประกอบสำหรับการเข้าถึงและจัดการข้อมูล

การเชื่อมโยงข้อมูลฐานข้อมูลเข้ากับแบบฟอร์มนั้นดำเนินการโดยคอมโพเนนต์ "Binding Source" มาโอนเข้าฟอร์มเลย หลังจากวางลงในแบบฟอร์มแล้ว สภาพแวดล้อมการพัฒนาจะใช้แบบฟอร์มต่อไปนี้ (รูปที่ 40)

ข้าว. 40. ส่วนประกอบ Binding Source ในแบบฟอร์ม

ส่วนประกอบไม่สามารถมองเห็นได้ ดังนั้นจึงแสดงในแผงเพิ่มเติม คุณสมบัติหลักของส่วนประกอบคือคุณสมบัติ DataSource ซึ่งชี้ไปยังแหล่งข้อมูล ตามค่าเริ่มต้น คุณสมบัติจะว่างเปล่า ดังนั้นคุณต้องกำหนดค่าของมัน เมื่อคุณเลือกคุณสมบัตินี้ในหน้าต่างคุณสมบัติ หน้าต่างต่อไปนี้จะปรากฏขึ้น (รูปที่ 41)

ข้าว. 41. รายการแหล่งข้อมูล

ขณะนี้รายการว่างเปล่า ดังนั้นคุณต้องสร้างแหล่งข้อมูลใหม่โดยการเลือกคำสั่ง เพิ่มแหล่งข้อมูลโครงการ เพื่อสร้างแหล่งข้อมูลใหม่และเชื่อมต่อกับแหล่งข้อมูลนั้น กล่องโต้ตอบต่อไปนี้จะปรากฏขึ้น (รูปที่ 42)

ข้าว. 42. รายการแหล่งข้อมูล

กล่องโต้ตอบนี้มีตัวเลือกแหล่งข้อมูลดังต่อไปนี้:

ฐานข้อมูล - ฐานข้อมูล;

บริการ - บริการคือบริการบางอย่างที่ให้ข้อมูล ส่วนใหญ่มักเป็นบริการบนเว็บ

วัตถุ - วัตถุสำหรับเลือกวัตถุที่จะสร้างข้อมูลและวัตถุที่จะทำงานร่วมกับมัน

ในกรณีของเรา คุณต้องเลือกรายการ "ฐานข้อมูล" หน้าต่างสำหรับเลือกการเชื่อมต่อข้อมูลจะปรากฏขึ้น (รูปที่ 43)

ข้าว. 43. การเลือกการเชื่อมต่อข้อมูล

วัตถุประสงค์ของกล่องโต้ตอบนี้คือการสร้างสตริงการเชื่อมต่อที่จะอธิบายพารามิเตอร์การเชื่อมต่อสำหรับกลไก ADO เช่นประเภทฐานข้อมูล ตำแหน่งที่ตั้ง ชื่อผู้ใช้ คุณลักษณะด้านความปลอดภัย ฯลฯ

รายการแบบเลื่อนลงของกล่องโต้ตอบประกอบด้วยการเชื่อมต่อที่สร้างไว้ก่อนหน้านี้ทั้งหมด หากการเชื่อมต่อที่จำเป็นไม่อยู่ในรายการ คุณควรใช้ปุ่ม "การเชื่อมต่อใหม่" การกดปุ่มจะทำให้กล่องโต้ตอบต่อไปนี้ปรากฏขึ้น (รูปที่ 44)

ในกล่องโต้ตอบนี้ ให้คุณเลือกประเภทแหล่งข้อมูล (ในกรณีนี้คือ Microsoft Access) ชื่อฐานข้อมูล (ในกรณีนี้คือชื่อและตำแหน่งของไฟล์ฐานข้อมูล) และชื่อผู้ใช้และรหัสผ่านที่ใช้เชื่อมต่อกับฐานข้อมูล ปุ่ม "ขั้นสูง" ช่วยให้คุณตั้งค่าพารามิเตอร์จำนวนมากที่เกี่ยวข้องกับส่วนต่าง ๆ ของกลไก ADO การใช้ปุ่ม "ทดสอบการเชื่อมต่อ" จะช่วยให้แน่ใจว่าพารามิเตอร์ที่ป้อนนั้นถูกต้องและการเชื่อมต่อใช้งานได้

ข้าว. 44. การสร้างการเชื่อมต่อใหม่

ขั้นตอนสุดท้ายของการสนทนาคือการเลือกตารางหรือวัตถุฐานข้อมูลอื่นๆ ที่จำเป็นในแหล่งข้อมูลนี้ หน้าต่างการเลือกจะแสดงในรูปที่ 45

ข้าว. 45. การเลือกตารางที่จำเป็น

ในหน้าต่างนี้ ตาราง "นักท่องเที่ยว" และ "ข้อมูลนักท่องเที่ยว" จะถูกเลือก เนื่องจากไม่มีการสร้างออบเจ็กต์อื่นนอกจากตารางในฐานข้อมูล จึงแสดงเฉพาะตารางในรูปที่ 45 นี่เป็นการสิ้นสุดการสร้างแหล่งข้อมูล หลังจากคลิกปุ่ม "เสร็จสิ้น" ส่วนประกอบชุดข้อมูลจะปรากฏขึ้นถัดจากส่วนประกอบ BindingSource บนแบบฟอร์ม

ตอนนี้ข้อมูลที่เชื่อมต่อด้านบนจะต้องแสดงบนแบบฟอร์ม วิธีที่ง่ายที่สุดในการแสดงข้อมูลคือการใช้ส่วนประกอบ DataGridView จากกลุ่มส่วนประกอบข้อมูล ส่วนประกอบเป็นภาพและมีลักษณะเช่นนี้ในแบบฟอร์ม (รูปที่ 46)

ข้าว. 46. ​​​​ส่วนประกอบ DataGridView

หน้าต่างการตั้งค่าส่วนประกอบจะปรากฏขึ้นทันทีซึ่งกำหนดความสามารถในการแก้ไขข้อมูล: "เปิดใช้งานการเพิ่ม", "เปิดใช้งานการแก้ไข", "เปิดใช้งานการลบ"; ความสามารถในการเปลี่ยนลำดับของคอลัมน์: “ เปิดใช้งานความสามารถในการเปลี่ยนลำดับของคอลัมน์” (“ เปิดใช้งานการเรียงลำดับคอลัมน์ใหม่”); รวมถึงความสามารถในการแนบไปกับคอนเทนเนอร์หลักด้วย

เพื่อให้ส่วนประกอบแสดงข้อมูล คุณต้องเลือกแหล่งข้อมูลในรายการแบบเลื่อนลง การเลือกรายการแบบเลื่อนลงจะทำให้กล่องโต้ตอบต่อไปนี้ปรากฏขึ้น (รูปที่ 47)

ข้าว. 47. การเลือกแหล่งข้อมูลสำหรับ DataGridView

ในกรณีนี้ เราเลือกตาราง "นักท่องเที่ยว" เป็นแหล่งข้อมูล การเลือกนี้จะเปลี่ยนรูปแบบหน้าจอดังนี้ (รูปที่ 48)

ข้าว. 48. องค์ประกอบ DataGridView แสดงโครงสร้างตาราง

รูปภาพแสดงให้เห็นว่าองค์ประกอบ BindingSource อื่นปรากฏขึ้นและส่วนประกอบ TableAdapter ที่ทำงานร่วมกับตาราง "นักท่องเที่ยว" โปรดทราบว่าในช่วงเวลาออกแบบหรือระหว่างกระบวนการพัฒนา ข้อมูลจากตารางจะไม่แสดง

ตอนนี้คุณต้องแสดงข้อมูลจากตารางที่เชื่อมโยง "ข้อมูลการท่องเที่ยว" เมื่อต้องการทำเช่นนี้ ให้วางส่วนประกอบ DataGridView อื่นบนแบบฟอร์ม และเลือกแหล่งข้อมูลต่อไปนี้เป็นแหล่งข้อมูล (รูปที่ 49)

ข้าว. 49. การเลือกแหล่งข้อมูลสำหรับ DataGridView ที่สอง

ในที่นี้ แหล่งข้อมูลไม่ใช่ตาราง "ข้อมูลนักท่องเที่ยว" แต่เป็นการเชื่อมโยง (Binding Source) ระหว่างตาราง "นักท่องเที่ยว" และ "ข้อมูลนักท่องเที่ยว" การเลือกนี้ช่วยให้แน่ใจว่ามีการเลือกเฉพาะแถวจากตารางข้อมูลนักท่องเที่ยวที่เกี่ยวข้องกับแถวปัจจุบันในตารางนักท่องเที่ยวเท่านั้น ตัวเลือกนี้ยังช่วยให้แน่ใจว่าข้อมูลที่เกี่ยวข้องได้รับการอัปเดตและลบอย่างถูกต้อง การทำงานของแอปพลิเคชันผลลัพธ์จะแสดงในรูปที่ 50

ข้าว. 50. การประยุกต์ฐานข้อมูลในที่ทำงาน

การนำทางผ่านข้อมูลโดยใช้ปุ่มลูกศรนั้นไม่สะดวก เพื่อให้การนำทางข้อมูลง่ายขึ้น มีคอมโพเนนต์ BindingNavigator มาวางไว้บนแบบฟอร์มกันเถอะ (รูปที่ 51)

ข้าว. 51. ส่วนประกอบ BindingNavigator บนแบบฟอร์ม

ส่วนประกอบนี้ช่วยให้คุณสามารถนำทางระหว่างบันทึกตาราง เพิ่มและลบแถวของตารางได้ ฟังก์ชันการทำงานและรูปลักษณ์ของส่วนประกอบสามารถปรับแต่งได้เนื่องจากเป็นแถบเมนู ToolStripContainer

คุณสมบัติที่กำหนดตารางที่ใช้นำทางคือคุณสมบัติ BindingSource มาตั้งค่าของคุณสมบัตินี้เป็น "touristsBindingSource" ในการใช้งานส่วนประกอบจะมีลักษณะดังนี้ (รูปที่ 52)

ข้าว. 52. ส่วนประกอบ BindingNavigator ในที่ทำงาน

การแก้ไขข้อมูลในเซลล์ของส่วนประกอบ DataGridView ด้วยการตั้งค่าที่เหมาะสมเป็นไปได้ แต่ไม่สะดวกและไม่มีเหตุผล โดยเฉพาะอย่างยิ่งเป็นการยากที่จะตรวจสอบข้อผิดพลาดของค่าที่ป้อน ดังนั้นสำหรับตาราง "นักท่องเที่ยว" เราจะสร้างแบบฟอร์มหน้าจอที่ให้คุณแสดงข้อมูลในส่วนประกอบกล่องข้อความและแก้ไขได้ เมื่อต้องการทำเช่นนี้ ให้วางคอนเทนเนอร์ประเภทแผงบนแบบฟอร์ม และส่วนประกอบกล่องข้อความสามส่วนดังต่อไปนี้ (รูปที่ 53)

ข้าว. 53. แผงหน้าจอสำหรับแก้ไขรายการในตาราง "นักท่องเที่ยว"

ตอนนี้คุณต้องผูกส่วนประกอบกล่องข้อความกับฟิลด์ที่เกี่ยวข้องของตาราง "นักท่องเที่ยว" ในการดำเนินการนี้ เราใช้คุณสมบัติจากกลุ่ม DataBindings - Advanced ดังแสดงในรูปที่ 54

ข้าว. 54. คุณสมบัติ “DataBindings - ขั้นสูง”

การเลือกคุณสมบัตินี้จะนำไปสู่ลักษณะที่ปรากฏของกล่องโต้ตอบที่แสดงในรูปที่ 55 กล่องโต้ตอบนี้ช่วยให้คุณไม่เพียงแต่ผูกข้อมูลเท่านั้น แต่ยังรวมถึงการตั้งค่าเหตุการณ์ที่ข้อมูลจะได้รับการอัปเดตตลอดจนการจัดรูปแบบข้อมูลเมื่อส่งออกข้อมูล

สำหรับส่วนประกอบกล่องข้อความด้านบน ในรายการดรอปดาวน์การเชื่อมโยง ให้เลือก "touristsBmdmgSource" เป็นแหล่งข้อมูลและช่องแหล่งที่มาเป็น "นามสกุล" สำหรับส่วนประกอบกล่องข้อความตรงกลางและด้านล่าง ให้เลือกแหล่งข้อมูลเดียวกันและช่อง "ชื่อ" และ "ชื่อบิดามารดา" ตามลำดับ

แอปพลิเคชันที่พัฒนาขึ้นในการใช้งานมีลักษณะดังนี้ (รูปที่ 56)

ข้าว. 55. หน้าต่างโต้ตอบสำหรับคุณสมบัติ “DataBindings - Advanced”

ข้าว. 56. การเชื่อมโยงข้อมูลกับองค์ประกอบภาพ

อย่างไรก็ตาม เมื่อมีการเปลี่ยนแปลง ข้อมูลใหม่ทั้งหมดจะยังคงอยู่ในแบบฟอร์มเท่านั้น พวกเขาจะไม่ถูกบันทึกไว้ในฐานข้อมูล และเมื่อมีการเรียกแอปพลิเคชันอีกครั้ง แอปพลิเคชันเหล่านั้นจะหายไปแน่นอน เหตุการณ์นี้เกิดขึ้นเนื่องจากมีการโหลดข้อมูลลงในวัตถุชุดข้อมูล ซึ่งเป็นสำเนาในหน่วยความจำของตาราง การดำเนินการทั้งหมดดำเนินการกับสำเนานี้ เพื่อให้การเปลี่ยนแปลงปรากฏในฐานข้อมูล คุณต้องดำเนินการวิธีการอัปเดตของคลาส TableAdapter ดังนั้นในแอปพลิเคชันที่กำลังพัฒนาจำเป็นต้องวางปุ่ม "อัปเดต" และเขียนโค้ดโปรแกรมต่อไปนี้ในตัวจัดการเหตุการณ์คลิก:

นักท่องเที่ยวTableAdapterUpdate (bDTur_firmDataSet); information_about_touristsTableAdapter.Update (bDTur_firmDataSet);

รหัสนี้จะอัปเดตข้อมูลในตารางข้อมูลนักท่องเที่ยวและนักท่องเที่ยวที่จัดทำโดยแหล่งข้อมูล โปรดทราบว่าวิธีนี้มีการใช้งานมากเกินไป และเวอร์ชันต่างๆ ช่วยให้คุณสามารถอัปเดตทั้งแถวของตารางเดี่ยวและกลุ่มแถวได้

ดังที่ได้กล่าวไว้ข้างต้น การใช้ส่วนประกอบพิเศษอย่างถูกต้องจะทำให้มีประสิทธิภาพเกือบจะอยู่ในระดับเดียวกับการเรียก API ของ DBMS ที่เลือก ในความคิดของฉัน การใช้ API นั้นมีความสมเหตุสมผลในกรณีที่ไม่ค่อยเกิดขึ้น เมื่อความสามารถของส่วนประกอบเฉพาะสำหรับการพัฒนายังไม่เพียงพอ แม้ว่าจะไม่น่าเป็นไปได้อย่างยิ่ง หรือหากส่วนประกอบดังกล่าวไม่พร้อมใช้งานสำหรับแพลตฟอร์มที่กำลังดำเนินการพัฒนา ออกไป (ดวงอาทิตย์โซลาริส) การสร้างแบบสอบถามไปยังฐานข้อมูล เมื่อเลือกกลยุทธ์การเข้าถึงข้อมูลและตัดสินใจเกี่ยวกับสถาปัตยกรรมแอปพลิเคชันแล้ว เราก็สามารถหันมาสนใจว่าเราจะใช้งานมันอย่างไร กฎหลักคือ ยิ่งคุณร้องขอข้อมูลจากเซิร์ฟเวอร์น้อยลงเท่าใด แอปพลิเคชันของคุณก็จะทำงานเร็วขึ้นเท่านั้น แน่นอนว่า การขอข้อมูลที่น้อยกว่าที่ผู้ใช้ต้องการดูในคราวเดียวนั้นไม่มีเหตุผล ดังนั้นคำถามแรกควรเป็น “ข้อมูลใดบ้างที่จำเป็นสำหรับแต่ละโมดูลของระบบ” นักพัฒนาที่ย้ายจากฐานข้อมูลเดสก์ท็อปจำเป็นต้องเอาชนะมุมมองฐานข้อมูลแบบตาราง ฐานข้อมูล InterBase มีตารางอย่างไม่ต้องสงสัย แต่เมื่อคุณออกแบบโปรแกรม คุณจะไม่เห็นโปรแกรมเหล่านั้น คุณจะเห็นเพียงผลลัพธ์ของการดำเนินการค้นหา SQL เท่านั้น แน่นอน คุณสามารถเขียนแบบสอบถามที่ส่งคืนระเบียนทั้งหมดจากตารางได้ (อย่างน้อยระเบียนที่มองเห็นได้จากธุรกรรมที่กำหนด):

เลือก * จาก SOME_TABLE

แต่ในกรณีส่วนใหญ่ คำขอดังกล่าวจะส่งคืนข้อมูลอย่างมีนัยสำคัญมากกว่าที่จำเป็นสำหรับการดำเนินการที่เหมาะสมที่สุดของอินเทอร์เฟซผู้ใช้และการประมวลผลกระบวนการทางธุรกิจ อย่างไรก็ตาม แบบสอบถามดังกล่าวไม่ได้ใช้คุณสมบัติ InterBase/Firebird ที่มีประโยชน์ เช่น ความสามารถในการเข้าร่วม (เข้าร่วม) และเรียงลำดับ (เรียงลำดับตาม) ชุดข้อมูลที่ได้

ขอข้อมูลน้อยลง - รับความเร็วมากขึ้น คุณอาจไม่จำเป็นต้องใช้คอลัมน์ทั้งหมดของตารางเพื่อทำงานบางอย่างในโปรแกรมของคุณ ที่จริงแล้ว คุณไม่ควรใช้เครื่องหมาย "*" บ่อยครั้งในแบบสอบถามแบบใช้เลือกข้อมูล ควรใช้การแจงนับฟิลด์โดยตรงจะดีกว่า วิธีการนี้ขึ้นอยู่กับข้อเท็จจริงที่ว่าแม้ว่าฉันต้องการคอลัมน์ทั้งหมดของตาราง แต่ฉันไม่ต้องการคอลัมน์ของตารางที่จะถูกเพิ่มในอนาคตเมื่อฉันดำเนินการในส่วนนี้ของโปรแกรมเสร็จแล้ว การกำหนดคอลัมน์เฉพาะในการสืบค้นช่วยให้แน่ใจว่าฉันได้รับเฉพาะคอลัมน์ที่ฉันประกาศในการสืบค้น แม้ว่าโครงสร้างตารางจะพัฒนาต่อไปก็ตาม ในทำนองเดียวกัน แม้ว่าผู้ใช้ต้องการแต่ละเรกคอร์ดในตารางจริงๆ เขาก็ไม่จำเป็นต้องดูทั้งหมดในคราวเดียว ผู้ใช้อาจไม่สะดวกอย่างยิ่งในการค้นหาฟิลด์ที่อยู่ตรงกลางตารางข้อมูลในตารางที่มีจำนวนเรกคอร์ดสูงกว่าค่าเฉลี่ย สมมติว่าถ้าคุณมีมากกว่า 100 เรกคอร์ดในตาราง คุณควรคิดอย่างรอบคอบเกี่ยวกับการออกแบบแอปพลิเคชันของคุณ
ทั้งหมดนี้เดือดลงไปเพื่ออะไร? สิ่งสำคัญคือ ยิ่งคุณร้องขอและส่งข้อมูลน้อยลง แอปพลิเคชันของคุณก็จะทำงานได้เร็วยิ่งขึ้น แม้บนเครือข่ายที่มีความเร็วไม่สูงมากก็ตาม ต่อไปนี้เป็นเทคนิคที่เป็นประโยชน์บางประการที่คุณสามารถใช้เพื่อลดปริมาณข้อมูลที่คุณเลือกได้

มอบเครื่องมือที่ดีแก่ผู้ใช้เพื่อค้นหาบันทึกที่เขาสนใจ หากรายการมีขนาดใหญ่เกินกว่าจะแสดงในรูปแบบเดียวที่ต่อเนื่องกัน ให้แบ่งรายการออกเป็นหน้าตรรกะ โดยจัดตารางด้วยตัวอักษรตัวแรกจาก A ถึง Z หากในกรณีนี้รายการยาวเกินไป ให้จัดเตรียมเครื่องมือกรองข้อมูลที่มีประสิทธิภาพแก่ผู้ใช้เพื่อจำกัดชุดเรคคอร์ดผลลัพธ์ให้แคบลง หากต้องการใช้การค้นหาข้อมูลในแอปพลิเคชัน คุณสามารถใช้วิธีการที่ใช้ในการค้นหาหน้าเว็บได้ เมื่อผู้ใช้ได้รับชุดเรกคอร์ด แม้ว่าจะมีขนาดค่อนข้างเล็ก แต่ก็เพียงพอที่จะใช้คีย์ฟิลด์หนึ่งหรือสองฟิลด์เพื่อสร้างตัวกรองคิวรี ปล่อยให้แอปพลิเคชันมีหน้าต่างแยกต่างหากหรือส่วนหนึ่งของหน้าต่างซึ่งผู้ใช้สามารถดูข้อมูลทั้งหมดในบันทึกได้หากพบสิ่งที่ต้องการ ลองใช้การรวมตาราง (JOIN) ในแบบสอบถามแทนการค้นหาฟิลด์ในแบบฟอร์มทุกครั้งที่เป็นไปได้ แม้ว่าจะเป็นไปได้ที่จะปรับการทำงานของ TDataset ให้เหมาะสมที่สุด ค้นหา แม้ว่าวิธีที่ปรับปรุงแล้วนี้จะไม่ทำงานเร็วกว่าการรวมตาราง (JOIN) - คุณไม่จำเป็นต้องพูดถึงการทำงานของวิธีที่ไม่ได้แก้ไขเลย



มีคำถามหรือไม่?

แจ้งการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: