【從刪庫到跑路】MySQL數據庫 — E-R圖 | 關系模型

🎊專欄【MySQL】
🍔喜歡的詩句:更喜岷山千里雪 三軍過后盡開顏。
🎆音樂分享【如愿】
大一同學小吉,歡迎并且感謝大家指出我的問題🥰

文章目錄

  • 🌹簡述什么是E-R圖
    • ?核心概念
  • 🌹E-R圖里面的基本概念
  • 🎄E-R圖例題

在這里插入圖片描述

🌹簡述什么是E-R圖

E-R圖(Entity-Relationship Diagram)是一種圖形化工具,常用于數據庫設計和概念建模。它以圖形的形式展示了實體、屬性和它們之間的關系,幫助開發人員和數據庫設計師理解和溝通實體之間的聯系。

在數據庫設計中,E-R圖可以被視為一個概念模型,用于描述現實世界中的實體及其之間的關系。通過使用E-R圖,我們可以更清晰地理解數據模型的結構和組成。

?核心概念

  • 實體(Entity):實體是現實世界中一個獨立、具體的事物或對象。在E-R圖中,實體用矩形框表示,框內寫有實體的名稱。每個實體都有一個唯一標識符(通常稱為主鍵),用于區分不同的實體。例如,在一個學生管理系統中,"學生"可以是一個實體。
  • 屬性(Attribute):屬性用于描述實體的各個方面或特征。在E-R圖中,屬性使用橢圓形表示,并與實體相連。屬性可以是簡單的,如姓名、年齡等;也可以是復雜的,如日期、文本等。每個屬性都有一個名稱并指定其數據類型。例如,在"學生"實體中,屬性可以包括"姓名"、"年齡"等。
  • 關系(Relationship):關系表示實體之間的聯系和依賴關系。在E-R圖中,關系使用菱形表示,并連接相關的實體。關系可以是一對一、一對多或多對多的。關系可以有自己的屬性,稱為關系屬性。例如,在學生管理系統中,"課程"和"學生"之間可以存在一種關系,表示一個學生可以選擇多門課程。
  • 基數性(Cardinality):基數性描述了實體之間關系的數量關系。常見的基數性有一對一(1:1)、一對多(1:N)和多對多(N:M)。在E-R圖中,可以使用符號來表示基數性,例如用一個豎線(|)表示一對一關系,一個小箭頭(->)表示一對多關系,兩個小箭頭(<->)表示多對多關系。

通過E-R圖,我們可以更加直觀地了解實體、屬性和關系之間的聯系,以及它們在數據庫中的結構和組織方式。E-R圖可以幫助開發人員和數據庫設計師共同理解和溝通數據模型,從而更好地設計、創建和操作數據庫。它是數據庫設計過程中的重要工具,能夠提高團隊之間的協作效率,并確保數據庫結構符合需求和規范。

🌹E-R圖里面的基本概念

請添加圖片描述

在E-R圖中,1:n(一對多)和n:m(多對多)是常見的關系類型,用于描述實體之間的數量關系。

一對多(1:n)關系一對多關系表示一個實體與另一個實體之間存在單向的關聯,其中一個實體可以具有多個相關聯的實體。在E-R圖中,一對多關系通常使用一個小箭頭(->)來表示。箭頭指向具有多個實體的一端。例如,一個“學院”實體與多個“學生”實體之間可以建立一對多關系,表示一個學院有多個學生。

多對多(n:m)關系多對多關系表示兩個實體之間存在互相關聯的情況,其中一個實體可以同時與多個另一個實體相關聯,反之亦然。在E-R圖中,多對多關系通常使用雙向箭頭(<->)來表示。箭頭兩端連接的實體之間可以相互關聯。例如,一個“學生”實體可以選擇多門“課程”,同時一個“課程”也可以被多個“學生”選擇,這種情況下就存在多對多關系。

需要注意的是,在E-R圖中,一對多和多對多關系都可以具有關系屬性,用于描述關系本身的特征。關系屬性可以包含關系的附加信息,如成績、時間等。

在數據庫的實際設計中,一對多關系可以通過在多的一方(例如,學生表)中添加外鍵來表示與一的一方(例如,學院表)的關聯。而多對多關系則需要通過使用連接表(或稱為關聯表)來表示,該表包含兩個實體的主鍵作為外鍵,用于建立它們之間的關聯。

🎄E-R圖例題

