毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長、見賢思齊
當前位置:公文素材庫 > 計劃總結 > 工作總結 > 數據庫設計知識點總結

數據庫設計知識點總結

網站:公文素材庫 | 時間:2019-05-29 15:15:27 | 移動端:數據庫設計知識點總結

數據庫設計知識點總結

數據庫設計

1概念

1.1描述

數據庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數據庫模式,建立數據庫及其應用系統(tǒng),使之能夠有效地存儲數據。

1.2數據庫設計包含四部分

需求分析概念結構設計邏輯結構設計物理結構設計

1.3數據庫設計的原則

明白自己的系統(tǒng)為OLTP系統(tǒng)還是OLAP系統(tǒng)降低對數據庫功能的依賴嚴格遵從數據庫三范式適當的考慮數據分塊

盡量保證記錄的唯一標識存在

2概念結構設計

2.1E--R圖設計

E--R圖分為局部E--R圖和全局E--R圖E--R模型基本符號實體的表示:長方形

聯(lián)系的表示:菱形,如1:1、1:n(m:1)、(m:n)屬性的表示:橢圓形

2.2確定實體與屬性的原則:

能作為屬性的盡量作為屬性而不要劃為實體

作為屬性的數據元素與實體之間的聯(lián)系只能是1:n的聯(lián)系作為屬性的數據項不能再用其他屬性加以描述,也不能與其他實體或屬性發(fā)生聯(lián)系。

3邏輯結構設計

3.1概念

是將基本E--R圖轉換為與選用DBMS產品所支持的數據模型相符合的邏輯結構的過程。

3.2邏輯結構設計的過程分為

將概念結構轉換為現有DBMS支持的關系、網狀或層次模型中的某一種數據模型從功能和性能要求上對轉換的模型進行評價,看它是否滿足用戶要求對數據模型進行優(yōu)化

3.3邏輯結構設計的原則

一個實體型轉換為一個關系模型,實體的屬性就是關系的屬性,實體的鍵就是關系的鍵;一個聯(lián)系轉換為一個關系模式,與該聯(lián)系相連的每個實體型的鍵以及聯(lián)系的屬性都轉換為關系的屬性。

4配置數據庫連接

4.1步驟

1.打開powerdesigner,依次點擊:database--connect2.點擊connect,打開對話窗口:3.然后點擊Configuer按鈕,彈出數據源配置ConfiguerDataConnections對話框:

4.把頁簽切換到第三個ConnetionProfiles頁簽中,如果連接存在,選中就行,如果不存在,點擊addDataSource數據庫圖標進行新增,彈出ConnectionProfileDefinition對話框此對話框中需要輸入以下信息

Connectionprofilename:輸入數據庫連接文件名,它會自動加上后綴名.dcp;Directory:數據庫連接文件存放路徑;可以任意;Connetctiontype:選擇JDBC;DBMStype:數據庫類型選擇Oracle;

Servername:服務器名稱;也相當于對應PL/SQL登陸頁面的數據庫;Databasename:數據庫名字;Username:登陸數據庫名字;Password:密碼

JDBCDriverclass:驅動類;只要下拉框選擇就行;JDBCDriverJarURL:訪問的服務器路徑

JDBCconnectionfiles:驅動包;需要指向ojdbc14.jar或者其他驅動的包的按鈕路徑;5.點擊TestConnection按鈕進行連接測試;

測試連接是否成功;成功會彈出成功或者失敗消息框,測試成功后。點擊確定按鈕,返回數據源配置ConfiguerDataConnections對話框,列表中就會多出一個.dcp文件,點擊確定即可。

5導出數據庫

5.1步驟

導出數據庫表方法如下:

1.啟動PowerDesigner

2.菜單:File->ReverseEngineer->Database出來NewPhysicalDataModel對話框,DBMS選擇ORACLEVersion10g選項,其他可以選擇默認值,點擊“確定”按鈕,彈出DatabaseReverseEngineeringOptions對話框:

3.然后在下拉框中選擇我們之前建立的數據源文件,并再次輸入數據庫UserID和password,點擊Connection即可連接至數據庫,并得取所有的數據庫對象,在此我們選擇所有的Table。

6PowerDesigner

6.1描述

PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統(tǒng)進行分析設計,他幾乎包括了數據庫模型設計的全過程。利用PowerDesigner可以制作數據流程圖、概念數據模型、物理數據模型,還可以為數據倉庫制作結構模型,也能對團隊設計模型進行控制。他可以與許多流行的數據庫設計軟件,例如PowerBuilder,Delphi,VB等相配合使縮短開發(fā)時間和使系統(tǒng)設計更優(yōu)化。

