MySQL数据库技术项目化教程 课件全套 项目1 -5 认识与安装MySQL数据库 -人力资源管理系统数据库设计与实现_第1页
MySQL数据库技术项目化教程 课件全套 项目1 -5 认识与安装MySQL数据库 -人力资源管理系统数据库设计与实现_第2页
MySQL数据库技术项目化教程 课件全套 项目1 -5 认识与安装MySQL数据库 -人力资源管理系统数据库设计与实现_第3页
MySQL数据库技术项目化教程 课件全套 项目1 -5 认识与安装MySQL数据库 -人力资源管理系统数据库设计与实现_第4页
MySQL数据库技术项目化教程 课件全套 项目1 -5 认识与安装MySQL数据库 -人力资源管理系统数据库设计与实现_第5页
已阅读5页,还剩594页未读, 继续免费阅读

下载本文档

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

文档简介

项目一认识与安装MySQL数据库《MySQL数据库技术项目化教程》江西工业贸易职业技术学院目录任务1认识数据库任务2

搭MySQL建数据库环境

项目导学·欢迎来到数据的世界!●身边的数据:在信息爆炸的时代,我们每天都在产生海量数据,从手机联系人、电商购物记录到银行流水,这些数据都需要一个安全、高效的载体来存储与管理,这个载体就是数据库。●形象比喻:数据库就像一座井井有条的数字仓库,负责对数据进行分类、存储和调取;而MySQL正是这座仓库中最受欢迎、效率极高的管理员,能让数据管理变得井然有序。●核心认知:数据库并非遥不可及的技术,而是支撑现代互联网应用、商业系统运行的基石。理解数据库的基本概念,是掌握数据管理能力的第一步,也是进入后端开发领域的关键门槛。●本章目标:本章节将带领大家从零走进MySQL的世界,不仅要掌握数据库的基础理论,更要亲手搭建属于自己的第一个数据库服务。请记住:动手安装并配置一次,胜过纸上谈兵的理论学习千遍!01知识目标:夯实理论基础,构建认知体系了解数据库核心概念与特点,认识MySQL等主流数据库管理系统;掌握数据库开发环境搭建流程,熟悉结构化查询语言SQL的基本分类与功能边界,为后续实践筑牢根基。02技能目标:聚焦实操能力,掌握核心操作能够独立完成MySQL的安装与配置,熟练执行服务启动、停止、登录及连接等基础操作;具备初步的连接故障排查能力,学会运用Navicat等图形化工具高效管理数据库,提升实操效率。03素养目标:培养综合能力,树立安全意识着力培养发现、分析与解决问题的逻辑思维;强化数据安全防护意识,深刻理解数据安全的重要性;关注国产数据库的创新成就,增强科技自信与民族自豪感,树立正确的技术价值观。项目导学·知识与素养目标任务1认识数据库及相关概念数据时代的基石1.1.1什么是数据库?●核心概念:数据库(Database)是长期存储在计算机内的、有组织的、可共享的数据集合,是现代信息系统的基础核心。●通俗比喻:它就像一个电子化的“文件柜”,我们将学生信息、商品信息等各类数据整理成结构化的“表格”,有序存放在这个“文件柜”中,方便统一管理与查找。●核心操作(CRUD):支持查询(查找学生成绩)、新增(录入新学生信息)、更新(修改商品价格)、删除(移除毕业学生记录)四类基础操作,满足数据全生命周期管理需求。●实际案例:电商平台会将商品编号、名称、价格、库存等信息存储在数据库表格中,用户浏览、下单的每一次操作,本质上都是对数据库中数据的读取与修改,保障了业务的高效运转。1.1.2数据库的核心特点1数据独立性物理存储结构和逻辑结构的变化相互独立,不会影响上层应用程序的正常运行。2数据共享性不同用户、不同部门、不同应用程序可以在同一时间访问和使用同一份数据资源。3降低数据冗余统一规划存储数据,避免重复存储相同信息,有效节省空间并保证数据的一致性。4数据集中控制对所有数据进行集中管理和统一控制,消除分散管理的弊端,形成有机的数据整体。5维护数据完整性通过约束规则保证数据的一致性、正确性和有效性,防止非法数据进入系统。6提高数据可恢复性提供完善的故障发现、数据备份和恢复机制,在系统故障时最大限度保护数据安全。1.1.3数据库大家族——主流数据库巡礼●国产数据库的崛起:以南大通用GBase、人大金仓KingbaseES、华为GaussDB为代表,实现了从列存储到通用关系型数据库的全面突破,是保障国家信息安全、实现信息技术自主可控战略的核心支撑。●国际主流关系型数据库:Oracle凭借强大功能领跑超大型行业应用,IBMDB2适配大型分布式系统场景,MicrosoftSQLServer依托Windows平台优势,成为众多中小型企业的首选商业数据库。●核心主角MySQL:作为开源免费的关系型数据库,它具备跨平台、高性能、易部署的特性,完美契合Web开发与互联网应用场景,成为全球最受欢迎的数据库之一。●非关系型数据库(NoSQL):以“NotonlySQL”为核心理念,针对非结构化、半结构化大数据处理而生。MongoDB、HBase、Redis等产品,为高并发、海量数据存储提供了灵活的解决方案。1.1.4聚焦主角——为什么选择MySQL?●什么是MySQL?它是目前全球最流行的关系型数据库管理系统(RDBMS)之一,核心是将数据组织成结构化的表格形式,通过SQL语言实现高效的数据管理与查询,是Web应用开发领域的事实标准。●极致的性能与成本优势作为开源软件,MySQL对个人及中小企业完全免费,极大降低了开发与部署成本;同时它拥有卓越的查询优化器,运行速度极快,且支持多线程架构,能充分利用CPU资源处理高并发请求。●全平台兼容与开发友好MySQL完美支持Linux、macOS、Windows等主流操作系统,实现了跨平台无缝迁移;并且为Python、Java、PHP、C++等几乎所有主流编程语言提供了完善的API接口,让开发者能轻松集成使用。●经过大厂验证的工业级方案从Google、Facebook等国际互联网巨头,到百度、腾讯、阿里等国内头部企业,都在核心业务中大规模部署MySQL,其稳定性、可靠性和扩展性经过了海量数据与高并发场景的严苛考验,是成熟的生产级解决方案。1.1.5MySQL的发展简史●初创探索阶段:1995年MySQL1.0版本诞生,最初仅为内部使用;1996年发布3.11.1版本正式公开发布,凭借开源、轻量、高效的特性迅速在开发者社区中传播。●巨头收购更迭:2008年Sun公司完成对MySQL的收购,2009年Oracle公司又收购了Sun,MySQL正式归入Oracle旗下,这一系列变动引发了开源界对其发展的广泛关注与讨论。●版本迭代升级:2018年发布MySQL8.0版本,带来了窗口函数、CTE、JSON增强、原子DDL等重大核心改进;2023年MySQL8.2.0版本发布,持续优化性能与生态兼容,稳固其主流数据库地位。●课堂深度思考:MySQL被Sun、Oracle等科技巨头接连收购,这一现象充分印证了其具备极高的技术价值、庞大的市场用户基数和不可替代的行业影响力,同时也体现了开源技术在商业市场中的核心竞争力。1.1.6与数据库对话的语言——SQL●什么是SQL?结构化查询语言(StructuredQueryLanguage)是操作关系型数据库的标准语言,采用“声明式”编程范式,使用者只需描述“做什么”,无需关注底层“怎么做”,实现了数据库操作的标准化与简洁化。●数据定义语句(DDL):负责定义数据库的结构与对象,核心关键字包括CREATE(创建表、库等对象)、ALTER(修改对象结构)、DROP(删除对象),是构建数据库骨架的基础语句。●数据操作语句(DML):用于对数据库中的数据进行增删改查操作,常用关键字有INSERT(插入数据)、UPDATE(更新数据)、DELETE(删除数据)、SELECT(查询数据),是日常业务操作中最常用的语句类型。●数据控制与事务处理:DCL通过GRANT、REVOKE管理用户访问权限,保障数据安全;TCL通过COMMIT(提交事务)、ROLLBACK(回滚事务)确保一组操作的原子性,要么全部成功生效,要么全部失败回退。任务工单·知识拓展●任务01:探索官方生态访问MySQL官方网站(/),浏览并记录MySQL最新版本号,梳理该版本新增的核心功能特性与性能优化点。●任务02:调研技术优缺通过行业资讯、技术论坛检索MySQL的最新发展动态,结合实际应用场景,总结其作为开源数据库的主要优势与潜在局限性。●任务03:回顾国产历程查找资料梳理我国数据库技术从起步到自主创新的发展阶段,列举该领域的代表性专家人物及其主要贡献成果。●任务04:辨析核心关系深入思考并书面阐述SQL(结构化查询语言)与DBMS(数据库管理系统)之间的联系与区别,明确二者在数据管理中的角色定位。●任务05:准备安装环境从MySQL官网下载对应操作系统的MySQL8.0版本ZIP安装包,校验文件完整性,为后续的数据库安装与配置实操环节做好准备。任务工单任务2搭建MySQL数据库环境动手实践:一步步将MySQL安装到本地电脑并成功启动服务1.2.1第一步·下载MySQL安装包MySQL官方提供了两种安装版本,分别是二进制分发版(.msi文件)和免安装版(.zip压缩文件)。本节将演示在Windows10操作系统下安装与配置MySQL8.0免安装版的过程。01.访问官网:打开浏览器,输入地址:/downloads/mysql/,进入MySQL社区版下载页面。02.选择系统:在“SelectOperatingSystem”下拉菜单中,选择MicrosoftWindows操作系统版本。03.选定版本:在“OtherDownloads”区域找到Windows(x86,64-bit),ZIPArchive,点击右侧的“Download”按钮。04.开始下载:跳转页面会提示登录/注册,直接点击“Nothanks,juststartmydownload.”跳过并直接开始下载。温馨提示关键提示:ZIPArchive是免安装压缩包,解压即可使用,适合需要快速部署或多版本切换的场景;而MSI是安装程序,适合普通桌面用户。注意事项:下载完成后,需将压缩包解压到指定目录(如D:\mysql-8.0.41-winx64),并配置系统环境变量MYSQL_HOME指向该目录,以便在命令行中全局调用mysql命令。同时要注意路径中不要包含中文或空格。1.2.2第二步·安装与配置MySQL(核心步骤)步骤1:解压文件包将下载的MySQLZIP压缩包解压到指定目录(建议非系统盘根目录),例如路径:D:\mysql-8.0.41-winx64,确保路径中无中文与空格。[mysqld]#设置MYSQL的安装目录basedir=D:/mysql-8.0.41-winx64#设置MYSQL的数据目录datadir=D:/mysql-8.0.41-winx64/data#设置端口port=3306#server_id=.....步骤2:创建并配置核心文件my.ini在解压目录中创建核心配置文件my.ini,并打开文件,配置好以下内容并保存。1.2.2第二步·安装与配置MySQL(核心步骤)⚠️关键注意事项1.my.ini文件需放置在MySQL解压根目录,而非bin目录下。2.basedir与datadir路径必须与实际解压路径完全一致,路径分隔符使用反斜杠\或双斜杠\\。3.若路径配置错误,后续初始化MySQL服务时会提示无法找到文件或权限错误。📂目录结构验证解压后根目录应包含bin、lib、share等核心文件夹,手动创建的my.ini配置文件需与这些文件夹同级(如右图所示)。配置完成后,可通过命令行进入bin目录执行初始化指令。示例目录层级:D:\mysql-8.0.41-winx64\my.ini1.2.2第二步·安装与配置MySQL(核心步骤)【步骤3:初始化MySQL环境】以管理员身份打开CMD,切换至MySQL的bin目录,执行初始化命令,成功后会在根目录自动生成data文件夹,该步骤会创建无密码的root用户。(命令“mysqld--initialize-insecure”是无密码初始化,推荐本地开发)C:\WINDOWS\system32>D:D:>cdmysql-8.0.41-winx64\binD:\mysql-8.0.41-winx64>mysqld--initialize-insecureD:\mysql-8.0.41-winx64>mysqld--installMySQL--defaults-file="D:/mysql-8.0.41-winx64/my.ini"D:\mysql-8.0.41-winx64>1.2.2第二步·安装与配置MySQL(核心步骤)关键注意事项:1.必须以“管理员身份”运行CMD,否则会因权限不足导致服务安装失败;2.my.ini配置文件路径需确保准确无误;3.若服务名冲突,可自定义服务名(如MySQL80)进行区分。服务验证效果:安装成功后,在Windows服务列表中可查看到MySQL服务项,状态可设置为自动或手动,至此数据库服务部署完成。1.3第三步-启动与停止MySQL服务核心说明:MySQL服务管理分为图形化界面操作与命令行操作,命令行方式更适用于自动化运维与脚本编写场景。启动服务:netstartmysql(需以管理员身份运行命令提示符/终端)停止服务:netstopmysql(执行后系统会返回服务停止的状态提示信息)方法一:服务管理器按下Win+R输入services.msc回车;在服务列表中定位到MySQL服务,右键菜单可直接执行“启动”、“停止”或“重启”操作,适合可视化管理。方法二:管理员命令行以管理员身份打开CMD/PowerShell,直接执行net系列命令。该方式无需图形界面,响应速度快,是编写批处理脚本、实现自动化运维的首选方式。1.4第四步-登录与退出MySQL●登录MySQL数据库:首先打开普通的命令提示符窗口,输入核心命令mysql-uroot-p。其中“-u”指定超级管理员用户名为root,“-p”表示需要验证密码;由于初始化使用了--initialize-insecure参数,初始密码为空,回车后直接按Enter键即可完成登录,成功后会出现mysql>提示符。●关键安全提示:空密码状态下的数据库完全暴露在风险中,这是数据安全的重大隐患。因此登录成功后,首要任务就是修改初始密码,为数据库设置高强度的访问凭证,筑牢数据安全的第一道防线。●退出MySQL环境:在mysql>命令提示符下,无需复杂操作,只需输入exit;或quit;或\q中的任意一个命令,按下回车键,即可安全退出数据库交互模式,返回系统命令行界面。1.5图形化工具——告别命令行的利器●核心价值:为何选择图形化工具?对于数据库初学者而言,纯命令行操作不仅需要记忆大量指令,还极易因拼写错误导致操作失败;而图形化工具通过可视化的界面、交互化的操作方式,将复杂的数据库结构和操作直观呈现,有效降低学习门槛,显著提升日常管理的工作效率。●经典之选:NavicatforMySQL这是目前最受欢迎的MySQL图形化管理工具之一,拥有极其友好的用户界面,支持数据同步、备份恢复、查询构建器等丰富功能,无论是开发调试还是数据管理,都能提供流畅且高效的操作体验,适合各类开发与运维人员使用。●官方标配:MySQLWorkbench由MySQL官方推出的专业工具,功能覆盖数据库设计、开发、管理全流程,提供ER图建模、SQL编写、性能分析等核心能力,能够完美适配MySQL的各项特性,是官方推荐的标准管理工具,适合追求功能全面性的专业用户。●轻量高效:SQLyog与phpMyAdminSQLyog以简洁的界面和极快的响应速度著称,适合快速执行SQL语句、管理数据等轻量操作;而phpMyAdmin则是基于Web的管理工具,无需安装客户端,直接通过浏览器即可管理服务器上的MySQL数据库,是服务器端快速运维的便捷选择。1.5实战·使用Navicat连接MySQL【步骤1:下载与安装】访问Navicat官网(/),根据操作系统下载对应版本的NavicatforMySQL,按照引导完成安装操作。【步骤2:创建新连接】启动Navicat软件,点击顶部菜单栏的「文件」→「新建连接」,在下拉列表中选择「MySQL」选项,进入连接配置界面。这是建立数据库管理工具与MySQL服务通信的关键入口。可视化新建入口通过图形化界面选择MySQL连接类型,系统会自动加载对应的驱动配置,无需手动配置环境变量,适合初学者快速上手。核心配置参数详解主机填写localhost,端口默认3306;用户名为root,初始密码为空。填写完成后点击「测试连接」,若提示成功则保存配置,即可管理本地MySQL数据库。总结项目总结项目1认识与安装MySQL数据库知识小结●数据库理论认知:深入理解数据库的核心概念、数据独立性与完整性等关键特点,清晰掌握关系型与非关系型数据库的分类及适用场景,建立数据库系统的整体认知框架。●MySQL核心优势:全面认识MySQL作为开源关系型数据库的特性,重点掌握其免费、高效、轻量且跨平台的优势,熟悉其在中小型项目及互联网应用中的主流应用地位。●SQL语言体系架构:系统掌握SQL语言的四大核心分类,明确DDL(数据定义)、DML(数据操作)、DCL(数据控制)、TCL(事务控制)的功能边界与典型指令用途。●MySQL环境搭建:熟练完成MySQLZIP版本的下载、解压部署,掌握my.ini配置文件的参数调整,以及系统环境变量的配置与初始化数据库的完整操作流程。●服务与交互管理:掌握通过命令行实现MySQL服务的启动、停止、重启等管理操作,熟练运用mysql命令完成服务器的登录、身份验证与安全退出的标准操作。●图形化工具应用:学会使用Navicat图形化工具创建连接、测试连通性,利用可视化界面进行数据库的创建、表结构设计等操作,提升数据库管理的效率与便捷性。知识小结●技能实操考核(60分):重点考察MySQL环境搭建与工具应用能力,涵盖官网下载MySQL8.0安装包、配置my.ini核心参数、配置系统Path环境变量、通过CMD命令行启动/管理MySQL服务,以及NavicatforMySQL工具的安装与数据库连接配置,每项实操任务占10分,注重步骤规范性与结果有效性。●积极参与度考核(10分):关注课堂互动表现与作业完成情况,要求学员主动回应老师提问、按时按质完成实操作业,体现良好的学习态度与时间管理能力,是职业素养的基础体现。●团队协作素养考核(10分):考察在小组任务中的配合意识,包括主动协助同学排查环境配置问题、分享操作经验、共同解决技术难点,培养沟通协作与互助共赢的团队工作习惯。●规范与自主学习考核(20分):规范意识方面要求严格遵循行业标准步骤完成安装配置,杜绝随意操作;自主学习方面考核学员主动查阅官方文档、拓展数据库相关知识的能力,培养持续学习与独立解决问题的职业核心竞争力。考核说明任务检测习题课后练习●一、填空题:回顾核心概念与操作命令1.数据模型的三要素是数据结构、数据操作和完整性约束;这是构建数据库系统的核心理论基础。2.在Windows环境下,MySQL的两种主要安装版本是MSI安装版(图形化安装)和ZIP解压版(绿色免安装)。3.启动MySQL服务的命令为netstartmysql,停止服务的命令为netstopmysql(需管理员权限执行)。4.通过命令行登录MySQL的基础命令格式是:mysql-u用户名-p,随后按提示输入对应密码即可进入交互界面。●二、简答题:深度理解原理与应用优势1.简述数据库的主要特点:数据库具有数据结构化、数据的共享性高且冗余度低、数据独立性强(物理/逻辑独立)、数据由DBMS统一管理和控制(安全性、完整性、并发控制、恢复机制)等核心特点,能有效解决大量数据的存储与管理问题。2.选择MySQL的主要优势:MySQL是开源免费的,降低使用成本;跨平台支持Windows、Linux等多系统;性能高效,处理速度快且占用资源少;功能丰富,支持多种存储引擎和SQL标准;拥有庞大的社区支持和完善的文档,易于学习与维护,同时具备良好的可扩展性,适合从小型应用到大型系统的搭建。谢谢观看!项目一认识与安装MySQL数据库《MySQL数据库技术项目化教程》项目2商品管理系统数据库设计《MySQL数据库技术项目化教程》江西工业贸易职业技术学院导学项目导学·为什么学习数据库设计?从现实需求出发,探索数据库在企业运营中的核心价值●时代背景:互联网技术飞速发展,线上消费已成为主流趋势,电商平台的爆发式增长带来了海量商品、订单与用户数据,对高效的数据管理能力提出了迫切需求。●项目背景:打造商品管理系统为典型案例,数据库作为底层核心支撑,不仅是存储数据的容器,更是实现企业业务流转、库存调配与客户服务的基础引擎。●项目价值:对企业而言,它能实现海量商品的精准管理与销售数据的实时分析,辅助运营决策;对用户而言,它保障了商品信息的准确呈现与交易流程的稳定,弥补了传统线下购物的时空局限。●课程任务:本次课程将模拟真实企业委托场景,带领大家从零开始,完成一套合理、规范、高效的商品管理系统数据库的设计与搭建,掌握从需求分析到结构设计的核心技能。导学项目导学·课程核心收获与目标知识、技能与素质的全面提升知识目标1.掌握数据库创建、查看、删除的方法。2.掌握数据库系统概念结构设计的方法。3.初步了解系统统的逻辑设计与物理设计。4.了解数据表的结构,掌握数据库中各种命名的规则。5.掌握数据库中数据类型,理解各类约束的作用与使用情形。6.掌握创建、查看数据库的方法。7.掌握创建、查看、修改数据表表名及其结构的方法。8.掌握删除数据表的方法。9.掌握向数据库插入数据并查看数据的方法。导学项目导学·课程核心收获与目标知识、技能与素质的全面提升技能目标1.能够完成数据库的创建、查看、删除。2.能够完成完整的E-R图设计,会根据E-R图初步设计数据表。3.能够使用SQL语句完成数据表的创建,并设置各类约束。4.能够使用SQL语句查看修改数据表及其结构。5.能够向数据库插入数据并查询数据。导学项目导学·课程核心收获与目标知识、技能与素质的全面提升素质目标1.通过数据库建设流程,培养学生独立分析和解决数据库相关的问题,运用所学知识和技能提出有效的解决方案。2.通过积极主动地进行有效地沟通和协作,在不断的交流互动过程中,深入地了解开源精神的深刻内涵,感受合作共享魅力。3.了解中国数据库市场,紧跟时代发展步伐。4.了解相关法律,树立正确的人生观。目

录任务1商品管理系统数据库需求分析任务2商品管理系统数据库创建和管理任务3商品管理系统概念结构设计任务4商品管理系统的逻辑设计与物理设计目

录任务5创建和管理商品管理系统数据表任务6商品管理系统数据管理任务7商品管理系统数据查询实训超市管理系统任务1

商品管理系统数据库需求分析我们要为谁设计?设计什么?任务描述明确数据库的边界与功能从实际问题出发需求分析旨在清晰界定商品管理系统中数据库的功能、数据存储与操作需求。深入调研商品管理业务流程,包括采购、销售、库存盘点等环节,绘制实体-关系(E-R)图,明确商品、供应商、客户、订单等实体及其之间的关联关系。通过定义每个实体的属性,如商品实体具有商品编号、名称、类别、价格、库存数量等属性;客户实体包含客户编号、姓名、联系方式、地址等属性。确保属性的完整性和准确性,满足业务数据存储需求。导入数据库设计六个阶段需求分析→概念结构→逻辑结构→物理结构→实施→维护1需求分析深入调研业务场景,梳理用户数据需求与处理规则,形成规范的需求分析报告。2概念结构设计对需求进行综合、归纳与抽象,构建独立于DBMS的概念模型,常用E-R图进行描述。3逻辑结构设计将概念模型转化为所选DBMS支持的逻辑数据模型(如关系模型),定义表、字段及约束。4物理结构设计确定数据库的物理存储细节,包括存储结构、文件类型、索引设计、存储引擎及数据类型。5数据库实施使用SQL语句创建数据库与表结构,开发应用程序,完成数据的录入、转换与加载工作。6运行与维护系统正式投入运行,持续进行性能监控、数据备份恢复、故障排除、结构优化与版本升级。2.1.1需求分析收集数据一个企业内的数据可能分散、零碎,由不同人员负责管理。为了使用数据库系统管理这些数据,需要尽可能多地收集数据,并理解企业的业务过程和数据处理流程,理解数据处理的性能需求。可以利用数据流图等工具辅助分析与理解。解决冲突这里所说的解决冲突包括命名冲突(同名异义、异名同义)属性冲突、结构冲突。例如,商品库存数量是否包含已下订单未出库数量;到货数量和入库数量以哪一个为准;用户名和昵称、真实姓名如何区分;性别使用男、女,还是0、1或f、m来表示。形成标准在建立数据库时需要对于所有使用的数据形成一定标准。如商品编号一共有多少位,未来是否会增加位数,每一位的含义是什么;订单编号按照什么规则生成,如何避免编号重复,编号中包含哪些信息,是否加入一些随机数防止被推测等。2.1.2概念数据库设计在概念数据库设计阶段,将对用户的需求进行综合、归纳、抽象,形成概念模型。概念模型使设计人员摆脱数据库系统的具体技术问题,将精力集中在分析数据及数据之间联系等方面。一般通过绘制E-R图,直观呈现数据库设计人员对用户需求的理解。2.1.3逻辑数据库设计逻辑数据库设计面向数据库系统,在概念数据库设计中完成E-R图等成果后,将其转换为DBMS支持的数据模型(如关系模型),完成实体、属性和联系的转换。在进行逻辑数据库设计时,应遵循一些规范化理论,如范式(将在后面的小节中详细讲解)。不规范的设计可能会导致数据库出现大量冗余、插入异常、删除异常等问题。2.1.4物理数据库设计物理数据库设计阶段需要确定数据库的存储结构、文件类型等。通常DBMS为了保证其独立性与可移植性,承担了大部分任务,数据库设计人员只需要考虑硬件、操作系统的特性,为数据表选择合适的存储引擎,为字段选择合适的数据类型等,以及评估磁盘空间需求等工作2.1.5数据库实施数据库实施就是将前面那些工作的成果实施起来,比如使用SQL语句创建数据库、数据表,编写与调试应用程序等。2.1.6数据库运行和维护数据库运行和维护就是将数据库系统正式投入运行,在运行后进行一些维护、调整、备份、升级等工作。项目准备实战演练·某公司商品需求调研某公司需要开发一套商品管理系统。为了收集数据库需要的信息,通过与系统使用人员通过交谈、填写调查等方式进行了系统的需求调研,充分了解用户需求,得出系统需要实现的功能,理解数据库需要完成的任务。项目准备实战演练·某公司商品需求调研开发人员通过与相关人员沟通可以得到:用户可以通过该系统查看所有商品的相关信息,包括商品编号、商品名称、商品库存、商品所属店铺编号、商品价格。用户也可以通过该系统查看相关商品的所属的类目信息,包括类目编号、类目名称。顾客可以通过该系统查看自己的购买信息记录,发货流程。商家可以通过该系统查看购买商品的用户信息,包括用户编号、用户名、注册时间、顾客等级等等。开发人员可以从下列五个方面综合考虑:(1)了解商品管理的基本内容。(2)综合的理解商品各管理人员的需求。(3)了解商品管理的基本业务流程。(4)了解商品人工模式与信息系统的工作概况,以及它们之间的区别。(5)通过调查和与商品的管理人员的交流,了解用户对商品管理系统的业务要求,安全性和完整性要求。项目准备实战演练·某公司商品需求调研请同学根据调查完成表2-1商品管理准备工作:对象相关信息用户的基本需求顾客需求:

管理员需求:商品的基本需求

订单的基本需求

类目的基本需求项目准备实战演练·某公司商品需求调研请同学根据调查完成表2-1商品管理准备工作:对象相关信息用户的基本需求顾客需求:1.注册与登录:支持手机号/邮箱注册,能够维护个人资料(昵称、头像、收货地址)。2.浏览与搜索:

能够查看商品列表、分类筛选、关键词搜索商品。3.购物车与下单:能够将商品加入购物车,修改数量,生成订单并支付。4.订单管理:查看历史订单、订单状态(待付款、待发货、待收货、已完成)、申请售后。5.评价:对已购买的商品进行评论和打分

管理员需求:1.登录安全:后台登录需具备高安全性(如验证码、RBAC权限控制)。2.用户管理:查看用户列表,禁用违规账号,重置用户密码。3.数据概览:查看系统整体销售数据、用户增长趋势。项目准备实战演练·某公司商品需求调研请同学根据调查完成表2-1商品管理准备工作:对象相关信息商品的基本需求1.商品录入:支持录入商品名称、详情描述、价格(原价/现价)、库存数量。2.规格属性:支持多规格设置(如颜色、尺码),不同规格对应不同价格和库存。3.关联分类:商品必须归属于某个特定的分类(类目)。4.库存预警:当库存低于设定阈值时,系统提示补货。项目准备实战演练·某公司商品需求调研请同学根据调查完成表2-1商品管理准备工作:对象相关信息订单的基本需求1.订单生成:包含订单编号(唯一)、下单时间、买家信息、收货地址快照、商品快照(名称/价格/图片)。2.金额计算:自动计算商品总价、运费、优惠金额及实付金额。3.状态流转:支持订单状态的变更(待支付->已支付->已发货->已完成->已取消/退款)。4.支付关联:记录支付方式(微信/支付宝/余额)及支付流水号。5.发货管理:管理员填写物流单号,顾客可查看物流轨迹。项目准备实战演练·某公司商品需求调研请同学根据调查完成表2-1商品管理准备工作:对象相关信息类目的基本需求1.层级结构:支持多级分类(如:一级分类“家电”->二级分类“电视”->三级分类“OLED电视”)。2.增删改查:管理员可灵活添加、修改、删除分类名称。3.排序与显示:支持设置分类排序,支持隐藏/显示分类。4.关联约束:删除父级分类时,需校验其下是否包含子分类或商品,防止数据悬空。小结需求分析:数据库设计的基石📌核心回顾:明确“做什么”是“怎么做”的前提,需求分析是数据库设计的起点与方向锚点。💡关键收获:掌握设计六阶段全流程,吃透“收集数据、解决冲突、形成标准”三大核心动作,完成商品管理系统实战调研。📝课后实践:完成《商品管理系统需求工单》,梳理核心业务场景与数据处理需求,固化调研成果。任务2

商品管理系统数据库创建和管理如何在MySQL中创建和管理我们的数据库?任务描述MySQL世界的构成·核心概览认识你的工具箱:数据库分类与核心对象解析在准备工作中,同学们完成了数据库需求分析。在接下来的任务中同学们可以在MySQL中顺利地完成商品管理系统数据库的创建工作,并准确地确认数据库是否创建成功。这为后续的商品管理系统开发提供了坚实的基础,确保了整个项目能够有条不紊地进行下去。2.2.1数据库分类●1.系统数据库系统数据库是由MySQL服务器在安装过程中自动创建的,它们对于MySQL服务器的正常运行和管理起着至关重要的作用。MySQL数据库建立数据库时需要对于所有使用的数据形成一定标准。如商品编号一共有多少位,未来是否会增存储了用户账户信息,包括用户名、密码、权限等。通过这个数据库,管理员可以管理用户对MySQL服务器的访问权限,例如创建新用户、分配不同的权限级别(如只读、读写等)。还包含一些系统变量的设置,这些变量可以影响MySQL服务器的行为和性能。例如,字符集设置、缓存大小等。存储了一些存储过程和函数,这些可以被用来执行特定的数据库管理任务。2.2.1数据库分类information_schema数据库供了关于MySQL服务器中所有数据库、表、列和索引的元数据信息。这对于数据库管理员和开发人员来说是非常宝贵的资源,可以通过查询这个数据库来了解数据库的结构和内容。可以获取表的定义、列的数据类型、索引的信息等。这有助于进行数据库设计、查询优化和故障排除。performance_schema数据库用于收集MySQL服务器的性能数据。它可以监控各种性能指标,如查询执行时间、锁等待时间、缓冲区使用情况等。通过分析这些性能数据,管理员可以识别性能瓶颈,优化数据库配置和查询,以提高MySQL服务器的性能和响应速度。2.2.1数据库分类●2.用户数据库用户数据库是由用户根据自己的特定需求创建和管理的。用户根据不同的业务场景、应用需求或个人项目来创建用户数据库。例如,企业可能会为其电子商务平台创建一个数据库来存储产品信息、订单数据、客户信息等;开发人员可能为一个特定的软件项目创建数据库来存储应用程序所需的数据。用户可以完全控制自己的数据库,包括设计数据库结构(创建表、定义列、设置约束等)、插入数据、执行查询、更新和删除数据等操作。用户可以根据实际需求进行数据库的优化和维护,例如创建索引以提高查询性能、定期备份数据以防止数据丢失等。用户数据库相互独立,不同的用户数据库可以有不同的结构和用途。每个用户数据库都有自己的名称和权限设置,用户可以根据需要授予其他用户对自己数据库的访问权限。2.2.1数据库分类在MySQL中,系统数据库和用户数据库各自承担着不同的功能和任务。系统数据库为MySQL服务器的运行和管理提供了必要的支持,而用户数据库则满足了用户在不同应用场景下的数据存储和管理需求。2.2.2数据库对象【核心定义】数据库对象是指存储、管理和使用数据的不同结构形式,主要包括表、索引、视图、缺省值、规则、触发器、存储过程和函数等。表(Table)表是数据库中最基本的对象,用于存储数据。它由行和列组成,每一行代表一条记录,每一列代表一个数据字段,具有特定的数据类型和约束。例如,一个学生信息表可能包含学生的学号、姓名、年龄、性别等字段。视图(View)视图是从一个或多个表中导出的虚拟表。它并不实际存储数据,而是根据定义的查询语句动态生成结果集。视图可以简化复杂的查询、提供数据的不同视角、限制用户对数据的访问等。例如,可以创建一个只显示学生姓名和成绩的视图,以便教师快速查看学生的成绩情况。2.2.2数据库对象索引(Index)索引是一种数据结构,用于提高数据库表中数据的检索速度。它就像一本书的目录,可以快速定位到特定的数据行。索引可以基于一个或多个列创建。例如,在学生表的学号列上创建索引,可以快速根据学号查找特定的学生记录。存储过程(StoredProcedure)存储过程是一组预先编译好的SQL语句和控制流语句的集合,存储在数据库中。存储过程可以接受参数、执行复杂的业务逻辑,并返回结果。例如,可以创建一个存储过程来计算学生的平均成绩。2.2.2数据库对象触发器(Trigger)触发器是一种特殊的存储过程,它在特定的数据库事件发生时自动执行。触发器可以用于实现数据的完整性约束、审计跟踪等功能。例如,当在学生表中插入一条新记录时,可以触发一个触发器来检查该学生的年龄是否符合要求。序列(Sequence)序列是一种用于生成连续整数的数据库对象。它通常用于为表中的主键字段自动生成唯一的值。例如,在创建新的学生记录时,可以使用序列自动生成学生的学号。2.2.3什么是MySQL存储引擎▍什么是存储引擎?它是MySQL表的底层架构,定义了数据的物理存储格式、索引实现方式,以及是否支持事务、外键约束、崩溃恢复等关键能力。不同引擎拥有不同的“性格”,适配不同的业务场景需求。●查看支持的所有引擎执行命令:SHOWENGINES\G,可列出MySQL支持的全部引擎及其特性(如事务支持、存储类型、是否支持索引等)。●查看当前默认引擎执行命令:SHOWVARIABLESLIKE'default_storage_engine';,可查询数据库默认使用的表引擎(MySQL5.5+后默认为InnoDB)。💡典型应用场景速查:•InnoDB:支持事务、行级锁和外键,是电商、金融等核心业务的首选。

