首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

社交系统中用户好友关系数据库设计

在社交类系统中,用户与用户的好友关系设计必不可少,那么如何设计好友的数据库至关重要,本篇文章带大家学习一下相关的设计方案。...ID用户名1张三2李四3王五4赵六 第二步,需要将用户与用户直接建立好友关系。这里有两种情况:单向好友关系、互为好友关系。...- 单向好友关系就是张三在李四的好友列表中,但李四没有在张三的好友列表中; - 互为好友关系,如果张三和李四为好友,则双方都在彼此的好友列表中; 好友关系设计 无论上面两种关系的哪一种,好友关系表都可以使用下面的设计...此时使用sql语句查询时只用限定user_id作为条件即可查询出用户的好友列表: select * from tb_friend where user_id = 1 互为好友关系 因为是互为好友关系,则只需要插入一条数据即可...1 UNION ALL select user_id as friends , friend_group as my_group from friend_id = 1 小结 至此社交系统中好友关系设计

91520

MySQL数据表

⭐本文介绍⭐ 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。...实例 以下是从命令行中连接mysql服务器的简单实例: [root@host]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗口...在以上实例中,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。 如果用户权限足够,任何用户都可以在mysql的命令提示窗口中进行SQL操作。...规定 MySQL 用户名。 password 可选。规定 MySQL 密码。 dbname 可选。规定默认使用的数据库。 port 可选。规定尝试连接到 MySQL 服务器的端口号。...实例 你可以尝试以下实例来连接到你的 MySQL 服务器: 连接 MySQL <?

4.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL 创建数据表

创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_type...---- 通过命令提示符创建表 通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。...实例 以下为创建数据表 test 实例: root@host# mysql -u root -p Enter password:******* mysql> use test; Database changed...---- 使用Python创建数据表 你可以使用 Python 的 execute() 函数来创建已存在数据库的数据表。...规定要使用的 MySQL 连接。 execute 必需,执行必须的SQL语句。 cursor 必须,创建执行SQL的游标。 实例 以下实例使用了 Python 来创建数据表: 创建数据表 ?

8.8K40

mysql创建数据表

⭐本文介绍⭐ 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。...实例 以下是从命令行中连接mysql服务器的简单实例: [root@host]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql>...在以上实例中,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。 如果用户权限足够,任何用户都可以在mysql的命令提示窗口中进行SQL操作。...退出 mysql> 命令提示窗口可以使用 exit 命令,如下所示: mysql> exit Bye 使用 PHP 脚本连接 MySQL PHP 提供了 mysqli_connect() 函数来连接数据库...实例 你可以尝试以下实例来连接到你的 MySQL 服务器: 连接 MySQL <?

6.3K30

如何存储社交软件中的「好友、粉丝关系

好友 我们将每个人用蓝色的圆点表示,而其中的一号就是你, 如果有人和你是"好友"关系,那么就用一条线将对方和你连接起来,就像这样: 这就表示你与2、4、6是好友关系。...接着我们来丰富一下别人的"好友关系",同样用连线表示: 这样我们就将每个人的"好友"圈子抽象成了圆点、线, 与圆点连线的其它圆点就是我们各自的"好友"圈子。...02 粉丝 与"好友"关系不同的是,"粉丝、关注"是一种单向关系,我虽然关注了你,但你不需要同时关注我这个粉丝。...说到这里我们不如再延申一下"好友"关系,经常打游戏的兄弟们应该看到过"亲密度"这个概念,你每次和好友打完游戏都会出现类似的提示:”你和某某的亲密度上升了多少,现在为多少“。...最后说说硬盘的存储方式吧,对于持久层来说就是单纯的数据库表设计了,最粗暴的方式就是创建一个中间关系表就像这样: user_id frend_id 1 2 1 4 1 6 2 3 2 5 3 6 4 5

1.2K20

MySQL 创建数据表

创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name column_type...---- 通过命令提示符创建表 通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。...实例 以下为创建数据表 runoob_tbl 实例: root@host# mysql -u root -p Enter password:******* mysql> use RUNOOB; Database...使用PHP脚本创建数据表 你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据表。 该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。...$retval ) { die('数据表创建失败: ' . mysqli_error($conn)); } echo "数据表创建成功\n"; mysqli_close($conn); ?>

8.1K10

MySQL创建数据表

