十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、打开Navicat for MySQL,找到要创建数据库中数据表
10年积累的成都网站制作、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有广宗免费网站建设让你可以放心的选择与我们合作。
2、接着我们在“表”上面单击鼠标右键,然后点击“新建表”
3、然后,右边就会出现设计表的界面,这里可以设置表的字段名,类型,长度以及是否为null等
4、设计完数据表之后,点击“保存”按钮就OK了。
5、我们在其中输入表名就点击确定就可以了,表名可以根据自己的需求来设置
工具/材料
Navicat
01
我们可以利用Navicat这个客户端工具来创建表。
打开Navicat,连接上要操作的数据库,点击打开这个库。
02
打开后,在右边的视图上就可以看到这个库里所有的表了。
03
在这里右键点击空白的地方,点击菜单里的‘New Table’
04
点击后,就会创建一个新的表了,我们在这里设置表的字段,比如设置了二个字段,id,和name,
05
按下快捷键ctrl+s就会保存这个新建的表,先输入表的名字,点击ok按钮就行了。
06
在表视图里就可以看到刚才建好的表了。
1.建立用户信息表
create table userinfo(id int(4) not null primary key, name varchar(20) not null unique key)engine=innodb default charset=utf8;
2.建立好友关系表
create table friend(uid int(4) not null, foreign key(uid) references
userinfo(id),fid int(4) not null, foreign key(fid) references
userinfo(id),unique key(uid,fid))engine=innodb default charset=utf8;
3.追加测试数据(满足uidfid条件)
insert userinfo values(1111---9999,'namea---namei’);
insert friend values(1111,4444---6666);
insert friend values(5555,6666---9999);
4.查询好友(5555的好友)
select * from friend where uid=5555 or fid=5555;
+-------+------+
| uid | fid |
+-------+------+
| 1111 | 5555 |
| 5555 | 6666 |
| 5555 | 7777 |
| 5555 | 8888 |
| 5555 | 9999 |
+-------+--------+
5.问题:
5.1.userinfo中的id和name不为null,且不可重复:table设计可以做到
5.2.friend中的uid和fid均不为null,且都来自于userinfo的id:table设计可以实现
5.3.(uid,fid)组合不可重复:table设计可以完成
5.4.好友关系的表达时,(1111,5555)和(5555,1111)有冗余,也会出现(1111,1111)这样的数据:这个在table设计实现比较麻烦,需要在程序层面实现,也即增加限制条件uidfid即可
6.结果:
table设计达不到要求,或者较难达到要求时,可以在程序层面予以弥补。