MySQL数据库项目实例教程 课件全套 郑学伟 1.认识数据库 -5.5 运行与维护数据库_第1页
MySQL数据库项目实例教程 课件全套 郑学伟 1.认识数据库 -5.5 运行与维护数据库_第2页
MySQL数据库项目实例教程 课件全套 郑学伟 1.认识数据库 -5.5 运行与维护数据库_第3页
MySQL数据库项目实例教程 课件全套 郑学伟 1.认识数据库 -5.5 运行与维护数据库_第4页
MySQL数据库项目实例教程 课件全套 郑学伟 1.认识数据库 -5.5 运行与维护数据库_第5页
已阅读5页,还剩898页未读 继续免费阅读

下载本文档

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

文档简介

MySQL数据库项目一:认识数据库

当今的社会是信息社会,信息技术影响着我们生活的方方面面,作为信息技术的核心组成部分,数据库技术更是无处不在。目前信息社会互联网的应用主要是两个方面:计算服务与数据服务。而其中绝大多数计算机系统都属于以数据服务为主要应用。从最基本的理解上讲,这些应用的基本工作就是把数据存储进数据库,需要的时候再拿出来。从使用上讲,有信息的地方就有数据库。它无所不在,网站的背后、应用的内部,单机软件,区块链里,甚至在离数据库最远的Web浏览器中,也逐渐出现了其雏形。任务数据库概述12数据模型3关系数据库的规范化4数据库设计辽宁开放大学(辽宁装备制造职业技术学院)主讲:郑学伟教授认识数据库数据库概述数据管理技术的发展/01人工管理阶段文件系统阶段数据库系统阶段一、人工管理阶段50年代中期以前年代计算机主要用于科学计算背景数据基本靠人工来进行管理数据不能保存数据不能共享数据不具有独立性应用程序与数据一一对应特点二、文件系统阶段从50年代后期到60年代中期年代硬件上,外存储器有了磁盘、磁鼓等直接存取的存储设备;背景数据可以长期保存;数据共享性差;数据冗余较大;独立性差;数据由文件系统来管理。特点软件上,操作系统中已经有了专门的管理数据软件(文件系统)。文件系统管理数据。背景磁鼓磁盘三、数据库系统阶段从60年代后期开始年代由于计算机开始大规模的走出美国的各大高校,开始大规模的在社会上各行各业应用,数据量也开始急剧的增长,那么这个时候就对于数据管理的共享性,通用性要求越来越严格,开始出现了专门的数据库系统。背景实现了数据的独立性安全性完整性并发控制三、数据库系统阶段硬件上,开始出现了大容量的磁盘,计算机系统开始不是单纯的为科学计算服务。开始大量的应用于这个社会管理运行当中数据库系统的组成/02辽宁开放大学(辽宁装备制造职业技术学院)主讲:郑学伟教授学号姓名出生年月性别籍贯21001张伟2001.05男浙江绍兴21002李云姗2001.04女河南商丘21003王志阳2001.06男福建厦门学生基本信息表数据(data):数据就是数据库中存储的基本对象数据的定义:用于描述现实事物中的符号记录数据的种类:文字、图像、视频、音频数据库(database)简写是DB,是相互关联的数据的集合数据库管理系统,它就是用来管理数据库的软件,它是一个成熟的商业化的软件系统,英文的单词缩写是DBMS。数据库定义功能数据库操纵功能数据库查询功能数据库控制功能功能创建数据表数据库系统的组成数据库管理系统是数据库应用系统的一个组成部分。数据库应用系统也叫做数据库系统,英文的简写是DBS,它是指在计算机应用系统当中引入了数据库之后的一个完整系统。数据库系统的组成用户:负责使用系统开发员:应用系统的开发者上对应用系统提供接口下负责管理整个数据库数据库(DB)数据库管理系统(DBMS)数据库管理员(DBA)应用系统应用程序员最终用户结构化查询语言/03辽宁开放大学(辽宁装备制造职业技术学院)主讲:郑学伟教授结构化查询语言SQL数据库使用的语言,是一种专门的计算机语言,叫做SQL,简单说就是结构化查询语言,它是为了方便数据库管理员对数据库管理系统上的数据进行高效的存储访问和修改。是20世纪70年代在IBM公司两个这个工程师推出的这么一种语言,这种语言由于很高效、很简洁,一推出之后,马上就成为了这个全世界数据库系统的一个标准化的查询语言。结构化查询语言SQL结构化查询语言主要包括:数据查询数据操纵数据定义数据控制结构化查询语言SQL综合统一高度非过程化面向集合的操作方式两种使用方式简洁易学基本上主要包括查询(SELECT)、删除(DELETE)、更新(UPDATE)、插入(INSERT)等指令。数•据•模•型认识数据库思考数据库系统完全的数字化的系统现实世界如何转化成信息系统?SHOP0123456789101234567895012345678960123456789401234567892¥思考如何将相关联的特征或者特性转化成相对应的数据库系统呢?数据模型概念数据模型就是通过抽象、表示和处理现实世界中的数据和信息建立的信息模型。数据处理的抽象过程(涉及三个领域)1现实世界2信息世界3机器世界(数据世界)抽象转换建立概念模型(便于用户和DB设计人员交流)建立数据模型(便于机器实现)概念模型概念模型是客观世界到信息世界的认知和抽象是用户和数据库设计人员之间进行交流的语言实体客观存在的,可以相互区别的事物属性实体所具有的某一特性称为属性关系体现不同实体之间的联系E-R图组成教师学生实体客观存在的,可以相互区别的事物属性实体所具有的某一特性称为属性关系体现不同实体之间的联系E-R图组成实体客观存在的,可以相互区别的事物属性实体所具有的某一特性称为属性关系体现不同实体之间的联系E-R图组成教学关系买卖关系创建数据表学生用矩形来表示实体教师创建数据表学生用椭圆形来表示属性学号姓名性别创建数据表课程用菱形表示关系选修成绩学生mn实体型

1关系名实体型

2111:1关系实体型

1关系名实体型

21n1:n关系实体型

1关系名实体型

2mnm:n关系班级班级-班长班长111:1关系班级组成学生1n1:n关系课程选修学生mnm:n关系数据模型就是把已经建立好的概念模型,通过计算机能够理解的方式,转换成一个数据库管理系统支持的模型创建数据表便于在计算机上实现容易为人所理解能比较真实地模拟现实世界数据模型是科学研究的一种重要方法,模型可以形象直观地反映出事物的结构与特点,方便理解与记忆。层次模型:用“树”结构来表示数据之间的关系网状模型:用“图”结构来表示数据之间的关系关系模型:用“表”结构(或称关系)来表示数据之间的关系总行辽宁分行沈阳支行根结点山西分行兄弟结点叶结点大连支行兄弟结点叶结点叶结点层次模型创建数据表网

型网状模型是一个平行的。彼此之间没有上下级的关系,体现的是一个多对多的管理系统。网状模型创建数据表关