⭐本文介绍⭐ 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。...实例 以下是从命令行中连接mysql服务器的简单实例: [root@host]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗口...在以上实例中,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。 如果用户权限足够,任何用户都可以在mysql的命令提示窗口中进行SQL操作。...退出 mysql> 命令提示窗口可以使用 exit 命令,如下所示: mysql> exit Bye 使用 PHP 脚本连接 MySQL PHP 提供了 mysqli_connect() 函数来连接数据库...规定 MySQL 用户名。 password 可选。规定 MySQL 密码。 dbname 可选。规定默认使用的数据库。 port 可选。规定尝试连接到 MySQL 服务器的端口号。

4.2K20

MySQL创建数据表

⭐本文介绍⭐ 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。...实例 以下是从命令行中连接mysql服务器的简单实例: [root@host]# mysql -u root -p Enter password:****** 在登录成功后会出现 mysql> 命令提示窗口...在以上实例中,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。 如果用户权限足够,任何用户都可以在mysql的命令提示窗口中进行SQL操作。...规定 MySQL 用户名。 password 可选。规定 MySQL 密码。 dbname 可选。规定默认使用的数据库。 port 可选。规定尝试连接到 MySQL 服务器的端口号。...实例 你可以尝试以下实例来连接到你的 MySQL 服务器: 连接 MySQL <?

15.3K50

Django 之 Models(Models 模型 & 数据表关系

欢迎阅读本专栏其他文章 Django 之路由篇 Django 之视图篇 Django 之模板篇 Models 模型 ORM --- ObjectRelationMap: 把面向对象思想转换成关系数据库思想...中的所有属性对应表格中的字段 字段的类型都必须使用 modles.xxx 不能使用python中的类型 在django中,Models 负责跟数据库交互 django连接数据库 自带默认数据库Sqlite3 关系型数据库...轻量级 建议开发用splite3,部署用mysql之类数据库 切换数据库在settings中进行设置 # django 连接 mysql DATABASES...= [ 'default' = { 'ENGINE': 'django.db.backends.mysql',...查询命令 - 类名.objects.all() 查询数据表中的所有内容,返回的结果是一个 QuerySet 类型,实际上是类列表中装这个一个一个数据对象 - 类名.objects.filter

2.3K87

MySQL数据表字符集

MySQL可以使用多种字符集和检验规则来组织字符。 MySQL服务器支持多种字符集,在同一台服务器、同一个数据库甚至是同一个表的不同字段都可以使用不同的字符集。...每个校验规则只针对某个字符集,与其他字符集没有关系。 在MySQL中,字符集的概念和编码方案被看作同义词,一个字符集是一个转换表和一个编码方案的组合。 我们怎么查看我们的数据库支持的字符集呢?...8. row *************************** Variable_name: character_sets_dir Value: E:\programFiles\mysql...charset utf8 collate utf8_romanian_ci; 修改已经存在的数据库的校验规则: alter database lyxt collate utf8_romanian_ci; 在创建数据表的时候...,为数据表分配字符集 create table table_charset( -> c1 varchar(10), -> c2 varchar(10) -> )engine=innodb

1.8K50

千亿关系链下的新增共同好友计算

相比而言,计算新增共同好友有着更大的价值。本文介绍一种千亿关系链下的日新增共同好友挖掘算法--NTE算法。该算法基于分治的思想,将新增共好友计算问题,转换为更易于运算与实现的三角形计算问题。...在社交化推荐中,根据场景用户A,B的偏好,能够为非场景用户C提供推荐依据;在广告场景中,共同好友间A,B,C会经常查看动态和互动,覆盖到三者中的一个可以起到推广到三者的目的;在游戏场景,稳定关系的A,B...可见,无论是推荐场景、广告场景还是社交运营场景,共同好友都有极其重要的意义。在用户量关系到达百亿甚至千亿的时候,共同好友计算需要消耗大量资源,通常都是按月例行。这样无法发挥新增关系的时效性。...这里,我们设计了一种新增三角形挖掘算法(New Triangle Enumeration, 简称NTE算法)。...GTE算法不仅可以用于新增三角形计算,对于场景内关系链量级在百亿以内的场景,都可以直接用于三角形计算,从而计算共同好友列表。并且在计算共同好友列表的过程中,可以同时计算共同好友数。

3.3K00
领券