成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

開發者如果理解ER圖(實體-聯系圖)?

開發 開發工具
E-R圖也稱實體-聯系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯系的方法,用來描述現實世界的概念模型。

E-R圖也稱實體-聯系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯系的方法,用來描述現實世界的概念模型。

用矩形表示實體型,矩形框內寫明實體名;用橢圓表示實體的屬性,并用無向邊將其與相應的實體型連接起來;用菱形表示實體型之間的聯系,在菱形框內寫明聯系名,并用無向邊分別與有關實體型連接起來,同時在無向邊旁標上聯系的類型(1:1,1:n或m:n)。

實體聯系模型,是概念數據模型的高層描述所使用的數據模型或模式圖,它為表述這種實體聯系模式圖形式的數據模型提供了圖形符號。

下面是一個最常見的ER圖,基本上只要講解ER圖就會碰到它。

通俗的講,ER圖是把現實生活中的各種關系,以圖片的形式,抽象出來,形成一個思維導圖,通過ER圖可以了解現實中的各種關系,比如一個班有很多學生組成。

ER圖的應用,最最難的地方我覺得是抽象思維能力,你需要把現實生活中各種關系映射到大腦里面,然后以ER圖的形式輸出可分析和可視化的東西。

通過實例來拆解ER圖

一、學校里的那點事兒

現實生活

一個班級有N多的學生組成,每個班級有一個班級號,每一名學生有一個學號;學生可以根據自己的興趣愛好選修課程,對于選修的課程需要考試,然后出成績有學分;一名老師可以教授幾門課程。

ER圖

通過現實的描述分解出幾個實體,分別為班級、學生、課程、教師。出現了幾組關系,分別為一個班級由多名學生組成(1對多)、一名學生可以選多門課程,同時一門課程可能被多名學生選修(多對多)、一名教師可傳授多門課程,同時一門課程可能被多名教師傳授(多對多)。這個場景里面沒有一對一的關系。

關系數據庫

ER圖畫出來以后,如何映射到關系數據庫中的表呢?這一步就非常簡單了,分步驟進行創建:把實體映射為表、把關系映射為表。實體映射為表,比較簡單,不再贅述。

關系映射為表,相對來說比較復雜,以這里的ER圖為例,存在1對多和多對多兩類關系。

1對多或者多對1時,在多方添加一個外鍵,對應到1方,如學生表里的所在班級這個外鍵。多對多時,需要新增一個關系表,把兩個實體間的關系記錄下來,比如下面的學生選課關系表、教師任課關系表。根據ER圖創建表如下:

班級表(主鍵:班級號 )

  • 班級號 班級名 專業 人數
  • C001 動漫一班 動漫設計 60
  • C002 動漫二班 動漫設計 80
  • C003 計算一班 計算機應用 70

學生表(主鍵:學號,外鍵:所在班級 )

  • 學號 姓名 性別 年齡 所在班級
  • S001 小明 男 20 C001
  • S002 小王 女 19 C002
  • S003 小朱 男 21 C003

課程表(主鍵:課程號)

  • 課程號 課程名 課時 學分
  • K001 PS 20 5
  • K002 瑪雅 25 6
  • K003 數據庫 30 10

教師表(主鍵:編號)

  • 編號 職稱 姓名 性別 年齡
  • T001 助教 李老師 男 30
  • T002 講師 朱老師 女 33
  • T003 教授 王老師 男 43

學生選課關系表

  • 編號 學號 課程號 成績
  • SK001 S001 K001 80
  • SK002 S001 K002 76
  • SK003 S002 K001 89
  • SK004 S003 K002 90

教師任課關系表

  • 編號 教師號 課程號 時間
  • TK001 T001 K001 16:00
  • TK002 T001 K002 14:00
  • TK003 T002 K001 10:00
  • TK004 T003 K002 15:00

二、說說電商

現實生活

我打開淘寶,登錄我的賬戶,查看了一下昨天下的單快遞到哪里了,然后又逛了逛,把幾個中意的小家電放到購物車里面,這次錢不夠了,下次再買,嘿嘿。

ER圖

通過上面簡短的描述分解出幾個實體,分別為用戶、訂單、購物車、商品、供應商。出現了幾組關系,分別為一個用戶會有多個訂單(1對多)、一名用戶只有一個購物車(1對1),一個購物車選購多種商品,同時一個商品可能存在多個用戶的購物車中(多對多)、一個供應商可以供應多種商品,一個商品只能屬于一個供應商(多對1)。

關系數據庫

同理,根據ER圖映射到數據庫表,實體首先映射,然后再映射關系,1對1、1對多以及多對1以主外鍵的形式進行關系映射,多對多以新增一個關系表來進行關系映射。根據ER圖創建表如下:

用戶表(主鍵:用戶ID)

  • 用戶ID 用戶名 密碼 昵稱 身份證
  • U001 USER01 *** 小馬哥 3729***
  • U002 USER02 *** 購物狂 1010***
  • U003 USER03 *** 買買買 3302***

訂單表(主鍵:訂單ID,外鍵:用戶ID)

  • 訂單ID 用戶ID 金額 狀態
  • D001 U001 500¥ 完成
  • D002 U001 600¥ 派送中
  • D003 U003 700¥ 待評價