型关系模型体现的是二维表的管理方式,看起来比较像的Excel表。在关系模型当中,不再使用层次模型或者网状模型里边的链型指针,而是通过不同关系的同名属性来体现。常用的关系型数据库介绍/01Oracle数据库

SQLServer数据库MySQL数据库辽宁开放大学(辽宁装备制造职业技术学院)主讲:郑学伟教授一、ORACLE数据库大型的关系型数据库大型商务项目JAVA开发价格昂贵二、SQLSERVER数据库中小型数据库c#和.net开发价格比Oracle便宜三、MYSQL数据库瑞典公司开发性能强大SUN公司收购使用广泛甲骨文公司开放源代码完全免费国产数据库数•据•库•的•规•范•化认识数据库思考设计数据库开发项目的需求根据数据模型创建相应的数据库的表进行数据存储重复存储插入异常删除异常更新异常如果数据库的表设计的不合理会有什么后果:需要重新的规划表格,既浪费时间,又消耗人力财力,成本很高。工程号工程名称职工号姓名职务小时工资率工时实发工资A1凤凰酒店1001齐明工程师6513845.001002李岐技术员6016960.001004葛洪技术员60191140.00小计2945.00A2金星大厦1001齐明工程师6515975.001003鞠亮工人5517935.00小计1910.00A3河畔花园1002李岐技术员60181080.001004葛洪技术员6014840.00小计1920.00如何避免上述的情况:进行数据规范化,关系数据库中的关系必须满足一定的规范,要对数据库中的表进行的规范化操作。创建数据表数据库的规范化数据库的规范化称为范式英文名称是normalform英国工程师在上个世纪70年代初提出关系数据库的模型后总结出来的创建数据表数据库的规范化范式是关系数据库理论的基础也是设计数据库过程中所要遵循的规则和指导方法1NF2NF3NFBCNF4NF5NFDKNF6NF什么是第1范式呢?如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)。第一范式的目标是确保每列的原子性。如果一个关系满足了第1范式,而且其他所有的列都依赖于主键,则满足第二范式(2NF)第二范式要求每个表只描述一件事情,确保表中的每列,都和主键相关所谓的主键就是这个表儿里边唯一的确定了不可重复的列,我们就称为主键那么如果我们设计一个表,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)。第三范式确保每列都和主键列直接相关,而不是间接相关。保持连接性分解模型的时候信息不能丢失,对原始设计的模式不能增加或减少,要保证信息不失真函数依赖的保持性不能破坏属性间的依赖关系。两个原则第1范式(1NF)第1范式是说实体中的某个属性不能有重复的词。员工号姓名工作单位00001张明沈阳第一仓库00007李达沈阳第二仓库02004贺进南京第一仓库创建数据表学号姓名班级0001小红三年1班学号姓名年级班级0001小红三年1班第二范式(2NF)第二范式除了要满足第一范式以外,其他的列都依赖于主键第二范式的本质是要求每个表只描述一件事情实体的属性完全依赖于主关键字不符合第二范式订单ID商品ID商品名称001251按摩椅符合第二范式订单ID商品ID001251商品ID商品名称251按摩椅创建数据表第三范式第3范式是在第二范式的基础上要求关系表中不存在非关键字,对于任意候选关键字列的传递函数依赖。什么是函数依赖?RXY每一个值都有Y上的唯一值和它对应关系属性集X那么称X和Y具有函数依赖关系,并称X函数决定Y,或者说Y函数依赖于X。YX函数Y等于X的平方24-2函数依赖关系X函数决定Y,或者说Y函数依赖于X不符合第三范式

字段例子订单编号008产品编号c001单价30数量5金额150字段例子订单编号001产品编号c001单价30数量5符合第三范式数•据•库•设•计认识数据库数据库设计主要任务对于一个给定的应用环境根据用户的各种需求构造出最优的数据库模式建立数据库及其应用系统六个阶段需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库的实施阶段数据库运行和维护阶段需求分析阶段用户需求甲方需求分析分析用户的各种各样的需求需求分析的任务对现实世界中要处理的对象要进行详细的调查要充分了解现有系统的工作环境和手工处理中存在的问题还要考虑到今后的扩充与改进,要有前瞻性创建数据表需求分析调查过程中的重点在于“数据”与“处理”。通过调查、收集与分析,获得用户对数据库的要求:(1)信息需求(2)处理要求(3)安全性和完整性要求调查了解了用户的实际需求以后,还需要进一步分析和表达用户的需求,最后形成系统需求说明书。有多少数据,数据的来源在哪里,是否有已存在的数据资源?必须保存哪些数据,数据是字符、数字或日期型?谁使用数据,如何使用?常见的问题数据是否经常修改,如何修改和什么时候修改?某个数据是否依赖于另一个数据或被其他数据引用?跟班儿作业通过亲身参加业务工作来了解业务活动的情况开调查会通过与用户座谈来了解业务活动情况及用户需求请专人介绍\询问创建数据表概念结构的设计概念结构设计是将需求分析阶段得到的用户需求进行综合、归纳与抽象成信息结构即概念模型的过程。概念结构图概念结构设计主要应用E-R图来完成步骤如下:1.对数据进行抽象并设计局部E-R图2.将各局部E-R图进行合并,形成初步E-R图3.消除不必要的冗余,形成基本E-R图自上而下首先定义全局概念结构的框架,然后逐步细化自下而上首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。逐步扩张首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。混合策略最常采用的是混合策略,即自顶向下进行需求分析,然后自底向上设计概念结构。创建数据表逻辑结构设计用E-R方法表示了数据和数据之间的联系,不能直接在计算机上实现为了创建用户所要求的数据库,需要把概念模型转换为某个具体的DBMS所支持的数据模型。按照转换规则将E-R图转换成关系模式(表),并将关系模式进行规范化,保证关系模式达到3NF。那么ER图向关系模式的转换呢?实体类型的转换将每个实体类型转换成一个关系模式实体的属性即为关系的属性实体的标识符即为关系模式的码(码就是能代表这个实体的主属性)联系类型的转换根据不同的联系类型做不同的处理。若实体间联系是1∶1可以在两个实体类型转换成的两个关系模式中任意一个关系模式中加入另一个关系模式的码和联系类型的属性。若实体间联系是1∶n在n端实体类型转换成的关系模式中加入1端实体类型的码和联系类型的属性。若实体间联系是m∶n将联系类型也转换成关系模式,其属性为两端实体类型的码加上联系类型的属性,而码为两端实体码的组合。创建数据表3个或3个以上的实体间的一个多元联系,不管联系类型是何种方法,总是将多元联系类型转换成一个关系模式,其属性为与该联系相连的各实体的码及联系本身的属性,其码为各实体码的组合。最后一个就是具有相同码的关系可合并。设计人员得到了规范化的关系模式后,下一步的工作是考虑数据库在存储设备的存储方法及优化策略存储结构存取方法存储位置存储效率空间利用率创建数据表设计人员在进行数据库的物理设计的时候,就是为一个给定的逻辑数据模型选取一个最适合的应用要求的物理结构的过程(1)首先确定数据库的物理结构,在关系数据库中主要指的是存储结构与存取方法。(2)其次从时间和空间效率两个方面来对数据库的物理结构进行评价。创建数据表在数据库实施阶段,设计人员运用RDBMS提供的数据语言及其宿主语言.根据逻辑结构设计和物理设计的结果建立数据库,编制和调试应用程序,组织数据入库,并进行试运行。数据库的实施阶段创建数据表数据库应用系统经过试运行后,即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整和修改。数据库运行和维护项目一:认识数据库本讲结束MySQL数据库项目二:认识MySQL人类自从进入信息时代,便有了信息存储及管理的需求。数据库技术的研究从20世纪60年代开始,到今天已经发展了将近60年,历经三代演变,取得了辉煌的成就。$单机时代CREDITCARD1234567812345678数据库MySQL究竟凭借着哪些迷人的魅力脱颖而出,一跃成为深受用户青睐的数据库呢??任务MySQL数据库概述1安装与配置MySQL数据库2启动与登录MySQL数据库3MySQL常用图形管理工具简介4存储引擎与数据类型5MySQL数据库概述MySQL之父MichaelMontyWidenius开源MySQL数据库的创始成员MySQLAB公司的首席技术官MySQL数据库第一行代码的作者MySQL数据库命名人MariaDB创始人兼首席技术官1962年3月Monty出生于芬兰赫尔辛基独自撰写95%的代码MySQL的发展历史1994年2000年2003年MySQLAB公司在瑞典成立,正式发行MySQL数据库正式集成InnoDB引擎推出MyISAM,开放源代码,并且基于GPL许可协议2006年2009年SUN公司收购了MySQLAB公司Oracle公司又收购了SUN公司2010年MySQL5.5正式版本发布华为的发展历史MySQL的特点1.开源、免费MySQL以其开源、免费的特点,深受广大用户的欢迎2.运行速度快使用“B+树”磁盘表(MyISAM)和索引压缩使用优化的“单扫描多连接”,能够实现极快连接SQL函数使用高度优化的类库实现,运行速度快MySQL的特点3.可移植性强MySQL数据库使用C语言和C++语言开发,并使用多种编辑器进行测试可以在Windows、Linux、Mac等多种操作系统上运行,保证了MySQL源代码的可移植性4.跨平台MySQL可以在Windows系列的操作系统上运行还可以在UNIX、Linux和MacOS等操作系统上运行MySQL数据支持服务MySQL数据库网络课程MySQL数据库网络课程MySQL数据库的安装获取MySQL软件首先,登录MySQL官方网站,

