數據庫的表間關系


數據庫的表間關系分為三種

1、一對多 

一對多想要連接就要用到建立外鍵(另一張表的主鍵),為了更好的操作,外鍵應該建立在多的表上

2、一對一

一對一就可以單獨的自行操作

3、多對多

多對多想要連接的的話就要建立第三張表在第三張表上建立外鍵

 

一、一對多(建立外鍵)

就比如我想建立學生和教室表,學生就是多的一方,教室就是一的一方,要建立外鍵的話就要建立在學生表上

#建立一個學生表
class Students(db.Model):
    #學生id(主鍵)
    id = db.Column(db.Integer, primary_key=True)
    #學生姓名
    name = db.Column(db.String(64))
    #建立外鍵,和班級表的主鍵進行連接
    coll_id = db.Column(db.Integer, db.ForeignKey("collective.id"))
#建立班級表
class Collective(db.Model):
    #建立班級id(主鍵)
    id = db.Column(db.Integer, primary_key=True)
    #建立班級名稱
    name = db.Column(db.String(64))

 

二、一對一(不做鏈接,直接建表)

一對一就是和另一個表並沒有直接關系,這一種就可以直接建立兩張表,可以不做關聯

 

三、多對多(建立第三張表)

打個比方班級和老師就是多對多,一個老師可以教課多個班級,一個班級可以讓多個老師來教課

,像這一種就要建立第三張表來把他們相互連接

#建立一個班級表
class Collective(db.Model):
   #建立班級id(建立主鍵)
    id = db.Column(db.Integer, primary_key=True)
    #建立班級名稱
    name = db.Column(db.String(64))

#建立老師表
class Teacher(db.Model):
    #建立老師id(建立主鍵)
    id = db.Column(db.Integer, primary_key=True)
    #建立老師姓名
    name = db.Column(db.String(64))

#建立班級老師表
class Coll_Tea(db.Model):
    #建立id(建立主鍵)
    id = db.Column(db.Integer, primary_key=True)
    #建立班級id(建立外鍵)
    coll_id = db.Column(db.Integer, db.ForeignKey("collective.id"))
    #建立老師id(建立外鍵)
    yea_id = db.Column(db.Integer, db.ForeignKey("teacher.id"))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM