亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server數據庫設計規范

2024-08-31 00:55:25
字體:
來源:轉載
供稿:網友
SQL Server數據庫設計規范數據庫設計規范1.簡介

數據庫設計是指對一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其他應用系統,使之能有效地存儲數據,滿足各種用戶的需求。數據庫設計過程中命名規范很是重要,命名規范合理的設計能夠省去開發人員很多時間去區別數據庫實體。

最近也因為工作需要所以整理出了這個Word文檔,望大家指正。

2數據庫設計

數據庫規劃→需求分析→數據庫設計→應用程序設計→實現→測試→運行于維護

2.1數據庫規劃

定義數據庫應用系統的主要目標,定義系統特定任務,包括工作量的估計、使用資源、和需求經費,定義系統的范圍以及邊界。

2.2需求分析2.1.1需求分析步驟與成果

涉及人員:用戶和分析人員

任務:對現實世界要處理的對象進行詳細的調查,收集基礎數據及處理方法,在用戶調查的基礎上通過分析,逐步明確用戶對系統的需求,包括信息的要求及處理的要求。

方法與步驟:1.通過與用戶的調查,對用戶的信息需求進行收集。

2.在收集數據的同時,設計人員要對其進行加工和整理,以數據字典和數據流圖的形式描述出來,并以設計人員的角度向用戶講述信息,根據用戶的反饋加以修改并確定(該過程是反復的過程)

成果:數據流圖,數據字典,各種說明性表格,統計輸出表以及系統功能結構圖。

2.1.2數據流圖基本元素與數據流圖

外部實體:存在于軟件系統之外的人員或組織(正方形或立方體表示)。

加工:數據處理,表示輸入數據在此進行變換,產生輸出數據(圓角巨型或圓形表示)。

數據流:表示流動著的數據(箭頭線表示)。

數據存儲:用來表示要存儲的數據(開門矩形或兩條平行橫線表示)。

訂單處理系統頂層流程圖:

0層數據流圖:

2.3數據庫設計2.3.1概念結構設計
  • 對事務加以抽象以E-R圖的形式描述出來
  • E-R圖(實體聯系圖):包括實體,聯系,屬性

實體:現實中的事物例如,學生,老師

聯系:兩個實體之間的關系,1:1、1:N、M:N三種關系

屬性:實體所具有的屬性,例如 學生的學號、姓名、性別等

例如:一個學生屬于一個班級,一個班級擁有多名學生,E-R圖如下

網上購物系統E-R圖,該系統數據之間存在下列約束

  1. 一個客戶(編號唯一)可以擁有多個訂單,每個訂單僅屬于一個客戶。
  2. 一個訂單(編號唯一)可以包含多個訂購細目,每個訂購細目只屬于一個訂單。
  3. 一個商品可以出現多個訂購細目中,一個訂購細目只包含多個商品。
  4. 一個商品類別可以包含多種商品,一種商品只屬于一個商品類別。

圖2.2

2.3.2邏輯結構設計2.3.2.1E-R圖轉換成關系模式
  • 將E-R圖轉換成關系模式

將每個實體轉換成一個關系模式,實體的屬性即關系模式的屬性,實體的標識即關系模式的鍵。

  • 根據規則合并E-R圖中的1:1,1:N,M:N之間的聯系
  1. 若實體的聯系是(1:1),則可以將兩個實體轉換成兩個關系模式,任意一個關系模式的屬性中加入另一個關系模式的主鍵(作為外鍵)和聯系自身的屬性
  2. 若實體間的聯系是一對多(1:n),則將n端的實體類型轉換成關系模式中加入1端實體類型的主鍵(作為外鍵)和聯系類型的屬性。
  3. 若實體間的聯系是多對多(m:n),則將聯系類型也轉換成關系模式,其屬性為2實體類型的主鍵(作為外鍵)加上聯系類型自身的屬性,而該關系模式的主鍵為2端實體主鍵的組合。
  4. 若關系模式是1:1:1的關系,轉換原則同1:1
  5. 若關系模式是1:1:n的聯系,轉換原則同1:n
  6. 若關系模式是1:n:m的聯系,則可以將聯系類型也轉換成關系模式,其屬性為m端和n端實體類型的主鍵(作為外鍵)加上聯系類型自身的屬性,而關系模式的主鍵為n和m端實體主鍵的組合
  7. 若關系模式是n:m:p的聯系,轉換規則同m:n

根據E-R圖實體之間的聯系可以轉換成以下關系模式

客戶(客戶編號,姓名,電話,E-mail)。關系的主鍵:客戶編號;外鍵:無