数据还原mysql命令进入网站后,选择【downloads】下载通过访问MySQL官方网站进行MySQL的下载MySQL数据库网络课程企业版MySQL企业版对于部分企业用户,对数据库的功能和可靠性要求会比较高,而且需要提供完备的技术支持。主要供大、中型企业使用,官方提供保障以及补丁服务,并收取相关的费用,但可以免费试用30天。最全面的高级功能最全面的管理工具最全面的技术支持MySQL数据库网络课程以实现最高级别的MySQL可扩展性、安全性、可靠性和正常运行时间降低了开发、部署和管理业务关键型MySQL应用程序的风险、成本和复杂性企业版高级集群版本MySQL高级集群版本MySQL集群是结合线性可扩展性和高可用性的分布式数据库。MySQL高级集群版本提供了跨分区和分布式数据集的内存实时访问和事务一致性,它是为任务关键型应用而设计的。MySQL集群内置了跨多个地理位置的集群之间的复制和具有数据位置感知的无共享体系结构MySQL数据库网络课程MySQL高级集群版本包括:MySQL集群MySQL群集管理器MySQL企业版中的所有内容企业版高级集群版本社区版本企业版高级集群版本社区版本企业版高级集群版本社区版本企业版高级集群版本社区版本MySQL社区版本开源且免费提供MySQL除企业服务外的绝大部分功能,但不提供官方技术支持适用于大多数普通用户,是开发者的首选MySQL数据库网络课程如何安装MySQL软件?MySQL服务器安装下载得到一个名为mysql-installer-community-.msi的安装文件,双击该文件可以进行MySQL服务器的安装。双击打开mysql-installer-community-.msi文件,打开安装向导,打开LicenseAgreement对话框,询问是否接受协议,选中Iacceptthelicenseterms复选框,接受协议MySQL服务器安装单击Next按钮,将打开ChoosingaSetupType对话框,在该对话框中,共包括DeveloperDefault(开发者默认)、Serveronly(仅服务器)、Clientonly(仅客户端)、Full(完全)和Custom(自定义)5种安装类型,这里选择ServeronlyMySQL服务器安装单击Next按钮MySQL服务器安装单击Execute按钮,将开始安装,并显示安装进度。MySQL服务器安装单击Next按钮,将打开ProductConfiguration对话框。MySQL服务器安装单击Next按钮,将打开GroupReplication对话框。MySQL服务器安装单击Next,将打开TypeandNetworking对话框,在该对话框中提供了DevelopmentComputer(开发者类型)、ServerComputer(服务器类型)和DedicatedComputer(致力于MySQL服务类型)这几种类型,这里选择默认的DevelopmentComputer。MySQL使用的默认端口是3306,在安装时,可以修改为其他的(如3307)。但是一般情况下,不要修改默认的端口号,除非3306端口已经被占用。MySQL服务器安装单击Next按钮,将打开AuthenticationMethod对话框MySQL服务器安装单击Next按钮,将打开AccountsandRoles对话框,在这个对话框中,可以设置root用户的登录密码,也可以添加新用户,这里只设置root用户的登录密码为123456,其他采用默认MySQL服务器安装单击Next对话框,将打开WindowsService对话框,开始配置MySQL服务器,这里采用默认设置MySQL服务器安装单击Next按钮,将进入Applyconfiguration对话框MySQL服务器安装单击Execute按钮,开始应用配置,并显示完成进度。MySQL服务器安装单击Finish按钮,将打开ProductConfiguration对话框。MySQL服务器安装单击Finish按钮,完成MySQL的安装。MySQL安装三要素①端口号MySQL是一个关系型数据库管理系统用到数据库的时候,不仅仅是在本机使用该数据库,还应该允许远程访问这个数据库所以MySQL需要使用TCP/IP的端口,默认的端口号是3306MySQL数据库网络课程MySQL安装三要素②数据库安装位置③数据库文件的存储位置该位置是MySQL系统文件安装释放的位置默认的位置是在C盘的ProgramFiles文件夹该位置是数据存放的位置数据的备份、导入、导出都是以该位置为源及目的地MySQL数据库网络课程如何卸载MySQL?没有安装成功的情况之下,再次安装时发现怎么安装都没办法成功,那是因为没有将MySQL完全卸载掉卸载MySQL第一步点击控制面板---卸载程序卸载掉所有相关MySQL软件第二步删除安装目录下programfiles下的MySQL文件夹MySQL数据库网络课程卸载MySQL第三步删除目录programdata下面的MySQL文件夹注意,Programdata是一个隐藏文件夹,如果要删除一定要将其显示出来,再删除第四步将注册表下面的MySQL文件夹删除,这样就可以彻底删除掉MySQL了MySQL数据库网络课程思考安装完成后是否就可以开始MySQL数据库的开发工作呢

