自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)庫(kù)開發(fā)規(guī)范詳細(xì)介紹(一)

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維
數(shù)據(jù)庫(kù)開發(fā)的過(guò)程中并不是開發(fā)者想怎么做都可以,而是數(shù)據(jù)庫(kù)開發(fā)者也要遵守一些規(guī)范要,在這些規(guī)范要求的前提下去開發(fā)數(shù)據(jù)庫(kù),那么接下來(lái)將為大家詳細(xì)介紹數(shù)據(jù)庫(kù)開發(fā)規(guī)范。

一.?dāng)?shù)據(jù)表和字段的設(shè)計(jì)

  表設(shè)計(jì)原則

  1、標(biāo)準(zhǔn)化和規(guī)范化

  數(shù)據(jù)的標(biāo)準(zhǔn)化有助于消除數(shù)據(jù)庫(kù)中的數(shù)據(jù)冗余。標(biāo)準(zhǔn)化有好幾種形式,我們?cè)谶@里采用Third Normal Form(3NF),因?yàn)?NF在性能、擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)到了***平衡。
遵守3NF 標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)某個(gè)表只包括其本身基本的屬性,當(dāng)不是它們本身所具有的屬性時(shí)需進(jìn)行分解。表之間的關(guān)系通過(guò)外鍵相連接。它具有以下特點(diǎn):有一組表專門存放通過(guò)鍵連接起來(lái)的關(guān)聯(lián)數(shù)據(jù)。

  2、考慮各種變化

  在設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候考慮到哪些數(shù)據(jù)字段將來(lái)可能會(huì)發(fā)生變更。

  字段設(shè)計(jì)原則:
  1) 每個(gè)表中都應(yīng)該添加的3 個(gè)有用的字段,即要求每張數(shù)據(jù)表中字段不得少于3個(gè);
  2) 選擇數(shù)字類型和文本類型盡量充足。在字段類型為數(shù)字或文本時(shí),其長(zhǎng)度***比實(shí)際所需的大一些。
  3) 增加自動(dòng)增長(zhǎng)的操作ID字段(czid)
  5) 增加記錄創(chuàng)建的日期字段(CreateDate)。
  4) 增加刪除標(biāo)記字段(isvoid):
  在表中包含一個(gè)"刪除標(biāo)記"字段,這樣就可以把行標(biāo)記為刪除。在關(guān)系數(shù)據(jù)庫(kù)里不單獨(dú)刪除某一行;一般采用清除數(shù)據(jù)程序而且要仔細(xì)維護(hù)索引整體性。

二.鍵和索引的設(shè)計(jì)

  1、鍵選擇原則:

  1)為關(guān)聯(lián)字段創(chuàng)建外鍵。
  2)所有的鍵都必須唯一。
  3)避免使用復(fù)合鍵。
  4)外鍵總是關(guān)聯(lián)唯一的鍵字段。

  使用系統(tǒng)生成的主鍵
  設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候采用系統(tǒng)生成的鍵作為主鍵,那么實(shí)際控制了數(shù)據(jù)庫(kù)的索引完整性。這樣,數(shù)據(jù)庫(kù)和非人工機(jī)制就有效地控制了對(duì)存儲(chǔ)數(shù)據(jù)中每一行的訪問。采用系統(tǒng)生成鍵作為主鍵還有一個(gè)優(yōu)點(diǎn):當(dāng)擁有一致的鍵結(jié)構(gòu)時(shí),找到邏輯缺陷很容易。不要用用戶的鍵(不讓主鍵具有可更新性)在確定采用什么字段作為表的鍵的時(shí)候,小心用戶將要編輯的字段。通常的情況下不要選擇用戶可編輯的字段作為鍵。

  可選鍵有時(shí)可做主鍵
  把可選鍵進(jìn)一步用做主鍵,可以擁有建立強(qiáng)大索引的能力。

  2、索引使用原則:

  索引是從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)的***效方式之一。95%的數(shù)據(jù)庫(kù)性能問題都可以采用索引技術(shù)得到解決。

  索引外鍵
  大多數(shù)數(shù)據(jù)庫(kù)都索引自動(dòng)創(chuàng)建的主鍵字段,但是可別忘了索引外鍵,它們也是經(jīng)常使用的鍵,比如運(yùn)行查詢顯示主表和所有關(guān)聯(lián)表的某條記錄就用得上。
  不要索引大型字段(有很多字符),這樣作會(huì)讓索引占用太多的存儲(chǔ)空間。

  不要索引常用的小型表
  不要為小型數(shù)據(jù)表設(shè)置任何鍵,假如它們經(jīng)常有插入和刪除操作就更別這樣作了。對(duì)這些插入和刪除操作的索引維護(hù)可能比掃描表空間消耗更多的時(shí)間。

