数据库表间关系
来源:互联网 发布:vb中对象的属性 编辑:程序博客网 时间:2024/05/16 15:18
1.一对一关系
Ex:身份证表与用户表
在身份证表中添加 用户表中的主键栏位作为 身份证表中的外间和主键 这样就保证了 两表之间数据的关联和唯一性
CREATE TABLE `card` ( `card_number` int(11) DEFAULT NULL, `card_time` datetime DEFAULT NULL, `user_id` int(11) NOT NULL, PRIMARY KEY (`user_id`), CONSTRAINT `y_card` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `users` ( `user_id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`user_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.一对多关系
在“多”表中添加关联 “一”表主键的外键
Ex 用户表与角色表
一个用户可以有多种角色
CREATE TABLE `user` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(255) DEFAULT NULL, PRIMARY KEY (`user_id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
CREATE TABLE `role` ( ` role_id` int(11) NOT NULL AUTO_INCREMENT, `role_name` varchar(255) DEFAULT NULL, `user_id` int(11) DEFAULT NULL, PRIMARY KEY (` role_id`), KEY `y_role` (`user_id`), CONSTRAINT `y_role` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
3.多对多的关系
使用中间表,这个中间表不设置主键
0 0
- 数据库表间关系
- 数据库表间关系
- 数据库表间关系管理原理
- 数据库表间关系管理原理(2)
- 数据库表关系(一)
- 数据库表关系(二)
- 【数据库设计】表关系
- 数据库主从表关系,主外键关系
- Rails 数据库表之间关系
- SQl数据库多表关系
- 查找数据库中主外键关系表
- 关系型数据库----表关联
- activiti 数据库核心关系表
- K3数据库表项关系
- 显示数据库表间的外键关系
- weaverbird(将sql文件转换数据库表间关系图)
- 关系数据库
- 关系数据库
- PX EM REM之间的区别
- python2.7中用numpy.reshape 对图像进行切割
- USACO 3.3解题思路报告
- CodeForces-149D Coloring Brackets(区间dp)
- hibernate正向生成简单教程
- 数据库表间关系
- linux驱动由浅入深系列:驱动程序的基本结构概览之一(第一个驱动程序)
- springmvc 用拦截器+token防止重复提交
- 诺博源PHP前端学习第一天
- 跟我学STM32107RC--- STM32中的按键输入实验总结
- Webview的各种坑
- elastic5.2和kibana5.0安装配置问题简介(centos6.5)
- MySql增加用户、授权、修改密码等语句
- RMI