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

歡迎訪問 生活随笔!

生活随笔

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

数据库

4、数据库逻辑结构设计阶段

發布時間:2023/12/8 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 4、数据库逻辑结构设计阶段 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在概要設計階段解決了客戶的需求,并繪制了 E-R圖。邏輯結構設計的任務,就是把在概要結構設計階段建立的基本 E-R 圖,按選定的關系數據模型的原則轉換成相應的數據庫模型圖。

本節將介紹如何將 E-R圖轉化為關系模型和數據庫模型圖,

關系數據庫模式

用二維表的形式表示實體與實體間關系的數據模型稱為關系模型。關系數據庫模式是對關系數據庫結構的描述,或者說是對關系數據庫框架的描述。一個關系通常對應一張表。

一般情況下,我們把關系模式表示為 R(U) 或 R(A,B)。其中,R 表示關系名,U 表示屬性集合,A、B 代表 U 中的屬性。

將 E-R 圖轉換為關系模式的步驟如下。

1)把每個實體都轉化為關系模式 R(A,B) 形式

以酒店管理系統為例,實體“客人”和“客房”分別可以使用關系模式表示如下。
客房(客房號,客房描述,客房類型,客房狀態,床位數,入住人數,價格)。
客人(客人編號,客人姓名,身份證號,入住日期,結賬日期,押金,總金額)。

2)建立實體間關系的轉換

實體間的關系分成一對一、一對多、多對多三種,當兩個實體各自轉化為關系模式后,實體間關系的轉換如下。

  • 一對一的轉換:把任意實體的主鍵放到另一個實體的關系模式中。
  • 一對多的轉換:把關系數量為 1 的實體的主鍵放到關系數量為 N 的實體關系模式中。
  • 多對多的轉換:把兩個實體中的主鍵和關系的屬性放到另一個關系模式中,會多生成一個關系模式。

酒店管理系統中客房與客人的關系為一對多關系,轉換后的結果如下。
客房(客房號 ,客房描述,客房類型,客房狀態,床位數,入住人數,價格)。
客人(客人編號 ,客人姓名,身份證號,入住日期,結賬日期,押金,總金額,客房號)。

上述關系模式中含有下劃線的屬性代表主屬性,在表中作為主鍵,加粗屬性為外鍵。

數據庫模型圖

數據庫模型圖主要用來說明數據庫有哪些表,表中有哪些屬性以及表與表之間的關聯關系。

將 E-R 圖轉化為數據庫模型圖主要執行以下 4 步:

  • 在 Visio 中新建數據庫模型圖
  • 添加實體,將 E-R圖中各實體轉化為對應的表
  • 將各屬性轉化為各表對應的列,定義字段名稱、數據類型等
  • 添加實體之間的映射關系

添加實體之間的映射關系,具體步驟如下:

  • 添加 GuestRecord(客人)實體和 Room(客房)實體。
  • 為 GuestRecord 表添加外鍵約束列 RoomID(客房號),對應 Room 表中的 RoomID 列。

為了數據編碼的兼容性,建議使用英文字段。為了直觀可見,我們在英文括號內注明了對應的中文含義。下面將 E-R 圖中的“客房”和“客人”兩個實體轉換為數據庫模型圖,如下圖所

圖中的 PK 表示表的主鍵列,FK 表示外鍵列。需要注意的是,表中的 ID 編號列只能用作主鍵或外鍵,否則該列沒有實際含義。如客人表中的 GuestID 列,客房表中添加的 RoomID 列。

在數據庫模型圖中也可以很好的體現實體之間的映射關系。比如,客房和客人之間是一對多關系,對于一對多關系的兩個實體,一般會各自轉換為一張表,并且后者對應的表引用前者對應的表,即客人(GuestRecord)表中的客房號來自客房(Room)表中的客房號,它們之間應建立主鍵、外鍵關系,如上圖所示。

一般來說,一對多關系是一個表中的主鍵對應另一個表中可重復字段,主鍵的值是不能重復的,而關聯的字段是可以重復的,這樣就會存在一個值對應一個值或者一個值對應多個值。在一對一關系中,一般是一個主鍵對應一個不可重復的字段,顯然只能一個值對應一個值。

多對多映射關系也是比較常見的。要表示多對多關系,除了將多對多關系中的兩個實體各自轉換為表外,一般還會創建第三個表,稱為連接表。它將多對多關系劃分為兩個一對多關系,并且將這兩個表的主鍵都插入到第三個表中。

例如,訂單表和產品表有多對多關系,這種關系通常通過與“訂單明細”表建立兩個一對多關系來定義。一個訂單可以有多個產品,每個產品可以出現在多個訂單中。關于這一點可以在以后的數據庫設計實例中慢慢理解。

總結

以上是生活随笔為你收集整理的4、数据库逻辑结构设计阶段的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。