?答案是还不可以,因为还有一项特别重要的准备工作需要完成:数据库的配置如何配置MySQL数据库

在C盘ProgramData目录之下,有一个名为my,后缀为.ini的文件,这就是MySQL的配置文件

安装完MySQL之后,接下来一个重要的事情就是进行该文件的配置MySQL数据库网络课程MySQL数据库的配置①设置端口号如果已经被占用,将改成其他的端口号MySQL数据库网络课程MySQL是一个关系型数据库管理系统用到数据库的时候,不仅仅是在本机使用该数据库,还应该允许远程访问这个数据库所以MySQL需要使用TCP/IP的端口,默认的端口号是3306MySQL数据库的配置②设置客户端字符集③设置服务器端字符集default-character-setcharacter-set-server想要在数据库当中正确的使用中文,要将客户端

字符集与服务器端字符集都设置为UTF8MySQL数据库网络课程MySQL数据库的配置④设置存储引擎设置默认的存储引擎MySQL默认的存储引擎为InnoDBMySQL数据库网络课程如何查询默认的存储引擎?使用指令

“showvariableslike

'%storage_engine%

';

"MySQL数据库网络课程存储引擎修改默认的存储引擎可以在my.ini文件中,将default-storage-engine改成其他的存储引擎MySQL数据库网络课程修改my.ini的两个重要注意事项修改文件之前

一定要先停止MYSQL服务,修改之后重新启动电脑,重新启动MYSQL服务修改文件之后

只对新创建的数据库有效。原来创建好的数据库,

即使修改了my.in文件,还是保持了原来的设置MySQL数据库网络课程如何启动已停止MYSQL服务?方法1:使用图形界面启动已停止MYSQL服务方法2:通过命令提示符窗口进行操作启动、停止MySQL服务器可以通过“开始”菜单–“控制面板”–“管理工具”–“服务”命令打开Window服务管理器。在服务管理器的列表中找到MySQL服务,并右键单击,在弹出的快捷菜单中,完成MySQL服务的各种操作(启动、重新启动、停止、暂停和恢复)连接与断开服务器1.使用数据库管理员root身份登录数据库服务器通过“开始”菜单–“MySQL”–“MySQL8.0CommandLineClient”命令,输入正确的root用户密码连接与断开服务器2.断开服务器成功地链接服务器后,在mysql>提示符后输入quit(或\q),按Enter键,MySQLCommandLineClient窗口关闭MySQL图形化管理工具MySQL图形化管理工具安装MySQL时图形管理工具同时还安装了MySQLWorkbench操作直观Workbench可以进行可视化数据库管理功能强大数据库迁移方便MySQLWorkbench是一款由MySQL开发的跨平台、可视化数据库工具,在一个开发环境中集成了SQL的开发、管理、数据库设计、创建以及维护功能。这款软件可以在MySQL服务器安装完之后用MySQLinstaller安装。MySQL数据库的第三方图形管理工具Navicat可创建多个连接的数据库管理工具用以方便管理MySQL、Oracle、PostgreSQL、SQLite、SQLServer、MariaDB等不同类型的数据库支持管理某些云数据库,例如阿里云、‎腾讯云MySQL数据库网络课程MySQL数据库的第三方图形管理工具NavicatforMySQL基于Windows平台,为MySQL量身订作提供良好的图形用户界面(GUI)中文显示可同时连接MySQL和MariaDBMySQL数据库网络课程MySQL数据库的第三方图形管理工具表Navicat支持MySQL大部分最新功能,包括

:视图函数过程事件NavicatforMySQLMySQL数据库网络课程操作直观,功能强大,可以安全、快速地创建、组织、存取和共享信息MySQL量身定做MySQL数据库的第三方图形管理工具表Navicat支持MySQL大部分最新功能,包括

:视图函数过程事件NavicatforMySQLMySQL数据库网络课程操作直观,功能强大,可以安全、快速地创建、组织、存取和共享信息MySQL数据库的第三方图形管理工具SQLyogSQLyog是专门针对MySQL数据库的图形化管理工具SQLyog使数据库开发人员、管理员和架构师能够直观地比较、优化和记录模式MySQL数据库网络课程MySQL数据库的第三方图形管理工具SQLyog特点:简洁高效、功能强大使用SQLyog可以自动同步数据可视化比较数据可视化比较和同步架构导入外部数据计划备份计划和报告查询配置文件查询MySQL数据库网络课程MySQL数据库的第三方图形管理工具SQLyogSQLyog是专门针对MySQL数据库的图形化管理工具SQLyog使数据库开发人员、管理员和架构师能够直观地比较、优化和记录模式MySQL数据库网络课程MySQL数据库的第三方图形管理工具phpMyAdmin用PHP编程语言开发的基于web方式的网页版mysql图形化管理工具支持中文、界面友好、简洁,方便管理,但是对于数据量大的操作容易导致页面请求超时MySQL数据库网络课程MySQL数据库的第三方图形管理工具phpMyAdmin用PHP编程语言开发的基于web方式的网页版mysql图形化管理工具支持中文、界面友好、简洁,方便管理,但是对于数据量大的操作容易导致页面请求超时MySQL数据库网络课程存储引擎存储引擎是对于数据库文件的一种存储机制如何实现存储数据如何为存储的数据建立索引以及如何更新、查询数据等技术实现的方法数据库存储引擎MySQL中的数据用各种不同的技术存储在文件(或者内存)中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供各不相同的功能。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。简单地说,存储引擎就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。数据库存储引擎MySQL提供了多个不同的存储引擎,每种存储引擎的特性有各不相同,那么在创建数据表时选择一个合适的MySQL存储引擎,则会对整个系统效率和性能产生巨大影响。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。在Oracle和SQL

Server的等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。数据库存储引擎可以使用以下语句查看系统所支持的引擎类型,代码如下:SHOWENGINES;是否支持描述是否支持事务是否支持分布式事务是否支持保持点

MyISAM存储引擎在Web、数据仓储和其他环境下最常使用的存储引擎之一。拥有较高的插入、查询速度,但不支持事务,不支持外键。MyISAM存储引擎

InnoDB存储引擎是事务型数据库的首选引擎,支持事务安全特性,而其他引擎都是非事务安全表,MySQL5.5以后默认使用的存储引擎。事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。InnoDB存储引擎

