日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库设计法

發(fā)布時間:2024/4/14 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库设计法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

? 01.簡述數(shù)據(jù)庫完整性及其作用?

解析:數(shù)據(jù)的準確性,保證數(shù)據(jù)中數(shù)據(jù)的準確性。

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

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

DDL(data definition language):自動提交的數(shù)據(jù)庫定義語言
主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結(jié)構(gòu),數(shù)據(jù)類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用

DCL(Data Control Language):
是數(shù)據(jù)庫控制功能。是用來設置或更改數(shù)據(jù)庫用戶或角色權(quán)限的語句,包括(grant,deny,revoke等)語句。在默認狀態(tài)下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員才有權(quán)力執(zhí)行DCL

DQL:數(shù)據(jù)庫查詢語言,關(guān)鍵字: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=2

見到update和delete,必須有where

Select * from student where id=1

? 03.常用的聚合函數(shù)有哪些?

Avg():求平均值

Sum():求和

Max();求最大值

Min():求最小值

Count():求總的記錄數(shù),count(1)和count(*)等價,一般認為count(1)效率高。

? 04.表聯(lián)接分為哪幾種類型?

內(nèi)連接,外連接和交叉聯(lián)接(數(shù)據(jù)庫原理)

三、 數(shù)據(jù)庫

1. 為什么要設計數(shù)據(jù)庫?

首先,良好的數(shù)據(jù)庫設計:

01. 可以節(jié)省數(shù)據(jù)的存儲空間

02. 能夠保證數(shù)據(jù)的完整性

03. 方便進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)

糟糕的數(shù)據(jù)庫設計:

01. 數(shù)據(jù)冗余、存儲空間浪費

02. 內(nèi)存空間浪費

03. 數(shù)據(jù)更新和插入的異常

由此,我們得出一個結(jié)論,當數(shù)據(jù)庫比較復雜時,我們需要設計數(shù)據(jù)庫

2. 軟件項目開發(fā)周期中數(shù)據(jù)庫設計

從上圖我們可以看出,軟件開發(fā)中設計數(shù)據(jù)庫的步驟:

首先,我們要從現(xiàn)實世界的需求構(gòu)建出一個模型,這種模型通過E——R圖的方式反映,如果確定E——R滿足了客戶的需求,那么我們需要將E-R圖規(guī)范化,構(gòu)建出數(shù)據(jù)庫模型圖,當然在這個圖表中要反映出各個數(shù)據(jù)對象之間的關(guān)系,最后我們根據(jù)數(shù)據(jù)庫模型圖構(gòu)建出符合我們需求的數(shù)據(jù)庫。

???? 需求分析階段:分析客戶的業(yè)務和數(shù)據(jù)處理需求

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

詳細設計階段:應用三大范式審核數(shù)據(jù)庫結(jié)構(gòu)

代碼編寫階段:物理實現(xiàn)數(shù)據(jù)庫,編碼實現(xiàn)應用

軟件測試階段:……

安裝部署:……

3. 設計數(shù)據(jù)庫的步驟

01. 收集信息

與該系統(tǒng)有關(guān)的人員進行交流,座談,充分了解用戶需求,理解數(shù)據(jù)庫需要完成的任務。

02. 標識實體(Entity)

標識數(shù)據(jù)庫要管理的關(guān)鍵對象或者實體,實體一般都是名詞

03. 標識每個實體的屬性

04. 標識實體之間的關(guān)系

4.E—R圖

映射基數(shù):

主要分為以下幾類:

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

一對多:一個客房可以入住多個客人

多對一:多個客人可以入住一個客房

多對多:一本書可以被多個人接,一個人也可以借多本書

??????? 或者是一個老師可以教多個班級,一個班級可以被多個老師教

一個關(guān)系的屬性名的集合稱為關(guān)系模式

Rdbms:

relational database management system 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)

01. 僅有好的RDBMS并不足以避免數(shù)據(jù)冗余,必須在數(shù)據(jù)的設計中創(chuàng)建好的表結(jié)構(gòu)

02. Dr? E.F.codd,一個IBM研究員。最初定義了規(guī)范化的三個級別,范式是具有最小冗余的表結(jié)構(gòu)

03. 這些范式是:

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

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

如果沒列都是不可再分的最小單元(也稱為最小的原子單元),則滿足第一范式(1nf)

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

如果一個關(guān)系滿足1NF,并且除了主鍵以外的其他列,都依賴于該主鍵,則滿足第二范式(2NF),第二范式要求每個表只描述一件事情。

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

如果一個關(guān)系滿足2NF,并且除了主鍵以外的其他列都不傳遞依賴于主鍵列,則滿足第三范式(3NF)

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

第二范式是其他列都要依賴于主鍵列,但是沒有說明是直接依賴還是間接依賴。也就是直接依賴和間接依賴均可以。但是第三范式明確指出只能是直接依賴。

如果出現(xiàn)間接依賴的情況,要單獨獨立出來一張表.

5,規(guī)范化和性能的關(guān)系

為滿足某種商業(yè)目標,數(shù)據(jù)庫性能比規(guī)范化數(shù)據(jù)庫更重要

? 具體策略和方法:

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

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

??????? 在數(shù)據(jù)規(guī)范化同時,要綜合考慮數(shù)據(jù)庫的性能。

? 05.設計數(shù)據(jù)庫步驟

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

第二步:繪制E-R圖 (標示實體 ,找到實體的屬性 , 標注實體間的關(guān)系)

第三步:將E-R圖轉(zhuǎn)換成數(shù)據(jù)庫模型圖

第四步:將數(shù)據(jù)庫模型圖轉(zhuǎn)換成數(shù)據(jù)表

? 06.如何繪制E-R圖

? 矩形;實體

? 橢圓形:屬性

? 菱形:關(guān)系

? 07.如何繪制數(shù)據(jù)庫模型圖

PowerDesigner :選擇PhysicalModel

如有有人不小心關(guān)掉了Platter,對工具欄點擊右鍵,勾選Platter即可。

當我們將數(shù)據(jù)庫模型圖設計完畢后,可以通過菜單中的database下的

Generate Database來生成對應的sql

? 08.三大范式規(guī)范數(shù)據(jù)庫設計

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

第二范式:在滿足第一范式的基礎(chǔ)上,一張表只能描述一件事情

第三范式:在滿足第二范式的基礎(chǔ)上,除了主鍵列之外其他列都要直接依賴于主鍵

要在規(guī)范化和性能之間取一個平衡

四、 課程總結(jié)

01. 在需求分析階段,設計數(shù)據(jù)庫的一般步驟是什么?

收集信息

標識實體

標識每個實體的屬性

標識實體之間的關(guān)系

02. 在概要設計階段和詳細設計階段,設計數(shù)據(jù)庫的步驟是什么?

繪制E——R圖

將E—R圖轉(zhuǎn)化為數(shù)據(jù)庫模型圖

應用三大范式規(guī)范化表設計

03. 為了設計結(jié)構(gòu)良好的數(shù)據(jù)庫,需要遵守一些專門的規(guī)則,稱為數(shù)據(jù)庫的設計范式,分別是什么?

三大范式的例子:

?????

????????????????

?????? ?挺辛苦的,好好看吧!

轉(zhuǎn)載于:https://www.cnblogs.com/weiguangyi/p/5103026.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的数据库设计法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。