mysql資料庫中間表如何設計,mysql資料庫表的設計

本文目錄一覽:

mysql 多對多 怎麼設計表

1.資料庫中的多對多關聯關係一般需採用中間表的方式處理,將多對多轉化為兩個一對多。

2.通過表的關係,來幫助我們怎樣建表,建幾張表。

一對一

一張表的一條記錄一定只能與另外一張表的一條記錄進行對應,反之亦然。

學生表:姓名,性別,年齡,身高,體重,籍貫,家庭住址,緊急聯繫人

其中姓名、性別、年齡、身高,體重屬於常用數據,但是籍貫、住址和聯繫人為不常用數據

如果每次查詢都是查詢所有數據,不常用的數據就會影響效率,實際又不用

常用信息表:ID(P),姓名,性別,年齡,身高,體重

不常用信息表:ID(P),籍貫,家庭住址,緊急聯繫人

解決方案:將常用的和不常用的信息分享存儲,分成兩張表

不常用信息表和常用信息表,保證不常用信息表與常用信息表能夠對應上:找一個具有唯一性的

欄位來共同連接兩張表。

一個常用表中的一條記錄永遠只能在一張不常用表中匹配一條記錄,反之亦然。

一對多

一張表中有一條記錄可以對應另外一張表中的多條記錄;但是反過來,另外一張表的一條記錄

只能對應第一張表的一條記錄,這種關係就是一對多或多對一

母親與孩子的關係:母親,孩子兩個實體

母親表:ID(P),名字,年齡,性別

孩子表:ID(P),名字,年齡,性別

以上關係:一個媽媽可以在孩子表中找到多條記錄(也可能是一條),但是一個孩子只能找到一個媽媽

是一種典型的一對多的關係。

但是以上設計:解決了實體的設計表問題,但是沒有解決關係問題,孩子找不到母親,母親也找不到孩子

解決方案:在某一張表中增加一個欄位,能夠找到另外一張表中的記錄:在孩子表中增加一個欄位

指向母親表,因為孩子表的記錄只能匹配到一條母親表的記錄。

母親表:ID(P),名字,年齡,性別

孩子表:ID(P),名字,年齡,性別,母親表ID(母親表主鍵)

多對多

一對表中(A)的一條記錄能夠對應另外一張表(B)中的多條記錄;同時B表中的一條記錄

也能對應A表中的多條記錄

老師和學生

老師表 T_ID(P),姓名,性別

學生表 S_ID(P),姓名,性別

以上設計方案:實現了實體的設計,但是沒有維護實體的關係

一個老師教過多個學生,一個學生也被多個老師教過

解決方案:增加一張中間關係表

老師與學生的關係表:ID(P),T_ID,S_ID

老師表與中間表形成一對多的關係,而中間表是多表;維護了能夠唯一找到一表的關係;

同樣的學生表與中間表也是一個一對多的關係;

學生找老師:找出學生ID—中間表尋找匹配記錄(多條)—老師表匹配(一條)

老師找學生:找出老師ID—中間表尋找匹配記錄(多條)—學生表匹配(一條)

如何用mysql設計表

選中某個表,然後右鍵點擊,選擇「設計表」即可。

也可以左鍵點擊某個表(即選中某表),在上面輔助菜單欄里有「打開表」、「設計表」、「新建表」等按鈕可點擊,點擊「設計表」按鈕即可。

進入後,會彈出新的操作窗口,新窗口的菜單欄里有常用的修改表結構的按鈕,右鍵點擊某列欄位也可以彈出相應的修改表的操作按鈕。

其它摸索著看提示操作即可,還是很簡單的。

修改好表後點擊菜單欄上的「保存」按鈕即可。

註:若要查看修改表的sql語句,必須在「保存」之前點擊「SQL預覽」按鈕。

根據如下表格內容如何設計資料庫表(Mysql)?

1、職責信息表、包含表述信息

2、工作任務表

3、職責和任務關聯中間表

這樣就做到了職責表1對多個工作表,後面不管怎麼加都是一個套路

mysql資料庫中間表如何設計?

我感覺沒有必要用中間表,每個表裡面加個用戶ID(userid),用戶登錄的時候肯定會獲取到他的userid,然後每個表裡面查一遍,就獲取了這個用戶的所以資料了!如果需求必須這樣設計的話,那一張關係表足矣!如果還是不懂,加我Q:2417037332

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313012.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-06 15:17
下一篇 2025-01-06 15:25

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論