MEMORY存储引擎将表中数据存储到内存中,为查询和引用其他表数据提供快速访问。MEMORY存储引擎存储引擎的选择InnoDB:支持事务,支持外键,支持崩溃修复能力和并发控制。MyISAM:插入数据的速度快,空间和内存使用比较低。MEMORY:所有的数据都在内存中,数据的处理速度快,但是安全性不高性能InnoDBMyISAMMEMORY事务安全支持无无存储限制64TB低低空间使用高低低内存使用高低高插入数据速度低高高对外键的支持支持无无事务处理选择InnoDB查询要求较高MyISAM用于查询的临时表MEMORY存储引擎MyISAMMySQL存储引擎的类型InnoDBMEMORY比如说对于事物的安全MyISAM和MEMORY

都是不支持的但是

InnoDB

是支持的MySQL数据库网络课程以下软件不属于MySQL图形管理工具的是()NavicatMySQLworkbenchphpMyAdminPyChamABCD提交单选题10分数据类型在MySQL数据库系统中,存储引擎决定了我们定义什么样类型表数据类型(datatype)则是指表中所允许存储的数据的存储类型MySQL

数据类型定义了列中可以存储什么数据以及该数据怎样存储的规则数据库数据库中的每个列都应该有适当的数据类型,用于限制或允许该列中存储的数据【例】列中存储的为数字,则相应的数据类型应该为数值类型错误的数据类型严重影响应用程序功能性能设计表时特别重视数据列所用的数据类型更改包含数据的列不是一件小事,这样做可能会导致数据丢失在创建表时必须为每个列设置正确的数据类型和长度错误的数据类型维护成本表数据量的增加可能非常大出现几何级的增加数据字段的类型对于数据库的优化是非常重要的MySQL的数据类型:整数类型小数类型字符串类型日期和时间类型集合类型一、整数类型MySQL支持所有标准的SQL整数类型,取值范围分为有符号和无符号取值范围如果加了unsigned(无符号),则最大值翻倍int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围取值范围如果加了unsigned(无符号),则最大值翻倍允许NULL的话默认为NULL不允许为NULL的需要手动设置默认值整数数据类型在声明字段的时候,共有3个可选的参数,分别是:声明字段数据类型的时候,需要使用合适的参数Munsignedzreofill整数类型整数数据类型有2种取值范围,有符号和无符号的取值范围建表时根据实际情况使用有符号使用无符号年龄age字段人的年龄都是大于0tinyint无符号使用"无符号"需要在声明字段数据类型的时候使用参数unsigned不加unsigned参数,默认使用的是有符号的范围zerofill表示用0填充M表示补0的宽度这两个参数只有配合使用才有意义分开使用意义不大数据类型用zerofill参数修饰必定是unsigned这些类型都是定长的,其容量是不会随着后面的数字而变化的比如int(11)和int(8),都是一样的占4字节一、小数类型什么是小数型呢?字面意思就是带小数点的数值型单精度浮点数(FLOAT)双精度浮点数(DOUBLE)DECIMAL小数浮点类型定点类型定点数以字符串的形式存储在MySQL中,比浮点数更准确,适用于表示货币等高精度数据浮点数和定点数类型的特点是可以处理小数,可以把整数看成小数的一个特例浮点数和定点数的使用场景,比整数大多了向一个FLOAT型字段插入一个整数是可以的,只是存储的时候后面加个.00M称为精度,表示总共的位数浮点类型和定点类型都可以用(M,D)来表示:D称为标度,表示小数的位数类型名称说明存储需求FLOAT单精度浮点数4个字节DOUBLE双精度浮点数8个字节DECIMAL(M,D),DEC压缩的“严格”定点数M+2个字节字符串类型字符串类型是MySQL中最常用的数据类型MySQL提供了十个最基本的字符串类型数值可以存储的字符串范围从简单的一个字符到巨大的文本块或二进制字符串数据都可以类型大小用途CHAR0-255字节定长字符串VARCHAR0-65535字节变长字符串TINYBLOB0-255字节不超过255个字符的二进制字符串TINYTEXT0-255字节短文本字符串BLOB0-65535字节二进制形式的长文本数据TEXT0-65535字节长文本数据MEDIUMBLOB0-16777215字节二进制形式的中等长度文本数据MEDIUMTEXT0-16777215字节中等长度文本数据LONGBLOB0-4294967295字节二进制形式的极大文本数据LONGTEXT0-4294967295字节极大文本数据CHAR两种最主要的字符串类型:VARCHARVARCHAR类型用于存储可变长字符串,是最常见的字符串数据类型它比定长类型更节省空间,因为它仅使用必要的空间(例如,越短的字符串使用越少的空间)VARCHAR需要使用1或2个额外字节记录字符串的长度:如果列的最大长度小于或等于255字节,则只使用1个字节表示,否则使用2个字节例外存储空间固定长度不够时,内部存储使用空格填充输入的字符长度超过指定长度后,char会截取超出的字符char特点可变长度的类型每个值只占用刚好够用的字节,再加上一个用来记录其长度的字节varchar特点如果字符串列最大长度比平均长度大很多的列,那么就可以使用varchar来储存text类型同char、varchar类似,都可用于存储字符串一般情况下,遇到存储长文本字符串的需求时可以考虑使用text类型TEXT类型用于保存非二进制字符串,是一种特殊的字符串类型。text只能保存字符数据,如文章的内容、评论、新闻的内容等信息。当保存或检索TEXT列的值时,不会删除尾部空格。按照可存储大小区分,text类型同样可分为以下四种:类型可存储大小用途TINYTEXT0-255字节一般文本字符串TEXT0-65535字节长文本字符串MEDIUMTEXT0-16772150字节较大文本数据LONGTEXT0-4294967295字节极大文本数据什么是日期类型和时间类型?日期类型指的是年、月、日,类似于2019-11-16(2019年11月16号)时间类型:指的是时、分、秒,类似于10:45:30(10点45分30秒)枚举类型(ENUM)MySQL还支持两种集合数据类型:集合类型(SET)一个枚举类型只允许从一个集合中取得一个值集合类型允许从一个集合中取得任意多个值课程小结1MySQL数据库概述2安装与配置MySQL数据库3启动与登录MySQL数据库4MySQL常用图形管理工具简介5存储引擎与数据类型认识MySQL本讲结束MySQL数据库项目三:电商零售系统数据库设计数据库数据库的基础知识MYSQL数据库物理设计逻辑设计概念设计目录需求分析数据库实施创建数据表需求分析通过调查、收集与分析,获得用户对数据库的基本要求本次课程的目的是设计一个电商平台。网上购物已成了现在我们生活中的主要购物方式。网上购物的过程当中,数据库是如何实现的?主要的工作主要发生在哪些过程之间?网上购物的核心是什么?登录用户系统用户需求商户注