•MyISAM:查询速度快,适合读多写少的静态数据(如日志、报表)。

•MEMORY:数据存于内存,速度极快,适合临时缓存高频访问的小数据。2.2.4字符集【核心定义】字符集是文字符号的编码与排序规则集合,解决“如何存储文字”的问题。UTF8支持全球通用字符,是现代数据库的首选。1.查看数据库支持的所有字符集及默认排序规则SHOWCHARACTERSET;2.查看指定字符集(如GBK)的排序规则,并创建UTF8编码数据库SHOWCOLLATIONLIKE'GBK%';CREATEDATABASEmyappDEFAULTCHARSETutf8;命令执行效果演示2.2.4字符集💡3.选择字符集注意事项

(1)如果数据库要处理不同地区的文字,就应选择Unicode字符集,在MySQL中,就是utf8。(2)如果数据库只需要支持一般中文,并且数据量很大,性能要求很高,可以使用GBK字符集。(3)如果数据库需要做大量运算,就应该选择定长字符集,如latin1和GBK等。2.2.4字符集4.查看与修改字符集【核心定义】MySQL默认的字符集为latin1,字符集和排序规则分为四个级别:服务器级、数据库级、数据表级和字段级。(1)服务器级:用户查看当前服务器使用的字符集,可以执行下列SQL语句:SHOWVARIABLESLIKE'character_set_server';打开my.ini配置文件,在“[mysqld]”组中添加以下内容,然后保存文件即完成修改。设置默认字符集和排序规则character-set-server=utf8collation-server=utf8_general_ci2.2.5数据库命名规范字符限制:仅允许字母、数字、下划线及$符号,长度不超过64字符;开头规则:必须以字母或下划线起头,禁止数字开头风格约定:推荐使用“小写字母+下划线”分隔(如my_shop)避坑指南:严禁使用MySQL保留关键字(如SELECT)作为表名或字段名。知识知识链接“删库跑路”是一种刑事犯罪法律红线警示:依据《中华人民共和国刑法》第二百八十六条,故意对计算机信息系统内存储的数据进行删除、修改、增加操作,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。数据是企业核心资产,破坏数据等同于破坏生产经营,必将承担法律责任。技术人的职业底线:专业开发者需兼具技术能力与职业操守:一方面,对数据操作保持“如履薄冰”的谨慎,避免误操作或恶意破坏;另一方面,面对职场矛盾应通过协商、劳动仲裁等合法渠道解决,切勿因情绪失控触碰法律红线。坚守技术伦理,是职业生涯的长久保障。3.选择数据库

