MySQL数据库项目实例教程(上篇共上中下3篇)_第1页
MySQL数据库项目实例教程(上篇共上中下3篇)_第2页
MySQL数据库项目实例教程(上篇共上中下3篇)_第3页
MySQL数据库项目实例教程(上篇共上中下3篇)_第4页
MySQL数据库项目实例教程(上篇共上中下3篇)_第5页
已阅读5页,还剩282页未读 继续免费阅读

下载本文档

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

文档简介

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数据库安全从其根本来说就是对信息进行保护,其整体的覆盖层面非常广,通常包括防火墙、入侵防御、风险评价等各个方面的技术手段,而通常储存数据信息主要是通过一些数据库实现的,但是一般数据库自身的安全性经常被忽视。由于社会的快速发展,我国经济水平的不断提升使得我国计算机的相关应用也越来越广泛,数据库系统当中有存储着大量的信息,包括个人信息、企业信息甚至国家信息等,这也就意味着,一旦数据库出现问题,其中的庞大的信息就会逐渐被破坏掉

温馨提示

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

评论

0/150

提交评论