什么是實體-聯系圖(ER圖)

實體-聯系圖(ER圖)
數據模型中包含3種相互關聯的信息:數據對象、數據對象的屬性及數據對象彼此間相互連接的關系。
1.數據對象
數據對象是對軟件必須理解的復合信息的抽象。所謂符合信息是指具有一系列不同性質或屬性的事物,僅有單個值得事物(例如,寬度)不是數據對象。數據對象可以是外部實體(例如,產生或使用信息的任何事物)、事物(例如,報表)、行為(例如,打電話)、事件(例如,響警報)、角色(例如,教師、學生)、單位(例如,會計科)、地點(例如,倉庫)或結構(例如文件)等。總之,可以由一組屬性來定義的實體都可以被認為是數據對象
數據對象彼此間是有關聯的,例如,教師“教”課程,學生“學”課程。教或學的關系表示教師和課程或課程之間的一種特定的連接。
數據對象只封裝了數據而沒有對施加于數據上的操作的引用,這是數據對象與面向對象范型中的“類”或“對象”的顯著區別。
2.屬性
屬性定義了數據對象的性質。必須把一個或多個屬性定義為“標識符”,也就是說,當人們希望找到數據對象的一個實例時,用標識屬性作為“關鍵字”(通常簡稱為“鍵”)。
應該根據對所要解決的問題的理解,來確定特定數據對象的一組合適的屬性。例如,為了開發機動車管理系統,描述汽車的屬性應該是生產廠、品牌、型號、發動機號碼、車體類型、顏色、車主姓名、住址、駕駛證號碼、生產日期及購買日期等。但是,為了開發設計汽車的CAD系統,用上述這些屬性描述汽車就不合適了,其中車主姓名、住址、駕駛證號碼、生產日期和購買日期等屬性應該刪去,而描述汽車技術指標的大量屬性應該添加進來。
3.聯系
客觀世界中的事物彼此間往往是有聯系的。例如,教師與課程漸存在“教”這種聯系,而學生與課程間則存在“學”這種聯系。
數據對象彼此之間相互連接的方式稱為聯系,也稱為關系。聯系可分為以下3種類型。
?一對一聯系(1:1)
? ? 例如,一個部門有一個經理,而每個經理只在一個部門任職,則部門與經理的聯系是一對一的。
?一對多聯系(1:N)
? ?例如,某校教師與課程之間存在一對多的聯系“教”,即每位教師可以教多門課程,但是每門課程只能由一位教師來教。
?多對多聯系(M:N)
? ? 例如,圖3.2表示學生與課程間的聯系(“學”)是多對多的,即一個學生可以學多門課程,而每門課程可以有多個學生來學。
? ?聯系也可能有屬性。例如,學生“學”某門課程所取得的成績,既不是學生的屬性也不是課程的屬性。由于“成績”既依賴于某名特定的學生又依賴于某門特定的課程,所以它是學生與課程之間的聯系“學”的屬性。?
4.實體-聯系圖的符號

? ?通常,使用實體-聯系圖來建立數據模型。可以把實體-聯系圖簡稱為ER圖,相應地可把用ER圖描繪的數據模型稱為ER模型。


圖 某校學生管理ER圖
? ?ER圖中包含了實體(即數據對象)、關系和屬性3種基本成分,通常用矩形框代表實體,用連接相關實體的菱形框表示關系,用橢圓形或圓角矩形表示實體(或關系)的屬性,并用直線把實體(或關系)與其屬性連接起來。例如,圖3.2時某學校教學管理的ER圖。
? ?人們通常是用實體、聯系和屬性這3個概念來理解實現問題的,因此,ER模型比較接近人的習慣思維方式。此外,ER模型使用簡單的圖形符號表達系統分析員對問題域的理解,不熟悉計算機技術的用戶也能理解它,因此,ER模型可以作為用戶與分析員之間有效的交流工具。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452637.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452637.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452637.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

記錄的習慣

記錄的習慣 書籍是人類進步的階梯,承載了人類文明進步的歷程。大多數人都寫過日記,但不知道有多少人重視過日記。常常我們會用相機記錄一些生活中的場景,然后收藏起來,等到若干年后再拿出來看,總能感覺到很溫馨很美好。…

php 去掉實體,用PHP刪除除5個預定義HTML實體之外的所有實體的最佳方法-用于XHTML5輸出...

我目前正在嘗試提供XHTML5.目前,我在正在處理的頁面上提供XHTML 1.1 Strict.那就是我為有能力的瀏覽器所做的.對于那些不接受XML編碼數據的人,我會嚴格遵循HTML4.1.在嘗試使用HTML5進行試驗時,以HTML5格式交付時,所有功能或多或少都可以按預期工作.但是,作為XHTML5交付時,我遇到…

Flask愛家租房--發布新房源(保存房屋基本信息)