命令:USEmy_test_base;4.删除数据库命令:DROPDATABASEmy_test_base;任务实施创建第一个数据库1.查看数据库

命令:SHOWDATABASES;2.创建数据库

命令:CREATEDATABASEmy_test_base;

任务实施实战:创建商品管理库实战:创建商品管理库1.建库命令:CREATEDATABASEproduct_db1;

2.验证命令:SHOWDATABASES;

💡作用:为商品系统建立独立的数据库环境,实现业务数据的物理隔离,是项目开发的基础步骤。实操效果验证:左图展示了删除测试数据库的执行反馈(QueryOK);右图展示了创建`product_db1`并通过`SHOWDATABASES`成功查询到该库的结果,确认数据库已被正确创建。任务检测检验成果:任务检测项目名称内容分值评分标准评分任务考核目标1.查看MySQL默认存储引擎6查看MySQL默认存储引擎方法是否正确

2.修改MySQL默认存储引擎6修改MySQL默认存储引擎方法是否正确

3.查看MySQL中可用字符集6查看MySQL中可用字符集方法是否正确

4.查看字符集所对应的排序规则6查看字符集所对应的排序规则方法是否正确

5.数据库的创建6数据库的创建方法是否正确

6.数据库的查看6数据库的查看方法是否正确

7.数据库的选择6数据库的选择方法是否正确

8.数据库的删除6数据库的删除方法是否正确

9.商品管理系统数据库创建12商品管理系统数据库创建方法是否正确

职业素养考核目标积极参加教学活动,按时完成工作任务10上课与老师互动、按时完成作业

团队协作与人交流能力10积极参与团队任务,帮助团队成员

规范意识、责任意识10按照标准完成任务

自主学习能力10能够自己学习和拓展新的专业知识

总分:任务3商品管理系统概念结构设计如何将现实世界的业务需求,转化为数据库能理解的概念模型?任务描述商品管理系统概念结构设计开发人员根据用户需求,绘制数据库E-R图。并在在学习过程中了解数据模型的分类和组成要求,以及概念模型的常用术语。(1)根据项目准备设计实体E-R图,及各个子模块的E-R图的绘制。(2)初步生成的E-R图,通过合并方法,做到各子系统实体、属性、联系统一。(3)通过消除冲突等方面生成全局E-R图。2.3.1数据模型的层次类型1概念数据模型(ConceptualDataModel)面向用户视角的抽象层,专注于描述现实世界的业务实体、属性及实体间的关联关系,完全独立于具体的数据库管理系统(DBMS)。核心工具为E-R(实体-联系)模型,旨在清晰表达业务语义,是沟通业务人员与技术人员的关键桥梁。2逻辑数据模型(LogicalDataModel)面向数据库系统的转换层,将概念模型映射为具体的逻辑结构(如关系模型中的表、列)。明确数据表结构、字段类型、主键/外键关联、数据完整性约束等,实现从业务抽象到技术结构的过渡,独立于硬件环境但依赖于数据模型类型。3物理数据模型(PhysicalDataModel)面向物理存储介质的实现层,描述数据在磁盘等存储设备上的具体组织方式。包含存储引擎选择、索引设计、数据分区策略、表空间分配及存取路径优化,直接决定数据库的运行性能、存储效率与维护成本,与硬件环境紧密相关。2.3.2数据模型的组成要素数据结构数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。数据操作数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。数据约束数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。2.3.3概念数据模型常用术语实体(Entity):现实世界中客观存在并可以相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念。实体概念的关键之处在于一个实体能够与另一个实体相互区别。属性(Attribute):实体通常具有若干个特征,每一个特征称为实体的一个属性。例如,一个学生实体有学号、姓名、性别、年龄、班级等属性。属性不能脱离实体,属性必须相对实体而存在,它表达了实体某个特定方面的特征。属性的名称称为属性名,同一类型的实体的属性一般采用相同的属性名。属性的具体取值称为属性值,用以刻画一个具体的实体,实体的属性值是数据库中存储的主要数据。键(Key):能唯一标识每个实体的属性或属性组,称为实体的键,简称键,有时也称为实体标识符、关键字、关键码、码。也就是主键。域(Relation):属性的可能取值范围称为属性的域。2.3.3概念数据模型常用术语实体集(EntitySet):同一类型实体的集合称为实体集。例如,全体学生是一个实体集。在同一个实体集中,每个实体的属性名和属性的域是相同的,但部分属性的值却不相同。不同实体集可以相交。例如,某些教师在本校在职攻读博士学位,那么他们既是教师身份,也是学生身份,说明学生实体集和教师实体集是相交的。实体型(Entitytype):在数据模型中,型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。实体型也称实体类型,是指用实体名和属性名对某一类实体的抽象和刻画。如果属性是实体型的键,在属性名下用下划线标明。例如,用户(用户名,性别,出生年月)就是一个实体型。实体型是实体集抽象化和结构化的结果,一个具体的实体是其实体型的实例,是其实体型的赋值。为了叙述的方便,在不引起混淆的情况下,有时把实体型简称为实体。2.3.3概念数据模型常用术语联系(Relation):在现实世界中,事物内部以及事物之间通常存在一定的联系,这些联系在信息世界中反映为实体(型)内部各实体之间的联系和不同实体(型)之间的联系。联系也可能具有属性,用来描述联系的特征。例如顾客实体和商品实体之间存在“购买”联系,“购买”联系具有购买数量、购买日期等属性。实体、属性和联系称为E-R模型三要素。2.3.4E-R模型的表示—E-R图实体型:用矩形框表示,框内写明实体名。【核心定义】E-R图是E-R模型的直观表示形式,是用来表示现实世界中客观事物及其联系的一种信息结构图。E-R图提供了表示实体型、属性和联系的方法。属性:用椭圆形框表示,框内写明属性名,并用无向边将其与相应的实体型或联系连接起来。如果属性是实体型的键,在属性名下用下划线标明。联系:用菱形框表示,框内写明联系名,并用无向边分别与发生联系的实体型连接起来,同时在无向边上标明联系的类型(如1:1、1:n、m:n、1​:m:n等)。2.3.5E-R图的设计步骤1.确定实体型及其属性绘制实体E-R图。2.确定实体型之间的联系及联系的属性绘制完整的E-R图。任务实施实战:绘制商品管理系统E-R图1.确定实体根据项目准备工作的任务工单确定实体与实体属性,其中实体包括:商品实体、商品分类实体、用户实体、订单实体,其中用户实体根据使用者不同,又细分成顾客实体与管理员实体。具体情况如下:商品:商品编号、商品名、商品简介、商品图片、商品库存、商品售价、上架状态、创建时间。商品分类:名称、状态、排序。顾客:用户名、收货人、联系电话、收货地址。管理员:账号、密码。订单:订单号、订单总价、订单状态、支付方式、创建时间、操作(关联查看订单/收件人逻辑)。任务检测检验成果:任务检测项目名称内容分值评分标准评分任务考核目标1.商品实体E-R图8E-R图实体型与属性是否绘制准确

