數據庫設計法

 

  01.簡述數據庫完整性及其做用?

解析:數據的準確性,保證數據中數據的準確性。sql

  02.基本操做語句(DML DDL DCL)有哪些?語法是?

DML(data manipulation language):自動提交的數據庫操做語言
它們是SELECT、UPDATE、INSERT、DELETE,就象它的名字同樣數據庫

DDL(data definition language):自動提交的數據庫定義語言
主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的連接和約束等初始化工做上,他們大多在創建表時使用數據庫設計

DCL(Data Control Language):
是數據庫控制功能。是用來設置或更改數據庫用戶或角色權限的語句,包括(grant,deny,revoke等)語句。在默認狀態下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員纔有權力執行DCL函數

DQL:數據庫查詢語言,關鍵字:select工具

Insert、update、delete、select性能

這裏以student表爲例:測試

Insert into student(name,age) values(‘張三’,18)編碼

Update student set name=’ 李四’ where id=1設計

Delete from student where id=2orm

見到update和delete,必須有where

Select * from student where id=1

  03.經常使用的聚合函數有哪些?

Avg():求平均值

Sum():求和

Max();求最大值

Min():求最小值

Count():求總的記錄數,count(1)和count(*)等價,通常認爲count(1)效率高。

  04.表聯接分爲哪幾種類型?

內鏈接,外鏈接和交叉聯接(數據庫原理)

3、 數據庫

1. 爲何要設計數據庫?

首先,良好的數據庫設計:

01. 能夠節省數據的存儲空間

02. 可以保證數據的完整性

03. 方便進行數據庫應用系統的開發

糟糕的數據庫設計:

01. 數據冗餘、存儲空間浪費

02. 內存空間浪費

03. 數據更新和插入的異常

由此,咱們得出一個結論,當數據庫比較複雜時,咱們須要設計數據庫

2. 軟件項目開發週期中數據庫設計

wpsC9F4.tmp

從上圖咱們能夠看出,軟件開發中設計數據庫的步驟:

首先,咱們要從現實世界的需求構建出一個模型,這種模型經過E——R圖的方式反映,若是肯定E——R知足了客戶的需求,那麼咱們須要將E-R圖規範化,構建出數據庫模型圖,固然在這個圖表中要反映出各個數據對象之間的關係,最後咱們根據數據庫模型圖構建出符合咱們需求的數據庫。

     需求分析階段:分析客戶的業務和數據處理需求

概要設計階段:設計數據庫的E-R模型圖,確認需求信息的正確和完整

詳細設計階段:應用三大範式審覈數據庫結構

代碼編寫階段:物理實現數據庫,編碼實現應用

軟件測試階段:……

安裝部署:……

3. 設計數據庫的步驟

01. 收集信息

與該系統有關的人員進行交流,座談,充分了解用戶需求,理解數據庫須要完成的任務。

02. 標識實體(Entity)

標識數據庫要管理的關鍵對象或者實體,實體通常都是名詞

03. 標識每一個實體的屬性

04. 標識實體之間的關係

4.E—R圖

wpsCA04.tmp

映射基數:

主要分爲如下幾類:

一對一:一輛車只能對應一個車位

一對多:一個客房能夠入住多個客人

多對一:多個客人能夠入住一個客房

多對多:一本書能夠被多我的接,一我的也能夠借多本書

        或者是一個老師能夠教多個班級,一個班級能夠被多個老師教

一個關係的屬性名的集合稱爲關係模式

Rdbms:

relational database management system 關係型數據庫管理系統

01. 僅有好的RDBMS並不足以免數據冗餘,必須在數據的設計中建立好的表結構

02. Dr  E.F.codd,一個IBM研究員。最初定義了規範化的三個級別,範式是具備最小冗餘的表結構

03. 這些範式是:

第一範式(1ST NF—First  Normal   Form)

第一範式的目標是確保每列的原子性

若是沒列都是不可再分的最小單元(也稱爲最小的原子單元),則知足第一範式(1nf)

第二範式(2nd NF—Second  Normal  Form)

若是一個關係知足1NF,而且除了主鍵之外的其餘列,都依賴於該主鍵,則知足第二範式(2NF),第二範式要求每一個表只描述一件事情。

第三範式(3rd NF—Third  Normal  Form)

若是一個關係知足2NF,而且除了主鍵之外的其餘列都不傳遞依賴於主鍵列,則知足第三範式(3NF)

今天總算理解清楚了一點,:

第二範式是其餘列都要依賴於主鍵列,可是沒有說明是直接依賴仍是間接依賴。也就是直接依賴和間接依賴都可以。可是第三範式明確指出只能是直接依賴。

若是出現間接依賴的狀況,要單獨獨立出來一張表.

5,規範化和性能的關係

爲知足某種商業目標,數據庫性能比規範化數據庫更重要

  具體策略和方法:

01. 經過在給定的表中添加額外字段,以大量減小須要從中搜索信息所需的時間

02. 經過在給定的表中插入計算列(好比成績總分),以方便查詢

        在數據規範化同時,要綜合考慮數據庫的性能。

  05.設計數據庫步驟

第一步:需求分析(收集信息)

第二步:繪製E-R圖 (標示實體 ,找到實體的屬性 , 標註實體間的關係)

第三步:將E-R圖轉換成數據庫模型圖

第四步:將數據庫模型圖轉換成數據表

  06.如何繪製E-R圖

  矩形;實體

  橢圓形:屬性

  菱形:關係

  07.如何繪製數據庫模型圖

PowerDesigner :選擇PhysicalModel

若有有人不當心關掉了Platter,對工具欄點擊右鍵,勾選Platter便可。

當咱們將數據庫模型圖設計完畢後,能夠經過菜單中的database下的

Generate Database來生成對應的sql

  08.三大範式規範數據庫設計

第一範式:保證每列的原子性,不可再被拆分

第二範式:在知足第一範式的基礎上,一張表只能描述一件事情

第三範式:在知足第二範式的基礎上,除了主鍵列以外其餘列都要直接依賴於主鍵

要在規範化和性能之間取一個平衡

4、 課程總結

01. 在需求分析階段,設計數據庫的通常步驟是什麼?

收集信息

標識實體

標識每一個實體的屬性

標識實體之間的關係

02. 在概要設計階段和詳細設計階段,設計數據庫的步驟是什麼?

繪製E——R圖

將E—R圖轉化爲數據庫模型圖

應用三大範式規範化表設計

03. 爲了設計結構良好的數據庫,須要遵照一些專門的規則,稱爲數據庫的設計範式,分別是什麼?

三大範式的例子:

wpsCA15.tmp     

                

        挺辛苦的,好好看吧!

相關文章
相關標籤/搜索