powerdesigner是能進行數據庫設計的強大的軟件,是一款開發(fā)人員常用的數據庫建模工具。使用它可以分別從概念數據模型(ConceptualDataModel)和物理數據模型(PhysicalDataModel)兩個層次對數據庫進行設計。在這里,概念數據模型描述的是獨立于數據庫管理系統(tǒng)(DBMS)的實體定義和實體關系定義;物理數據模型是在概念數據模型的基礎上針對目標數據庫管理系統(tǒng)的具體化。

7導入數據庫

7.1方法

將視圖切換到physical模型下,連接數據庫:單擊database\\databaseconnection,彈出下面窗口,進行數據庫的連接。

鏈接完成后單擊tools\\forwardengineer\\schemagenerate,將彈出下面的窗口,單擊generate,即可將物理模型導入數據庫。

8實體

8.1實體間的關系

實體間的三種關系:

1.標識關系(identifyingrelationship);2.多對多關系(many-to-manyrelationship);

3.非標識關系(non-identifyingrelationship)。

標識關系是指把實體1中的主鍵作為實體2中的外鍵,且作為實體2的主鍵,非標識關系是指把實體1中的主鍵作為實體2中的外鍵,但不作為實體2的主鍵,8.2概念

Erwin中的實體有兩種:獨立實體和依賴實體。實體被指定作為獨立實體,或依賴實體,取決于其鍵的獲得方式。獨立實體由方角盒來指定,獨立實體不依賴于模型中任何其它實體來標識;依賴實體被指定為圓角盒,依賴實體依存于模型中的其它實體,修改實體名

8.3修改實體名稱

方法一:單擊實體名,按F2鍵可以對實體名稱進行修改;

方法二:右鍵單擊欲進行修改的實體,選擇EntityProperties;

8.4方法三:雙擊實體修改。列的增刪

方法一:右鍵單擊所選實體≡tiue,在彈出的trbts窗口中添加境蛐薷氖糶裕?方法二:單擊所選實體,按tb鍵也可以進行添加,刪除或修改操作。

擴展閱讀:北大青鳥S2sql數據庫設計和高級查詢總結

第一章數據庫的設計

良好的數據庫設計

1、節(jié)省數據庫的存儲空間2、能夠保證數據的完整性

3、方便進行數據庫應用系統(tǒng)的開發(fā)

糟糕的數據庫設計1、效率低下

2、更新和檢索數據時會出現許多問題

設計數據庫的步驟

1、需求分析階段分析客戶的業(yè)務和數據處理需求⑴收集信息

⑵標識對象(實體)

⑶標識每個對象需要存儲的詳細信息

⑷標識對象之間的關系

2、概要設計階段繪制數據庫的E-R模型圖(實體關系圖)

3、詳細設計階段將E-R圖轉換為多張表,進行邏輯設計,并應用數據庫設計的三大規(guī)范進行設計

4、代碼編寫階段

映射基數1一對一2一對多3多對一4多對多

實體關系圖

矩形表示實體集橢圓形表示屬性菱形表示關系集直線用來連接

設計數據庫問題1信息重復2更新異常

3插入異常(無法表示某些信息)4刪除異常(丟失有用的信息)

數據庫設計的三大規(guī)范理論

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

二第二范式的目標是確保表中的每列都和主鍵相關

三第三范式的目標是確保每列都和主鍵直接相關,而不是間接相關(不能傳遞依賴)

規(guī)范化和性能的關系

在必要的情況下允許適當的數據冗余

第二章數據庫的實現

一建庫

uesmastergo

ifexists(select*fromsysdatabaseswherename="數據庫名字")

dropdatabase數據庫名--判斷這個數據庫名字是否存在,如果存在刪除createdatabase數據庫名on[primary]

(

name="",filename="",

size="",建立數據庫的主文件如果需要建立次要文件(ndf)用逗號隔開maxsize="",filegrowth="")

logon(

name="",filename="",

size="",建立日志文件如果建立多個日志文件在后面用逗號隔開maxsize="",filegrowth="")

go--批處理

二建表ues數據庫名字

go

ifexists(select*fromsysobjectswherename="表名")droptable表名--判斷是否有這個名字的表createtable表名

(

字段名數據類型列的特征

如stuidintidentity(1,1)notnull--identity表示是否為自動增長)go

三加約束

1主鍵約束(primarykeyconstraint)--constraint約束altertable表名

addconstraint約束名(PK_***)primarykey(約束的字段)2唯一約束(uniqueconstraint)altertable表名

addconstraint約束名(uq_***)unique(約束的字段)3檢查約束(checkconstraint)altertable表名

addconstraint約束名(ck_***)check(約束的條件)4默認約束(defaultconstraint)

altertable表名

addconstraint約束名(df_***)default("默認值")for約束的字段5外建約束(foreignkeyconstraint)altertable表名

addconstraint約束名(fk_***)foreignkey(約束的字段)references主表的表名(主表的字段)

