อ่าน 4 นาที
ดาต้าฟอร์
Dataphor เป็น ระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์ส( RDBMS ) และเทคโนโลยีส่วนติดต่อผู้ใช้ที่เกี่ยวข้อง...
ดาต้าฟอร์
| ดาต้าฟอร์ | |
|---|---|
| ปล่อย | 2001 |
| เวอร์ชันเสถียร | 3.0 / กุมภาพันธ์ 2555 |
| เขียนเป็น | ซี# |
| แพลตฟอร์ม | .NET Framework |
| พิมพ์ | เซิร์ฟเวอร์ฐานข้อมูล |
| ใบอนุญาต | บีเอสดี |
| เว็บไซต์ | alpora.com/dataphor |
Dataphor เป็น ระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์ส( RDBMS ) และเทคโนโลยีส่วนติดต่อผู้ใช้ที่เกี่ยวข้อง ซึ่งทั้งหมดนี้ออกแบบมาเพื่อรองรับการพัฒนาแอปพลิเคชันซอฟต์แวร์แบบประกาศ (declarative) ได้อย่างมีประสิทธิภาพสูง เซิร์ฟเวอร์ Dataphor มีกลไกการจัดเก็บข้อมูลของตัวเอง หรืออาจเป็นระบบจัดการฐานข้อมูลเสมือน หรือแบบรวมศูนย์ (federated DBMS) ซึ่งหมายความว่าสามารถใช้กลไกฐานข้อมูลอื่นๆ ในการจัดเก็บข้อมูลได้
Dataphor ได้รับการยกย่องในเรื่องการยึดมั่นในหลักการเชิงสัมพันธ์ ซึ่งมีความใกล้ชิดมากกว่าผลิตภัณฑ์ SQL ใดๆ[ 1 ]
ภาพรวม
จุดประสงค์ที่ระบุไว้ของ Dataphor คือการพยายามยกระดับมาตรฐานของระบบอัตโนมัติในการสร้างและบำรุงรักษาแอปพลิเคชันซอฟต์แวร์ที่ซับซ้อน เดิมทีเรียกว่าเป็นเฟรมเวิร์ก แต่ Dataphor นั้นเป็นมากกว่าแพลตฟอร์มการพัฒนาซอฟต์แวร์ โดยมีรูปแบบการเขียนโปรแกรมและส่วนติดต่อผู้ใช้เป็นของตัวเอง
Dataphor แบ่งออกเป็นสองส่วนหลักๆ คือ Dataphor Server และ Dataphor Frontend หน้าที่ของ Dataphor Server คือการจัดหาภาษาและรันไทม์มาตรฐานสำหรับการกำหนด การจัดการ และความสมบูรณ์ของข้อมูลแอปพลิเคชัน ส่วน Frontend เกี่ยวข้องกับการสร้างส่วนติดต่อผู้ใช้แบบไดนามิกและการแสดงผลบนไคลเอ็นต์แบบบาง (thin client) ทั้งในระบบ Windows หรือบนเว็บ
Dataphor ไม่ได้ใช้SQLเป็นภาษาฐานข้อมูลหลัก เนื่องจาก SQL นั้นขัดกับหลักการสำคัญของแบบจำลองเชิงสัมพันธ์ ภาษา D4ของ Dataphor นั้นอิงตามหลักการของ Tutorial D ที่พัฒนาโดย Christopher J DateและHugh Darwenแต่มีไวยากรณ์แบบคำสั่งคล้ายกับภาษา Pascal
แม้ว่า Dataphor จะอ้างว่าเป็นระบบฐานข้อมูลเชิงสัมพันธ์อย่างแท้จริง แต่ก็ยังคงใช้แนวคิดเรื่องค่าNULLเหมือนใน SQL ซึ่งหลายคนมองว่าขัดแย้งกับแบบจำลองเชิงสัมพันธ์ อย่างไรก็ตาม เรื่องค่า NULL และการจัดการข้อมูลที่ขาดหายไปยังคงเป็นหัวข้อถกเถียงกันอยู่
นอกเหนือจากการมุ่งเน้นด้านการจัดการข้อมูลของ Dataphor Server แล้ว Dataphor ยังมีเครื่องมือที่ช่วยให้สามารถแสดงส่วนติดต่อผู้ใช้ผ่านทางไคลเอ็นต์แบบ "บาง" บน Windows และเว็บได้ Dataphor ใช้ประโยชน์จากความสามารถในการอนุมานเชิงสัมพันธ์ของคอมไพเลอร์ Dataphor เพื่อให้สามารถ สร้างแบบฟอร์ม GUI ที่สมบูรณ์ได้ โดยตรงจากแบบจำลองข้อมูล คุณลักษณะเฉพาะของการ "สร้าง" ส่วนติดต่อผู้ใช้ของ Dataphor คือสามารถอิงตามนิพจน์เชิงสัมพันธ์ (แบบสอบถาม) ใดๆ ก็ได้ แทนที่จะใช้เพียงตารางพื้นฐานเท่านั้น
ความสัมพันธ์ที่แท้จริง
Dataphor มุ่งมั่นที่จะปฏิบัติตามหลักการเชิงสัมพันธ์ตามทฤษฎี แม้ว่าพวกเขาจะพยายามยึดมั่นในหลักการใน The Third Manifesto แต่พวกเขาก็เบี่ยงเบนไปจากสิ่งที่ The Third Manifesto มุ่งมั่นในบางจุด แต่ไม่ใช่ในจุดที่ละเมิดกฎ 12 ข้อของ Codd ตัวอย่าง เช่น พวกเขารวมค่าว่างไว้ด้วย แต่พวกเขาอ้างว่ามีการจัดการค่าว่างอย่างเป็นระบบ[ 2 ]
ในขณะที่ระบบจำนวนมากที่สร้างขึ้นบน SQL ล้มเหลวอย่างสิ้นเชิงในเรื่องกฎข้อที่ 9 ของ Codd เรื่อง "ความเป็นอิสระของข้อมูลเชิงตรรกะ" แอปพลิเคชันของ Dataphor สามารถเปลี่ยนแปลงได้โดยอัตโนมัติเมื่อเลเยอร์เชิงตรรกะเปลี่ยนแปลง ตัวอย่างเช่น เมื่อมีการเพิ่มคอลัมน์ใหม่ลงในระบบ ไม่จำเป็นต้องมีการพัฒนาเพิ่มเติมเพื่อให้คอลัมน์นั้นเป็นฟิลด์ใหม่ที่ผู้ใช้สามารถดูหรือแก้ไขได้
ความคิดเห็นของผู้เชี่ยวชาญเกี่ยวกับ Dataphor
Hugh Darwenได้กล่าวถึง D4 ว่าเป็นโครงการที่น่าสนใจในการบรรยายของเขาในหัวข้อThe Askew Wall [ 3 ] Chris Dateกล่าวถึง Dataphor ว่าเป็นผลิตภัณฑ์ที่พยายามนำเอา Third Manifesto มาใช้[ 4 ] Fabian Pascalเรียก Dataphor ว่า "เป็นเชิงสัมพันธ์อย่างแท้จริง" [ 5 ]และ "เหนือกว่า SQL" [ 1 ]
ประวัติศาสตร์
ในปี 1999 บริษัท Softwise Inc.ผู้พัฒนาโปรแกรมระบบขายหน้าร้านพบว่าตนเองเขียนโค้ดแบบเดิมซ้ำแล้วซ้ำเล่า และมองหาเครื่องมือที่จะช่วยทำให้แอปพลิเคชันฐานข้อมูลทำงานโดยอัตโนมัติ แต่ไม่พบแอปพลิเคชันใดที่ตรงกับความต้องการ จึงได้ก่อตั้งแผนกใหม่ขึ้นมาชื่อว่า Alphora และมอบหมายให้นักพัฒนาบางส่วนสร้างเครื่องมือดังกล่าวขึ้นมา เครื่องมือนั้นก็คือ Dataphor นั่นเอง กล่าวกันว่าเป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational DBMS) ตัวแรกอย่างแท้จริงนับตั้งแต่IBM Business System 12การพัฒนา Dataphor เริ่มขึ้นก่อนปี 2000 เล็กน้อย โดยมีการเปิดตัวเวอร์ชัน 1.0 ในปี 2001
ในช่วงต้นปี 2551 ชื่อ Alphora และผลิตภัณฑ์ Dataphor ถูกซื้อกิจการโดยDatabase Consulting Groupซึ่งก่อตั้งโดยสถาปนิกดั้งเดิมของ Dataphor ที่ออกจาก Softwise ในปี 2550 หลังจากซื้อกิจการแล้ว Dataphor ได้รับการอนุญาตให้ใช้งานแบบโอเพนซอร์สภายใต้ใบอนุญาต BSD
เทคโนโลยี
Dataphor ใช้เฟรมเวิร์ก Microsoft .NET และเขียนขึ้นทั้งหมดด้วยภาษา C# ต่อไปนี้คือสรุปส่วนประกอบทางเทคโนโลยีต่างๆ ของ Dataphor:
เซิร์ฟเวอร์ดาต้าฟอร์
เซิร์ฟเวอร์ Dataphor ประกอบด้วยส่วนประกอบหลายอย่าง ได้แก่:
- อินเทอร์เฟซระดับการโทร - การจัดการเซสชัน ตัวกำหนดตารางเวลาการประมวลผล ฯลฯ
- แคตตาล็อกพจนานุกรมข้อมูล - ประกอบด้วยตาราง มุมมอง ตัวดำเนินการ ข้อจำกัด การอ้างอิง และวัตถุสคีมาอื่นๆ ทั้งหมด
- D4 ประกอบด้วยฟังก์ชันสแกนเนอร์, ตัวแยกวิเคราะห์, ตัวสร้างข้อมูล และตัวคอมไพเลอร์
- D4 Runtime - รวมถึงการประมวลผลเชิงสัมพันธ์และเชิงสเกลาร์
- เลเยอร์การผสานรวมการจัดเก็บข้อมูล - การแปลงแบบเรียลไทม์เป็นภาษา SQL หลากหลายรูปแบบ
ภาษา
แม้ว่า Dataphor จะรองรับ SQL เวอร์ชันที่เรียกว่า "RealSQL" [ 6 ]แต่ D4 ก็เป็นภาษาที่นิยมใช้ภายใน Dataphor โดย D4 รองรับ คำสั่ง DDLและDMLแบบสอบถาม D4 มักจะมีลักษณะคล้าย นิพจน์ พีชคณิตเชิงสัมพันธ์ที่มีชื่อตัวดำเนินการเขียนไว้ ตัวอย่างเช่น:
| คำสั่ง SQL | คำแถลง D4 ที่เทียบเท่า |
|---|---|
SELECT*FROMUser | เลือกผู้ใช้ |
SELECT*FROMUserNATURALJOINDepartment | เลือกผู้ใช้เข้าร่วมแผนก |
SELECTDISTINCTNameFROMUser | เลือกผู้ใช้จาก {ชื่อ} |
ไวยากรณ์
D4 มี ไวยากรณ์คล้ายกับ ภาษา Pascalโค้ดตัวอย่างของ D4 มักเขียนด้วยรูปแบบ UpperCamelCaseซึ่งเป็นรูปแบบที่ใช้กันอย่างแพร่หลายในระบบ Pascal และ Delphi เช่นกัน
เช่นเดียวกับภาษาเขียนโปรแกรมสอบถามข้อมูลส่วนใหญ่ D4 มีภาษาสำหรับกำหนดโครงสร้างข้อมูล (DDL) และภาษาสำหรับจัดการข้อมูล (DML) นอกจากนี้ D4 ยังมี ภาษา เชิงคำสั่งสำหรับเขียนโค้ดแบบ ขั้นตอนอีกด้วย
ภาษานิยามข้อมูล
DDL ของ Dataphor มีความคล้ายคลึงกับ DBMS อื่นๆ หลายประการ แต่ก็มีลักษณะเฉพาะแบบ Pascal อย่างเห็นได้ชัด การดำเนินการ DDL ที่อนุญาตหลายอย่าง เช่น ข้อจำกัด อนุญาต ให้ใช้คำสั่ง เชิงประกาศแบบสัมพันธ์ ซึ่งหลายคนเชื่อว่าดีกว่าการดำเนินการแบบขั้นตอนที่ใช้ใน SQL
ภาษาการจัดการข้อมูล
เมื่อมองแวบแรก ไวยากรณ์ DML อาจดูคล้ายกับ ไวยากรณ์ SQLแต่เนื่องจาก D4 มีความเชื่อมโยงกับพีชคณิตเชิงสัมพันธ์ มากกว่า ไวยากรณ์จึงมีคำจำกัดความที่ชัดเจนกว่า และผู้ใช้ส่วนใหญ่จึงชื่นชอบมากกว่า SQL
ภาษาเชิงบังคับ
ภาษาเชิงคำสั่งใน D4 มีความคล้ายคลึงกับภาษาปาสคาลในหลายแง่มุม ความแตกต่างที่สำคัญที่สุดคือ D4 ยังอนุญาตให้เรียกใช้คำสั่ง DDL และ DML ในโค้ดเชิงขั้นตอนปกติได้อีกด้วย
ประวัติศาสตร์
D4 ได้รับการตั้งชื่อตาม Dataphor ซึ่งมีเสียงคล้ายกัน ซึ่งเป็นระบบที่ใช้ภาษาดังกล่าว หลังจากที่ตัดสินใจตั้งชื่อเหล่านี้ได้ระยะหนึ่ง ผู้สร้างก็ได้ค้นพบ Tutorial D และความบังเอิญที่ชื่อนั้นตรงกัน นับตั้งแต่ค้นพบ Tutorial D และ The Third Manifesto ผู้สร้างได้ใช้ The Third Manifesto เป็นแนวทางในการสร้าง Dataphor และ D4 ตั้งแต่นั้นมาHugh Darwenได้กล่าวถึง D4 ว่าเป็นโครงการที่โดดเด่นในการบรรยายเรื่องThe Askew Wall [ 3 ]
เอ็นจิ้นจัดเก็บข้อมูลแบบรวมศูนย์
แม้ว่า Dataphor จะมีระบบจัดเก็บข้อมูลเป็นของตัวเอง แต่ก็สามารถเชื่อมต่อกับระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) อื่นๆ และใช้งานเป็นระบบจัดเก็บข้อมูลได้เช่นกัน Dataphor สามารถใช้ระบบจัดการฐานข้อมูลต่อไปนี้เป็นระบบจัดเก็บข้อมูล:
Dataphor สามารถเข้าถึง Oracle, IBM Db2, Microsoft SQL Server, PostgreSQL, MySQL และเอ็นจิ้นจัดเก็บข้อมูลอื่นๆ ได้ด้วยภาษาเดียวที่เป็นเอกภาพ[ 8 ]
ไลบรารีส่วนหน้า
ไลบรารี Dataphor Frontend ช่วยให้สามารถส่งมอบฟอร์มที่สร้างขึ้นแบบไดนามิกหรือฟอร์มคงที่ที่ออกแบบไว้ล่วงหน้าได้ ไลบรารีนี้ถูกเปิดเผยในรูปแบบของชุดฟังก์ชัน D4 มาตรฐาน (เรียกว่าตัวดำเนินการใน D4) เช่น Form (' library ', ' name ') และ Derive (' D4 expression ', ' form type ') ฟอร์มที่ได้จะถูกอธิบายด้วย ภาษา XMLที่เรียกว่า Dataphor Form Document (DFD) คำอธิบายของฟอร์มนั้นเป็นระดับสูง ประกอบด้วยคำอธิบายทั่วไปเกี่ยวกับแง่มุมของส่วนติดต่อผู้ใช้ตามที่นำไปใช้โดยไม่ขึ้นอยู่กับแพลตฟอร์มไคลเอ็นต์
Dataphoria IDE
Dataphoria คือสภาพแวดล้อมการพัฒนาแบบบูรณาการสำหรับ:
- การแก้ไข D4
- การดำเนินการ D4 แบบเฉพาะกิจ
- การสร้าง แก้ไข และปรับแต่งแบบฟอร์ม (ที่สืบทอดมา)
- การจัดการห้องสมุด
- การวิเคราะห์แผนการดำเนินงาน
ไคลเอนต์ Windows
ไคลเอ็นต์ Dataphor สำหรับ Windows เป็นไคลเอ็นต์แบบบาง (thin client)ในแง่ที่ว่าไม่ได้ถูกตั้งโปรแกรมไว้ล่วงหน้าสำหรับแอปพลิเคชันใดแอปพลิเคชันหนึ่งโดยเฉพาะ ไคลเอ็นต์ Windows จะสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ Dataphor จากนั้น (ผ่าน D4) จะร้องขอคำจำกัดความของฟอร์มและประสานงานการจัดการข้อมูลของแอปพลิเคชัน เอกสาร DFD จะถูกตีความเป็นส่วน ควบคุม Windows Forms ที่เป็นรูปธรรม แต่ยังคงรักษาDOM ในเชิงแนวคิด ของ DFD เอาไว้
เว็บไคลเอ็นต์
Dataphor Web Client คือการใช้งานพื้นฐานของไคลเอ็นต์ Dataphor ซึ่งแสดงออกมาในรูปแบบเว็บแอปพลิเคชัน ASP.NET เช่นเดียวกับ Windows Client Web Client จะเชื่อมต่อและร้องขอแบบฟอร์มและข้อมูลจากอินสแตนซ์ของ Dataphor Server อย่างไรก็ตาม แทนที่จะซิงโครไนซ์ DFD กับคอนโทรลของ Windows Web Client จะเรนเดอร์ HTML ซึ่งจะแสดงในเบราว์เซอร์ ด้วยวิธีนี้ Web "Client" จึงเป็นไคลเอ็นต์ที่สัมพันธ์กับ Dataphor Server แต่เป็นเซิร์ฟเวอร์ที่สัมพันธ์กับเว็บเบราว์เซอร์ปลายทาง
ลิงก์ภายนอก
- เว็บไซต์โครงการ Dataphor แบบโอเพนซอร์ส
- Database Consulting Group เจ้าของ Alphora/ Dataphor
- เว็บไซต์ของ Alphora
- ระบบลดสัญญาณเตือนภัยผิดพลาด (FARS) พัฒนาโดย Purvis Gray Technology Group, LLC (purvisgraytechnology.com) โดยใช้ผลิตภัณฑ์ Dataphor ของ Alphora
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ดาต้าฟอร์
Dataphor เป็น ระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์ส( RDBMS ) และเทคโนโลยีส่วนติดต่อผู้ใช้ที่เกี่ยวข้อง...
ภาพรวม
จุดประสงค์ที่ระบุไว้ของ Dataphor คือการพยายามยกระดับมาตรฐานของระบบอัตโนมัติในการสร้างและบำรุงรักษาแอปพลิเคชันซอฟต์แวร์ที่ซับซ้อน เดิมทีเรียกว่าเป็นเฟรมเวิร์ก แต่ Dataphor นั้นเป็นมากกว่าแพลตฟอร์มการพัฒนาซอฟต์แวร์...
ความสัมพันธ์ที่แท้จริง
Dataphor มุ่งมั่นที่จะปฏิบัติตามหลักการเชิงสัมพันธ์ตามทฤษฎี แม้ว่าพวกเขาจะพยายามยึดมั่นในหลักการใน The Third Manifesto แต่พวกเขาก็เบี่ยงเบนไปจากสิ่งที่ The Third Manifesto มุ่งมั่นในบางจุด แต่ไม่ใช่ในจุดที่ละเมิด กฎ 12 ข้อของ Codd ตัวอย่าง เช่น...
ความคิดเห็นของผู้เชี่ยวชาญเกี่ยวกับ Dataphor
Hugh Darwen ได้กล่าวถึง D4 ว่าเป็นโครงการที่น่าสนใจในการบรรยายของเขาในหัวข้อThe Askew Wall [ 3 ] Chris Date กล่าวถึง Dataphor ว่าเป็นผลิตภัณฑ์ที่พยายามนำเอา Third Manifesto มาใช้ [ 4 ] Fabian Pascal เรียก Dataphor ว่า "เป็นเชิงสัมพันธ์อย่างแท้จริง" [ 5 ] และ...