0.頁面展示效果 1.后端代碼 api.route("/houses/info", methods["POST"]) login_required def save_house_info():"""保存房屋的基本信息前端發送過來的json數據{"title":"","price":"","ar…

今后最有前途的媒體格式 MXF

MXF格式已經被推出幾年了,從當初一個陌生的不為人們重視的格式逐漸獲得了業內人士的認知和認可,現如今正被廣泛應用于廣播電視與后期制作領域,且有不斷擴大之勢,松下公司推出的基于PII卡的無磁帶式標清攝像機,它所采用…

【c#】RabbitMQ學習文檔(一)Hello World

一、簡介 RabbitMQ是一個消息的代理器,用于接收和發送消息,你可以這樣想,他就是一個郵局,當您把需要寄送的郵件投遞到郵筒之時,你可以確定的是郵遞員先生肯定會把郵件發送到需要接收郵件的人的手里,不…

什么是狀態轉換圖

通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。此外狀態轉換圖還指明了作為特定事件的結果系統將做哪些動作(例如,處理數據)。因此狀態轉換圖提供了行為建模機制。

Python學習筆記三

參考教程:廖雪峰官網https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 一、函數的定義 Python中定義一個函數需要使用def語句,依次確定函數名、參數及函數體內容: #一個求絕對值的函數 def my_abs(x):i…

oracle中如何分頁,Oracle中操作分頁

mysql中分頁的寫法:select t.* from tbl_user t order by t.id limit $offset , $perpage$currentPage 1;//當前頁碼其中后面$sql:with partdata as (select rownum rowno,t.* from tablename t where column1090order by column) select * from partda…

Flask愛家租房--發布新房源(保存房屋圖片)

0.頁面展示效果 1)首先房東填寫房屋信息; 2)當房東填寫發布的房源信息之后,隱藏(hide)剛才填寫信息的界面,同時顯示(show)上傳房屋圖片的界面。 1.后端代碼 api.route("/houses/image&q…

數字的處理 :小數點四舍五入

js取float型小數點后兩位數的方法 轉載 發布時間:2014年01月18日 17:03:32 投稿:shangke 我要評論 js中取小數點后兩位方法最常用的就是四舍五入函數了,前面我介紹過js中四舍五入一此常用函數,這里正好用上,下面…

如何成為一名優秀的C程序員

問題的提出 每過一段時間我總會收到一些程序員發來的電子郵件,他們會問我是用什么編程語言來編寫自己的游戲的,以及我是如何學習這種編程語言的。因此,我認為在這篇博文里列出一些有關C語言的最佳讀物應該能幫到不少人。如果你知道其它的優秀…

CFS調度器

一、前言 隨著內核版本的演進,其源代碼的膨脹速度也在遞增,這讓Linux的學習曲線變得越來越陡峭了。這對初識內核的同學而言當然不是什么好事情,滿腔熱情很容易被當頭澆滅。我有一個循序漸進的方法,那就是先不要看最新的內核&#…

oracle索引分類與區分,深入理解Oracle表(6):堆組織表(HOT)和索引組織表(IOT)的區別...

摘要:堆表:又稱堆組織表,常用的表類型,以堆的方式管理,當增加數據時,將使用段中第一個適合數據大小的空閑空間。當刪除數據時,留下的空間允許以后的DML操作重用。 堆組織表(heap table)應用中99…

Flask愛家租房--發布新房源(總結)

重點總結 學習過程中,發現house_id貫穿兩個接口內容,現對后端邏輯部分做以下總結: 1)房東首先在前端填寫房屋的基本信息,此時通過newhouse.js文件$("#form-house-info").submit(function (e) {…}進行處理&…

關系的三類完整性約束

規則2.1實體完整性規則(Entity Integrity)若屬性A是基本關系R的主屬性,則屬性A不能取空值空值就是“不知道”或“不存在”或“無意義”的值例: 選修(學號,課程號,成績) “學號、課…

[QNAP crontab 定時執行程式

注意要自動執行的 sh 檔不要放在 /root 裡, 不然韌體更新後檔案會不見, 要放在個人帳號的資料夾,例如 /share/homes/帳號/ QNAP 的 crontab 放在 /etc/config/crontabvi /etc/config/crontab 例如要每日5:00執行 backup.sh 的話,加上這行 00 5 * * * /s…

調整標志位方法oracle,面試題(二)(示例代碼)

1.查找/us/oc al/nginx/ogs下更改時間在7天前以log 后極的文件井移動到sr/oca/nginx/log/backup下(至少兩種方法)2. Centos 查看某個進程的環境安量3.簡述DNS迭代查詢和遞歸直詢的區別4.簡述TCP三次握手過程以及涉及到的狀態(可畫草圖) ?5.統計TCP連接狀態(至少兩種方法)6.發現…

國際最具潛力IT專業認證

正如很多的爭論一樣,IT認證也是現在爭論的熱點,在IT專業人士的世界里,IT認證對于其職業規劃有著很大的影響。在時下究竟哪個認證才具有最大意義呢?本文羅列了十個最具潛力的技術認證,一起來看看都有哪些吧!…

關系代數

關系代數是一種抽象的查詢語言,它用對關系的運算來表達查詢關系代數運算對象是關系運算結果亦為關系關系代數的運算符有兩類:集合運算符和專門的關系運算符