COMP931 題型解析

蝴蝶自由發表於2024-03-14

1-任務11/9截止日期先決條件:逾期罰款:分數:提交:COMP931
1分配1將PersonName資料型別新增到PostgreSQL DBMS實現上次更新時間:2月25日星期日下午9:26最新更改顯示為紅色。。。較舊的變化顯示為棕色。目的本任務旨在讓您瞭解在向PostgreSQL新增新的基本型別的DBMS實踐中如何處理資料。目標是為PostgreSQL實現一種新的資料型別,包括輸入/輸出函式、比較運算子、格式化函式,以及根據該型別的值建立索引的能力。總結星期五13月5日上午11:59開始本次任務前,完成實踐工作P040.0將非常有用

2>任務>助理
1提交>MakeSubmissionor,在CSE機器上,給出cs9315 ass

1 pname.cpname.source在開始工作分配之前,請確保仔細完整地閱讀了此分配規範。如果有問題表明您沒有這樣做,只會得到“請閱讀規範”的回答。我們在下面的討論中使用以下名稱PG_CODE。。。PostgreSQL原始碼所在的目錄(在vxdb上,/localstorage/$USER/PostgreSQL-15.6/)PG_HOME。。。安裝PostgreSQL二進位制檔案的目錄(在vxdb上,/localstorage/$USER/pgsql/bin/)PG_DATA。。。放置PostgreSQL資料的目錄(onvxdb,/localstorage/$USER/pgsql/data/)COMP931

2-課業12/9PG_LOG。。。傳送PostgreSQL日誌輸出的檔案(在vxdb,/localstorage/$USER/pgsql/data/log上)簡介PostgreSQL有一個可擴充套件性模型,它提供了一個完全定義的過程,用於將新的資料型別新增到PostgreSQL伺服器中。這種能力導致PostgreSQL使用者開發了許多型別(如多邊形),這些型別已成為標準分佈的一部分。這也意味著PostgreSQL是研究專案中的首選資料庫,這些專案旨在突破DBMS可以管理的資料型別的界限。在這項任務中,我們將新增一種新的資料型別來處理人名。“嗯”,你說,“但它們不只是文字字串嗎?通常實現為兩個屬性,一個用於姓氏,另一個用於給定的名字?”。這可能是真的,但將名稱制作成一個單獨的基本資料型別可以讓我們探索如何儲存和操作它們。一種常見的名字書寫方式(例如新南威爾士大學學生系統中使用的)是Shepherd、John AndrewSwift、TaylorMartin、Eric AndreLakshminarasimhan、Venkateswaran Chandrasekara Marshall Martin、Sally Angela Featherstone、Albert Basil Ernest George Harold Randolph Williami。e.FamilyName、GivenNames注意:上面的一些例子在逗號後面有空格;有些則不然。下面我們將更精確地描述哪些文字字串是有效的PersonNames。在PostgreSQL中新增資料型別PostgreSQL文件的以下部分描述了在PostgreQL中新增新的基本資料型別的過程:38.13使用者定義的型別381C語言函式381

3使用者定義運算子SQL:CREATE TYPESQL:CREATE OPERATORSQL:CREATE OPERATOR CLASS第38.1節

4使用了一個複數型別的例子,您可以將其作為定義PersonName資料型別的起點(見下文)。目錄下還有其他新資料型別的示例:PG_CODE/contrib/chkpass/。。。自動加密的密碼資料型別COMP931

5-課業13/9PG_CODE/concontrib/citext/。。。不區分大小寫的字串tatypePG_CODE/contrib/seg/。。。置信區間資料型別這些可能會也可能不會為您提供一些關於如何實現PersonName資料型別的有用想法。例如,這些資料型別中的許多是固定大小的,而PersonNames是可變大小的。實現可變大小型別的一個潛在有用的示例可以在以下位置找到:PG_CODE/src/tutorial/funcs.c。。。幾種資料型別的實現設定您應該以PostgreSQL的新副本開始這項任務,而不需要對Prac練習進行任何更改(除非這些更改是微不足道的)。請注意,您只需要配置、編譯和安裝PostgreSQL伺服器一次即可完成此任務。所有後續的編譯都在src/tutorial目錄中進行,只需要修改那裡的檔案。重新安裝PostgreSQL伺服器後,您應該執行以下命令:$cd PG_CODE/src/tutorial$cp complex.c pname.c$cp complex.source pname.source注意pname.檔案將包含許多對complex的引用;我不想在你最終提交的檔案中看到複雜這個詞的任何剩餘出現。這些檔案只是提供了一個模板,您可以在其中建立您的PersonName型別。製作pname.檔案後,還應在中編輯Makefile

相關文章