数据库分析与设计.ppt
《数据库分析与设计.ppt》由会员分享,可在线阅读,更多相关《数据库分析与设计.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库分析与设计,王有天 湖北经济学院,2021/2/9,2,数据,电子商务系统软硬件环境,分布式软件系统(B/S;C/S. P2P),TCP/IP,HTTP(s);SMTP/POP3;FTP;.,商务系统B/S;C/S,现金流,物流,信息流,业务处理指令,往往体现为SQL的批处理。,数据库管理程序,数据,数据处理指令:比如SQL。,用户管理程序,权限管理程序,用户,用户,用户,用户,用户,用户,用户,用户,用户,用户,业务流程1,业务流程2,业务流程3,业务流程4,用户控制,业务经营,数据层,界面,业务支持,市场,业务控制,控制层,表现层,邮箱,域名,2021/2/9,3,数据层,数据是企业
2、信息系统的核心。,2021/2/9,4,对数据的管理系统,数据库 DBMS DataBase Management System,2021/2/9,5,为什么要有DBMS,数据完整性 事务的处理 如:转账事务 相对独立的系统模块 数据与程序分开。 软件的相对独立研发 集成数据处理的机制。 故障恢复 Log 权限,2021/2/9,6,DBMS特点,封装 不能通过DBMS以外的渠道访问数据库。 否则破坏完整性、一致性。 支持事务处理 能够故障恢复 控制访问 并发操作,2021/2/9,7,DBMS的发展,图书馆/资料库 如果管理不善,就不能成为系统。 人 文件系统 没有封装;没有事务处理;没有故
3、障恢复。 数据库,2021/2/9,8,DBMS的分类,网络型/层次型 关系型 扩展 面向对象 模糊数据 多媒体数据库 网络文件管理,2021/2/9,9,关系型数据库,数据存储在表中,2021/2/9,10,Entity Relation,学生1,账号1,张三,账号,姓名,2021/2/9,11,关系种类:,1:n n:m 学生和课程,2021/2/9,12,关系型数据库的优点,记录等长 检索快。 例如:总记录个数。 某个字段值,2021/2/9,13,基本词汇,表 字段 记录 字段 关键字段 记录 记录的字段值 关系 定义某个表中某字段的值取自另外一个表,2021/2/9,14,记录的增加
4、删除更新,记录没有顺序。 查询语言可以按字段排序。 删除记录 取决于DBMS 一般作标记,重用空间。 可以压缩表。但DBMS一般不自动进行。 增加记录 删除记录或最后 更新记录 定位到记录字段,覆盖。,2021/2/9,15,约束和触发器,字段 取值范围 某个记录必须符合某个范畴。 更复杂的约束需要触发器。,2021/2/9,16,数据库中表和类的关系,表 固定字段,表示某一类对象。 每个记录相当于类的实例。 每个字段值相当于实例的属性或者与其他实例的关系。 非同类的数据存储在同一个表,并不适合。,2021/2/9,17,记录和语句的关系,每个记录相当于符合特定语法的语句。 表示一定的语义。
5、Null表示不知道 Null的运算,2021/2/9,18,关系型数据库的范式,第一范式: 字段的原子性。要么视为原子。要么应该再分。 否则不便查询。,2021/2/9,19,第二范式,非关键字段完全函数依赖于关键字段。 函数依赖 y=f(x); 不能说y=f(x)附近。,2021/2/9,20,不符合第二范式造成问题,假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分) 关键字为组合关键字(学号, 课程名称),因为存在如下决定关系: (学号, 课程名称) (姓名, 年龄, 成绩, 学分) 这个数据库表不满足第二范式,因为存在如下决定关系: (课程名称)
6、 (学分) (学号) (姓名, 年龄) 即存在组合关键字中的字段决定非关键字的情况。,2021/2/9,21,不符合第二范式造成问题,数据冗余: 同一门课程由n个学生选修,“学分”就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。 更新异常: 若调整了某门课程的学分,数据表中所有行的“学分”值都要更新,否则会出现同一门课程学分不同的情况。 插入异常: 假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有“学号”关键字,课程名称和学分也无法记录入数据库。 删除异常: 假设一批学生撤销某些课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也
7、被删除了。很显然,这也会导致插入异常。,2021/2/9,22,不符合第二范式造成问题,冗余 重复的数据 更新麻烦 更新不一致造成冲突 冗余的根源在于 非关键字段不是由关键字段完全决定。 部分就能决定,结果另外一部分关键字改变时,非关键字段重复。,2021/2/9,23,关系型数据库的范式,第三范式 非关键字段之间不存在传递依赖。 否则存在冗余。 冗余带来同样的问题。,2021/2/9,24,适当的冗余,适当的冗余 造成重复但可能提高性能。 如index是故意的冗余。 照顾语义。,2021/2/9,25,数据库设计的多样性,对同一件事情描述方法可以不同。 因此数据库的结构有所不同。 但这些数据
8、库中的数据应该是等价的。 可以相互推导。,2021/2/9,26,关系型数据库的数据操作,DBMS完成。 RDBMS支持查询语言SQL SQL=Structured Query Language 是一个语言规范。DBMS一般支持该规范,并有自己的扩展。 查询和操作:增删改查,2021/2/9,27,SQL的组成(分类),DATABASE TABLE CREATE VIEW INDEX SQL DDL: ALTER DROP SQL QUERY:SELECT FROM INSERT SQL SQL DML:UPDATE DELETE GRANT SQL DCL:REVOKE,2021/2/9,2
9、8,增加记录,Insert Table1(Field1,) Values(,) Insert Table1(Field1,) Select ,2021/2/9,29,更新,Update Table1 Set Field1=, Field2= Where ,2021/2/9,30,删除,Delete Table1 Where,2021/2/9,31,Select, Where,筛选记录 Select Field1, Field4 from Table1 Where (Field1=张三 and Field2=2) or Field1=李四 筛选条件 Like Between And ,=,=,=
10、,2021/2/9,32,Join, On,竖着连接表,按一定条件 Table1 join Table2 on Table1.Field1=Table2.Field1 Left Join Right Join 对于连接的表可以进行查询(如选择),2021/2/9,33,Into,查询结果存储在表中 Select Table1.Field1, into NewTable1 From ,2021/2/9,34,Union,竖着合并表 Select Field1, From Table1 Where Union Select Field1, From Table2 Where,2021/2/9,35
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 分析 设计
限制150内