總結

createdatabase建庫createtable建表addconstraint加約束dropdatabase刪庫droptable刪表dropconstraint刪約束

usemasterselect*fromsysdatabases判斷是否有庫名select*fromsysobjects判斷是否有表名

完整性

1實體完整性(保證數據是唯一的如主鍵\\唯一鍵\\標示列)2引用完整性(保證兩表數據一致如外鍵)

3域完整性(保證數據的準確性如檢查約束\\默認約束\\非空)

三層安全模型

1登陸帳號--決定登陸服務windows身份驗證

execsp_grantlogin"windows域名\\域帳戶"sql身份驗證

execsp_addlogin"帳戶名","密碼"2數據庫用戶--訪問數據庫use數據庫名

go

execsp_grantdbaccess"登陸帳戶",("數據庫用戶")如果不寫數據庫用戶默認為登陸帳號名3權限--在數據庫里的操作use數據庫名

go

grant權限(增,刪,改,查,建表(createtable))on表名to用戶名

第三章T-SQL編成

使用變量一局部變量

declare@變量名類型賦值:1、set@變量名=值2、select@變量名=值

二全局變量

@@error最后一個T-SQL錯誤的錯誤號

@@identity最后一次插入的標示值@@language當前使用的語言的名稱

@@max_connections可以創(chuàng)建的同時連接的最大數目@@rowcount受上一個sql語句影響的行數@@servername本地服務器的名稱

@@servicename該計算機上的sql服務的名稱@@timeticks當前計算機上每刻度的微秒數@@transcount當前連接打開的事物數@@versionsqlserver的版本信息

輸出語句

1、print局部變量或字符串

2、select局部變量as自定義列名(查詢語句的特殊應用)

邏輯控制語句1、

if(條件)

begin--開頭語句

end--結束

else--為可選begin--開頭語句end--結束2、while(條件)語句[break]3、

case

when條件1then結果1when條件2then結果2[else其他結果]end

批處理語句

以一條命令的方式來處理一組命令的過程稱為批處理批處理的好處就是能夠簡化數據庫的管理

第四章高級查詢

一簡單子查詢

select***from表1where字段1>(子查詢)它等于一個等值內連接

將子查詢和比較運算符聯(lián)合使用,必須保證子查詢返回的值不能多與一個二in和notin子查詢

in后面的子查詢可以返回多條記錄

select***from表1where字段1in(notin)(子查詢)

三existsnotexists子查詢ifexists(子查詢)語句

如果子查詢的結果非空,則exists(子查詢)將返回真(true),否則返回假(false)

第五章事務、索引和試圖

一事務:是一個整體,要么都成功,要么都失敗

事務時作為單個邏輯工作單元執(zhí)行的一系列操作。一個邏輯工作單元必須有4個屬性1原子性(atomicity)

事務是一個完整的操作。事務的各元素是不可分得2一致性(consistency)

當事務完成時,數據必須處于一致狀態(tài)

3隔離性(isolation)

對數據進行修改的所有并發(fā)事務是彼此隔離的,這表明事務必須是獨立的,它不應以任何方式依賴于或影響其它事務4持久性(durability)

事務完成之后,它對系統(tǒng)的影響是永久的簡稱ACID二如何創(chuàng)建事務

開始事務:begintransaction提交事務:committransaction

回滾(撤銷)事務:rollbacktransaction事務的分類有3種

1顯示事務:用begintransaction明確指定事務的開始

2隱式事務:通過設置setimplicit_transactionon語句,將隱式事務模式設置為打開3自動提交事務:這是sqlserver的默認模式它將每條單獨的T-SQL語句視為一個事務.如果成功執(zhí)行,則自動提交.如果錯誤,則自動回滾.在這里用的了全局變量@@errordeclare@errorsumintset@errorsum=0語句

set@errorsum=@errorsum+@@error

三什么是索引

索引,它是sqlserver編排數據的內部方法,相當于字典中的目錄索引頁,數據庫中存儲索引的數據頁

通過索引可以大大提高數據庫的檢索速度,改善數據庫性能加快查詢的速度(通過平衡二叉樹)增\\刪\\改速度慢,所需要的空間大

索引可分為3類

1唯一索引:唯一索引不允許兩行具有相同的索引值.

創(chuàng)建了唯一約束,將自動創(chuàng)建唯一索引,為了最佳性能,建議使用主鍵的約束

2主鍵索引:在數據庫關系圖中為表定義一個主鍵將自動創(chuàng)建主鍵索引,主鍵索引是唯一索引的特殊類型.

3聚集索引:在聚集索引中,表中各行的物理順序與健值的邏輯(索引)順序相同.

非聚集索引:表中各行的物理順序與鍵值的邏輯順序不匹配.

