数据库的表间关系


数据库的表间关系分为三种

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