2.商品分类实体E-R图8E-R图实体型与属性是否绘制准确

3.顾客实体E-R图8E-R图实体型与属性是否绘制准确

4.管理员实体E-R图8E-R图实体型与属性是否绘制准确

5.订单实体E-R图8E-R图实体型与属性是否绘制准确

6.完整的系统E-R图20E-R图实体型与属性是否绘制准确实体型之间的联系及联系的属性绘制

职业素养考核目标积极参加教学活动,按时完成工作任务10上课与老师互动、按时完成作业

团队协作与人交流能力10积极参与团队任务,帮助团队成员

规范意识、责任意识10按照标准完成任务

自主学习能力10能够自己学习和拓展新的专业知识

总分:任务4商品管理系统的逻辑设计与物理设计如何将E-R图转化为具体的数据库表结构?任务描述商品管理系统的逻辑设计与物理设计在任务3中,同学们已经根据企业的需求完成了数据库的概要设计。在接下来的任务中完成数据库简单的逻辑设计与物理设计。(1)根据E-R图完成数据库的逻辑设计,建立简单的数据库的关系模型。(2)根据关系模型完成数据库的物理设计,绘制数据库表。2.4.1数据表命名规范●表名规范:统一采用小写字母与下划线组合,名称需反映业务实体内容,如`order_details`、`user_profile`,严禁使用纯数字或无意义拼音缩写。●列名规范:遵循表名命名规则,布尔类型字段强制以`is_`为前缀,如`is_active`、`is_deleted`,字段含义需直观,避免产生歧义。●索引命名:以`idx_`为固定前缀,后接表名与核心列名,如`idx_order_order_id`,复合索引按字段查询优先级排列命名。●约束命名:主键用`pk_`、外键用`fk_`、唯一约束用`uk_`开头,如`pk_user_id`、`fk_order_user`,便于快速识别约束类型与关联关系。●视图命名:统一添加`v_`前缀区分物理表,如`v_active_users`,名称需体现视图的统计维度或业务用途。●触发器命名:前缀为`trg_`,后接表名与触发事件,如`trg_order_insert`,清晰标识触发对象及执行时机(插入/更新/删除)。2.4.2数据库数据类型--数值型(1)整数类型MySQL整数类型共有五种类型:微小整数(TINYINT)、小整数(SMALLINT)、中等大小的整数(MEDIUMINT)、标准整数(INT)、大整数(BIGINT),每种类型有一个固定的位数来存储数值。关于整数定义,以INT为例,有以下几种定义声明:INT:标准整数类型。INT(n):有符号整数类型,其中n表示显示宽度。显示宽度是指在查询结果中显示的字符宽度,不影响存储范围或计算能力。INTunsigned:无符号整数类型,范围为0到4294967295。INT(n)unsigned:无符号整数类型,其中n表示显示宽度。数据类型所占字节存储范围(有符号)存储范围(无符号)TINYINT1字节-128~1270~255SMALLINT2字节-32768~327670~65535MEDIUMINT3字节-8388608~83886070~16777215INT4字节-2147483648~21474836470~4294967295BIGINT8字节-9223372036854775808~92233720368547758070~184467440737095516152.4.2数据库数据类型--数值型(2)小数类型

MySQL中使用浮点数和定点数来表示小数,浮点数有两种类型:单精度浮点数(FLOAT)和双精度浮点数(DOUBLE),定点数只有DECIMAL;浮点数和定点数都可以用“类型(M,N)”来表示,其中M是精度,表示总共的位数,N是标度,表示小数的位数,如:105.33,用(M,N)来表示就是(5,2),定义时为FLOAT(5,2);DECIMAL实际是以字符串形式存放的,在对精度要求比较高的时候(如货币、科学数据等)使用DECIMAL类型会比较好;浮点数相对于定点数的优点是在长度一定的情况下,浮点数能够表示更大的数据范围,它的缺点是会引起精度问题。数据类型所占字节存储范围(有符号)存储范围(无符号)FLOAT4字节-3.402823466E+38

~-1.175494351E-380和1.175494351E-38

~3.402823466E+38DOUBLE8字节-1.7976931348623157E+308

~-2.2250738585072014E-3080和2.2250738585072014E-308

~1.7976931348623157E+308DECIMALM+2字节或D+2与DOUBLE相同与DOUBLE相同2.4.2数据库数据类型--日期型MySQL表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。数据类型占用字节存储格式存储范围说明YEAR1字节YYYY1901~2155年份值DATE3字节YYYY-MM-DD1000-01-01~9999-12-31日期值TIME3字节+小数秒存储HH:MM:SS-838:59:59~838:59:59时间值或持续时间值DATETIME5字节+小数秒存储YYYY-MM-DDHH:MM:SS1000-01-0100:00:00

~9999-12-3123:59:59混合日期和时间TIMESTAMP4字节+小数秒存储YYYY-MM-DDHH:MM:SS1970-01-0100:00:01UTC

~2038-01-1903:14:07UTCUTC时间戳2.4.2数据库数据类型--日期型(1)YEAR的声明

