注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)SQL SeverSQL編程風(fēng)格

SQL編程風(fēng)格

SQL編程風(fēng)格

定 價(jià):¥39.00

作 者: (美)塞科 著,米全喜 譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書(shū)
標(biāo) 簽: SQL

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115185822 出版時(shí)間: 2008-10-01 包裝: 平裝
開(kāi)本: 大16開(kāi) 頁(yè)數(shù): 194 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《圖靈程序設(shè)計(jì)叢書(shū)·SQL編程風(fēng)格》針對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)與編程提出了一系列規(guī)則和建議,內(nèi)容涵蓋命名規(guī)范、代碼版式、鍵的設(shè)計(jì)、數(shù)據(jù)編碼方案、編碼風(fēng)格、視圖和存儲(chǔ)過(guò)程的使用以及SQL 中的思考方式和一些試探法等多方面。這些規(guī)則都給出了原理說(shuō)明和例外情況,并列舉了大量示例。通過(guò)閱讀《圖靈程序設(shè)計(jì)叢書(shū)·SQL編程風(fēng)格》,讀者可以加深對(duì)SQL 思維方式的理解,改善SQL 編程風(fēng)格,并編寫(xiě)出可讀性強(qiáng)、可移植且易于維護(hù)的SQL 代碼。此外,書(shū)中的規(guī)則對(duì)于公司內(nèi)部制定編程規(guī)范也具有很好的借鑒作用?!秷D靈程序設(shè)計(jì)叢書(shū)·SQL編程風(fēng)格》適合數(shù)據(jù)庫(kù)管理人員和開(kāi)發(fā)人員閱讀,也可作為高等院校計(jì)算機(jī)專(zhuān)業(yè)師生的參考教材。

作者簡(jiǎn)介

  Joe Celko世界著名的數(shù)據(jù)庫(kù)專(zhuān)家,曾經(jīng)擔(dān)任ANSI SQL標(biāo)準(zhǔn)委員會(huì)成員達(dá)10年之久,他也是世界上讀者數(shù)量最多的SOL圖書(shū)作者之一。他曾撰寫(xiě)過(guò)一系列專(zhuān)欄,并通過(guò)他的新聞組支持了數(shù)據(jù)庫(kù)編程技術(shù)以及ANSI/ISO標(biāo)準(zhǔn)的發(fā)展。除本書(shū)外,他還撰寫(xiě)了多部SQL經(jīng)典著作,包括《SQL解惑(第2版)》(人民郵電出版社,2008)和《SOL權(quán)威指南》(即將由人民郵電出版社出版)。

圖書(shū)目錄

第1章 名稱(chēng)與數(shù)據(jù)元素 
 1.1 名稱(chēng) 
  1.1.1 注意名稱(chēng)長(zhǎng)度 
  1.1.2 在名稱(chēng)中避免使用所有特殊字符 
  1.1.3 避免使用引號(hào)分隔標(biāo)識(shí)符 
  1.1.4 實(shí)施大寫(xiě)規(guī)則以避免大小寫(xiě)區(qū)分問(wèn)題 
 1.2 遵循ISO-11179標(biāo)準(zhǔn)命名規(guī)范 
  1.2.1 SQL的ISO-11179 
  1.2.2 抽象級(jí)別 
  1.2.3 避免使用描述性前綴 
  1.2.4 制定標(biāo)準(zhǔn)化的后綴 
  1.2.5 表和視圖名稱(chēng)應(yīng)當(dāng)是遵循業(yè)界標(biāo)準(zhǔn)的、集合、類(lèi)或復(fù)數(shù)名稱(chēng) 
  1.2.6 相關(guān)名基本上也要遵循與其他名稱(chēng)相同的命名規(guī)則 
  1.2.7 關(guān)系表名應(yīng)當(dāng)是常用描述術(shù)語(yǔ) 
  1.2.8 元數(shù)據(jù)模式訪問(wèn)對(duì)象的名稱(chēng)可以包含結(jié)構(gòu)信息 
 1.3 命名數(shù)據(jù)元素時(shí)遇到的問(wèn)題 
  1.3.1 避免模糊名稱(chēng) 
  1.3.2 避免名稱(chēng)在不同的地方改變 
  1.3.3 不要使用專(zhuān)有暴露的物理定位符 
第2章 字體、標(biāo)點(diǎn)和間距 
 2.1 版式與代碼 
  2.1.1 名稱(chēng)中只使用大小寫(xiě)字母、數(shù)字和下劃線 
  2.1.2 列名、參數(shù)和變量等標(biāo)量小寫(xiě) 
  2.1.3 模式對(duì)象名首字母大寫(xiě) 
  2.1.4 保留字大寫(xiě) 
  2.1.5 避免使用駝峰命名法 
 2.2 單詞間距 
 2.3 遵循規(guī)范標(biāo)點(diǎn)規(guī)則 
 2.4 使用完全保留字 
 2.5 如果在使用的SQL產(chǎn)品中有標(biāo)準(zhǔn)保留字,就不要使用專(zhuān)有保留字 
 2.6 如果有標(biāo)準(zhǔn)語(yǔ)句,就不要使用專(zhuān)有語(yǔ)句 
 2.7 疏排版面的隔空白道和垂直間距 
 2.8 縮進(jìn) 
 2.9 使用行間距將語(yǔ)句分組 
