首页 > 其他分享 >设计索引

设计索引

时间:2023-09-19 18:33:56浏览次数:37  
标签:登录名 年份 数字 入学 索引 编号 设计

  • 问题

如果你在维护一个学校的学生信息数据库,学生登录名的统一格式是”学号@gmail.com",而学号的规则是:十五位的数字,其中前三位是所在城市编号、第四到第六位是学校编号、第七位到第十位是入学年份、最后五位是顺序编号。系统登录的时候都需要学生输入登录名和密码,验证正确后才能继续使用系统。就只考虑登录验证这个行为的话,你会怎么设计这个登录名的索引呢?

  • 分析

由于这个学号的规则,无论是正向还是反向的前缀索引,重复度都比较高。因为维护的只是一个学校的,因此前面6位(其中,前三位是所在城市编号、第四到第六位是学校编号)其实是固定的,邮箱后缀都是@gamil.com,因此可以只存入学年份加顺序编号,它们的长度是9位。而其实在此基础上,可以用数字类型来存这9位数字。比如201100001,这样只需要占4个字节。其实这个就是一种hash,只是它用了最简单的转换规则:字符串转数字的规则,而刚好我们设定的这个背景,可以保证这个转换后结果的唯一性。

  • 参考答案

只存入学年份加顺序编号,它们的长度是9位。而其实在此基础上,可以用数字类型来存这9位数字

标签:登录名,年份,数字,入学,索引,编号,设计
From: https://blog.51cto.com/u_16082754/7527937

相关文章

  • python使用sql批量插入数据+查看执行的语句+动态sql创建表+动态创建索引
    classTest():cursor=connection.cursor()data_to_insert=[]sql="INSERTINTOtest_t(id,name)VALUES""""(%s,%s)"""d=('1',"apple")data_to_insert.append(d)......
  • 203.移除链表元素 707.设计链表 206.反转链表
    203.移除链表元素力扣题目链接(opensnewwindow)题意:删除链表中等于给定值val的所有节点。示例1:输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]示例2:输入:head=[],val=1输出:[]示例3:输入:head=[7,7,7,7],val=7输出:[]思路操作链表的两种方式:直接使用原来的......
  • 63基于java的图书商城管理系统设计与实现(配套lun文,可参考做毕设)
    本章节给大家带来一个基于java图书商城管理系统设计与实现,网上图书商城的管理系统,网上商城,在线图书信息管理系统,上线图书商城,网上图书商城。引言随着时代的发展,越来越多的人开始寻求一种更加有效的管理方案,而普通用户往往受到管理经验的限制。这时,图书商城网站的出现,使得图书信......
  • 软件设计模式系列之九——桥接模式
    1模式的定义桥接模式是一种结构型设计模式,它用于将抽象部分与其实现部分分离,以便它们可以独立地变化。这种模式涉及一个接口,它充当一个桥,使得具体类可以在不影响客户端代码的情况下改变。桥接模式将继承关系转化为组合关系,从而减少类之间的紧密耦合度,使得系统更加灵活和可扩展。......
  • 趣解设计模式之《会飞的橡皮鸭》
    〇、小故事小王公司要开发一个养鸭子的模拟养育游戏。游戏中会出现各种类型的鸭子。小王设计了一个基础的鸭子类——Duck类,这个类有3个方法:【quack】用来描述鸭子叫声的方法;<br>【swim】用来描述鸭子游泳姿态的方法;<br>【display】用来描述鸭子外貌的方法;然后通过继承Duck类......
  • 12_OTA功能设计
    OTA功能设计芯片划分芯片开头一块划分为:bootloader后面一些划分为:应用程序数据bootloader区地址不变,那么通过网络就可以远程修改应用程序区数据实现OTAOTA流程1通过WIFI模块将100k的更新数据发送到STM32芯片2STM32芯片分为BOOT引导程序区,APP应用区,存储区,......
  • 怎么设计一个有创意性物联网系统
    设计一个具有创意性的物联网系统需要充分发挥创新思维,考虑系统的实用性、可靠性、成本效益和可扩展性。以下是一些设计建议:定义明确的问题:明确需要解决的问题或服务,例如,智能家居、智能物流、智能农业等。确保所解决的问题具有实际意义和应用价值。了解市场需求:了解目标市场的需求和......
  • 怎么设计一个有创意性物联网系统
    设计一个具有创意性的物联网系统需要充分发挥创新思维,考虑系统的实用性、可靠性、成本效益和可扩展性。以下是一些设计建议:定义明确的问题:明确需要解决的问题或服务,例如,智能家居、智能物流、智能农业等。确保所解决的问题具有实际意义和应用价值。了解市场需求:了解目标市场的需......
  • 62基于java的高校奖学金管理系统设计与实现(可参考做毕业设计)
    本章节给大家带来一个基于java高校奖学金管理系统设计与实现,可适用于大学奖学金管理系统,学生奖学金管理系统,学校奖学金,校园奖学金申请管理系统;引言以往的高校奖学金管理系统相关信息管理,都是工作人员手工统计。这种方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学......
  • 从接口设计看业务分层
    最近在做功能更改时,发现一个接口设计很有趣,其中涉及一些代码设计方面的值得思考的内容。背景以下是一个相对简单的优惠券列表功能。不同的优惠券具有不同的描述,而描述内容会受到一定的业务规则影响。例如,满5元可用的兑换券将显示为"满5.01可用",而无订单限制的兑换券将显示为"仅......