册售卖店铺的内容会发布在对应的域名上审核发布访问店铺浏览商品下单支付成功查看订单跟踪物流确认收货顾客注册登录店铺浏览商品提交订单支付成功商家发货购物流程图根据需求分析的结果数据库店铺顾客商品订单创建数据表实体“顾客”的属性顾客收货地址昵称手机号码顾客ID注册时间密码创建数据表实体“店铺”的属性店铺更新时间店铺ID创建时间店铺名称店铺法人客服信息联系电话商品库存价格商品描述条形码商品名称商品ID销量创建时间更新时间实体“商品”的属性创建时间数量商品ID订单名称支付时间快递单号订单ID顾客ID实体“订单”的属性订单顾客购买订单1n1:n关系顾客浏览店铺n1n:1关系店铺管理商品1n1:n关系订单包含商品mnm:n关系顾客购买订单1n1:n关系顾客可以生成多个订单每个订单只属于一个顾客顾客浏览店铺n1n:1关系店铺管理商品1n1:n关系订单包含商品mn1:n关系完整的基本ER图顾客商品订单店铺购买浏览包含管理nnn111nm收货地址注册时间密码昵称手机ID(省略其他实体的属性)完整的基本ER图顾客商品订单店铺购买浏览包含管理nnn111nm收货地址注册时间密码昵称手机ID(省略其他实体的属性)下面通过逻辑设计、物理设计来继续完成电商购物系统的数据库。创建数据表逻辑结构设计根据按照ER图到关系结构的转换规则,把er图转换成关系模式表也就是说,将每个实体类型转换成一个实体的关系模式创建数据表实体的属性转换的过程当中关系的属性实体的标志符关系模式的码对关系表进行第3范式的规范化顾客信息表顾客收货地址注册时间密码昵称手机号码ID用户昵称用户ID密码手机号码注册时间收货地址顾客收货地址注册时间密码用户昵称手机号码用户ID顾客信息表订单ID订单名称商品ID数量创建时间顾客ID支付时间快递单号订单顾客ID创建时间数量品ID订单ID订单名称支付时间快递单号订单信息表商品ID订单ID顾客ID店铺信息表店铺ID店铺名称法人信息客服信息联系电话创建时间更新时间商品信息表商品ID商品名称条形码商品描述价格库存销量创建时间更新时间创建数据表熟练掌握了第三范式的规范,在设计ER图的时候就有下意识的直接将ER图设计成符合第三范式规范的关系表第三范式规范这个步骤会在潜意识里直接在概念设计时一并完成创建数据表根据数据库的存储和方法表上有哪些属性?选取合适的数据类型这些属性需要用什么样的数据格式来存储?顾客信息表字段名称数据类型字段说明顾客昵称varchar(30)用户名顾客IDchar(6)用户唯一ID,主键密码char(32)保存加密后的签名手机号码char(11)手机号注册时间DATETIME时间戳收货地址DATETIME时间戳店铺信息表字段名称数据类型字段说明店铺IDchar(11)店铺唯一ID,主键店铺名称varchar(30)店铺名法人信息varchar(30)店主名客服信息varchar(64)联系电话char(11)创建时间DATETIME时间戳更新时间DATETIME时间戳商品信息表字段名称数据类型字段说明商品IDChar(6)商品唯一ID,主键商品名称varchar(30)商品名条形码varchar(60)图像URL商品描述varchar(60)文字描述价格Int(32)数字库存Int(32)数字销量Int(32)数字创建时间DATETIME时间戳更新时间DATETIME时间戳订单信息表字段名称数据类型字段说明订单IDchar(6)店铺唯一ID,主键订单名称varchar(30)店铺名商品IDchar(6)商品唯一ID数量int(32)数字创建时间DATETIME顾客IDchar(6)用户唯一ID支付时间DATETIME支付时间快递IDchar(15)快递唯一ID数据库安全从其根本来说就是对信息进行保护,其整体的覆盖层面非常广,通常包括防火墙、入侵防御、风险评价等各个方面的技术手段,而通常储存数据信息主要是通过一些数据库实现的,但是一般数据库自身的安全性经常被忽视。由于社会的快速发展,我国经济水平的不断提升使得我国计算机的相关应用也越来越广泛,数据库系统当中有存储着大量的信息,包括个人信息、企业信息甚至国家信息等,这也就意味着,一旦数据库出现问题,其中的庞大的信息就会逐渐被破坏掉,对国家和社会都会造成非常大的损失。由于社会的快速发展,我国经济水平的不断提升使得我国计算机的相关应用也越来越广泛,数据库系统当中有存储着大量的信息,包括个人信息、企业信息甚至国家信息等,这也就意味着,一旦数据库出现问题,其中的庞大的信息就会逐渐被破坏掉,对国家和社会都会造成非常大的损失。数据库安全从其根本来说就是对信息进行保护,其整体的覆盖层面非常广,通常包括防火墙、入侵防御、风险评价等各个方面的技术手段,而通常储存数据信息主要是通过一些数据库实现的,但是一般数据库自身的安全性经常被忽视。由于社会的快速发展,我国经济水平的不断提升使得我国计算机的相关应用也越来越广泛,数据库系统当中有存储着大量的信息,包括个人信息、企业信息甚至国家信息等,这也就意味着,一旦数据库出现问题,其中的庞大的信息就会逐渐被破坏掉,对国家和社会都会造成非常大的损失。网络数据库的隐私和安全的需要通过数据本身的查询隐私以及机密性等两个角度出发。

通常数据的机密性主要指的是在对一些信息和隐私进行设计的过程中,数据库需要实施更加安全的机制,从而保证整体的数据信息自身的安全性,在没有任何授权的情况之下所有经过处理的信息和数据是无法被外界访问的。

而关于隐私保护的查询,主要指的是在对某一种东西实施查询的过程当中不会被其他人掌控。在现阶段的社会背景之下,数据库的隐私和安全对人们日常生活的各种方面都有着一定程度的影响,就企业来说,对于一个数据库的整体信息的应用和掌握的能力可以决定企业自身能够产生的利润程度,以及可以获得重视消费者的数量,但是就一些比较普通的消费者来说,在很多的情况之下,消费者都是进行间接的接触的,但是对于这一类的消费者来说,消费者自身也会有自己信息被泄露的情况出现。感谢观看MySQL数据库项目三:电商零售系统数据库创•建•数•据•库根据物理设计的结果,将在Sqlyog中完成数据库的基本操作数据库的操作:查看数据库创建数据库选择数据库修改数据库删除数据库对象资源管理器information_schema数据库performance_schema数据库mysql数据库sys数据库实例数据库world实例数据库Sakilainformation_schema数据库保存了MySQL服务中数据库的所有信息包括具体MySQL服务有多少个数据库各个数据库有哪些表各个表中的字段是什么数据类型各个表中有哪些索引各个数据库要什么权限才能访问Mysql数据库是mysql服务的核心数据库类似于sqlserver中的master表Mysql数据库主要负责存储数据库的用户、权限设置、关键字等包含了关于数据库对象元数据(metadata)的数据字典表和系统表performance_schema数据库主要用于收集MySQL服务的性能参数并且库里表的存储引擎均为performance_schema

