实战项目需求分析

数据库结构设计

业务分析——>逻辑设计——>数据类型——>对象命名——>建立库表

01.数据库选型:

  选型之初:NoSQL VS SQL

  选型确认:各种数据存储系统的适应场景

  选型之终:构建MYSQL开发环境

02.数据库建模

   业务分析(人和):一切故事的开始

  逻辑设计(天时):范式化vs反范式化

  物理设计(地利):根据MySQL特点进行设计

03.数据库访问

  初级武器:MySQL客户端

  神兵利器: 常用GUI工具

  高阶神器:MySQL驱动

  必杀秘籍:访问故障处理

04.SQL开发

  基本功:DCL、DDL、DML

  必备技能:常用函数

  高阶功法:CTE及窗口函数

 

05.SQL优化

  优化前提:分析执行计划

  优化进阶:索引和SQL改写

  专家技能:排查性能瓶颈

06.事务和高并发

   问道:什么是事务

  发现:高并发的隐患

  知否:事务隔离级别

  顿悟:阻塞和死锁

SQL:MySQL

慕课网免费课前端项目

课程的属性:{主标题,副标题,方向,分类,难度,最新,最热,时长,简介,人数,需知,收获,讲师名,讲师职位,课程图片,综合评分,内容实用,简洁易懂,逻辑清晰}

课程列表属性:{章节,小节名,说明,小节时长,章节URL,视频格式}

讲师的属性:

评价的属性:{用户,课程主标题,内容,综合评分,内容实用,简洁易懂,逻辑清晰,发布时间}

宽表模式存在的问题:

数据冗余:相同的数据在一个表中出现了多次

数据的更新异常:修改一行数据中的某列的值时同时修改了多行数据

数据插入异常: 部分数据由于缺失主键信息而无法写入表中

数据删除异常:删除某一数据时不得不删除另一数据

宽表模式的应用场景:配合列存储的数据报表应用

数据库设计是有一定规则可以参考的,这种规则就是数据库的设计范式

数据库的设计范式:

第一范式:表中的所有字段都是不可再分的

第二范式:表中必须存在业务主键,表中必须存在非主键,并且非主键依赖于全部业务主键

第三范式:表中的非主键之间不能相互依赖

讲师对象:

讲师的属性:讲师的昵称,密码,性别,省,市,职位,说明,经验,积分,关注人数,粉丝人数,

如何从多个表中获取数据?

表与表之间要存在一定的关联关系

posted @ 2020-10-16 14:17  aggressive2019  阅读(181)  评论(0)    收藏  举报