企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
数据库设计需要考虑如下过程:规划,需求分析,概念设计,逻辑设计,物理设计,实现和维护。 **1. 规划:** >避免设计不合理的数据库,导致数据库无法应对<mark>业务的扩展</mark>和<mark>数据量增长</mark>。 >>**调查研究:** >对数据库的应用系统,使用单位,面向的对象,数据的关联进行全面了解。 >>**可行性分析:** >可用设备,时间效率,经济效益确定可行性。 **2. 需求分析:** >(1)收集好数据库所需要的信息和数据内容 (2)画出业务流程图交给需求方鉴定 **3. 概念设计:** >以某种方法反映信息数据在数据库中的概念结构。比如ER模型图。 **4. 逻辑设计:** >把ER图变成数据表,实体一般都会有一张表(可能会有多张表);属性是否需要建表;实体之间是主外键关联,还是维护中间表; **5. 物理设计:** >建表过程:字段,索引,检索方式等;字段,使用空间小的,处理效率高的数据类型; 建表的三大范式: >>1. 列的原子性,列的属性不可以再分; >>2. 表必须有主键(一列,也可以多列),非主键列必须完全依赖主键列; >>3. 非主键列必须直接依赖主键,不能存在传递依赖; >><mark>三大范式不是不能违反,但必须有充足的理由;</mark> 3.非主键列必须直接依赖主键,不能存在传递依赖;的含义 | 订单号 | 日期 | 学号 | 姓名 | | --- | --- | --- | --- | | 101 | 11-09 | 123 | 张三 | 姓名这一列依赖学号,而学号却依赖于订单号,所以姓名是间接依赖于订单号,这就是传递依赖;