一:简单介绍软件的开发周期
- 可行性研究(做不做)
- 需求分析(做什么)
- 概要设计
- 详细设计(怎么做)
- 系统实现(开发)
- 测试
- 维护运行
二:E-R图
- E-R图的三要素:E 实体(entity) 属性(attribute) R 关系(relation)
- 实体之间的关系
- 一对多(班级和学生,一个班级对应多个学生)
- 一对一(人和身份证号,一个人只对应惟一一个身份证号)
- 多对多(学生和课程,不同的学生可以选取不同的课程)
- 三级范式(判断E-R图是否符合标准)
- 1NF:有主键,不能有重复组(一级范式)
- 2NF:消除部分依赖
- 3NF:消除传递依赖
- PowerDesigner建模工具:
- 作用建模(数据库模型,UML)
- 数据库模型(2种):
- 概念E-R图
- 物理E-R图
- PowerDesigner创建E-R图的流程
- 建立概念E-R图(实体,属性,关系)
- 转换成物理E-R图(选择数据库类型)(tools->generate physical Data model)
- 生成sql脚本
- 一对多关系
- 在概念E-R图中,创建两个实体,每个实体具有唯一的主键,采用relationship进行连接,由箭头由‘一’指向‘多’
- 创建完概念E-R图之后,创建物理E-R图
- (概念E-R图)
- (物理E_R图)pk为主键约束,fk为外键约束
- 在创建完物理E-R图之后,选择databases->Genarate Database会创建sql脚本,在navicat中可以选择运行sql脚本直接运行创建数据表格
- 多对多关系
- 借助中间表(选择 Association创建一个关联表,然后使用Association Link进行连接)
- 生成物理E-R图
- 在关联表中具有两个外键fk1,fk2连接两个表格
- 创建一个中间表格,每一个表格用relationship以一对多关联,实现两个表格的多对多关联
- 物理E-R图
- 一对一关系
- 相同主键:inheritance ,只继承 主键(继承者中没有其他主键)
唯一外键:一对多的特例,在外键列上强加unique约束即可