3NF范式 案例讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子表格:(1)海量数据 (2)完整性维护(修改 或删除数据 只需要一次)
赣南师院初级班2014春系统
学号 学生姓名 专业 缴费、教师姓名、能教课程名、教室、投影、电线、电脑、网络
1、学生实体:学号 学生姓名 专业 缴费
2、教师实体:教师姓名、能教课程名
3、授课条件实体:教室、投影、电线、电脑、网络
一个系统=组件1+组件2+....+组件n
组件化
航空母舰系统:船体长度、宽度、高度、颜色、容积、海军数量、性别、年龄、籍贯、
枪支类别、火力级别、舰载飞机类别、雷达、电子系统、武器控制系统
1、船体:船体ID、船体长度、宽度、高度、颜色、容积
2、人员:人员ID、海军数量、性别、年龄、籍贯
3、武器:武器ID、枪支类别、火力级别、舰载飞机类别
4、武器控制系统:武器控制系统ID、雷达、电子系统、武器控制系统
特征:每个组件本身是独立!n个组件可以整合成一个新的系统
设计一个软件系统的步骤
一、收集信息
学籍管理系统
院系名称 、专业名称、学制、班级名称、年级、姓名、学号、
性别、民族、家庭地址、身份证号码
二、把信息分类,建立实体和实体关系
实体的特征:里面的所有属性(字段),围绕一个主题进行描述
每个表的唯一的ID 叫主键!
用于表之间关联的ID,叫外键
院系实体:院系ID、 院系名称
4 计算机学院
5 艺术学院
专业实体:院系ID、专业ID、 专业名称、学制、
4 22 网络软件工程 4
4 23 计算机科学与技术 4
5 5 艺术设计 3
班级实体:专业ID、班级ID、班级名称、年级
22 33 网络本12-1 2012
22 34 网络本12-2 2012
学生实体: 班级ID、学生ID、姓名、学号、性别、民族、家庭地址、身份证号码
33 1 张三.. 2323 女 汉族 火星 8798979.........
33 2 张三.. 2323 女 汉族 土星 8798979.........
33 3 张五...........
34 4 张三...........
34 5 张四...........
34 6 张五...........
、
目前的设计原理:范式规则(3NF)=〉关系数据库!!!
软件设计的灵魂是数据库设计,数据库设计核心是3NF
三、建立实体的关系
说明:
数据库设计 逻辑设计 物理设计
逻辑设计,分析过程的设计
物理设计:具体的数据软件系统中实现
实体=〉表
属性=〉字段或列
基础实体:
药品实体:药品ID(通用名、剂型、规格、包装、转换比、单位、销售价格、批号)
库房实体:库房ID、库房名称
一级代理商实体:代理商ID、代理商名称
业务实体:
库存实体: 库存ID、药品ID、库房ID
代理实体:代理ID、 代理商ID、药品ID
库存实体:库存ID、 药品ID、库房ID
1 1 1
2 1 2
3 2 1
4 3 2
代理实体: 代理ID、 代理商ID、药品ID
1 1 1
2 1 2
3 2 1
4 3 2
数据库编程
新增(Insert)、修改(Update)
删除(Delete)、查询(Select)
存储过程(无参 有参)
1、查询(Select)
. 成员所属运算符
1.1、单表查询
SELECT 药品ID, 通用名, 剂型, 规格, 包装, 转换比
FROM SYS01药品信息
SELECT *
FROM SYS01药品信息
1.2 多表查询
SELECT SYS02库房信息.库房, SYS01药品信息.通用名,
SYS04库存信息.库存数,
SYS01药品信息.剂型, SYS01药品信息.规格
FROM SYS04库存信息 INNER JOIN
SYS02库房信息 ON SYS04库存信息.库房ID =SYS02库房信息.库房ID INNER JOIN
SYS01药品信息 ON SYS04库存信息.药品ID = SYS01药品信息.药品ID
where SYS04库存信息.库存数>700 and SYS01药品信息.剂型='注射液'
and SYS01药品信息.通用名 like '%巴%'
order by SYS02库房信息.库房, SYS01药品信息.通用名
1.3 新增数据
insert SYS01药品信息( 通用名, 规格, 剂型, 包装, 转换比,
单位, 销售价格, 建档时间, 批号, 暂停销售否 )
values('孟婆汤','200ML','液体','碗',1,'升',0,'2099-09-01','20112',0)
1.4 修改数据
update SYS01药品信息
set 通用名='孟公汤',单位='桶'
where 药品ID=58
1.5 删除数据
delete from SYS01药品信息
where 药品ID=58