購物車表(主鍵:購物車ID)

  • 購物車ID 用戶ID 總價 優惠價
  • C001 U001 50¥ 45¥
  • C002 U002 150¥ 120¥
  • C003 U003 50¥ 40¥

供應商表(主鍵:注冊號)

  • 注冊號 名稱 聯系人
  • G001 xx電器公司 高先生
  • G002 yy洗化公司 李先生
  • G003 zz服裝公司 王先生

商品表(主鍵:編碼,外鍵:供應商注冊號)

  • 編碼 名稱 分類 重量 單價 供應商注冊號
  • P001 熱水壺 家電 1kg 50¥ G001
  • P002 洗衣粉 洗化 3kg 20¥G001
  • P003 毛衣 服裝 400g 150¥G002

選購關系表

  • 編號 購物車ID 商品編碼
  • X001 C001 P001
  • X002 C001 P002
  • X003 C002 P001
  • X004 C003 P002

三、你真的理解1對1、1對多和多對多嗎?

要想徹底理解這三類關系,不能只讀理論定義,而是從SQL查詢結果出發,來從實踐層面加深理解。

1對1,在任意一張表中添加外鍵

1對1的意思是指第一張表中的某條記錄,根據主外鍵關聯,只能查詢到另一張表中的0條或者1條記錄,同時表中的所有其他記錄都滿足這個特性,反之亦然。

1對1時,需要添加一個外鍵,外鍵添加到任何一張表中都可以。

1對多,1方屬于主表,多方屬于從表,在從表添加外鍵

1對多的意思是指第一張表中的某條記錄,根據主外鍵關聯,能查詢到另一張表中的0條、1條或者N條記錄,同時表中的所有其他記錄都滿足這個特性,反之是多對1。

1對多時,以1方為主表,多方為從表,在多方添加一個外鍵。

多對多,新增一張關系表

多對多的意思是指第一張表中的某條記錄,根據主外鍵關聯,能查詢到另一張表中的0條、1條或者N條記錄,同時表中的所有其他記錄都滿足這個特性,反之亦然。

多對多時,要新增一張關系表,以記錄多對多的數據關系,舉個栗子:

課程表(主鍵:課程號)

  • 課程號 課程名 課時 學分
  • K001 PS男 20 5
  • K002 瑪雅 25 6
  • K003 數據庫 30 10

教師表(主鍵:編號)

  • 編號 職稱 姓名 性別 年齡
  • T001 助教 李老師 男 30
  • T002 講師 朱老師 女 33
  • T003 教授 王老師 男 43

教師任課表(多對多關系衍生出來的表)

  • 編號 教師號 課程號 時間
  • TK001 T001 K001 16:00
  • TK002 T001 K002 14:00
  • TK003 T002 K001 10:00
  • TK004 T003 K002 15:00

如果大家有興趣,可以試著分析下面ER圖如何建表,下篇文章公布答案。

【本文為51CTO專欄作者“朱國立”的原創稿件,轉載請通過作者微信公眾號“開發者圓桌”獲取聯系和授權】

戳這里,看該作者更多好文

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2011-11-16 16:12:33

信息圖手機游戲移動游戲

2010-07-05 17:44:31

ER圖與UML圖

2011-08-08 09:09:44

蘋果iCloud

2013-05-29 10:58:28

移動開發者Node.js信息圖

2017-06-27 14:32:06

大數據繪制統計圖數據可視化

2011-03-23 14:44:32

開發者游戲Android

2012-06-13 01:23:30

開發者程序員

2010-12-31 11:10:32

iDatacenter蘋果

2013-03-11 11:20:05

2017-03-31 20:16:53

華為開發者聯盟

2014-07-07 09:44:05

前端前端渲染

2023-02-03 09:52:10

開發者框架GoFrame

2019-09-09 14:33:17

開發者技能算法

2013-10-30 12:51:34

2011-03-31 15:31:18

PayPalAndroid

2011-03-23 16:05:48

微軟

2022-05-31 17:36:25

技術面試編程

2012-01-04 09:18:32

iPhone開發者聯盟iDP中國開發者

2015-07-13 10:23:23

Java圖解

2018-06-13 10:08:05

蘋果數據開發者
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一级 | 超碰日本 | 九九久久精品视频 | 成人在线观看欧美 | 日韩免费三级 | 综合国产在线 | 国产91精品久久久久久久网曝门 | 欧美一级片在线观看 | 亚洲一区 | 在线观看第一区 | 黄色毛片在线看 | 国产一区二区三区免费视频 | 91综合网 | 天堂av影院 | 亚洲国产高清高潮精品美女 | 日韩美女爱爱 | 国产免费又黄又爽又刺激蜜月al | 成人久久久 | 亚洲天堂一区 | 国产精品视频网 | 日韩精品久久久 | 亚洲精品粉嫩美女一区 | 久久久久九九九九 | 欧美一级在线免费观看 | 男女那个视频 | 盗摄精品av一区二区三区 | 日本三级线观看 视频 | 一本大道久久a久久精二百 国产成人免费在线 | 国产精品揄拍一区二区 | 天堂成人国产精品一区 | 日韩精品一区二区三区久久 | 欧美精品一区二区蜜桃 | 奇米四色影视 | 欧美一区二区三区在线观看视频 | 国产一级久久久久 | 成人在线免费观看视频 | 日韩在线免费播放 | 欧美人成在线视频 | 欧美成人免费 | 正在播放国产精品 | 先锋资源网 |