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

歡迎訪問 生活随笔!

生活随笔

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

数据库

[JavaWeb-MySQL]多表关系介绍

發布時間:2023/12/4 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [JavaWeb-MySQL]多表关系介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 多表之間的關系

    1. 分類:1. 一對一(了解):* 如:人和身份證* 分析:一個人只有一個身份證,一個身份證只能對應一個人2. 一對多(多對一):* 如:部門和員工* 分析:一個部門有多個員工,一個員工只能對應一個部門3. 多對多:* 如:學生和課程* 分析:一個學生可以選擇很多門課程,一個課程也可以被很多學生選擇2. 實現關系:1. 一對多(多對一):* 如:部門和員工* 實現方式:在多的一方建立外鍵,指向一的一方的主鍵。
  • 2. 多對多:* 如:學生和課程* 實現方式:多對多關系實現需要借助第三張中間表。中間表至少包含兩個字段,這兩個字段作為第三張表的外鍵,分別指向兩張表的主鍵

    3. 一對一(了解):* 如:人和身份證* 實現方式:一對一關系實現,可以在任意一方添加唯一外鍵指向另一方的主鍵。

    案例:

    -- 創建旅游線路分類表 tab_category-- cid 旅游線路分類主鍵,自動增長-- cname 旅游線路分類名稱非空,唯一,字符串 100CREATE TABLE tab_category (cid INT PRIMARY KEY AUTO_INCREMENT,cname VARCHAR(100) NOT NULL UNIQUE);-- 創建旅游線路表 tab_route/*rid 旅游線路主鍵,自動增長rname 旅游線路名稱非空,唯一,字符串 100price 價格rdate 上架時間,日期類型cid 外鍵,所屬分類*/CREATE TABLE tab_route(rid INT PRIMARY KEY AUTO_INCREMENT,rname VARCHAR(100) NOT NULL UNIQUE,price DOUBLE,rdate DATE,cid INT,FOREIGN KEY (cid) REFERENCES tab_category(cid));/*創建用戶表 tab_useruid 用戶主鍵,自增長username 用戶名長度 100,唯一,非空password 密碼長度 30,非空name 真實姓名長度 100birthday 生日sex 性別,定長字符串 1telephone 手機號,字符串 11email 郵箱,字符串長度 100*/CREATE TABLE tab_user (uid INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(100) UNIQUE NOT NULL,PASSWORD VARCHAR(30) NOT NULL,NAME VARCHAR(100),birthday DATE,sex CHAR(1) DEFAULT '男',telephone VARCHAR(11),email VARCHAR(100));/*創建收藏表 tab_favoriterid 旅游線路 id,外鍵date 收藏時間uid 用戶 id,外鍵rid 和 uid 不能重復,設置復合主鍵,同一個用戶不能收藏同一個線路兩次*/CREATE TABLE tab_favorite (rid INT, -- 線路idDATE DATETIME,uid INT, -- 用戶id-- 創建復合主鍵PRIMARY KEY(rid,uid), -- 聯合主鍵FOREIGN KEY (rid) REFERENCES tab_route(rid),FOREIGN KEY(uid) REFERENCES tab_user(uid));

    總結

    以上是生活随笔為你收集整理的[JavaWeb-MySQL]多表关系介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

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