MySQL基础教程绝对推荐PPT课件_第1页
MySQL基础教程绝对推荐PPT课件_第2页
MySQL基础教程绝对推荐PPT课件_第3页
MySQL基础教程绝对推荐PPT课件_第4页
MySQL基础教程绝对推荐PPT课件_第5页
已阅读5页,还剩711页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MySQL基础教程1适用于初学者和退伍军人。本章抛开了MySQL关于关系数据库设计的知识,以“选课系统”为例来说明“选课系统”数据库的设计过程。简而言之,数据库是存储和管理数据的容器。严格地说,数据库是“根据某种数据结构组织、存储和管理数据的容器”。摘要:数据始终是数据库的核心。关系数据库、关系数据库管理系统、结构化查询语言SQL、1.1数据库概述、1.1.1关系数据库管理系统,通过“数据库管理系统”,数据库用户可以方便地访问数据库容器中的各种数据库对象(添加、删除、修改、检查等操作),并可以方便地完成数据库的维护(备份、恢复、修复等操作),数据库用户不能通过操作系统直接获取数据库文件的具体内容;数据库管理系统通过调用操作系统的进程管理、内存管理、设备管理、文件管理等服务,为数据库用户管理和控制数据库容器中的各种数据库对象和数据库文件提供接口。1.1.1关系数据库管理系统。7,添加标题,添加标题,8、层次模型、面向对象模型、网格模型、关系模型、数据库管理系统中常用的数学模型,加上标题,基于“关系模型”的数据库管理系统称为关系数据库管理系统(简称RDBMS)。随着关系数据库管理系统的完善,关系数据库管理系统目前已经占据了主导地位。1.1.1关系数据库管理系统,数据库人气排名在2014年2月,迄今为止MySQL已经被成功攻击!1.1.1关系数据库管理系统,2014年3月数据库流行度排行榜,1.1.1关系数据库管理系统,2014年4月数据库流行度排行榜,1.1.1关系数据库管理系统,开源,MySQL源代码免费下载,简单,MySQL体积小,安装方便,MySQL性能可与商业数据库媲美,功能强大,MySQL提供的功能足以与商业数据库媲美。反向攻击的原因是其优越的性能。1.1.1关系数据库管理系统,即关系数据库中的所谓“关系”,本质上是一个二维表。请看看下面的时间表。作为数据库中最重要的数据库对象,数据库表的设计过程不是一蹴而就的,上述课程表根本不能满足“选课系统”的功能要求。事实上,数据库表的设计过程并不简单。本章的重点是讨论如何设计结构良好的数据库表。1.1.2关系数据库,结构化查询语言(SQL)是使用最广泛的关系数据库语言,它定义了操作关系数据库的标准语法,几乎所有的关系数据库管理系统都支持SQL。1.1.3结构化查询语言SQL,关键学习点,18,1,2,3,数据库设计是一项“系统工程”,要求数据库开发人员熟悉“业务领域”业务知识。使用“管理”知识与其他开发人员有效沟通。掌握一些数据库设计工具。数据库设计辅助工具、业务知识和沟通技巧、“选课系统”概述、4、5、定义问题领域、编码标准、1.2数据库设计相关知识、解决“业务领域”中“业务问题”的数据库技术。数据库开发人员有必要成为这个“业务领域”的专家,与其他开发人员(包括最终用户)一起工作,然后使用数据库技术来解决这个“业务领域”中的“业务问题”。,1.2.1商业知识和沟通技巧,1.2.2数据库设计辅助工具,面向对象的分析和设计技术,结构化分析和设计技术,软件测试技术,关系数据库设计技术,erwinpowerdesignaterrationarosevisio,VC 6.0 VisualStudioeClipsEnertBeans,单元测试工具功能测试工具性能测试工具,程序流程图DFD时序图状态图,CASE工具IDE工具测试工具,数据模型,类图,E-R图,有限空间,在不影响“选课系统”核心功能的基础上,系统1.2.3“选课系统”概述。定义问题区域是数据库设计过程中的一项重要活动。它的目标是准确定义要解决的业务问题。在“选举制”中,哪些“商业”问题亟待解决?1.2.4定义问题区域,编程时会考虑代码的可读性吗?你认为代码可读性是一个需要考虑的问题吗?1.代码不仅应该被自己理解,还应该被其他人理解?2.试着让人看得懂,但是当时间紧迫,任务繁重时,你就不能处理它?3.只要代码能被自己读取?4.代码写完后就完成了,不管以后是否能读。我不知道,你想过这个问题吗?1.2.5编码标准。24、请记住:尽最大努力为他人和自己将来节省方便。建议大家遵循本书中列出的通用编程规范!关系数据库的设计质量直接取决于关系图的设计原则、关系、实体和属性以及关系图的设计质量。1.3E-R图,实体不是一个特定的事物,而是某一类别的所有事物的统称。属性通常用来表示实体的某些特征,属性也可以用来表示实体、实体、属性、属性、1.3.1实体和属性之间关系的特征。电子病历图中的关系用于表示实体之间的关系。在工程-关系图中,实体之间的关系通常用线段来表示。电子病历图中实体之间的关系是双向的。关系,关系,1.3.2关系,基数表示一个实体和另一个实体之间的关联数量,基数是为关系之间的特定方向提出的概念,基数可以是一系列值或特定值,基数,可选,基数,强制,1.3.2关系,基数表示与关系关联的实体数量。二元关系、二元关系、一元关系、1.3.2关系,用关联来表示实体间关系的属性。关联,关联,1.3.2关系,1,2,3,实体是一个独立的个体,不能存在于另一个实体中,而成为另一个实体的属性。属性应该存在于并且只存在于一个地方(实体或关联)。同一个实体在同一个工程图中只出现一次。数据库开发人员通常使用“一物一地”的原则从系统的功能描述中抽象出电子病历图。1.3.3E-R电子病历图的设计原则。32,1。为工程图中的每个实体创建一个表。2.为每个表定义一个主键(如有必要,向表中添加一个无意义的字段作为表的主键)。3.添加一个外键来表示一对多关系。4.建立一个新表来表示多对多关系。5.为字段选择适当的数据类型。6.定义约束(如果需要)。7.评估关系的质量并做出必要的改进。1.4关系数据库设计,学生(学号,学名,学号)课程(课程名,上限,描述,状态)教师(教师号,教师名,教师联系)班级(班级名,部门名),1.4.1为每个实体创建一个数据库表,关键字:用于唯一标识表中的每一行记录。主键:从所有关键字中选择一个关键字作为表的主键,缩写为主键。1.4.2为每个表定义一个主键。主键有以下两个特征:(1)表的主键可以是一个字段或多个字段的组合(这种情况称为复合主键)。(2)表中主键的值是唯一的,不能为空;当表中的主键由多个字段组成时,每个字段的值不能为空。关键设计技巧,请参考本书。1.4.2为每个表定义主键,学生(学生编号、学生名称、学生联系人)课程(课程编号、课程名称、上限、描述、状态)教师(教师编号、教师名称、教师联系人)班级(班级编号、班级名称、部门名称),1.4.2为每个表定义主键和外键:如果表a中的字段a对应于表b中的主键b, 那么字段a被称为表a的外键。此时,表a中存储的字段a的值要么为空,要么为表B中主键B的值.1.4.3添加外键表示一对多关系。案例1:如果实体之间的关系是一对多关系,那么“一个”最终实体的主键需要放在“多个”最终实体中,然后用作“多个”最终实体的外键,通过它可以表达实体之间的一对多关系。1.4.3添加外键意味着一对多关系。对学生来说,记住他们的班级比让班级“记住”所有学生要容易得多。1.4.3添加外键表示一对多关系。案例2:实体之间的一对一关系可以被视为一种特殊的一对多关系:“一”方的实体的主键被放入另一“一”方的实体中,并用作另一“一”方的实体的外键,然后外键被定义为唯一约束。1.4.3添加外键表示一对多关系,主键,1.4.3添加外键表示一对多关系,主键后的方案:学生(学生编号、学生名称、学生联系人、班级编号)课程(课程编号、课程名称、上限、描述、状态、教师编号)教师(教师编号、教师名称、教师联系人)班级(班级编号、班级名称、部门名称),1.4.3添加外键表示一对多关系案例3:如果两个实体之间的关系是多对多关系,则需要添加一个新表来表示多对多关系,然后将关系中涉及的实体的“主键”分别放入新表中(作为新表的外键),并将关系本身的属性作为新表的字段放入新表中。1.4.4建立一个新表来表示多对多关系,教师(教师编号、教师姓名、教师联系人)班级(班级编号、班级名称、部门名称)课程(课程编号、课程名称、上限、描述、状态、教师编号)学生(学生编号、学生姓名、学生联系人、班级编号)选择(选择编号、学生编号、课程编号、分数、选择时间),1.4.4创建一个新表来表示多对多关系共有6个通用约束:主键约束、外键约束、唯一约束、默认约束、非空约束、检查约束。1.4.6定义约束条件在设计数据库时有两个无可争议的事实。数据库中的冗余数据需要额外的维护,所以一组高质量的表应该尽可能地“减少冗余数据”。数据库中频繁变化的数据需要额外的维护,所以一组高质量的表应该试图“避免数据的频繁变化”。1.4.7评估数据库表设计的质量。冗余数据需要额外的维护,容易出现“数据不一致”、“插入异常”和“删除异常”等问题。1.4.8通过标准化减少数据冗余,场景1:插入异常。场景2:修改很复杂。场景3:删除例外。1.4.8使用规范化来减少数据冗余,规范化是一个通过最小化数据冗余来提高数据库设计质量的过程。规范化是基于函数依赖和一系列范式来定义的,最常用的是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。1.4.8使用规范化来减少数据冗余,函数依赖:表中两个字段的值之间的一一对应关系称为函数依赖。第一范式:如果一个表中的相似字段没有重复出现,则该表将满足第一范式的要求。1.4.8通过规范化减少数据冗余,第一范式,1.4.8通过规范化减少数据冗余,第二范式:如果每个“非键”字段“仅”函数在满足第一范式的基础上依赖于主键,则表满足第二范式的要求。1.4.8使用规范化来减少数据冗余,第二范式,1.4.8使用规范化来减少数据冗余,第三范式:如果一个表满足第二范式的要求,并且没有依赖于任何其他“非键”字段的“非键”字段函数,则该表满足第三范式的要求。1.4.8使用规范化来减少数据冗余,第三种模式,以及1.4.8使用规范化来减少数据冗余,当计算学生的个人数据时,如果读者是数据库开发人员,学生应该报告年龄信息还是出生日期?如何确保每门课程的学生人数不超过最高人数?1.4.9为避免频繁更改数据,方案1:课程(课程编号、课程编号、课程名称、上限、描述、状态、教师编号、可用)方案2:不需要更改数据库表。1.4.9避免频繁更改数据。60,任务1:描述“选修系统”的问题领域。任务2:将本书图1-7中的“团购网站、顾客和房屋三重关系的表示方法”的E-R图转化为关系(模式)。任务3:用纸笔或文字绘图工具画出“选修系统”的电子病历图。任务4:将“选课系统”的电子病历图转化为关系(模式)。任务布局,MySQL基础,64,1,2,3,通过本章的学习,读者可以掌握一些常用的MySQL命令,从而对MySQL数据库进行一些简单的管理。本章的知识点很复杂。我希望保持耐心。4,字符集和字符序列设置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论