在sqlserver中,一個表只能創(chuàng)建一個聚集索引,但可以有多個非聚集索引,設置某列為主鍵,該列就默認為聚集索引

四建立索引

create[unique][clustered][nonclustered]indexix_(name)on表名(字段名)

withfillfactor=30

1unique指定唯一索引可選

2clusterednonclustered指定是聚集索引還是非聚集索引,可選

3fillfactor表示填充因子,指定0--100的值,該值指示索引頁填滿的空間所占的比例(百分比越小,所留得空白空間越大)什么情況下可以建立索引1該列用于頻繁搜索

2該列用于對數據進行排序請不要對下面的列創(chuàng)建索引1列中僅包含幾個不同的值2表中僅包含幾行.

五什么是試圖

試圖使另一種查看數據庫中一個或多個表中的數據的方法.它是一種虛擬表

試圖通常用來進行以下三種操作1篩選表中的行

2防止未經許可的用戶訪問敏感數據3將多個物理數據表抽象為一個邏輯數據表(降低數據庫的復雜程度)好處

1對最終用戶的好處結果更容易理解獲得數據更容易2對開發(fā)人員的好處限制數據檢索更容易維護應用程序更方便

六如何創(chuàng)建試圖

createviewview_(name)as

(select語句)

第六章存儲過程

一什么是存儲過程

存儲過程(procedure)類似于java語言中的方法,它是sql語句和控制流語句的預編譯集合。存儲過程的優(yōu)點

1允許模塊化程序設計2允許更快地執(zhí)行3減少網絡流量

4可作為安全機制使用存儲過程分為以下兩類1系統(tǒng)存儲過程

2用戶自定義的存儲過程

3擴展存儲過程(系統(tǒng)定義好的,以xp_開頭)

二常用的系統(tǒng)存儲過程

所有的系統(tǒng)存儲過程的名稱都以sp_開頭

sp_databases(列出服務器上的所有數據庫)sp_helpdb(報告有關指定數據庫或所有數據庫的信息)sp_renamedb(更改數據庫的名稱)

sp_tables(返回當前環(huán)境下可查詢的對象的列表)sp_columns(返回某個表列的信息)sp_help(查看某個表的所有信息)sp_helpconstraint(查看某個表的約束)

sp_stored_procedures(列出當前環(huán)境中的所有存儲過程)

sp_password(添加或修改登陸帳號的密碼)

sp_helptext(顯示默認值、未加密的存儲過程、用戶定義的存儲過程、觸發(fā)器或試圖的實際文本)

擴展參數

execxp_cmdshelldos命令[no_output]

三用戶定義的存儲過程1創(chuàng)建不帶參數的存儲過程createproc[edure]存儲過程名

[

@參數1數據類型[默認值][output]@參數2數據類型[默認值][output]]

as

sql語句

2創(chuàng)建步帶參數的存儲過程1輸入參數

可以在調用時向存儲過程傳遞參數,此類參數可以用來在存儲過程中傳入值2輸出參數(引用傳遞)

如果希望返回值,則可以使用輸出參數,輸出參數后有"output"標記,執(zhí)行存儲過程后,將把返回值存放在輸出參數中,可供其它T-SQL語句讀取訪問3創(chuàng)建帶輸出參數的存儲過程

如果希望調用存儲過程后,返回一個或多個值,這時需要使用輸出(output)參數。使用輸出參數創(chuàng)建存儲過程時,在參數后面需要跟隨"output"關鍵字,調用時也需要在變量后跟隨"output"關鍵字

四處理錯誤信息

如果存儲過程變得越來越復雜,則需要在存儲過程中加入錯誤檢查語句raiserror({msg_id|msg_str}{,severity,state}[withoption[,...n]])

例raiserror("及格線錯誤,請指定0-100之間的分數,統(tǒng)計中斷退出",16,1)msg_id在sysmessages系統(tǒng)表中指定的用戶定義錯誤信息msg_str用戶定義的特定信息,最長255個字符

severity與特定信息相關聯(lián),表示用戶定義的嚴重性級別。用戶可使用的級別為0-18級(一般下為16)

19-25級是為sysadmin固定角色的成員預留的,并需要指定withlog選項20-為致命錯誤

state表示錯誤的狀態(tài),是1-127的值

option指示是否將錯誤記錄到服務器錯誤日至中

友情提示:本文中關于《數據庫設計知識點總結》給出的范例僅供您參考拓展思維使用,數據庫設計知識點總結:該篇文章建議您自主創(chuàng)作。

來源:網絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯(lián)系我們及時刪除。


數據庫設計知識點總結》由互聯(lián)網用戶整理提供,轉載分享請保留原作者信息,謝謝!
鏈接地址:http://m.seogis.com/gongwen/712523.html
相關文章