freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

轉(zhuǎn)載推薦數(shù)據(jù)庫設(shè)計經(jīng)驗談轉(zhuǎn)帖-文庫吧

2025-04-17 21:20 本頁面


【正文】 語命名字段,這也不賴,但不幸的是,她還喜歡用一些奇怪的命名法,其命名采用了匈牙利命名和控制序號的組合形式,比如 cbo txt txt2_b 等等。 除非你在使用只面向你的縮寫字段名的系統(tǒng),否則請盡可能地把字段描述的清楚些。當(dāng)然,也別做過頭了,比如Customer_Shipping_Address_Street_Line_1,雖然很富有說明性,但沒人愿意鍵入這么長的名字,具體尺度就在你的把握中。 采用前綴命名 如果多個表里有好多同一類型的字段 (比如 FirstName),你不妨用特定表的前綴 (比如 CusLastName)來幫助你標(biāo)識字段。 時效性數(shù)據(jù)應(yīng)包括 最近更新日期 /時間 字段。時間標(biāo)記對查找數(shù)據(jù)問題的原因、按日期重新處理 /重 載數(shù)據(jù)和清除舊數(shù)據(jù)特別有用。 標(biāo)準(zhǔn)化和數(shù)據(jù)驅(qū)動 數(shù)據(jù)的標(biāo)準(zhǔn)化不僅方便了自己而且也方便了其他人。比方說,假如你的用戶界面要訪問外部數(shù)據(jù)源 (文件、 XML 文檔、其他數(shù)據(jù)庫等 ),你不妨把相應(yīng)的連接和路徑信息存儲在用戶界面支持表里。還有,如果用戶界面執(zhí)行工作流之類的任務(wù) (發(fā)送郵件、打印信箋、修改記錄狀態(tài)等 ),那么產(chǎn)生工作流的數(shù)據(jù)也可以存放在數(shù)據(jù)庫里。預(yù)先安排總需要付出努力,但如果這些過程采用數(shù)據(jù)驅(qū)動而非硬編碼的方式,那么策略變更和維護(hù)都會方便得多。事實上,如果過程是數(shù)據(jù)驅(qū)動的,你就可以把相當(dāng)大的責(zé)任推給用戶,由用戶來 維護(hù)自己的工作流過程。 標(biāo)準(zhǔn)化不能過頭 對那些不熟悉標(biāo)準(zhǔn)化一詞 (normalization)的人而言,標(biāo)準(zhǔn)化可以保證表內(nèi)的字段都是最基礎(chǔ)的要素,而這一措施有助于消除數(shù)據(jù)庫中的數(shù)據(jù)冗余。標(biāo)準(zhǔn)化有好幾種形式,但 Third Normal Form(3NF)通常被認(rèn)為在性能、擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)到了最好平衡。簡單來說, 3NF規(guī)定: *表內(nèi)的每一個值都只能被表達(dá)一次。 *表內(nèi)的每一行都應(yīng)該被唯一的標(biāo)識 (有唯一鍵 )。 *表內(nèi)不應(yīng)該存儲依賴于其他鍵的非鍵信息。 遵守 3NF 標(biāo)準(zhǔn)的數(shù)據(jù)庫具有以下特點:有一組表專門存放通過 鍵連接起來的關(guān)聯(lián)數(shù)據(jù)。比方說,某個存放客戶及其有關(guān)定單的 3NF 數(shù)據(jù)庫就可能有兩個表: Customer 和 Order。 Order 表不包含定單關(guān)聯(lián)客戶的任何信息,但表內(nèi)會存放一個鍵值,該鍵指向 Customer 表里包含該客戶信息的那一行。 更高層次的標(biāo)準(zhǔn)化也有,但更標(biāo)準(zhǔn)是否就一定更好呢 ?答案是不一定。事實上,對某些項目來說,甚至就連 3NF都可能給數(shù)據(jù)庫引入太高的復(fù)雜性。 為了效率的緣故,對表不進(jìn)行標(biāo)準(zhǔn)化有時也是必要的,這樣的例子很多。曾經(jīng)有個開發(fā)餐飲分析軟件的活就是用非標(biāo)準(zhǔn)化表把查詢時間從平均 40秒降低到了兩秒左右 。雖然我不得不這么做,但我絕不把數(shù)據(jù)表的非標(biāo)準(zhǔn)化當(dāng)作當(dāng)然的設(shè)計理念。而具體的操作不過是一種派生。所以如果表出了問題重新產(chǎn)生非標(biāo)準(zhǔn)化的表是完全可能的。 不活躍或者不采用的指示符 增加一個字段表示所在記錄是否在業(yè)務(wù)中不再活躍挺有用的。不管是客戶、員工還是其他什么人,這樣做都能有助于再運(yùn)行查詢的時候過濾活躍或者不活躍狀態(tài)。同時還消除了新用戶在采用數(shù)據(jù)時所面臨的一些問題,比如,某些記錄可能不再為他們所用,再刪除的時候可以起到一定的防范作用。 使用角色實體定義屬于某類別的列 [字段 ] 在需要對屬于特定類別或者具有特定角 色的事物做定義時,可以用角色實體來創(chuàng)建特定的時間關(guān)聯(lián)關(guān)系,從而可以實現(xiàn)自我文檔化。 這里的含義不是讓 PERSON 實體帶有 Title 字段,而是說,為什么不用PERSON 實體和 PERSON_TYPE 實體來描述人員呢 ?比方說,當(dāng) John Smith,Engineer 提升為 John Smith,Director 乃至最后爬到 John Smith,CIO的高位,而所有你要做的不過是改變兩個表 PERSON 和 PERSON_TYPE 之間關(guān)系的鍵值,同時增加一個日期 /時間字段來知道變化是何時發(fā)生的。這樣,你的PERSON_TYPE 表就包含了所有 PERSON 的可能類型,比如 Associate、 Engineer、Director、 CIO或者 CEO 等。 還有個替代辦法就是改變 PERSON 記錄來反映新頭銜的變化,不過這樣一來在時間上無法跟蹤個人所處位置的具體時間。 采用常用實體命名機(jī)構(gòu)數(shù)據(jù) 組織數(shù)據(jù)的最簡單辦法就是采用常用名字,比如: PERSON、 ORGANIZATION、ADDRESS 和 PHONE等等。當(dāng)你把這些常用的一般名字組合起來或者創(chuàng)建特定的相應(yīng)副實體時,你就得到了自己用的特殊版本。開始的時候采用一般術(shù)語的主要原因在于所有的具體 用戶都能對抽象事物具體化。 有了這些抽象表示,你就可以在第 2 級標(biāo)識中采用自己的特殊名稱,比如,PERSON 可能是 Employee、 Spouse、 Patient、 Client、 Customer、 Vendor 或者Teacher 等。同樣的, ORGANIZATION 也可能是 MyCompany、 MyDepartment、Competitor、 Hospital、 Warehouse、 Government 等。最后 ADDRESS 可以具體為 Site、 Location、 Home、 Work、 Client、 Vendor、 Corporate 和FieldOffice 等。 采用一般抽象術(shù)語來標(biāo)識 事物 的類別可以讓你在關(guān)聯(lián)數(shù)據(jù)以滿足業(yè)務(wù)要求方面獲得巨大的靈活性,同時這樣做還可以顯著降低數(shù)據(jù)存儲所需的冗余量。 用戶來自世界各地 在設(shè)計用到網(wǎng)絡(luò)或者具有其他國際特性的數(shù)據(jù)庫時,一定要記住大多數(shù)國家都有不同的字段格式,比如郵政編碼等,有些國家,比如新西蘭就沒有郵政編碼一說。 數(shù)據(jù)重復(fù)需要采用分立的數(shù)據(jù)表 如果你發(fā)現(xiàn)自己在重復(fù)輸入數(shù)據(jù),請創(chuàng)建新表和新的關(guān)系。 每個表中都應(yīng)該添加的 3個有用的字段 *dRecordCreationDate,在 VB下默認(rèn)是 Now(),而在 SQL Server 下默認(rèn)為 GETDATE() *sRecordCreator,在 SQL Server 下默認(rèn)為 NOT NULL DEFAULT USER *nRecordVersion,記錄的版本標(biāo)記;有助于準(zhǔn)確說明記錄中出現(xiàn) null 數(shù)據(jù)或者丟失數(shù)據(jù)的原因 對地址和電話采用多個字段 描述街道地址就短短一行記錄是不夠的。 Address_Line Address_Line2和 Address_Line3 可以提供更大的靈活性。還有,電話號碼和 郵件地址最好擁有自己的數(shù)據(jù)表,其間具有自身的類型和標(biāo)記類別。 過分標(biāo)準(zhǔn)化可要小心,這樣做可能會導(dǎo)致性能上出現(xiàn)問題。雖然地址和電話表分離通??梢赃_(dá)到最佳狀態(tài),但是如果需要經(jīng)常訪問這類信息,或許在其父表中存放 首選 信息 (比如 Customer 等 )更為妥當(dāng)些。非標(biāo)準(zhǔn)化和加速訪問之間的妥協(xié)是有一定意義的。 使用多個名稱字段 我覺得很吃驚,許多人在數(shù)據(jù)庫里就給 name留一個字段。我覺得只有剛?cè)腴T的開發(fā)人員才會這么做,但實際上網(wǎng)上這種做法非常普遍。我建議應(yīng)該把姓氏和名字當(dāng)作兩個字段來處理,然后在查詢的時候再把他們組合起 來。 我最常用的是在同一表中創(chuàng)建一個計算列 [字段 ],通過它可以自動地連接標(biāo)準(zhǔn)化后的字段,這樣數(shù)據(jù)變動的時候它也跟著變。不過,這樣做在采用建模軟件時得很機(jī)靈才行??傊?,采用連接字段的方式可以有效的隔離用戶應(yīng)用和開發(fā)人員界面。 提防大小寫混用的對象名和特殊字符 過去最令我惱火的事情之一就是數(shù)據(jù)庫里有大小寫混用的對象名,比如CustomerData。這一問題從 Access 到 Oracle 數(shù)據(jù)庫都存在。我不喜歡采用這種大小寫混用的對象命名方法,結(jié)果還不得不手工修改名字。想想看,這種數(shù)據(jù)庫 /應(yīng)用程序能混到采用更強(qiáng)大數(shù)據(jù) 庫的那一天嗎 ?采用全部大寫而且包含下劃符的名字具有更好的可讀性 (CUSTOMER_DATA),絕對不要在對象名的字符之間留空格。 小心保留詞 要保證你的字段名沒有和保留詞、數(shù)據(jù)庫系統(tǒng)或者常用訪問方法沖突,比如,最近我編寫的一個 ODBC 連接程序里有個表,其中就用了 DESC 作為說明字段名。后果可想而知! DESC 是 DESCENDING 縮寫后的保留詞。表里的一個SELECT*語句倒是能用,但我得到的卻是一大堆毫無用處的信息。 保持字段名和類型的一致性 在命名字段并為其指定數(shù)據(jù)類型的時候一定要保證一致性。假如字段在某個表中叫做 agreement_number,你就別在另一個表里把名字改成 ref1。假如數(shù)據(jù)類型在一個表里是整數(shù),那在另一個表里可就別變成字符型了。記住,你干完自己的活了,其他人還要用你的數(shù)據(jù)庫呢。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1