YEAR类型用于存储只有年份的值,存储格式为YYYY,它可以被声明为YEAR或YEAR(4),具有四个字符的显示宽度。在数据库中输入YEAR类型的值时,语法并不严格,可以为两位或四位的字符串格式或数字格式,具体情况如下:①以4位字符串格式表示的YEAR,范围为'1901'~'2155';②以4位数字格式表示的YEAR,范围为1901~2155;③以2位字符串格式表示的YEAR,范围为'00'~'99',其中,'00'~'69'被转换为2000~2069,'70'~'99'被转换为1970~1999;④以2位数字格式表示的YEAR,范围为1~99,其中,1~69被转换为2001~2069,70~99被转换为1970~1999。注:当输入的年份不合法时,会用0000表示。2.4.2数据库数据类型--日期型(2)DATE的声明DATE类型的标准格式为YYYY-MM-DD,其中,YYYY表示年,MM表示月,DD表示日。但在数据库中输入’2024/10/10’,’2024.10.10’和’2024#10#10’都会被系统转换为’2017-10-10’格式。①'YYYY-MM-DD'或'YYYYMMDD',取值范围为'1000-01-01'~'9999-12-3';②'YY-MM-DD'或'YYMMDD',这里YY表示两位的年值,范围为'00'~'99',其中,'00'~'69'被转换为2000~2069,'70'~'99'被转换为1970~1999;③YY-MM-DD或YYMMDD,数字格式表示的日期,其中YY范围为00~99,其中,00~69被转换为2000~2069,70~99被转换为1970~1999。(3)TIME的声明TIME类型的格式为HH:MM:SS,HH表示小时,MM表示分钟,SS表示秒,存储范围是-838:59:59到838:59:59,其不仅可用于表示一天中的时间(小于24小时),而且可用于表示两个事件之间的时间间隔(可能远远大于24小时,或者为负)。①以'HHMMSS'格式表示的TIME,例如'101112'被理解为10:11:12,但如果插入不合法的时间,如'109712',则被存储为00:00:00②以'DHH:MM:SS'字符串格式表示的TIME,其中D表示日,可以取0~34之间的值,在插入数据库的时候D会被转换成小时,如'210:10'在数据库中表示为58:10:00,即2x24+10=582.4.2数据库数据类型--日期型(4)DATETIME的声明DATETIME类型的格式为YYYY-MM-DDHH:MM:SS,其中,YYYY表示年,MM表示月,DD表示日,HH表示小时,MM表示分钟,SS表示秒。①'YYYY-MM-DDHH:MM:SS'或'YYYYMMDDHHMMSS',字符串格式,取值范围为'1000-01-0100:00:00'~'9999-12-3123:59:59';②'YY-MM-DDHH:MM:SS'或'YYMMDDHHMMSS',字符串格式,其中YY范围为'00'~'99',其中,'00'~'69'被转换为2000~2069,'70'~'99'被转换为1970~1999;③YYYYMMDDHHMMSS或YYMMDDHHMMSS,数字格式,取值范围同上。(5)TIMESTAMP的声明TIMESTAMP类型与DATETIME类型相似,其格式为YYYY-MM-DDHH:MM:SS,显示宽度固定在19个字符。TIMESTAMP与DATETIME的区别如下:①TIMESTAMP的取值范围小于DATETIME的取值范围。TIMESTAMP的取值范围为1970-01-0100:00:01~2038-01-1903:14:07。②DATETIME类型存储的数据是和显示数据相同,TIMESTAMP使用的是世界标准时间(UTC),存储时会对当前时区进行转换,检索时再转换回当前时区。2.4.2数据库数据类型--字符串类型字符串类型包括文本字符串类型和二进制字符串类型。其中文本字符串类型有CHAR,VARCHAR,TINYTEXT,TEXT,MEDIUMTEXT,LONGTEXT,ENUM和SET;二进制字符串类型有BIT、BINARY,VARBINARY,TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB。类型名称存储范围说明CHAR(M)0<=M<=255定长字符串VARCHAR(M)0<=M<=65535变长字符串BINARY(M)0<=N<=255定长二进制字符串VARBINARY(M)0<=N<=65535变长二进制字符串TINYTEXT(M)0~255短文本数据TINYBLOB(M)0~255短二进制文本数据TEXT(M)0~65535长文本数据BLOB(M)0~65535长二进制文本数据MEDIUMTEXT(M)0~16777215较长文本数据MEDIUMBLOB(M)0~16777215较长二进制文本数据LONGTEXT(M)0~4294967295极大文本数据LONGBLOB(M)0~4294967295极大二进制文本数据BIT(M)8个字节位字段类型ENUM0~65535枚举数据SET最多64个成员位枚举数据2.4.2数据库数据类型--日期型(1)定长与变长CHAR和VARCHAR类型都是用于存储较短的字符串,BINARY和VARBINARY类型用于存储较短的二进制字符串。CHAR类型的长度是固定的,长度值会在创建表时定义。例如,当字段数据类型为CHAR(4)时,表示插入数据的字符数最大为4,而且不论数据字符个数是否为4,占用的空间总是4个字符所占空间。VARCHAR类型的长度是可变的。例如,当字段数据类型为VARCHAR(4)时,表示插入数据的字符数最大为4,如果插入的数据只有2个字符,那么它实际占用的空间为字符串的实际长度加1字节。BINARY类型的长度是固定的,当数据长度不足时,系统将自动在它的右边填充“\0”,直至指定长度。例如,当数据类型为BINARY(4)时,插入数据为“a”,存储的内容实际为“a\0\0\0”。VARBINARY类型与VARCHAR类型相似,长度是可变的。VARBINARY类型数据的长度为数据本身长度加1字节,不会填充“\0”。2.4.2数据库数据类型--日期型(2)TEXT和BLOB系列TEXT类型和BLOB类型二者均用于存储较大数据,其中TEXT类型用于存储传统字符编码格式(如ASCII或Unicode)存储的数据,如文本。非传统字符编码格式,如图片、音乐等则使用BLOB类型存储。HTML数据本质上为文本数据,保存到数据库时通常使用VARCHAR或TEXT类型。VARCHAR类型适用于较短的HTML代码,而TEXT类型适用于较长的HTML代码。使用TEXT类型保存时占用较多的空间,可在存储之前使用压缩算法(gzip、zlib)来压缩HTML数据,以减少存储空间的使用。HTML数据存储容易引起SQL注入安全问题,在保存前要对使用特列字符进行转义,如常见的“<”,“>”,“%”等。当然,还可以考虑将其存储在文件系统中,并在数据库中存储对应的文件路径或标识符。(3)ENUM类型ENUM类型像通常说的枚举类型,也就是只能从其中选择一个值插入到数据库。像表示性别、年龄区间可以考虑使用该类型。其语法形式如下:col_nameENUM(‘value1’,’value2’,……,’valuen’)说明:选项值为字符串文字,且不能重复。2.4.2数据库数据类型--日期型(4)SET类型SET类型像通常说的位枚举类型,可以是枚举项的0到多个组合,在存储时SET用每一个bit位表示一个枚举项的叠加,这也决定了set类型最多占用8个字节(64个bit位),所以set类型最多表示64个枚举项的叠加状态。其语法形式如下:col_nameSET(‘value1’,’value2’,……,’valuen’)(5)BIT类型BIT类型用来存储二进制的位值,其语法形式为col_nameBIT(M),代表可存储M位的二进制数据,M取值为区间为1-64。数据库Bit类型常用来存储Boolean类型的状态,也就是可以使用一个字段来存最多64个状态,如果你的系统状态够多或者将来可能会有扩展状态,那推荐使用这个类型进行处理,查询或更新某个状态时按位操作即可。说明:数据长度小于M,在数据左边补0。2.4.2数据库数据类型--JSON类型从MySQL5.7.8版本开始,My

温馨提示

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

评论

0/150

提交评论