第3章 數(shù)據(jù)定義語(yǔ)言 
 3.1 將默認(rèn)值放到合適的地方 
 3.2 默認(rèn)值的類(lèi)型應(yīng)當(dāng)與列的類(lèi)型相同 
 3.3 不要使用專(zhuān)有數(shù)據(jù)類(lèi)型 
 3.4 將PRIMARY KEY聲明放在CREATE TABLE語(yǔ)句的開(kāi)頭 
 3.5 將列按照邏輯順序排列并按照邏輯組聚合 
 3.6 將參考約束和操作在數(shù)據(jù)類(lèi)型下面縮進(jìn) 
 3.7 在產(chǎn)品代碼中為約束命名 
 3.8 將CHECK()約束放在所檢查的內(nèi)容附近 
  3.8.1 對(duì)數(shù)值考慮使用范圍約束 
  3.8.2 對(duì)于字符值考慮使用LIKE和SIMILAR TO約束 
  3.8.3 時(shí)間值是有長(zhǎng)短的 
  3.8.4 避免使用REAL和FLOAT數(shù)據(jù)類(lèi)型 
 3.9 將多列約束盡可能靠近這些列 
 3.10 將表級(jí)別的CHECK()約束放到表聲明的最后 
 3.11 對(duì)多表約束使用CREATE ASSERTION 
 3.12 使CHECK()約束的目的唯一 
 3.13 每個(gè)表都必須有鍵才能稱(chēng)為表 
  3.13.1 自動(dòng)編號(hào)不是關(guān)系型鍵 
  3.13.2 文件不是表 
  3.13.3 鍵的屬性 
 3.14 不要分割屬性 
  3.14.1 分割為多個(gè)表 
  3.14.2 分割為多個(gè)列 
  3.14.3 分割為多個(gè)行 
 3.15 不要對(duì)RDBMS使用面向?qū)ο蟮脑O(shè)計(jì) 
  3.15.1 表不是對(duì)象實(shí)例 
  3.15.2 對(duì)RDBMS不要使用EAV設(shè)計(jì) 
第4章 尺度與測(cè)量 
 4.1 測(cè)度論 
  4.1.1 范圍與顆粒度 
  4.1.2 范圍 
  4.1.3 顆粒度、準(zhǔn)確度和精度 
 4.2 尺度類(lèi)型 
  4.2.1 名義尺度 
  4.2.2 種類(lèi)尺度 
  4.2.3 絕對(duì)尺度 
  4.2.4 順序尺度 
  4.2.5 級(jí)別尺度 
  4.2.6 間距尺度 
  4.2.7 比例尺度 
 4.3 使用尺度 
 4.4 尺度轉(zhuǎn)換 
 4.5 導(dǎo)出單位 
 4.6 標(biāo)點(diǎn)與標(biāo)準(zhǔn)單位 
 4.7 在數(shù)據(jù)庫(kù)中使用尺度的一般準(zhǔn)則 
第5章 數(shù)據(jù)編碼方案 
 5.1 不好的編碼方案 
 5.2 編碼方案類(lèi)型 
  5.2.1 枚舉編碼 
  5.2.2 測(cè)量編碼 
  5.2.3 縮寫(xiě)編碼 
  5.2.4 算法編碼 
  5.2.5 層次編碼 
  5.2.6 向量編碼 
  5.2.7 拼接編碼 
 5.3 設(shè)計(jì)編碼方案的一般準(zhǔn)則 
  5.3.1 現(xiàn)有的編碼標(biāo)準(zhǔn) 
  5.3.2 允許擴(kuò)展 
  5.3.3 使用顯式的丟失值避免NULL 
  5.3.4 為終端用戶(hù)轉(zhuǎn)換編碼 
  5.3.5 在數(shù)據(jù)庫(kù)中保存編碼 
 5.4 多字符集 