,而用户是不能创建存储引擎为performance_schema的表在较低级别监控MySQL服务器执行的功能sys数据库MySQL从MySQL5.7开始引入了sys数据库其中包含了一系列的视图,可以方便为DBA和开发人员解释performance_schema性能数据库中收集的数据实例数据库world和sakilaSakila

实例数据库是一个在线DVD出租商店数据库为各种MySQL文档、书籍、教程、文章、示例等提供了一个标准数据库模式实例数据库world和sakila同时,它还可以用于演示MySQL的其他功能特性例如视图、存储过程和触发器实例数据库world和sakilaworld实例数据库提供了一组包含世界各国和城市信息的表,对基本查询很有用但缺少测试MySQL5及更高版本中MySQL特定功能和特性的结构修改数据库:在MySQL5.5之后,MySQL就不允许数据库改名了创建数据库时关于数据库的名字一定要慎重后期必须改名,只能通过创建一个新的数据库将现有数据库中所有数据全部复制过去的替代做法实现删除数据库删除数据库是将已经存在的数据库从磁盘空间上清除清除之后,数据库中的所有数据和关联对象将被永久删除,并且无法撤消应该谨慎使用,一旦执行该操作,没有恢复的可能,除非数据库有备份删除数据库MySQL中的数据用各种不同的技术存储在文件(或者内存)中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供各不相同的功能这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)MySQL提供了多个不同的存储引擎:处理事务安全表的引擎处理非事务安全表的引擎可以使用以下语句查看系统所支持的引擎类型,代码如下:SHOWENGINES;使用SQLyog图形管理工具查看数据库创建数据库选择数据库修改数据库和删除数据库数据库引擎课堂小结感谢观看MySQL数据库项目三:电商零售系统数据库创•建•数•据•表数据表是一种很重要的数据库对象是组成数据库的基本元素由若干个字段组成主要用来实现存储数据记录创建数据库的目的:存储管理查询数据数据表数据表是存储数据最重要的载体数据表是MySQL数据库中最重要的数据库对象也是构建高性能数据库的基础数据表设计的优劣有哪些影响:影响磁盘空间的使用效率数据处理时内存的利用率据的查询效率注意数据表结构的规范化数据类型的正确使用数据库和数据表字符集的统一问题数据表的数据完整性规则保证表中数据的正确性,精确性和可靠性的关键表的操作包含:创建表查看表删除表修改表是数据库对象的表管理中最基本、最重要的操作数据表是数据库最重要的组成部分之一数据库数据库只是一个框架,数据表才是其实质内容任务利用SQLyog图形化管理工具创建数据表一、创建数据表表是包含数据库中所有数据的数据库对象数据在表中的组织方式与在电子表格中相似,都是按行和列的格式组织的其中每一行代表一条唯一

的记录,

每列代表记录中的一个字段,表中的数据库对象包含栏位索引也称为列(Columns):或称属性列数据表中的每一列称为一个字段表是由其包含的各种字段定义的每个字段描述了它所含有的数据的意义栏

位数据表的设计实际上就是对字段的设计

在具体创建表时,必须指定列的名字和数据类型索引(Indexes)在数据之外,数据库系统还维护着满足特定查找算法的数据结构这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法帮助MySQL高效的查询出数据的数据结构叫做索引索引是帮助MySQL高效获取数据的数据结构【案例】在数据库ess中创建数据表“用户信息表”字段名称数据类型字段说明用户IDCHAR(6)用户唯一ID,主键用户昵称VARCHAR(30)用户名密码CHAR(6)六位固定长度的密码手机号码CHAR(11)用户的手机号注册时间DATETIME用户的注册时间收货地址VARCHAR(60)用户的收货地址本课小结数据表的概念如何使用SQLyog图形化管理工具创建数据表用户信息表字段名称数据类型字段说明用户IDCHAR(6)用户唯一ID,主键用户昵称VARCHAR(30)用户名密码CHAR(6)六位固定长度的密码手机号码CHAR(11)用户的手机号注册时间DATETIME用户的注册时间收货地址VARCHAR(60)用户的收货地址商品信息表字段名称数据类型字段说明用户IDCHAR(6)用户唯一ID,主键商品名称VARCHAR(30)用户名条形码CHAR(13)条形码数字商品描述VARCHAR(60)文字描述价格INT数字库存INT数字销量INT数字创建时间DATETIME商品入库时间更新时间DATETIME商品情况更新时间订单信息表字段名称数据类型字段说明用户IDCHAR(6)订单唯一ID,主键订单名称VARCHAR(30)店铺名创建时间DATETIME订单创建时间用户IDCHAR(6)用户唯一ID支付时间DATETIME用户支付完成时间快递IDCHAR(15)快递ID订单详情表字段名称数据类型字段说明订单详情IDCHAR(6)订单详情唯一ID,主键订单IDCHAR(6)订单唯一ID商品IDCHAR(6)商品唯一ID数量INT数字感谢观看MySQL数据库项目三:电商零售系统数据库数•据•的•完•整•性•约•束课程回顾如何创建数据库如何创建数据表对于已经创建好的表,虽然字段的数据类型决定了所能存储的数据类型但是表中所存储的数据是否合法并没有进行检查什么叫做数据的完整性约束?MySQL数据库具体使用MySQL数据库时,需要针对表中的数据做一些完整性检查操作MySQL数据库管理系统采用多种方法来保证数据完整性,提供了一种机制来检查数据库表中的数据是否满足规定的条件,以保证数据库表中数据的准确性和一致性对已经创建好的表定义完整性约束创建新表时就进行完整性约束的定义数据的完整性约束MySQL中的数据支持不同的数据类型来处理不同的操作实际生活中字段的取值通常有一个范围如果这些字段被插入不合法的数据,将给系统带来麻烦数据完整性是信息安全的三个基本要点之一传输存储信息存储数据确保不被未授权的篡改篡改后能够被迅速发现数据完整性是指数据的精确性和可靠性为防止数据库中存在不符合语义规定的数据防止因错误信息的输入输出造成无效操作或错误信息而提出的数据完整性分为四类:实体完整性域完整性参照完整性用户自定义完整性实体完整性实体完整性要求每个数据表都必须有主键而作为主键的所有字段,其属性必须是唯一及非空值域完整性域完整性是指一个列的输入有效性,是否允许为空值强制域完整性的方法有:限制类型格式或可能值的范围如:人的年龄不能小于0,人的性别只能是“男”或“女”参照完整性是指保证主关键字和外部关键字之间的参照关系它涉及两个或两个以上表数据的一致性维护如:商品销售系统中用户订单中的商品代码必须是商品库存表中已有的商品代码外键值引用表此外键的记录被引用表中主键与外键相匹配的记录关联用户自定义完整性用户自定义完整性是针对某一具体关系数据库的约束条件它反映某一具体应用所涉及的数据必须满足的语义要求约束就是用来限定表中数据:准确性、完整性、一致性、联动性的一套规则MySql中约束保存在information_schema数据库的table_constraints表中,可以通过该表查询约束信息主键约束非空约束主键约束(PRIMARYKEY)在MySQL中,主键全称“主键约束”,是一个列或多列的组合其值能唯一地标识表中的每一行,通过它可强制表的实体完整性在SQLyog界面上用“主键”表示,如图所示主键的作用是确定该数据的唯一性,主要是用于和其他表的外键关联,以及本记录的修改与删除可能会重复人身份证号姓名不会重复,可以作为主键在数据表中可以通过身份证号确定准确人选,而姓名可能会出现同名据库的单个数据表中只能有一个主键