三. 數(shù)據(jù)完整性設(shè)計(jì)

  完整性實(shí)現(xiàn)機(jī)制:實(shí)體完整性:主鍵

  參照完整性:
  父表中刪除數(shù)據(jù):級(jí)聯(lián)刪除;受限刪除;置空值
  父表中插入數(shù)據(jù):受限插入;遞歸插入
  父表中更新數(shù)據(jù):級(jí)聯(lián)更新;受限更新;置空值

  DBMS對(duì)參照完整性可以有兩種方法實(shí)現(xiàn):外鍵實(shí)現(xiàn)機(jī)制(約束規(guī)則)和觸發(fā)器實(shí)現(xiàn)機(jī)制

  用戶定義完整性:NOT NULL;CHECK;觸發(fā)器

  用約束而非商務(wù)規(guī)則強(qiáng)制數(shù)據(jù)完整性
  采用數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的完整性。這不但包括通過(guò)標(biāo)準(zhǔn)化實(shí)現(xiàn)的完整性而且還包括數(shù)據(jù)的功能性。在寫數(shù)據(jù)的時(shí)候還可以增加觸發(fā)器來(lái)保證數(shù)據(jù)的正確性。不要依賴于商務(wù)層保證數(shù)據(jù)完整性;它不能保證表之間(外鍵)的完整性所以不能強(qiáng)加于其他完整性規(guī)則之上。

  強(qiáng)制指示完整性
  在有害數(shù)據(jù)進(jìn)入數(shù)據(jù)庫(kù)之前將其剔除。激活數(shù)據(jù)庫(kù)系統(tǒng)的指示完整性特性。這樣可以保持?jǐn)?shù)據(jù)的清潔而能迫使開發(fā)人員投入更多的時(shí)間處理錯(cuò)誤條件。

  使用查找控制數(shù)據(jù)完整性
  控制數(shù)據(jù)完整性的***方式就是限制用戶的選擇。只要有可能都應(yīng)該提供給用戶一個(gè)清晰的價(jià)值列表供其選擇。這樣將減少鍵入代碼的錯(cuò)誤和誤解同時(shí)提供數(shù)據(jù)的一致性。

  采用視圖
  為了在數(shù)據(jù)庫(kù)和應(yīng)用程序代碼之間提供另一層抽象,可以為應(yīng)用程序建立專門的視圖而不必非要應(yīng)用程序直接訪問數(shù)據(jù)表。這樣做還等于在處理數(shù)據(jù)庫(kù)變更時(shí)給你提供了更多的自由。

在進(jìn)行數(shù)據(jù)庫(kù)開發(fā)時(shí),嚴(yán)格遵守這些規(guī)范原則就能將數(shù)據(jù)庫(kù)的開發(fā)工作做的很完善,希望大家能很熟練的掌握這些設(shè)計(jì)規(guī)范,以便于大家在以后的數(shù)據(jù)庫(kù)開發(fā)過(guò)程中能很輕松的應(yīng)用上。

【編輯推薦】

  1. 數(shù)據(jù)庫(kù)開發(fā)者常犯的錯(cuò)誤(二)
  2. 數(shù)據(jù)庫(kù)開發(fā)10個(gè)最重要特點(diǎn)
  3. MS-SQL Server數(shù)據(jù)庫(kù)開發(fā)中技巧總結(jié)
責(zé)任編輯:迎迎 來(lái)源: 博客
相關(guān)推薦

2011-03-21 13:53:45

數(shù)據(jù)庫(kù)開發(fā)書寫規(guī)范

2011-06-23 09:00:04

QT QODBC 數(shù)據(jù)庫(kù)

2022-07-27 08:32:01

數(shù)據(jù)庫(kù)MySQL

2009-08-28 13:03:55

C#壓縮Access數(shù)

2011-08-10 13:03:58

CJDBC數(shù)據(jù)庫(kù)集群

2011-07-27 11:08:49

Oracle數(shù)據(jù)庫(kù)EM Console重

2009-08-13 13:38:30

C#命名規(guī)范

2011-03-21 13:41:20

數(shù)據(jù)庫(kù)開發(fā)規(guī)范

2011-08-05 13:17:34

Oracle數(shù)據(jù)庫(kù)閃回個(gè)性

2011-07-26 16:53:29

MongoDB數(shù)據(jù)庫(kù)自動(dòng)分片技術(shù)

2011-09-01 09:30:27

Oracle數(shù)據(jù)庫(kù)控制語(yǔ)句

2011-08-02 18:38:19

MySQLINI文件

2010-03-18 14:55:17

Python數(shù)據(jù)庫(kù)連接

2019-08-20 09:46:14

DBA收藏腳本語(yǔ)言

2015-01-12 15:07:56

SQLAlchemy數(shù)據(jù)庫(kù)開發(fā)OpenStac

2011-06-15 16:58:26

PHP

2011-04-07 10:50:47

數(shù)據(jù)庫(kù)編程注釋規(guī)范

2019-11-07 14:46:09

數(shù)據(jù)庫(kù)MySQL命令

2019-08-20 22:06:32

Oracle數(shù)據(jù)庫(kù)索引

2011-03-17 14:51:33

數(shù)據(jù)庫(kù)自我調(diào)整
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)