訂單(訂單編號,訂購時間,客戶編號)。關系的主鍵:訂單編號;外鍵:客戶編號

訂購細目(訂購明細編號,訂購數量,支付金額,訂單編號)。關系主鍵:訂購明細編號;外鍵:訂單編號。

出現(訂購明細編號,商品編號,類型)。關系的主鍵:訂購明細編號,商品編號;外鍵:訂購明細編號,商品編號。

商品:(商品編號,商品名稱,單價,生產日期,商品類別號,商品類別名)。關系的主鍵:商品編號;外鍵:無

在關系模式設計中可能會出現以下幾個問題:數據冗余、數據修改不一致、數據插入異常、數據刪除異常,所以提出范式的要求,目的就是最低限度地冗余,避免插入、刪除、修改異常。

2.3.2.2范式

主屬性:包含鍵的所有屬性。

  • 關系模式要求達到4NF (減少冗余,消除操作異常)

第一范式(1NF):若關系模式R的每一個分量是不可分的數據項,則關系模式屬于第一范式。即每個屬性都是不可拆分的.

第二范式(2NF):R屬于1NF,且每一個非主屬性完全依賴于鍵(沒有部分依賴),則R屬于2NF

例如:選課關系(學號,課程號,成績,學分)

該關系的主鍵是(學號,課程號),但是課程號→學分,所以學分屬性部分依賴于主鍵,即關系部滿足第二范式,可以拆分為(學號,課程號,成績),(課程號,學分)兩個關系

第三范式(3NF):R屬于2NF,且每個非主屬性即不部分依賴于碼,也不傳遞依賴于碼

例如:學生關系(學號,姓名,所屬系,系地址)

該關系的主鍵是:學號

學號→所屬系,所屬系→學號,所屬系→系地址;根據函數的依賴公理,系地址傳遞函數依賴于學號,即關系不滿足第三范式,可以拆分關系為(學號,姓名,所屬系),(所屬系,系地址)

如果不拆分會存在數據修改異常,比如該學生的換了系,修改了所屬系,但是系地址沒有修改,這樣就造成了修改異常

BCNF:R屬于3NF,且不存在主屬性對碼的部分和傳遞函數依賴

例如:關系R(零件號,零件名,廠商名),如果設定每種零件號只有一個零件名,但不同的的零件號可以有相同的零件名,每種零件可以有多個廠商生產,但每家廠商生產的零件應有不同的零件名。這樣可以得到:

零件號→零件名,(廠商名,零件名)→零件號

所以主屬性包括(零件號,廠商名,零件名),但是“零件名”傳遞依賴于碼“廠商名,零件名”,所以關系R不滿足BCNF,當一個零件由多個生產廠商生產時,由于零件號只有一個而零件名根據廠商不同而又多個,零件名與零件號之間的聯系將多次重復,帶來數據冗余和操作異?,F象

可以將關系分解為(零件號,廠商名),(零件號,零件名)

4NF:關系模式R屬于1NF,若對于R的每個非平凡多值依賴X→→Y且Y不包含于X時,X必含碼,則R屬于4NF

5NF:對關系進行投影,消除關系中不是由候選碼所蘊含的連接依賴

對于上面的商品關系,由于關系的主鍵是商品編號,而商品類別號→商品類別名

所以商品關系部滿足第三范式,非主屬性商品類別名傳遞依賴于商品編號,會存在數據冗余,數據修改異常問題。將商品關系分解為:

商品(商品編號,商品名稱,單價,生產日期,商品類別號)

商品類別(商品類別號,商品類別名)

2.3.3物理結構設計

為一個給定的邏輯數據模型設計一個最合適應用要求的物理結構的過程

  • 數據庫的建立
  • 數據表的建立
  • 索引的建立
  • 視圖的建立
  • 觸發器的建立
  • 存儲過程設計
  • 用戶自定義函數設計
  • 對關系模式的數據項加以約束,如檢查約束、主鍵約束、參照完整性約束以保證數據正確性

2.4應用程序設計

采用高級語言以結構化設計方法或面向對象方法進行設計

2.5系統實現

3.優化策略3.1.查詢優化策略
  1. 盡可能地減少多表查詢或建立物化視圖
  2. 只檢索需要的列
  3. 用帶IN的條件字句等級替換or字句
  4. 經常提交COMMIT,以盡早釋放鎖

3.2表設計

1.如果頻繁地訪問涉及的是對兩個相關的表進行連接操作,則考慮將其合并

2.如果頻繁地訪問只是在表中的某一部分字段上進行,則考慮分解表,將該部分單獨作為一個表

3.對于很少更新的表,引入物化視圖

