QQ数据库是怎样设计的?
一、QQ数据库是怎样设计的
1、对于群成员上限的问题,不是从数据库层面解决的,而应该有专门的“配额检查”服务/逻辑,在群成员人数变化时用来判断当前群成员人数是否已超上限。而相应的配额都是全局统一配置的,可变更;
2、对于快速找到聊天记录的问题,说到底就是:缓存、分区与索引。
数据库设计就是将数据库中的实体以及这些数据实体之间关系进行规划和结构化。
数据库中创建的数据结构的种类,以及在数据实体之间建立的复杂关系是决定数据库系统效率的重要因素。
设计数据库步骤:开发一个项目需要经过需求分析,概要设计,(详细设计),代码编写,运行测试和上线维护几个阶段,下面重点讨论在各个阶段中数据库的设计过程。
需求分析阶段:分析客户的业务和数据处理需求
概要设计阶段:绘制数据库的ER模型图,用于在项目团队内部、设计人员和客户之间进行沟通,确认需求信息的正确性和完整性。
详细设计阶段:将ER图转换为多张表,进行逻辑设计,确认各表的主外键并应用数据库设计的三大范式进行审核,经项目组开会讨论确定后,还需根据项目的技术实现团队开发能力以及项目的经费来源,选择具体的数据库(如MySQL成 Oracle等)进行物理实现。包括创建库和创建表,存储过程等,创建完毕后,开始进入代码编写阶段,开发前后端应用程序。
E-R图:实体:所调实体就是指现实世界中具有区分其他事物的特征或属性并与其他实体有联系的实体
属性:属性可以理解为实体的特征
联系:两个或多个实体之间的关联关系
映射基数:表示通过联系与该实体关联的其他实体的个数,对于实体集X和Y之间的二元关系,映射基数必须为下列基数之一:
ER图以图形的方式将数据库的整个逻辑结构表示出来:
矩形表示实体集;椭圆形表示属性;菱形表示联系集;直线用来连接属性和实体集,也用来连接实体集和联系集
延伸阅读:
二、实例(instance)是什么
一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。

猜你喜欢LIKE
相关推荐HOT
更多>>
一个搜索框对应数据库多个字段,后台怎么对应?
一、一个搜索框对应数据库多个字段,后台对应的方法 1、使用SQL语句自定义查询条件可以在后台使用SQL语句自定义搜索的查询条件,将多个字段拼接...详情>>
2023-10-15 23:26:29
用Visual Studio连接Access数据库为什么只识别.mdb格式不识别.accdb格式?
一、用Visual Studio连接Access数据库为什么只识别.mdb格式不识别.accdb格式如果VBA或Visual studio中c#无法读取Accdb格式,可能是电脑没有安装...详情>>
2023-10-15 21:27:21
Spark SQL和Oracle、MySQL有什么区别?
一、Spark SQL和Oracle、MySQL有什么区别SQL,在这里我理解成SQL Server。三者是目前市场占有率较高(依安装量而非收入)的关系数据库,而且很...详情>>
2023-10-15 16:10:33
MySQL的自增ID用完了怎么办?
一、MySQL的自增ID用完了的解决办法1、调整自增ID的数据类型如果使用的是整数类型的自增ID,可以考虑将其修改为更大的整数类型,如将INT类型改...详情>>
2023-10-15 13:27:09热门推荐
一个搜索框对应数据库多个字段,后台怎么对应?
沸有没有什么基于postgresql的newsql?
热sql server 2017安装时出现错误怎么办?
热如何将Word中大量格式重复的文本转换成表格或者录入数据库?
新用Visual Studio连接Access数据库为什么只识别.mdb格式不识别.accdb格式?
elasticsearch也具有存储功能,为什么感觉平时看到的方案,更多是和其他数据库一起用?
hive里面的分区表和分桶表一般用于什么场景?
MySQL里面怎么给视图增加索引?
同一个服务器建立多个数据库和一个数据库上建立多个实例有什么区别?
高级子查询、嵌套子查询、相关子查询、普通子查询的区别?
synchronized锁的升级原理是什么,以及各个锁的状态对比?
epoll lt/et模式区别是什么?
为什么说MySQL Cluster是shared-nothing架构的?
安卓APP开发工具有哪些?
技术干货






