网站大量收购独家精品文档,联系QQ:2885784924

MySQL数据库基础与实践 第2版 课件 CH01 数据库设计基础.ppt

MySQL数据库基础与实践 第2版 课件 CH01 数据库设计基础.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1.3.2实体与属性关系E-R不仅能够描述两个实体之间的关系也可以描述两个以上实体或者一个实体内的关系。如图1-5为三个实体之间的关系,对于供应商、项目和零件三个实体,一个供应商可以供给多个项目多种零件;一个项目可以使用不同供应商的多种零件;一个零件可以由多个供应商供给多个项目。图1-5三个实体间的关系1.3.2实体与属性关系如图1-6是一个单个实体内的关系,在高等学校,教师通常是按照学院或者系进行管理的,每位教师由一个院长或者主任直接领导,而院长或系主任领导本院或者本系的多名教师,由于院长或者系主任都是教师中的一员,因此教师实体内部存在着领导与被领导的一对多的关系。图1-6单个实体内的关系1.3.3E-R图的设计原则 数据库设计通常采用“一事一地”原则,可以从实体与属性方面体现。(1) 属性应该存在且仅存在于某一个地方(实体或者关联)。该原则确保了数据库中的某个数据仅存储于某个数据库表中,避免了同一数据存储于多个数据库表中,避免了数据冗余。(2) 实体是一个单独的个体,不能存在于另一个实体中成为其属性。该原则确保了一个数据库表中不能包含另一个数据库表,即不能出现“表中套表”的现象。 1.3.3E-R图的设计原则 在“选课系统”中,学生选课时需要提供学号、姓名、班级名、所属院校名及联系方式等信息。学号、姓名以及联系方式需要作为学生实体的属性出现,而班级名和院系名则无法作为学生属性出现。如果将班级名和院系名也作为学生实体的属性,那么学生实体存在(学号、姓名、联系方式、班级名、院系名)5个属性,学生实体中出现了“表中套表”的现象,违背了“一事一地”原则。应该将“班级名”属性与“院系名”属性抽取出来,放入“班级”实体中,将一个“大”的“实体”分解中两个“小”的实体,并且建立班级实体与学生实体之间的一对多关系.1.3.3E-R图的设计原则(3) 同一个实体在同一个E-R图仅出现一次。当同一个E-R图中两个实体间存在多种关系时,为了表示实体间的多种关系,建立不要让同一个实体出现多次。 1.3.3E-R图的设计原则 本着“一事一地”原则对“选课系统”进行设计,得到所有的“部分”E-R图,并将其合并成为“选课系统”E-R图如图1-9所示,其中共有实体4个分别为教师、课程、学生和班级,每个实体包含的属性实体间的关系如E-R图所示。1.4MySQL存储引擎 MySQL数据库中典型的数据库对象包括表、视图、索引、存储过程、函数、触发器等,表是其中最为重要的数据库对象。使用SQL语句“createtable表名”即可创建一个数据库表,在创建数据库表之前,必须首先明确该表的存储引擎。1.4MySQL存储引擎 存储引擎实际上是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据。在关系数据库中,数据以表的形式存储,所以存储引擎也可以称为表类型。MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,数据库开发人员可以获得额外的速度或者功能,从而改善所设计应用的整体功能。1.4MySQL存储引擎 MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。开发人员可以根据需要选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储信息、如何检索这些信息以及需要数据结合什么性能和功能的时候为设计提供最大的灵活性。与其他数据库管理系统不同,MySQL提供了插件式(pluggable)的存储引擎,存储引擎是基于表的。同一个数据库,不同的表,存储引擎可以不同;同一个数据库表在不同的场合可以应用于不同的存储引擎。1.4.1InnoDB存储引擎与其他存储引擎相比,InnoDB存储引擎是事务(Transaction)安全的,并且支持外键。如果某张表主要提供联机事务处理(OLTP)支持,需要执行大量的增、删、改操作(即insert、delete、update语句),处于事务安全方面考虑,InnoDB存储引擎是较好的选择。对于支持事务的InnoDB表,影响速度的主要原因是打开了自动提交(autocommit)选项,或者程序没有显示调用“begintrasaction;”(开始事务)和“commit;”(提交事务),导致每条insert、delete或者update语句都自动开始事务和提交事务,严重影响了更新语句(insert、delete、update语句)的执行效率。让多条更新语句形成一个事务,可以大大提高更新操

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档