4. 當系統中有一些少量的,重復出現的值時,使用字典表來節約存儲空間和優化查詢。如地區、系統中用戶類型的代號等。這類值不會在程序的運行期變化,但是需要存儲在數據庫中。

就地區而言,如果我們要查詢某個地區的記錄,則數據庫需要通過字符串匹配的方式來查詢;如果將地區改為一個地區的代號保存在表中,查詢時通過地區的代號來查詢,則查詢的效率將大大提高。

程序中宜大量的使用字典表來表示這類值。字典表中保存這類值的代號和實體的集合,以外鍵的方式關聯到使用這類值的表中。然而,在編碼階段,程序員并不使用字典表,因為首先查詢字典表中實體的代號,違背了提高查詢效率的初衷。程序員在數據字典的幫助下,直接使用代號來代表實體,從而提高效率。

雖然字典表在實際上并不使用,但是仍應該保留在數據庫中(起碼是在開發期內保留)。字典表作為另一種形式上的“數據字典文檔”出現,以說明數據庫中哪些表的哪些字段是使用了字典表的。

為了提高數據庫的數據完整性,在開發階段可以保留完整的字典表和普通表的外鍵約束。但是在數據庫的運行階段,應該將普通表和字典表的外鍵刪除,以提高運行效率,特別是某些表使用了很多字典表的情況。

案例:某數據庫中有百萬條用戶信息,應用系統中常常需要按照地區要查詢用戶的信息。用戶信息表以前是按照具體的地區名稱來保存的,現在將具體的名稱改為字典表中的地區代號,查詢效率大大提高。

3.3索引
  1. 如果查詢是瓶頸,則在關系上建立適當的索引;通常,作為查詢條件的屬性上建立索引可以提高查詢效率。
  2. 如果更新是瓶頸,因為每次更新都會重建表上的索引,引起效率降低,則考慮刪除某些索引。
  3. 選擇適當索引,如果經常使用范圍查詢,則B樹索引比散列索引更高效
  4. 將有利于大多數查詢和更新的索引設為聚集性索引。

3.4提高IO效率
  1. 索引文件和數據文件分開存儲,事務日志文件存儲在高速設備上
  2. 經常修改數據文件和索引文件的頁面大小
  3. 定期對數據進行排序
  4. 增加必要的索引項
4.數據庫命名規范4.1數據庫對象

對象

前綴

數據庫

視圖

VI

索引

IX

存儲過程

SP

函數

FN

觸發器

TR

自定義數據類型

ud

Default

DF

主鍵

pk

外鍵

FK

rule

ru

序列

Sq

UNIQUE

uq

數據庫對象采用26個英文字母(區分大小寫)和0-9這十個自然數,加上下劃線_組成,共63個字符。不能出現其他字符(注釋除外)。

同一個數據庫中這些對象名都是不能重復

C CHECK_CONSTRAINT

D DEFAULT_CONSTRAINT

F FOREIGN_KEY_CONSTRAINT

IT INTERNAL_TABLE

P SQL_STORED_PROCEDURE

PK PRIMARY_KEY_CONSTRAINT

S SYSTEM_TABLE

SQ SERVICE_QUEUE

TR SQL_TRIGGER

U USER_TABLE

UQ UNIQUE_CONSTRAINT

V VIEW

4.2命名規范規定

1.表名使用單數名

例如:對存儲客人信息的表(Customer)不使用Customers

2.避免無謂的表格后綴

1、 表是用來存儲數據信息的,表是行的集合。那么如果表名已經能夠很好地說明其包含的數據信息,就不需要再添加體現上面兩點的后綴了。

2、 GuestInfo(存儲客戶信息)應寫成Guest,FlightList(存儲航班信息的表)應寫成Flight

