设计数据库、三大范式和mysql正则表达式

设计数据库

1. 为什么要设计数据库

当数据库比较复杂的手,我们就需要设计了

  1. 糟糕的数据库设计:
    • 数据冗余,浪费空间
    • 数据库插入和删除都会麻烦、异常
    • 程序的性能差
  2. 良好的数据库设计:
    • 节省内存空间
    • 保证数据库的完整性
    • 方便我们开发系统

2.设计数据库的步骤:

  1. 收集信息,分析需求
  2. 标识实体
  3. 标识实体之间的关系

三大范式

1. 为什么需要数据规范化

  1. 信息重复
  2. 更新异常
  3. 插入异常
    • 无法正常显示信息
  4. 删除异常
    • 丢失有效的信息

2. 三大范式

  1. 第一范式(1NF)
    • 原子性:保证每一列不可再分
  2. 第二范式(2NF)
    • 前提:满足第一范式
    • 每张表只描述一件事情
  3. 第三范式(3NF)
    • 前提:满足第一范式和第二范式
    • 第三范式需要确保数据的每一列数据都和主键直接相关,而不能间接相关。

3.规范性和性能的问题

关联查询的表不得超过三张

  1. 考虑商业化的需求和目标,数据库的性能更加重要
  2. 在规范性能的问题的时候,需要适当的考虑一下规范性!
  3. 故意给某些表增加一下冗余的字段。
  4. 故意增加一些计算列。

mysql正则表达式

模式示例描述
^^st以st开头的所有数据
$st$以st结尾的所有数据
[……][st]字符集合,匹配包含s或t的所有数据
[^……][^st]负字符集合,匹配不包含s或t的所有数据
p1|p2s|t匹配s或t
*st*匹配s或stt,* 等价于{0,}。
+st+能匹配st或stt,+ 等价于 {1,}。
{n}s{2}只能匹配包含两个ss的数据,匹配确定两次
{n,m}st{0,1}匹配s或st,最少匹配0次,最多1次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值