第6章 編碼選擇 
 6.1 選擇標(biāo)準(zhǔn)構(gòu)造,不要選擇專(zhuān)有構(gòu)造 
  6.1.1 使用標(biāo)準(zhǔn)OUTER JOIN語(yǔ)法 
  6.1.2 中綴INNER JOIN和CORSS JOIN語(yǔ)法是可選的,但是很好用 
  6.1.3 使用ISO時(shí)間語(yǔ)法 
  6.1.4 使用標(biāo)準(zhǔn)和可移植的函數(shù) 
 6.2 選擇緊湊格式,不要選擇松散格式 
  6.2.1 避免使用多余的括號(hào) 
  6.2.2 使用CASE系列表達(dá)式 
  6.2.3 避免使用冗余表達(dá)式 
  6.2.4 尋找緊湊格式 
 6.3 使用注釋 
  6.3.1 存儲(chǔ)過(guò)程 
  6.3.2 控制語(yǔ)句注釋 
  6.3.3 對(duì)子句的注釋 
 6.4 避免優(yōu)化器提示 
 6.5 觸發(fā)器的優(yōu)先級(jí)不應(yīng)當(dāng)高于DRI操作 
 6.6 使用SQL存儲(chǔ)過(guò)程 
 6.7 避免在數(shù)據(jù)庫(kù)中使用用戶(hù)定義函數(shù)和擴(kuò)展 
  6.7.1 多語(yǔ)言問(wèn)題 
  6.7.2 可移植性問(wèn)題 
  6.7.3 優(yōu)化問(wèn)題 
 6.8 避免使用過(guò)度的輔助索引 
 6.9 避免使用關(guān)聯(lián)子查詢(xún) 
 6.10 避免使用UNION 
 6.11 測(cè)試SQL 
  6.11.1 測(cè)試NULL所有可能的組合 
  6.11.2 檢查并測(cè)試所有的CHECK()約束 
  6.11.3 注意字符列 
  6.11.4 測(cè)試大小 
第7章 如何使用視圖 
 7.1 視圖的命名規(guī)范與表一樣 
 7.2 視圖提供行和列級(jí)別的安全性 
 7.3 視圖確保了有效訪問(wèn)路徑 
 7.4 視圖對(duì)用戶(hù)隱藏了復(fù)雜性 
 7.5 視圖確保了正確的數(shù)據(jù)派生 
 7.6 視圖將表和/或列重新命名 
 7.7 視圖實(shí)施復(fù)雜的完整性約束 
 7.8 可更新的視圖 
  7.8.1 WITH CHECK OPTION子句 
  7.8.2 INSTEAD OF觸發(fā)器 
 7.9 每個(gè)視圖都要有創(chuàng)建的原因 
 7.10 避免視圖的數(shù)量快速增長(zhǎng) 
 7.11 將視圖與基表同步 
 7.12 不恰當(dāng)?shù)厥褂靡晥D 
  7.12.1 用于域支持的視圖 
  7.12.2 單個(gè)解決方案的視圖 
  7.12.3 不要為每個(gè)基表都創(chuàng)建視圖 
 7.13 學(xué)習(xí)使用物化的視圖 
第8章 如何編寫(xiě)存儲(chǔ)過(guò)程 
 8.1 大多數(shù)SQL 4GL都不是用于應(yīng)用程序的 
 8.2 基本軟件工程 
  8.2.1 內(nèi)聚 
  8.2.2 耦合 
 8.3 使用傳統(tǒng)的結(jié)構(gòu)化編程 
 8.4 避免可移植性問(wèn)題 
  8.4.1 避免創(chuàng)建臨時(shí)表 
  8.4.2 避免使用游標(biāo) 
  8.4.3 面向集合的構(gòu)造優(yōu)于過(guò)程化代碼 
 8.5 標(biāo)量與結(jié)構(gòu)化參數(shù)的對(duì)比 
 8.6 避免使用動(dòng)態(tài)SQL 
  8.6.1 性能 
  8.6.2 SQL注入 
第9章 試探法 
 9.1 將規(guī)格說(shuō)明表達(dá)為清晰的語(yǔ)句 
 9.2 在名詞的后面加上“……的集合” 
 9.3 從問(wèn)題語(yǔ)句中刪除行為動(dòng)詞 
 9.4 仍然可以使用存根 
 9.5 不要擔(dān)心數(shù)據(jù)的顯示 
 9.6 第一次嘗試需要特別處理 
  9.6.1 不要舍不得扔掉你對(duì)DDL的第一次嘗試 
  9.6.2 保存你對(duì)DML的第一次嘗試 
 9.7 不要以方框和箭頭的方式思考 
 9.8 畫(huà)圓圈和集合圖 
 9.9 學(xué)習(xí)方言 
 9.10 假設(shè)WHERE子句是“巨型變形蟲(chóng)” 
 9.11 使用新聞組和因特網(wǎng) 
第10章 以SQL的方式思考 
 10.1 不好的SQL編程方式與過(guò)程化語(yǔ)言 
 10.2 把列當(dāng)作字段思考 
 10.3 以過(guò)程化而不是說(shuō)明性的方式思考 
 10.4 模式應(yīng)該看起來(lái)像輸入格式 
附錄A 資源 
附錄B 參考文獻(xiàn) 
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)