3.所有表示時間的字段,統一以 Date 來作

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线视频免费播放| 日韩国产欧美精品在线| 日韩a**中文字幕| 国产中文字幕日韩| 6080yy精品一区二区三区| 亚洲字幕一区二区| 午夜免费日韩视频| 欧美激情精品在线| 亚洲国产成人精品女人久久久| 亚洲欧美国产视频| 96国产粉嫩美女| 一本久久综合亚洲鲁鲁| 亚洲91精品在线| 亚洲天堂av电影| 中文字幕亚洲一区二区三区| 欧美在线播放视频| 日韩精品视频免费在线观看| 国产精品扒开腿做爽爽爽视频| 久久人人爽人人| 中文字幕日韩高清| 91极品女神在线| 久久精品一区中文字幕| 欧美在线视频导航| 精品福利视频导航| 亚洲色图激情小说| 中文字幕日韩av| 中文一区二区视频| 国产91在线播放| 日韩精品一区二区三区第95| 中文字幕精品久久久久| 日韩高清av在线| 亚洲黄色www| 欧美性猛交99久久久久99按摩| 久久99精品久久久久久琪琪| 亚洲黄色成人网| 国产精品激情av在线播放| 福利一区福利二区微拍刺激| 亚洲欧洲视频在线| 高清欧美一区二区三区| 精品无人区太爽高潮在线播放| 97色伦亚洲国产| 在线性视频日韩欧美| 国产精品久久久久久久久男| 色婷婷av一区二区三区在线观看| 成人av.网址在线网站| 第一福利永久视频精品| 亚洲免费电影一区| 国产成人自拍视频在线观看| 精品调教chinesegay| 国产成人综合一区二区三区| 韩国美女主播一区| 中文字幕日韩精品在线观看| 日韩亚洲欧美中文高清在线| 成人黄色在线免费| 日韩欧美成人精品| 国内揄拍国内精品少妇国语| 国产欧美中文字幕| 亚洲色图国产精品| 日本精品久久久久久久| 成人精品视频久久久久| 国产主播精品在线| 日韩在线观看网站| 国产亚洲精品综合一区91| 69视频在线免费观看| 国产精品视频白浆免费视频| 亚洲人成电影网站色www| 在线观看欧美www| 久久精品一本久久99精品| 久久免费视频这里只有精品| 国产日产欧美a一级在线| 国模视频一区二区| 欧美日韩美女在线| 欧美日韩免费在线观看| 久久99久久99精品中文字幕| 欧美日韩美女在线观看| 欧美日韩在线观看视频小说| 亚洲激情视频在线| 亚洲人成电影网站色| 亚洲国产精品视频在线观看| 精品国产鲁一鲁一区二区张丽| 日韩在线观看你懂的| 久久韩国免费视频| 亚洲精品国产品国语在线| 亚洲美女又黄又爽在线观看| 色综合亚洲精品激情狠狠| 欧亚精品中文字幕| 亚洲网站在线观看| 一区二区三区在线播放欧美| 成人性生交大片免费看视频直播| 精品久久久久久久久久| 欧美体内谢she精2性欧美| 欧美孕妇孕交黑巨大网站| 国产欧美精品一区二区三区介绍| 欧美在线激情网| 一本色道久久88亚洲综合88| 欧美性猛交丰臀xxxxx网站| 亚洲免费视频一区二区| 热re99久久精品国产66热| 久久久在线免费观看| 美女啪啪无遮挡免费久久网站| 91久久精品国产| 九九热r在线视频精品| 91九色视频导航| 成人亲热视频网站| 亚洲色图13p| 91久久久久久久久久久久久| 色综合91久久精品中文字幕| 96sao精品视频在线观看| 91视频免费在线| 亚洲剧情一区二区| 国产成人精品免费视频| 精品国产依人香蕉在线精品| 欧美巨猛xxxx猛交黑人97人| 亚洲精品动漫100p| 久久久精品999| 日韩黄色av网站| 成人午夜一级二级三级| 国产成人中文字幕| 国精产品一区一区三区有限在线| 国产69久久精品成人看| 久操成人在线视频| 91精品国产色综合久久不卡98| 欧美成人亚洲成人日韩成人| 欧美激情videos| 欧美激情aaaa| 欧美激情国内偷拍| 亚洲精品福利在线| 久久综合免费视频| 亚洲欧美综合另类中字| 日韩欧美一区二区三区久久| 色婷婷av一区二区三区在线观看| 亚洲人在线观看| 九九久久久久99精品| 欧美大荫蒂xxx| 91在线视频免费| 国产亚洲欧美日韩美女| 日韩精品视频在线观看网址| 久久精品国产视频| 亚洲第一免费网站| 国产精品视频26uuu| 亚洲成人精品久久| …久久精品99久久香蕉国产| 成人国内精品久久久久一区| 91av在线免费观看| 成人福利视频网| 亚洲在线观看视频网站| 91在线无精精品一区二区| 国产精品99蜜臀久久不卡二区| 最好看的2019的中文字幕视频| 98视频在线噜噜噜国产| 另类视频在线观看| 国产精品天天狠天天看| 国产精品视频大全| 亚洲国产精品大全| 亚洲综合av影视| 日韩精品在线免费播放| 亚洲自拍偷拍福利| 久久久久久久久91| 亚洲精品免费在线视频| 91香蕉国产在线观看| 日本亚洲欧美成人| 欧美精品亚州精品| 久久91亚洲精品中文字幕| 91精品91久久久久久|