考慮某個IT公司的數據庫信息:
①部門具有部門編號、部門名稱、辦公地點等屬性;
②部門員工具有員工編號、姓名、級別等屬性,員工只在一個部門工作;
③每個部門有唯一一個部門員工作為部門經理;
④實習生具有實習編號、姓名、年齡等屬性,只在一個部門實習;
⑤項目具有項目編號、項目名稱、開始日期、結束日期等屬性;
⑥每個項目由一名員工負責,由多名員工、實習生參與;
⑦一名員工只負責一個項目,可以參與多個項目,在每個項目具有工作時間比;
⑧ 每個實習生只參與一個項目。
畫出 E-R 圖,并將 E-R 圖轉換為關系模型(包括關系名、屬性名、碼和完整性約朿條件)。

請添加圖片描述
關系模型為:
部門(編號,名稱,辦公地點,經理編號),部門的經理編號參照員工的編號;
員工(編號,姓名,級別,部門編號),員工的部門編號參照部門的編號;
實習生(編號,姓名,年齡,部門編號),實習生的部門編號參照部門的編號;
項目(編號,名稱,開始日期,結束日期,負責人編號),項目的負責人編號參照員工的編號;
實習參與(實習生編號,項目編號),實習生編號、項目編號分別參照實習生的編號、項目的編號;員工參與(員工編號,項目編號,時間比),員工編號、項目編號分別參照員工的編 號、項目的編號,且一個員工的所有時間比相加不超過100%。

在技術的道路上,我們不斷探索、不斷前行,不斷面對挑戰、不斷突破自我。科技的發展改變著世界,而我們作為技術人員,也在這個過程中書寫著自己的篇章。讓我們攜手并進,共同努力,開創美好的未來!愿我們在科技的征途上不斷奮進,創造出更加美好、更加智能的明天!

在這里插入圖片描述

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

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

相關文章

LeetCode40. Combination Sum II

文章目錄 一、題目二、題解 一、題目 Given a collection of candidate numbers (candidates) and a target number (target), find all unique combinations in candidates where the candidate numbers sum to target. Each number in candidates may only be used once in…

完美解決:Nginx訪問PHP出現File not found.

目錄 解決方法一&#xff1a; 解決方法二&#xff1a; 遇到 File not found. 出現的問題解決&#xff1a; 解決方法一&#xff1a; 修改nginx的主配置文件。 vi /etc/nginx/nginx.conf location ~ \.php$ { root html; fastcgi_pass …

unity Toggle,初始時默認不選中,若選中則不可取消選中。不寫碼實現其效果

實現效果&#xff1a; 初始默認時&#xff1a; 選中時&#xff1a; 零代碼實現&#xff1a; 步驟1 步驟2 步驟3

[autojs]ui線程中更新控件的值的問題