,不可能有多个主键如果一张表选中多个主键,我们称之为联合主键联合主键就是用多个字段一起作为一张表的主键在创建数据表的时候没有指定主键InnoDB会自动帮创建一个不可见的、长度为6字节的字段row_id由于row_id的长度限制,为了避免这种隐患,每个表在创建时都需要一个主键在SQLyog界面上,创建表的时候直接创建主键新建表的时候,图上列名是“主键”的即为主键列设置方法是在设置好字段名和数据类型后,在主键复选框上选中即可主键是列的唯一标志主键不能为空,在选中主键时将默认选中非空约束设置好后,还可以在右键单击表后弹出界面中选择“改变表”取消或修改主键也可以修改其他的约束,在设置完成后单击“保存”按钮即可执行约束的修改非空约束(NOTNULL)MySQL中非空约束是最简单的约束,用来限制数据填写的完整性被设置了非空约束的字段,在添加数据时必须要有数据,不能够省略如果用户输入记录时,该字段为空值,则系统会报错非空约束使用NOTNULL语句,而允许为空的字段可以使用NULL关键字非空约束限制该字段中的内容不能为空,但可以是空白字符串或0非空约束与其他约束都用来限制数据,但其作用和使用方式大不相同一个表只能够设置一个主键(或主键组),但非空约束不受限制,而且每个字段的非空约束之间互不影响字段是否非空的两种可能要么允许添加数据为空要么不允许添加数据为空无论字段是否为空,都需要在创建时指出若允许为空则使用NULL否则使用NOTNULL来定义SQLyog图形界面操作非空约束的创建非空约束的修改操作方法和主键约束是一样的课程任务默认值约束自增约束唯一约束外键约束默认值约束(DEFAULT)在MySQL中默认值约束用来给某个字段指定默认值负担一旦设置了默认值约束之后,再插入数据时如果此字段没有显式赋值,则赋值为默认值默认值的使用可以有效降低数据添加的负担例如某校女同学较多,性别就可以默认为“女”如果插入一条新的记录时没有为这个字段赋值那么系统会自动为这个字段赋值为“女”是直接选中复选框创建默认值约束可参考主键约束其他约束是为字段设置一个默认的取值,因此是文本框的形式,将字段的默认取值写入“默认”文本框即可默认值约束默认值可以设置为固定值,也可以设置为通过计算获得的数据系统在添加字段默认值设置时,将根据字段的数据类型提供几个常用的默认值自增约束(AUTO_INCREMENT)自增约束是当给定某个字段该属性之后该列的数据在没有提供确定数据的时候系统会根据之前已经存在的数据进行自动增加填充数据的约束如学生信息表中的学生学号字段可以设置为自增约束字段当添加学生信息时,系统会默认对学号字段值增1自增约束字段由系统自动填入数据,在节省用户工作量和时间的同时,避免因疏忽而加入错误数据(1)自增约束是数据列的一种属性,只适用于整数类型数据列在使用自增约束时,应注意以下几点:(2)自增约束数据列必须有唯一约束,以避免序号重复(3)MySQL表中只能有一个自增约束字段(4)自增字段必须创建索引,如主键索引、唯一索引等(5)有着外键约束的字段不能够设置为自增字段(6)自增约束数据列必须具备NOT

NULL属性自增约束的创建和修改都可以使用SQLyog图形界面操作,其操作方法和主键约束是一样的唯一约束(UNIQUE)MySQL的唯一约束是指所有记录中字段的值不能重复出现为id字段加上唯一性约束后,每条记录的id值都是唯一的,不能出现重复的情况如果其中一条记录的

id

值为0001,那么该表中就不能出现另一条记录的id值也为0001唯一约束与主键约束相似的是它们都可以确保列的唯一性在一个表中可有多个,并且设置唯一约束的列允许有空值,但是由于两个空值也相当于重复,所以只能有一个空值唯一约束在一个表中只能有一个,且不允许有空值。比如,在用户信息表中,为了避免表中用户名重名,可以把用户名设置为唯一约束主键约束外键约束(FOREIGNKEY)完整性约束都是在单表中进行外键约束是要保证多个表(一般是两个表)之间的参照完整性,用来构建两个表中的两个字段之间的约束关系外键约束是表的一个特殊字段,经常与主键约束一起使用外键约束主键所在的表就是主表(也称父表)外键所在的表就是从表(也称子表)对于两个具有关联关系的表而言主表:商品信息表从表:订单详情表定义外键时,需要遵守下列规则:则主表与从表是同一个表,这样的表称为自参照表,这种结构称为自参照完整性主表必须已经存在于数据库中,或者是当前正在创建的表必须为主表定义主键只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的主键不能包含空值,但允许在外键中出现空值主表的表名后面指定列名或列名的组合这个列或列的组合必须是主表的主键或候选键外键中列的数目必须和主表的主键中列的数目相同外键中列的数据类型必须和主表主键中对应列的数据类型相同使用SQLyog图形界面操作创建和修改外键约束的方法:(1)在操作界面上选择“3外部键”,然后在栏位上首先在“约束名”填入外键约束名外键约束的命名为了方便查阅一般规则是:“fk_+从表名+_+主表名”可以自定义名称不自定义名称系统会按照mysql规则自动生成一个名称在左侧“引用列”上通过下拉菜单选择从表上指定的外键列在“引用数据库”和“引用表”中依次指定数据库和主表右侧“引用列”上通过下拉菜单选择主表中的参照约束字段(一般是主键)在“订单详情表”的“商品ID”列上创建外键约束“fk_订单详情_商品信息”外键约束“fk_订单详情_商品信息”的参考主表是“商品信息表”,主表中主键约束字段是“商品ID”数据的约束与人的道德规范数据库中的数据必须遵守数据的完整性约束,才能成为有效的信息木受绳则直,金就砺则利无规矩不成方圆作为数据库的设计者应该:遵守法律和社会的公序良俗必须做到不违反法律不损害社会公共利益不损害他人的合法权益本课小结讲解了数据完整性约束中的主键约束和非空约束、默认值约束、自增约束、唯一约束和外键约束外键约束创建时必须参照主键感谢观看MySQL数据库项目三:电商零售系统数据库操•作•数•据•表数据表数据表是数据库中最基本、最重要的组成元素在表中包含多个数据,对表中数据的操作是最重要的操作表中数据的操作主要包含插入、修改和删除任务如何操作数据表一、插入数据插入数据是数据表中最常见的操作该操作可以向数据表中

温馨提示

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

评论

0/150

提交评论