采用MySQL8.0数据库,建立数据库user,并在其中建立用户账号信息表info,好友关系表friend,群组关系表
一、基本描述
系统拥有多个用户,每个用户拥有一个账号,用户基本信息包括 姓名、昵称、个性签名、邮箱、密码、头像。每个用户拥有多个好友,一个用户可被多个用户添加,每个用户可加入一个或多个群组,每个群组拥有多个用户。群组信息包括 创建者账号、群名、说明、群头像、群用户
二、E-R图
三、建基本表
1、用户信息表(user_info)
CREATE TABLE `user`.`user_info` (
`id` INT NOT NULL,
`password` VARCHAR(45) NOT NULL,
`name` VARCHAR(45) NULL,
`user` VARCHAR(45) NULL,
`signature` VARCHAR(100) NULL,
`e-mail` VARCHAR(45) NULL,
`icon` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
2、好友关系表(friend)
CREATE TABLE `user`.`friend` (
`id_my` INT NOT NULL,
`id_friend` INT NOT NULL,
PRIMARY KEY (`id_my`, `id_friend`));
3、群组信息(group_info)
CREATE TABLE `user`.`group_info` (
`group_id` INT NOT NULL,
`owner` INT NOT NULL,
`group_name` VARCHAR(45) NULL,
`describe` VARCHAR(100) NULL,
`icon` VARCHAR(45) NULL,
PRIMARY KEY (`group_id`));
4、群组关系(group)
CREATE TABLE `user`.`group` (
`id` INT NOT NULL,
`group_id` INT NOT NULL,
PRIMARY KEY (`id`, `group_id`));
四、测试
1、查询账号为10001的用户的密码
2、查询账号为10001的用户信息
3、查询账号为100001的用户的好友并显示好友的id、用户名
4、查询账号为100001的用户所创建的群组并显示该群信息
5、查询用户100001加入了哪几个群显示群号和群名
6、查询群7001有哪些成员,显示成员id、用户名
写在最后
有了这几张表,后面嵌入到服务器中便可以用来存储用户信息等了。万万没想到已经考完了数据库的我却因为写聊天软件的需要重新看了一遍,当时没咋练现在却好好练了练,er图怎么画,数据库表怎么设计比较好...这些记得老师都是讲过的,就是没咋记住....hahahhaha