"ui"; ui.layout(<vertical><button id"autoFloatWindow" text"開啟懸浮窗" textSize"15sp" /><button id"autoService" text"開啟無障礙服務" textSize"15sp" /><button id"…

一篇總結 Linux 系統啟動的幾個匯編指令

學習 Linux 系統啟動流程&#xff0c;必須熟悉幾個匯編指令&#xff0c;總結給大家。 這里不是最全的&#xff0c;只列出一些最常用的匯編指令。 一&#xff0e;數據處理指令 1.數據傳送指令 【MOV指令】 把一個寄存器的值(立即數)賦給另一個寄存器&#xff0c;或者將一個…

Python---函數的參數類型

位置參數 理論上&#xff0c;在函數定義時&#xff0c;我們可以為其定義多個參數。但是在函數調用時&#xff0c;我們也應該傳遞多個參數&#xff0c;正常情況&#xff0c;其要一一對應。 相關鏈接&#xff1a;Python---函數的作用&#xff0c;定義&#xff0c;使用步驟&…

opencv 常用操作指南

1.通道交換 讀取圖像&#xff0c;然后將RGB通道替換成BGR通道&#xff0c;需要注意的是&#xff0c;opencv讀取的圖像默認是BGR。cv2.cvtColor函數可以參考Color Space Conversions img cv2.imread(imori.jpg) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) cv2.imwrite(answe…

1|1111

1、指定在每天凌晨4&#xff1a;00將該時間點之前的系統日志信息&#xff08;/var/log/messages &#xff09;備份到目錄下/backup&#xff0c;備份后日志文件名顯示格式logfileYY-MM-DD-HH-MM 2、配置ssh免密登陸&#xff1a;客戶端主機通過redhat用戶基于秘鑰驗證方式進行遠…

微服務實戰系列之Nginx

前言 Nginx&#xff1f;寫了那么多文章&#xff0c;為什么今天才輪到它的表演&#xff1f;那是因為它實在太重要了&#xff0c;值得大書特書&#xff0c;特別對待。 當我們遇到單點瓶頸&#xff0c;第一個idea是&#xff1f;Nginx&#xff1b; 當我們需要反向代理&#xff0c;…

機器學習/sklearn筆記:MeanShift

1 算法介紹 一種基于質心的算法通過更新候選質心使其成為給定區域內點的均值候選質心的位置是通過一種稱為“爬山”技術迭代調整的&#xff0c;該技術找到估計的概率密度的局部最大值 1.1 基本形式 給定d維空間的n個數據點集X&#xff0c;那么對于空間中的任意點x的均值漂移…

C#,《小白學程序》第一課:初識程序,變量,數據與顯示

曰&#xff1a;掃地僧練就絕世武功的目的是為了掃地更干凈。 1 引言 編程只是一項技術&#xff0c;如包包子&#xff0c;不是什么高深的科學。 學習程序最不好的方法是先學習枯燥的語法。 學習程序主要是用代碼解決問題。因此&#xff0c;我們拋開所有的語法與諸多廢物&…

React項目中發生空白但不報錯的原因分析和解決?

文章目錄 前言組件渲染問題狀態管理問題異步操作問題代碼錯誤但未拋出異常如果我們使用的是chorme瀏覽器的話&#xff0c;可以下載一個開發者工具&#xff0c;例如下圖&#xff1a;代碼審查使用調試工具日志和輸出檢查外部依賴異步操作終極大法&#xff0c;不到萬不得已不可以使…

python+gurobi求解線性規劃、整數規劃、0-1規劃

文章目錄 簡單回顧線性規劃LP整數規劃IP0-1規劃 簡單回顧 線性規劃是數學規劃中的一類最簡單規劃問題&#xff0c;常見的線性規劃是一個有約束的&#xff0c;變量范圍為有理數的線性規劃。如&#xff1a; 使用matlab的linprog函數即可求解簡單的線性規劃問題&#xff0c;可以參…

【Python 訓練營】N_6 求素數

題目 判斷101-200之間有多少個素數&#xff0c;并輸出所有素數。 分析 判斷素數的方法&#xff1a;用一個數分別去除2到sqrt(這個數)&#xff0c;如果能被整除&#xff0c;則表明此數不是素數&#xff0c;反之是素數。 答案 h 0 leap 1 from math import sqrt from sys …

2023亞太地區數學建模C題思路模型代碼論文

C題的參考思路: 1&#xff0c;問題1的思路: 確定研究問題的主要指標體系(新能源電車的售出數量、安全性指標、充電樁數目、電池續 航里程等)&#xff0c;收集指標的對應數據&#xff0c;檢驗數據是否服從正態性: 若服從正態分布: 0&#xff0c;可考慮優先采用“多元方差分析”模…

Python推導式

python推導式是一種獨特的數據處理方式&#xff0c;可以從一個數據序列構建到另一個新的數據序列的結構體。 Python支持各種數據結構的推導式&#xff1a; 1. 列表&#xff08;list&#xff09;推導式 [表達式 for 變量 in 列表] [out_exp_res for out_exp in input_list] or …

【?用運算放大器設計恒流電流源電壓4V-74V適應范圍 ?】2021-11-29

緣由用運算放大器設計恒流電流源-編程語言-CSDN問答直流恒流源設計&#xff0c;要求用到運算放大器-硬件開發-CSDN問答求助恒流驅動電路&#xff0c;運放端口電壓的問題&#xff1f; - 電路設計論壇 - 電子技術論壇 - 廣受歡迎的專業電子論壇!(不能實現恒流壞的電路設計反面例子…

OpenCV快速入門:特征點檢測與匹配

文章目錄 前言一、角點檢測1.1 角點特征1.1.1 角點特征概念1.1.2 角點的特點1.1.3 關鍵點繪制代碼實現1.1.4 函數解析 1.2 Harris角點檢測1.2.1 Harris角點檢測原理1.2.2 Harris角點檢測公式1.2.3 代碼實現1.2.4 函數解析 1.3 Shi-Tomasi角點檢測1.3.1 Shi-Tomasi角點檢測原理1…

GIT,解決遠程分支沖突

背景&#xff1a;當遠程分支A 與maste 有沖突如何解決–此時無法在這兩個版本之間merge 1、切換到master分支&#xff1a; git checkout master 2、更新master分支代碼&#xff1a; git pull 3、再次切換到自己新建的分支&#xff1a; git checkout add_login_check_func 4、將…

SuperMap iDesktopX如何獲取簡單線的起終端點及坐標

作者&#xff1a;超圖研究院技術支持中心-于丁 SuperMap iDesktopX如何獲取簡單線的起終端點及坐標 在GIS行業應用中&#xff0c;線數據的端點坐標有非常多的用處。 定位和可視化&#xff1a;線數據端點坐標可以用于定位和可視化線要素在空間中的位置。這對于地圖制作、規劃和…