数据库技术与应用(SQL Server)课件 沙有闯 项目1-6 设计数据库-查询数据_第1页
数据库技术与应用(SQL Server)课件 沙有闯 项目1-6 设计数据库-查询数据_第2页
数据库技术与应用(SQL Server)课件 沙有闯 项目1-6 设计数据库-查询数据_第3页
数据库技术与应用(SQL Server)课件 沙有闯 项目1-6 设计数据库-查询数据_第4页
数据库技术与应用(SQL Server)课件 沙有闯 项目1-6 设计数据库-查询数据_第5页
已阅读5页,还剩222页未读 继续免费阅读

下载本文档

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

文档简介

项目1

设计数据库DATABASETECHNOLOGY目录项目描述与学习目标01任务1.1设计学生成绩管理系统的功能02任务1.2设计学生成绩管理系统概念模型03CONTENTS04任务1.3设计学生成绩管理系统逻辑模型项目描述与学习目标数据库设计是数据库应用开发的第一步,它直接关系到系统的性能、可维护性和扩展性。学生成绩管理数据库作为教学管理系统的重要组成部分,需要合理设计以满足日常教学管理的需求,为后续的数据库创建和管理奠定基础。项目描述01学习目标021.了解数据库技术发展历程;2.熟知常见的数据库管理系统;3.理解数据模型的概念和设计方法;知识目标1.会使用E-R模型抽象表示现实世界的实体和联系;2.能够基于转换规则将E-R模型转换为关系模型;3.能够结合项目需求优化E-R模型和关系模型。技能目标1.通过数据库发展历程和信创产业发展的介绍,树立技能报国的自觉意识;2.通过数据库发展历程和信创产业发展的介绍,树立技能报国的自觉意识。素质目标设计学生成绩管理系统功能1.1任务-DATABASETECHNOLOGY数据,是用符号来表示的,比如“张三,17岁”,它是信息的原始素材。而信息则是对数据进行加工处理后所形成的数据集合,能够为人们提供更有价值的内容。01数据库管理系统(DBMS),是专门用于管理数据的软件,比如SQLServer。它具备多种功能,其中数据定义语言(DDL)用于定义数据库的结构,如创建、修改和删除表等;数据操作语言(DML)用于对数据进行操作,包括插入、更新和删除数据;数据控制语言(DCL)用于控制用户对数据的访问权限,保障数据的安全性。03数据库(DB),是有组织、可共享的数据集合,像学生信息表,它将学生的各类相关信息有条理地整合在一起,方便存储、管理和查询。02数据库系统(DBS),并非仅仅是数据库,而是一个由硬件、软件、数据库以及用户共同构成的整体系统。硬件为系统提供运行的物理基础,软件实现对数据的管理和操作,数据库存储数据,用户则是与系统进行交互,实现数据的使用和处理。04数据库基础概念01030204文件系统阶段:随着计算机硬件和软件的发展,磁盘等直接存取设备开始普及,数据可以以文件的形式存储在计算机外存上,并且能够长期保存。用户可以对文件进行查询、修改、插入和删除等操作,程序与数据有了一定的独立性,用户不必过多关注数据的物理存储位置。然而,文件系统也存在明显缺陷,数据冗余度高,同样的数据可能在多个文件中重复存储,导致数据不一致问题,并且程序与数据的独立性仍然较差,文件存储结构的改变往往需要修改程序。高级数据库阶段:随着技术的不断进步,分布式、面向对象数据库逐渐出现,如GaussDB、TiDB。分布式数据库将数据分布存储在多个节点上,提高了系统的可用性和性能;面向对象数据库则将面向对象的思想引入数据库管理,更适合处理复杂的数据结构和对象关系,满足了现代应用对数据管理的更高要求。人工管理阶段:这一时期,计算机主要用于科学计算,数据管理没有专门的软件,数据完全依赖人工处理。数据不保存,每次计算完成后,数据就会被丢弃。数据面向特定应用程序,一组数据只能对应一个程序,不同程序之间的数据无法共享。而且数据与程序紧密耦合,数据的任何变化都需要修改程序,数据完全不具有独立性。数据库系统阶段:为了解决文件系统的不足,数据库系统应运而生在这个阶段,数据实现了结构化,不仅能描述数据本身,还能描述数据之间的联系。数据共享性高,多个用户和应用程序可以共享同一数据,大大减少了数据冗余,并且数据具有较高的独立性,程序与数据的耦合度降低。同时,数据库管理系统提供了数据安全性控制,防止数据被非法访问和破坏;数据完整性控制,确保数据的正确性、有效性和相容性;数据恢复功能,在数据出现问题时能够将数据库恢复到正常状态。数据管理技术发展学生管理:涵盖学籍注册,为新入学的学生建立学籍档案,记录基本信息;信息修改,方便学生或管理员对学生的个人信息进行更新和完善;成绩查询,学生可以随时查询自己的学习成绩,了解学习情况。课程管理:包括课程的添加、删除和修改,根据教学计划和需求,对课程信息进行管理,确保课程设置的合理性。成绩管理:教师可以录入学生的成绩,保证成绩的及时记录;学生能够查看自己的成绩,对学习成果进行评估;还能进行班级成绩统计,分析班级整体的学习水平和成绩分布情况。部门管理:对学校的各个部门信息进行管理,包括部门的创建、人员分配等,保障学校组织架构的有效管理。核心模块学生管理:学籍注册时,详细录入学生的个人信息,如姓名、性别、出生日期、身份证号等,为学生建立唯一的学籍标识。信息修改过程中,严格遵循相关流程和权限设置,确保信息的准确性和安全性。成绩查询功能为学生提供便捷的成绩获取途径,可按学期、课程等条件进行查询。成绩管理:教师录入成绩时,系统提供友好的界面和操作提示,防止录入错误。学生查看成绩时,可同时展示成绩的详细信息,如考试时间、考试科目、得分情况等。班级成绩统计能够生成直观的报表,展示班级的平均分、最高分、最低分以及各分数段的人数分布,帮助教师和管理人员了解班级的学习状况。功能示例系统功能模块设计学生成绩管理系统概念模型1.2任务-DATABASETECHNOLOGY010203需求分析:通过与用户、相关部门进行深入沟通和调研,全面了解学生成绩管理系统的业务流程和功能需求。例如,明确学生、教师、管理员等不同用户的操作需求,以及系统需要实现的成绩录入、查询、统计等功能。物理设计:根据数据库管理系统的特点和性能要求,设计数据库的物理存储结构,如选择合适的存储设备、确定数据的存储方式等。概念设计:基于需求分析的结果,构建E-R模型,将现实世界中的实体、属性和联系抽象为E-R图中的元素。比如,确定学生、课程、教师等实体,以及它们之间的选课、授课等联系。实现与维护:使用数据库管理系统创建数据库和表,编写代码实现系统的功能,并对数据库进行日常维护,包括数据备份、性能优化、故障恢复等。逻辑设计:把E-R模型转换为关系模型,确定数据库中的表结构、字段和主键、外键等约束。例如,将学生实体转换为学生表,包含学号、姓名、性别等字段,将选课联系转换为成绩表,包含学号、课程编号、成绩等字段。0405数据库设计步骤在E-R图中,实体用矩形表示,它代表现实世界中客观存在并可相互区分的事物,比如学生、课程等。每个实体都具有一组属性来描述其特征,学生实体具有学号、姓名、性别等属性。实体属性用椭圆形表示,它是实体所具有的特性,比如学号、姓名等。属性有多种分类,简单属性是不可再分的,如学号;复合属性可以细分为更小的部分,如地址可以分为省、市、区等;单值属性对于一个实体只有一个值,如学号;多值属性一个实体可以有多个值,如学生的兴趣爱好可能有多个;派生属性的值可以从其他属性或实体中派生而来,如学生的年龄可以通过出生日期和当前日期计算得出。属性联系用菱形表示,它用于表示实体之间的关联关系,并标注联系的类型,包括1:1(一对一)、1:n(一对多)、m:n(多对多)。例如,学生与课程的“选课”联系为m:n,一个学生可以选择多门课程,一门课程也可以被多个学生选择;而班级与学生的联系通常为1:n,一个班级可以有多个学生,一个学生只能属于一个班级。联系E-R模型基础学生管理模块呈现部门→专业→班级→学生的层级联系(1:n)。一个部门可以包含多个专业,一个专业可以包含多个班级,一个班级可以包含多个学生。例如,计算机学院作为一个部门,下设软件工程、计算机科学与技术等专业,每个专业又分为多个班级,每个班级有若干学生,这种层级关系在E-R图中能够直观体现,有助于理解学生管理的组织架构和数据关系。学生管理模块在成绩管理模块中,学生、课程、教师通过“选课”“授课”联系紧密关联。学生通过选课操作与课程建立联系,同时教师通过授课操作与课程相关联。例如,学生A选择了课程C,教师T教授课程C,这些关系在E-R图中清晰展示,体现了成绩管理模块中各实体之间的交互和数据流动。成绩管理模块局部E-R模型全局E-R模型全局E-R模型是将各个局部E-R模型进行合并而得到的。在合并过程中,需要仔细消除属性冲突,比如“姓名”属性,要明确区分“学生姓名”和“教师姓名”,避免混淆。同时,还要处理好实体和联系的整合,确保全局E-R模型能够准确、完整地反映学生成绩管理系统的整体业务逻辑和数据关系。全局E-R模型设计学生成绩管理系统逻辑模型1.3任务-DATABASETECHNOLOGY01层次模型采用树形结构来组织数据,类似于部门→教研室→教师的关系。在这种模型中,每个节点有且仅有一个父节点(根节点除外),数据之间的联系通过层次结构来体现。它的优点是结构清晰,易于理解和实现,适合表示具有层次关系的数据。但缺点是缺乏灵活性,插入和删除操作可能会受到限制,并且不适合表示多对多的关系。层次模型02网状模型允许节点有多个父节点,能够更灵活地表示多对多的联系,如学生选课、教师授课的复杂关系。它克服了层次模型的一些局限性,能够更真实地反映现实世界中的数据关系。然而,网状模型的结构相对复杂,编程难度较大,数据的维护和管理也较为困难。03关系模型以二维表结构来组织数据,是目前应用最广泛的数据模型,如学生表、课程表等。每个二维表由行和列组成,行表示记录,列表示属性。关系模型具有数据结构简单、易于理解和操作、数据独立性高等优点。通过定义主键和外键,可以建立表之间的关联关系,实现数据的完整性和一致性约束。网状模型关系模型数据模型分类原则实体→关系表:将E-R模型中的每个实体转换为一个关系表,例如“学生”实体转换为学生表,表中的字段对应实体的属性,如学生表包含学号、姓名、性别、出生日期等字段,学号作为主键,唯一标识每个学生记录。m:n联系→独立表:对于E-R模型中m:n的联系,转换为一个独立的关系表。例如“选课”联系,转换为成绩表,成绩表中包含学号、课程编号和成绩等字段,学号和课程编号共同构成主键,同时分别作为外键与学生表和课程表建立关联,以确保数据的一致性和完整性。示例学生表:student(学号,姓名,性别,出生日期),其中学号是主键,用于唯一确定每个学生的记录,通过这个表可以方便地存储和管理学生的基本信息。成绩表:grade(成绩编号,学号,课程编号,成绩),成绩编号为主键,学号和课程编号是外键,分别关联学生表和课程表。通过成绩表,可以记录每个学生所选课程的成绩信息,实现学生、课程和成绩之间的关联。E-R模型转关系模型1NF第一范式(1NF)要求关系表中的每个属性都不可再分,确保数据的原子性。例如,“电话”属性如果包含手机和家庭电话等信息,就需要拆分为“手机”和“家庭电话”两个属性,以满足1NF的要求,这样可以避免数据的冗余和不一致性。第三范式(3NF)在满足2NF的基础上,要求消除非主属性之间的传递依赖。例如,在课程表中,如果包含课程名称、课程类别和课程类别描述等信息,课程类别描述依赖于课程类别,课程类别又依赖于课程编号,这就存在传递依赖。为了满足3NF,可以将课程类别和课程类别描述单独构成课程类别表,课程表只保留课程编号和课程名称,通过外键与课程类别表关联,从而进一步优化数据库结构,提高数据的存储和查询效率。2NF第二范式(2NF)在满足1NF的基础上,要求消除非主属性对主码的部分依赖。例如,在选课表中,如果同时包含学生的基本信息(如姓名、性别)和选课信息(学号、课程编号、成绩),学生姓名等非主属性只依赖于学号,而不是整个主键(学号+课程编号),这就存在部分依赖。为了满足2NF,可以将学生基本信息拆分为学生表,选课信息单独构成成绩表,以提高数据的完整性和一致性,减少数据冗余。关系规范化3NFBCNFBC范式(BCNF)。设关系R,则关系R中所有属性都不传递函数依赖于每个候选码,即消除属性对候选码的传递函数依赖。在关系模式设计中,如果不是每一个决定因素都包含关键字,则不满足BC范式。BC范式是改进的第三范式,其要求比第三范式更加严格。第三范式只关注非主属性和关键字之间的传递函数依赖关系,而BC范式则关注所有属性和每个候选码之间的传递函数依赖。当一个关系模式中有多个候选码,并且这些候选码具有公共属性时,就不满足BC范式。由此可见,满足BC范式的关系模式一定满足第三范式,但满足第三范式的关系模式不一定满足BC范式。谢谢DATABASETECHNOLOGY项目2:使用PowerDesigner设计数据库DATABASETECHNOLOGY目录项目描述与学习目标01任务2.1认识和使用PowerDesigner02任务2.2建立需求模型03CONTENTS04任务2.3建立概念模型05任务2.4将概念模型转换为物理模型06标准规范拓展项目概述与学习目标DATABASETECHNOLOGY在软件开发的过程中,提高软件质量和缩短开发周期是每个企业共同面对的挑战。要想设计一个完善的数据库系统,除了掌握基本的建模方法外,使用专业的建模工具优化设计流程不可或缺。PowerDesigner就是一款数据库建模领域极具创新力的工具软件,它是当今最著名的数据库建模工具软件之一。PowerDesigner可以分别从概念数据模型、物理数据模型两个层次对数据库进行设计。它不仅可以让人直观地理解模型,而且可以充分地利用数据库技术,优化数据库的设计,最终直接面向具体的DBMS生成数据库脚本,实现从设计到实现的全过程。01项目目标学习目标021.了解PowerDesigner的主要功能及常用业务模型;2.理解数据库各设计阶段对应的数据模型。知识目标1.会使用PowerDesigner建立需求分析模型;2.会使用PowerDesigner建立概念数据模型;3.能够将概念数据模型转换为逻辑数据模型和物理数据模型。技能目标1.借助建模工具实践数据库设计,培养并强化遵循数据库设计标准的意识;2.利用建模工具对数据库模型进行细致地检查与优化,强化严谨规范的工匠精神,提升职业素养。素质目标2.1任务-DATABASETECHNOLOGY认识和使用PowerDesigner

PowerDesigner是数据库建模领域的专业工具,处于行业领先地位。它支持从概念到物理模型的全流程设计,涵盖了数据库设计的各个关键环节。通过PowerDesigner,用户可以轻松创建、修改和管理数据模型,并能根据模型生成数据库脚本,大大提高了数据库开发的效率和质量。PowerDesigner集成了多种先进的建模技术,如实体关系建模、业务流程建模等,满足不同用户和项目的多样化需求。能够与主流开发平台实现无缝集成,方便与其他开发工具协同工作,提高项目的整体开发效率。支持超过60种关系型数据库管理系统(RDBMS),具有广泛的适用性,无论是小型项目还是大型企业级应用,都能发挥其强大的功能。核心定位概念数据模型(CDM)以E-R图的形式抽象现实世界中的数据和关系,是对业务领域的高度抽象表达。它不依赖于具体的DBMS,专注于描述数据的本质和业务逻辑,为后续的模型设计提供了坚实的基础。通过CDM,可以清晰地展示实体、属性以及实体之间的关系,帮助团队成员更好地理解业务需求。01是在概念模型的基础上进行细化和具体化的结果。在LDM阶段,需要处理实体关系,如将多对多关系转换为一对多关系,以适应数据库的实际设计需求。同时,明确属性类型和约束,使模型更接近实际的数据库实现,为物理模型的创建做好准备。逻辑数据模型(LDM)主要用于管理用户需求,是连接业务需求和技术实现的桥梁。支持导入/导出Word文档,方便与业务人员进行沟通和协作。通过RQM,可以对需求进行有效的收集、整理、分析和跟踪,确保项目开发始终围绕用户需求展开,提高项目的成功率。需求模型(RQM)基于具体的DBMS进行设计,包含了实际数据库对象的详细定义,如表、列、主键、外键等。PDM可以直接生成实际的数据库脚本,用于在数据库管理系统中创建数据库结构,是数据库设计的最终实现阶段。通过PDM,能够将逻辑模型转化为可在实际环境中运行的数据库。物理数据模型(PDM)020403常用模型以16.7(x64)试用版为例,该版本功能强大,能够满足大多数用户在数据库建模方面的需求,同时提供了一定期限的试用期,方便用户在购买前进行充分的体验和评估。版本首先,访问官网,在官网的下载页面中找到PowerDesigner16.7(x64)试用版的下载链接,点击下载安装程序。下载完成后,双击安装程序,启动安装向导。在安装向导的第一个界面上,点击“下一步”继续安装流程。仔细阅读许可协议,若同意协议内容,点击“下一步”。在选择功能界面,可以根据自身需求勾选相应的功能模块,如BPM、CDM、PDM等,然后点击“下一步”。按照提示完成后续安装步骤,等待安装程序自动完成文件复制和注册等操作,安装完成后,点击“完成”按钮退出安装向导。步骤安装要点2.2任务-DATABASETECHNOLOGY建立需求模型以层次化的结构展示模型,包括本地模型和知识库中的模型。用户可以方便地在该窗口中对模型进行管理和操作,如创建、打开、关闭模型等,能够快速定位到所需的模型和对象,提高工作效率。浏览器对象窗口主要用于绘制模型图形,是用户进行模型设计的主要区域。在工作区窗口中,用户可以使用各种绘图工具,如实体、关系、属性等,创建和编辑数据模型,直观地展示模型的结构和关系。工作区窗口用于显示操作、检查、生成等过程中的信息,如模型检查的结果、生成数据库脚本的过程信息等。通过输出窗口,用户可以及时了解操作的执行情况,发现并解决可能出现的问题,确保模型设计和生成的准确性。输出窗口010302初始界面组成明确系统需满足的功能条件,例如学生管理功能,应包括学生信息的录入、查询、修改和删除;课程管理功能,涵盖课程的添加、删除、查询以及课程安排等。同时,也要考虑非功能条件,如系统的性能要求,需保证在大量数据和高并发情况下能够稳定、高效运行,响应时间应控制在合理范围内。需求定义打开PowerDesigner软件,在菜单栏中选择“文件”,然后点击“新建模型”。在弹出的“新建模型”对话框中,从“类型”列表中选择“RequirementsModel”,在“类型项”中确认选择“需求”,最后点击“OK”按钮,并命名为“学生成绩管理系统需求模型”。01新建需求模型在主窗口界面中,点击相应的操作按钮,即可生成一条需求的基本信息。通过“InsertObject”操作,依次添加系统背景,描述系统开发的背景和必要性;添加系统目标,明确系统期望达成的目标;添加功能需求,详细列举系统应具备的各项功能。02添加需求对于已添加的功能性需求,如学生管理,使用“InsertSub-Object”操作,进一步拆分为学生信息录入、学生信息查询、学生信息修改、学生信息删除等子需求;对于成绩管理,可拆分为成绩录入、成绩查询、成绩统计分析等子需求。对于非功能性需求,同样进行细化,如性能需求可细化为响应时间、吞吐量等具体指标。03细化子需求当需求模型建立完成后,为了便于与项目团队成员、业务人员等进行沟通和评审,需要将需求模型导出为需求报告。在PowerDesigner的菜单栏中,选择“Tools”,然后点击“ExportasWord”,按照提示进行操作,即可生成详细的需求报告。04导出创建流程01展示需求模型层级图,图中清晰呈现学生管理、部门管理等子节点。以学生管理子节点为例,展开后可看到学生信息录入、查询、修改、删除等下级子节点,直观地展示需求模型的结构和层次关系,帮助用户更好地理解和管理需求。案例展示2.3任务-DATABASETECHNOLOGY建立概念模型概念数据模型(CDM)的核心作用是抽象现实世界中的实体及关系,以E-R图的直观形式呈现。它是数据库设计的关键阶段,通过CDM能够将复杂的业务需求转化为简洁、清晰的数据模型,为后续的逻辑模型和物理模型设计提供指导,确保数据库设计符合业务实际需求。01核心作用如“学生-成绩”之间存在一对多的关系,即一个学生可以有多条成绩记录;“课程-成绩”也是一对多的关系,一门课程对应多个学生的成绩。这些关系的准确确定,对于构建正确的数据模型至关重要。关系例如“学生”实体,具有学号、姓名、性别、年龄等属性,其中学号作为学生的唯一标识,具有唯一性和不可为空性;“课程”实体,包含课程编号、名称、学分、授课教师等属性,课程编号用于唯一确定一门课程。实体关键对象打开PowerDesigner,在菜单栏中选择“文件”,点击“新建模型”,在弹出的对话框中选择“ConceptualDataModel”,输入模型名称后,点击“确定”进入设计界面。新建CDM在设计界面中,通过“Entity”工具添加实体,双击实体打开属性设置窗口。在“Attributes”选项卡中,设置属性的名称、数据类型、长度等信息,如学生实体的学号设置为字符型,长度为10;姓名设置为字符型,长度为50等。定义实体及属性使用“Relationship”工具连接相关实体,在弹出的关系设置窗口中,设置基数,明确实体之间的关系类型,如“学生-成绩”关系设置为1对多。建立关系完成实体和关系的设计后,选择“Tools”菜单下的“CheckModel”,系统将自动检测模型中的错误,如属性重复定义、实体关系循环依赖等问题,并给出详细的错误提示,方便用户进行修改和完善。模型检查创建步骤案例展示2.4任务-DATABASETECHNOLOGY将概念模型转换为物理模型打开已创建好的概念数据模型(CDM),在PowerDesigner的菜单栏中选择“Tools”,点击“GenerateLogicalDataModel”,在弹出的对话框中设置相关参数,如模型名称,命名为“学生成绩管理系统逻辑模型”,然后点击“确定”开始生成逻辑数据模型。生成的逻辑数据模型对实体关系进行了细化,如将概念模型中的多对多关系处理为一对多关系,通过中间表来实现。同时,明确了属性的具体类型和约束,如设置主键约束、外键约束等,使模型更符合数据库的逻辑设计要求。操作结果0102概念→逻辑模型(LDM)打开生成的逻辑数据模型(LDM),在菜单栏中选择“Tools”,点击“GeneratePhysicalDataModel”,在弹出的对话框中指定目标DBMS,如选择SQLServer2022,然后设置其他相关参数,点击“确定”开始生成物理数据模型。操作结果生成的物理数据模型包含了实际的数据库对象,如创建了表、列、主键、外键等。同时,支持设置索引,如为学生表的“姓名”字段添加索引,以提高查询效率。物理模型中的数据类型也根据所选DBMS进行了适配。逻辑→物理模型(PDM)学生成绩管理系统展示逻辑模型与物理模型的图形差异,如在物理模型中,数据类型显示为符合SQLServer2022的具体数据类型,表结构中明确显示了主键、外键、索引等物理对象,而逻辑模型更侧重于实体关系和逻辑约束的表达。案例对比DATABASETECHNOLOGY标准规范拓展数据库设计的基本规范01020304完整性设计规范索引设计规范数据库表设计规范数据库设计规范化的要求谢谢DATABASETECHNOLOGY项目3搭建数据库开发环境DATABASETECHNOLOGY项目描述与学习目标任务3.1:安装配置SQLServer2022任务3.2:编写执行T-SQL脚本目录01020304CONTENTS新技术拓展与行业趋势项目描述与学习目标在数据库物理实施阶段,搭建开发环境是至关重要的核心任务,这一环境涵盖了硬件、软件以及网络环境等多个关键要素。硬件方面,需要高性能的服务器以满足数据存储和处理需求;软件层面,要选择合适的数据库管理系统;网络环境则需保障数据传输的稳定性和高效性。当前数据库市场呈现出国际厂商主导的态势,像Oracle、SQLServer等凭借其成熟的技术和广泛的应用案例占据了大量市场份额。然而,近年来国产数据库发展迅猛,华为GaussDB、达梦等不断创新突破,以其对本土需求的深度理解和特色功能,在国内市场逐渐崭露头角,市场份额稳步提升。项目描述01SQLServer具有易用性强的显著优势,其操作界面友好,对于初学者和经验丰富的开发者而言都能快速上手。同时,它集成开发工具丰富,为数据库开发、管理和维护提供了一站式的便捷服务。在数据类型支持上,SQLServer不仅支持结构化数据,还能很好地处理半结构化数据,这使得它在应对复杂的数据结构时更加灵活。对于初学者来说,简单易懂的操作和丰富的学习资源能帮助他们快速入门数据库领域;在企业级数据管理场景中,其稳定性和强大的数据处理能力可保障大量业务数据的高效管理;商业智能(BI)应用方面,SQLServer能与各类BI工具紧密结合,助力企业从海量数据中提取有价值的信息,为决策提供有力支持。为什么选择SQLServer?02学习目标031.了解SQLServer的功能;2.熟悉SQLServer的安装与配置操作;3.了解SQLServer支持的数据类型;4.熟悉T-SQL的常见系统函数。知识目标1.会选择合适版本的SQLServer并进行安装和配置;2.会使用SQLServer的管理和配置工具;3.会使用SSMS查询编辑器编写简单的T-SQL语句。技能目标1.通过对SQL语言的介绍,融入国际标准,培养学生标准意识和规范编码的意识;2.通过融入国产数据库技术和主流信创产品,培养学生坚定科技自立自强的意识。素质目标安装配置SQLServer3.1任务-DATABASETECHNOLOGY

在完成数据库的设计以后,根据数据库物理设计和项目实际,结合硬件环境以及后期维护需要,项目团队选择使用SQLServer2022创建和开发学生成绩管理系统。当前需要首先完成以下工作:1、确认安装环境、下载安装文件;2、安装和配置SQLServer2022;3、安装并使用SQLServerManagementStudio。【任务描述】01【知识储备】SQLServer的版本企业版提供了全面的高端数据中心功能,性能极为快捷、虚拟化不受限制,还支持最终用户访问深层数据。标准版提供了基本数据管理和商业智能数据库,支持将常用开发工具用于内部部署和云部署开发版包括企业版的所有功能,但有许可限制,只能用作开发和测试系统,而不能用作生产服务器网页版支持面向Internet的工作负载,使企业能够快速部署网页、应用程序、网站和服务。简易版入门级的免费数据库,是学习和构建桌面及小型服务器数据驱动应用程序的理想选择。SQLServer2022对硬件环境有明确的要求。内存方面,ExpressEdition版本最低要求512MB,其他版本至少1GB;推荐至少4GB,以保障性能。处理器速度最低要求1.4GHz,建议2.0GHz或更快。支持的处理器类型包括AMDOpteron、AMDAthlon64、支持IntelEM64T的IntelXeon以及支持EM64T的IntelPentiumIV。硬盘空间至少需要6GB。硬件环境要求SQLServer2022对操作系统的要求较为严格。支持的系统包括WindowsServer2022、WindowsServer2019和WindowsServer2016各版本。Windows11和Windows10则只支持Developer、Standard和Express版本。操作系统要求为了确保SQLServer2022运行在最佳状态,ExpressEdition版本的内存建议为1GB,其他版本至少4GB,并且随着数据库大小的增加而增加。处理器速度建议为2.0GHz或更快,以提供更强大的数据处理能力。内存和处理器建议配置在安装SQLServer2022之前,需要确保系统安装了Microsoft.NETFramework4.7.2或更高版本,这是运行SQLServer2022的必要条件之一。.NETFramework支持要求【知识储备】SQLServer2022安装要求【任务实施】安装SQLServer(演示操作)下载与启动安装程序在安装软件之前,首先需要从官方网站下载安装程序。下载完成后,双击启动安装程序。01选择安装类型安装程序会提供多种安装类型供用户选择,如典型安装、自定义安装等。用户需根据自己的需求和软件使用习惯,选择最合适的安装类型。02选择安装版本根据用户的操作系统和需求,安装向导会提供不同版本的软件供选择。用户需选择最适合自己的版本进行安装。03接受许可条款与安装检查用户需仔细阅读并同意许可条款才能继续安装。同时,安装程序会自动进行系统环境检查,确保安装环境满足要求。04功能选择与安装规则检查用户可以根据自己的需求,选择软件中的附加功能。安装程序会进行安装规则的检查,确保软件安装的正确性和完整性。05实例与服务器配置包括设置数据库连接、服务器地址等,以确保软件安装后能够正确运行。06【任务实施】安装图形化管理工具SSMS(演示操作)常见配置工具SQLServer配置管理器SQLServerManagementStudio导入和导出数据工具数据库引擎优化顾问SSMS的使用与服务登录选择认证方式,输入服务器的名称和登录凭证,连接到服务器。下载和安装SSMS用户可以从微软官网下载最新版本的SSMS,并根据安装向导的指引完成安装。编写执行T-SQL脚本3.2任务-DATABASETECHNOLOGY

在安装和配置好SQLServer之后,就可以编写与执行SQL脚本,本任务需要数据库开发和维护人员学会使用SSMS编写和执行T-SQL脚本的方法,掌握常见的T-SQL函数的功能以及使用方法。【任务描述】01【知识储备】T-SQL基础数据控制语言DCL用来操纵数据库中的数据的命令,包括SELECT、INSERT、UPDATE、DELETE。数据定义语言DDL用来定义数据库及数据库对象的结构,包括CREATE、ALTER、DROP。数据操纵语言DML用来控制数据库的存取许可、存取权限等的命令,包括GRANT、REVOKE、DENY。010203SQL全称是“结构化查询语言(StructuredQueryLanguage)”,是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。目前已被确定为关系数据库系统的国际标准(ANSI-SQL),被绝大多数关系数据库系统采用,这些数据库管理系统都支持以SQL为查询语言。T-SQL是微软公司对ANSI-SQL功能的增强和扩展,是应用程序与SQLServer沟通的主要语言,利用T-SQL可以完成对数据库的各种管理操作,而且可以编制复杂的程序。T-SQL语言SQL语言01.02.【知识储备】T-SQL支持的数据类型在SQLServer中,每个列、局部变量、表达式和参数都有其各自的数据类型。T-SQL提供了丰富的系统数据类型,包括字符类型、数值类型及日期类型等。分类数据类型精确数字int、smallint、tinyint、bigint、decimal、numeric、bit、money、smallmoney近似数字real、float日期和时间date、time、datetime、smalldatetime、datetime字符串char、varchar、textUnicode字符串nchar、nvarchar、ntext二进制字符串binary、varbinary、image其他数据类型cursor、rowversion、hierarchyid、sql_variant、uniqueidentifier、xml、table等【知识储备】T-SQL提供的系统函数在T-SQL中,函数被用来执行一些特殊的运算,例如获取系统时间、计算字符串长度、求平均值等等。大部分的函数在小括号中需要一个或多个参数。序号类型函数格式功能描述1字符串函数ASCII(字符串)返回字符串表达式最左端字符的

ASCII代码值2字符串函数CHAR(整型表达式)将

int类型的

ASCII代码转换为字符串3字符串函数LEFT(字符串,返回个数)返回从字符串左边开始指定个数的字符4字符串函数LEN(字符串)返回给定字符串表达式的字符(非字节)个数,不包含尾随空格5字符串函数LOWER(字符串)将大写字符数据转换为小写字符数据后返回字符串表达式6字符串函数LTRIM(字符串)删除起始空格后返回字符串表达式;RTRIM()用于删除字符串尾部的空格7字符串函数REPLACE(字符串1,字符串2,字符串3)用第三个字符串表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式8字符串函数RIGHT(字符串,返回个数)返回字符串中从右边开始指定个数的字符9字符串函数SUBSTRING(字符串,开始位置,指定长度)返回字符串表达式中从开始位置开始指定长度的子字符串【知识储备】T-SQL提供的系统函数在T-SQL中,函数被用来执行一些特殊的运算,例如获取系统时间、计算字符串长度、求平均值等等。大部分的函数在小括号中需要一个或多个参数。序号类型函数格式功能描述10日期时间函数DATEADD(日期部分,所加数字,日期)在向指定日期加上一段时间的基础上,返回新的datetime类型值11日期时间函数DATEDIFF(日期部分,开始日期,结束日期)返回开始日期与结束日期之间指定部分的差12日期时间函数GETDATE()返回当前系统日期和时间,格式为SQLServer内部的格式13日期时间函数MONTH(日期)返回代表指定日期的月份的整数14日期时间函数DAY(日期)返回代表指定日期的天的整数15日期时间函数YEAR(日期)返回代表指定日期的年份的整数【知识储备】T-SQL提供的系统函数在T-SQL中,函数被用来执行一些特殊的运算,例如获取系统时间、计算字符串长度、求平均值等等。大部分的函数在小括号中需要一个或多个参数。序号类型函数格式功能描述21聚合函数AVG([ALL|DISTINCT]表达式)返回组中值的平均值,空值将被忽略22聚合函数MAX([ALL|DISTINCT]表达式)返回表达式的最大值23聚合函数MIN([ALL|DISTINCT]表达式)返回表达式的最小值24聚合函数SUM([ALL|DISTINCT]表达式)返回表达式中所有值的和,空值将被忽略25聚合函数COUNT([ALL|DISTINCT]表达式)返回组中项目的数量【知识储备】T-SQL提供的系统函数在T-SQL中,函数被用来执行一些特殊的运算,例如获取系统时间、计算字符串长度、求平均值等等。大部分的函数在小括号中需要一个或多个参数。序号类型函数格式功能描述26系统函数CONVERT(数据类型[(长度)],表达式[,格式])将某种数据类型的表达式转换为另一种数据类型的表达式27系统函数DATALENGTH(表达式)返回任何表达式所占用的字节数28系统函数ISDATE(表达式)确定输入表达式是否为有效的日期29系统函数ISNULL(表达式,替换值)使用指定的替换值替换NULL30系统函数NULLIF(表达式1,表达式2)当两个指定的表达式相等时返回空值【任务实施】使用SSMS执行T-SQL脚本(演示操作)【任务实施】使用SSMS执行T-SQL脚本(演示操作)学生人数可以使用COUNT()函数来统计。表中没有直接存储学生年龄,需要通过调用DATEDIFF()函数来计算得到,再用AVG()函数来统计。【例3-5】从学生成绩管理系统的学生表中统计学生人数和平均年龄。USESGMSGOSELECTCOUNT(*)AS'学生数'FROMstudentGOSELECTAVG(DATEDIFF(year,birthday,getdate()))AS'平均年龄'FROMstudentGO新技术拓展与展望DATABASETECHNOLOGY1.智能查询优化SQLServer2025有望在智能查询优化方面取得重大突破。通过引入机器学习算法,数据库管理系统能够自动分析查询执行历史和模式,识别查询性能瓶颈,并推荐优化方案。2.智能数据分析AI技术的应用将使SQLServer具备高级数据建模和分析功能,支持实时预测分析和趋势监测。用户可以通过简单的交互式查询获得深入的业务洞察。3.向量数据库通过融入向量化存储、检索技术,并结合AI技术高效处理图像、音频和文本等非结构化数据,支持快速相似度搜索和聚类分析。4.增强的数据安全AI技术将被深度应用于数据异常检测与入侵防御。通过深度学习算法,系统能够实时监控和分析数据库的访问模式,识别潜在的安全威胁并采取主动防护措施。SQLServer2025前瞻迈向AI驱动的数据新时代——展望SQLServer20251.国产化战略加速数据库本土化进程近年来,我国大力推行国产化战略,加快推动包括数据库在内的信息技术的本土创新,大大促进了国产数据库的发展。国产产品份额从2016年的12.40%扩大至22.42%。2.数据库加速向公有云迁移在国家大力发展云计算、鼓励“上云用数赋智”的大背景下,国内企业正在推动数据库向云端迁移和云原生能力的使用,以实现资源弹性和业务敏捷性,同时节约成本。3.开源技术的大力推广带动开源数据库的兴起和快速演进高度活跃的开源社区带动了开源数据库产品的兴起和快速演进,促使参与开源的本土数据库加快其能力迭代和市场渗透。国内数据库发展趋势我国数据库三大发展趋势:国产化、上云、开源谢谢DATABASETECHNOLOGY项目4创建和管理数据库DATABASETECHNOLOGY主讲人:XXXXXXXX时间:项目描述与学习目标任务4.1创建数据库任务4.2管理和配置数据库目录01020304CONTENTS任务4.3分离和附加数据库项目概述01Part-DATABASETECHNOLOGY创建数据库是项目实施的第一个任务,DBA需要根据数据库的物理设计在DBMS上完成建库操作。SQLServer用一组存储在磁盘上的操作系统文件来存放数据库,数据库中所有的对象和数据都存放在操作系统文件上。因此,在创建数据库前必须先确定数据库文件及其属性之后再创建数据库、管理数据库。

在完成数据库环境的安装部署以后,就可以着手创建数据库。学生成绩管理系统的数据库主要用于存储学生、课程、成绩等数据,按照前期的设计需要构建多文件的存储方案。交付用户后,在运行过程中数据规模会随着使用而不断增加,也需要及时作出调整。项目目标能力目标(1)能使用图形用户界面和T-SQL脚本创建数据库;(2)了解数据库常见管理维护任务,并能够借助T-SQL脚本完成管理维护工作;(3)会使用文件组管理数据文件,优化数据库存储;(4)会进行数据库的分离和附加操作;职业素质目标(1)通过深入学习SQL编码原则和规范,增强代码编写规范意识;(2)通过掌握并执行删除数据库的规范流程,培养数据安全意识,进而提升IT行业从业人员职业素养;(3)借助SQL脚本编写和测试的实践,培养自主获取信息并解决问题的能力。知识目标(1)了解SQLServer数据库的分类;(2)理解SQLServer数据库的存储结构;(3)理解SQLServer基于文件组管理数据库存储的方法;学习目标任务4.1创建数据库02Part-DATABASETECHNOLOGY

创建一个名为SGMS的学生成绩管理系统数据库,数据库包含2个数据文件,1个日志文件。其中,主数据文件初始大小为10MB,最大大小为50MB,每次增长20%;辅助数据文件属于文件组fgroup,初始大小为10MB,大小不受限制,每次增长10%;事务日志文件大小为20MB,最大大小为100MB,每次增长10MB。文件存储在C:\db路径下。【任务描述】02系统数据库master:作为SQLServer数据库系统的核心,master数据库存储着至关重要的系统级信息,如登录账户的详细信息,包括用户名、密码和权限等,以及数据库在服务器中的存储位置等关键数据。它就像是数据库系统的“大脑”,掌控着整个系统的运行,一旦缺失,整个数据库系统将无法正常启动和运行。tempdb:主要用于存放临时表和存储过程,这些临时数据在数据库运行过程中起到辅助计算、数据暂存等作用。每次SQLServer启动时,tempdb都会被重置为空,为新的临时数据存储做好准备,就像一个临时的工作空间,使用完毕后会被清理干净。model:是新数据库的模板,当我们创建一个新的数据库时,新数据库的默认结构会继承自model数据库,包括一些默认的表结构、数据类型设置等。它为新数据库的创建提供了一个基础框架,大大简化了新数据库的创建过程,提高了工作效率。msdb:主要支持SQLServer代理服务,如作业调度,可设置定期执行数据库备份、数据清理等任务;警报功能,当数据库出现异常情况,如磁盘空间不足、数据错误等,能及时发出警报通知管理员。它在数据库的日常运维中发挥着重要的管理和监控作用。resource:是一个只读数据库,存储着所有系统对象,如sys架构中的各种系统视图、存储过程等。这些系统对象是数据库系统正常运行的基础,resource数据库为它们提供了统一的存储和管理空间。用户数据库用户数据库是根据用户实际业务需求自定义创建的数据库,如我们的学生成绩管理系统数据库(SGMS)。在SGMS中,主要用于存储学生的基本信息,如姓名、学号、班级等;课程信息,包括课程名称、课程编号、授课教师等;成绩信息,记录每个学生在不同课程中的考试成绩等业务数据。它是承载实际业务数据的核心载体,直接服务于具体的业务应用。【知识储备】数据库类型主数据文件(.mdf):每个数据库都必须有且仅有一个主数据文件,它存储着数据库的启动信息,这些信息用于引导数据库的正确启动和运行;同时包含部分数据,以及指向其他数据文件的指针,通过这些指针可以快速定位和访问其他数据文件中的数据,是数据库数据存储的核心文件。辅助数据文件(.ndf):是可选的数据文件,当数据库的数据量较大时,可以创建多个辅助数据文件来存储剩余数据。通过将数据分散存储在多个辅助数据文件中,可以提升数据存储和读取的效率,就像将货物分散存放在多个仓库中,便于管理和快速取用;同时,也增加了数据管理的灵活性,如可以根据数据的类型、访问频率等因素将数据存储在不同的辅助数据文件中。数据文件每个数据库至少有一个日志文件,它主要存储事务日志,记录着数据库中发生的每一个事务操作,包括数据的插入、更新、删除等操作。事务日志对于数据库的恢复至关重要,当数据库出现故障或数据丢失时,可以通过事务日志进行数据恢复,确保数据的完整性和一致性,就像一个数据操作的“记录簿”,关键时刻能还原数据的历史操作。日志文件(.ldf)【知识储备】数据库存储结构主文件组包含主数据文件,以及在创建数据库时未指定文件组的其他数据文件。它是数据库文件的一个逻辑集合,在数据库的存储和管理中起到重要的组织和协调作用,是数据库文件管理的基础框架。用户可以通过FILEGROUP关键字创建自定义文件组,通过自定义文件组,可以将相关的数据文件组织在一起,便于对数据进行分类管理。例如,可以将学生信息相关的数据文件放在一个自定义文件组中,将课程信息相关的数据文件放在另一个自定义文件组中,这样在进行数据操作和管理时更加方便和高效。一个文件仅能属于一个文件组,这种唯一性确保了文件管理的清晰和有序,避免了文件归属混乱的问题;日志文件不属于任何文件组,它独立于文件组之外,专门用于记录事务日志,以保证数据的完整性和可恢复性,与数据文件的管理方式相互独立又协同工作。主文件组用户自定义文件组特点【知识储备】文件组【知识储备】使用T-SQL语句创建数据库语法T-SQL提供了数据库创建语句CREATEDATABASE,其语法格式为:CREATEDATABASE数据库名{[ON[PRIMARY][<文件定义>[,…n][,<文件组>[,…n]]][LOGON{<文件定义>}[,…n]]}其中,各参数的含义如下所述。(1)数据库名:所创建数据库的逻辑名称。数据库名在当前服务器中必须唯一且符合标识符的命名规则,最多可以包含128个字符。(2)ON:用于指定数据文件及文件组属性,属性值在<文件定义>中指定:<文件定义>::=[PRIMARY](NAME=’逻辑文件名’,FILENAME=’存放数据库的物理路径和文件名’[,SIZE=数据文件的初始大小][,MAXSIZE=指定文件的最大大小][,FILEGROWTH=指定文件每次的增量])(3)LOGON:用于指定事务日志文件的属性,具体属性值在<文件定义>中指定。【任务实施】使用可视化界面创建数据库(演示)【任务实施】使用T-SQL脚本创建数据库(演示操作)【例4-2】创建一个名为TestSGMS的测试数据库,文件及其他选项均为默认。【例4-3】创建一个名为SGMS的学生成绩管理系统数据库,数据库包含2个数据文件,1个日志文件。其中,主数据文件初始大小为10MB,最大大小为50MB,每次增长20%;辅助数据文件属于文件组fgroup,初始大小为10MB,大小不受限制,每次增长10%;事务日志文件大小为20MB,最大大小为100MB,每次增长10MB。文件存储在C:\db路径下。任务4.2管理和配置数据库03Part-DATABASETECHNOLOGY

数据库在运行过程中会随着需求的变化而变化,如文件增长,添加数据文件等。因此,数据库管理员要经常对数据库进行管理和维护。本任务需要对“学生成绩管理系统”数据库进行查看和修改操作,主要任务如下:1.查看SGMS数据库信息。2.为SGMS增加一个数据文件SGMS_DB_Data3,物理名称为SGMS_DB_Data3.ndf,初始大小为5MB,最大大小为50MB,每次扩展1MB。3.将数据库SGMS的第二个数据文件SGMS_DB_data2的初始大小修改为40MB。【任务描述】02【知识储备】查看数据库信息日常运行维护过程中,可以使用系统存储过程sp_helpdb查看数据库信息。如果不指定参数数据库名,将显示服务器中所有数据库的信息;如果指定参数数据库名,将显示服务器中所指定数据库的信息。其语法格式为:EXECsp_helpdb[数据库名]也可以使用系统存储过程sp_databases查看所有可以使用的数据库信息。其语法格式为:EXECsp_databases在做文件管理的过程中还可以使用系统存储过程sp_helpfile查看数据库中文件的信息。如果不指定参数文件名,将显示当前数据库中所有文件的信息;如果指定参数文件名,将显示数据库中指定文件的信息。其语法格式为:EXECsp_helpfile[文件名]还可以使用系统存储过程sp_helpfilegroup查看文件组的信息,用法与sp_helpfile相似。如果不指定参数文件组名,将显示数据库中所有文件组的信息;如果指定参数文件组名,将显示数据库中指定文件组的信息。其语法格式为:EXECsp_helpfilegroup[文件组名]【知识储备】修改数据库配置T-SQL提供了数据库修改语句ALTERDATABASE,其语法格式为:ALTERDATABASE数据库名{ADDFILE<文件定义>[,…n][TOFILEGROUP文件组名]|ADDLOGFILE<文件定义>[,…n] |REMOVEFILE逻辑文件名

|ADDFILEGROUP文件组名|REMOVEFILEGROUP文件组名|MODIFYFILE<文件定义>|MODIFYNAME=新文件名}其中,各子句的作用如下所述。(1)ADDFILE:在文件组中增加数据文件。(2)ADDLOG:增加事务日志文件。(3)REMOVEFILE:删除数据文件。(4)ADDFILEGROUP:增加文件组。(5)REMOVEFILEGROUP:删除文件组。(6)MODIFYFILE:修改文件属性。(7)MODIFYNAME:更改数据库的名称。【知识储备】删除数据库语法删除数据库T-SQL提供DROPDATABASE语句删除数据库,其语法格式为:DROPDATABASEdatabase[,...n]}【任务实施】使用T-SQL脚本管理数据库(演示操作)【例4-5】使用系统存储过程查看SGMS数据库信息。【任务实施】使用T-SQL脚本管理数据库(演示操作)【例4-5】使用系统存储过程查看SGMS数据库信息。【任务实施】

使用T-SQL脚本管理数据库(演示操作)【例4-6】为SGMS数据库增加一个数据文件SGMS_DB_Data3,物理名称为SGMS_DB_Data3.ndf,初始大小为5MB,最大大小为50MB,每次扩展1MB。ALTERDATABASESGMSADDFILE( NAME='SGMS_DB_Data3', FILENAME='C:\db\SGMS_DB_Data3.ndf', SIZE=5MB,MAXSIZE=50MB, FILEGROWTH=1MB)GO【任务实施】

使用T-SQL脚本管理数据库(演示操作)【例4-7】修改SGMS数据库的第二个数据文件“SGMS_DB_data2”,将其初始大小修改为40MB。ALTERDATABASESGMSMODIFYFILE( NAME='SGMS_DB_data2', SIZE=40MB)GO【任务实施】

使用T-SQL脚本管理数据库(演示操作)【例4-8】删除SGMS的数据文件SGMS_DB_Data3。ALTERDATABASESGMSREMOVEFILESGMS_DB_Data3GO【任务实施】

使用T-SQL脚本管理数据库(演示操作)【例4-9】删除测试数据库TestSGMS。USEmasterGODROPDATABASETestSGMSGO从“删库跑路”看法治意识

某公司主营业务为教育培训服务,运营一个可供客户在线学习的APP。2023年11月4日,多名用户反映,该公司APP内多项功能无法正常使用。收到反馈后,该公司对APP系统进行检查,发现APP的大量后台数据被人为删除。经公安机关侦查,删除数据行为系该公司离职程序员王某所为。2023年11月4日凌晨,因与前东家存在劳动纠纷,为了泄愤报复,王某通过工作过程中掌握到的前同事账号、密码登录该公司APP后台管理系统,对其中存储的图文数据进行大肆删除,经过司法鉴定确认,后台删除的数据高达492条。为修复删除数据、保障APP正常运行,该公司立即对APP开展抢修。经统计,王某删除数据行为给该公司带来2万余元经济损失。

为此,某公司内部安全部门起诉了王某,人民法院依法受理此案。法院经审理认为被告人王某犯破坏计算机信息系统罪,王某如实供述自己的罪行,赔偿被害单位并取得谅解,依法从宽处理,据此判处王某有期徒刑十个月,缓刑一年。

不管是现在学习,还是以后工作,法律底线都不能碰。在信息技术领域,每一个操作都可能涉及法律问题。作为未来的专业技术人员,要保持良好的职业道德。就算工作中遇到困难和矛盾,也要认真履行工作职责,保护企业合法权益。大家要树立正确的职业价值观,培养敬业精神和责任感,在职业生涯里始终保持良好的职业操守。职业素养任务4.3分离和附加数据库04Part-DATABASETECHNOLOGY

数据库的建库及部署操作往往不是在生产环境完成,一般都是在开发环境下编写和调试代码,在完成建库、建表、数据导入等操作后经过测试和验证后再迁移到生产环境的服务器上。数据库的迁移有很多种方式,其中一种就是分离和附加。SGMS数据库在完成建库等操作后,需要迁移到学校的服务器上部署。可以通过分离和附加的方式迁移此数据库。【任务描述】01SQLServer允许分离数据库的数据和事务日志文件,然后将其重新附加到另一台服务器。分离数据库后,SQLServer将删除数据库,但是该数据库数据和事务日志文件完好无损。然后这些文件可以用来将数据库附加到任何SQLServer实例上,包括从中分离该数据库的服务器。可以使用SSMS图形用户界面实现分离与附加操作,也可以使用T-SQL脚本完成分离与附加的操作。分离数据库使用系统存储过程sp_detach_db来实现,其语法格式为:EXECsp_detach_db数据库名在数据库分离后,该数据库的日志文件和数据文件是可以被任意复制和移动的。附加数据库可以用带FORATTACH的CREATEDATABASE语句来实现,其语法格式为:CREATEDATABASE数据库名ON(FILENAME=物理文件名)[,…n]FORATTACH附加分离【知识储备】分离与附加数据库【任务实施】分离数据库(演示操作)【例4-10】将SGMS数据库从当前计算机中分离。USEmasterGOEXECsp_detach_dbSGMSGO【任务实施】附加数据库(演示操作)【例4-11】在服务器上附加SGMS数据库。USEmasterGOCREATEDATABASESGMSON (FILENAME='c:\db\SGMS_DB_Data1.mdf'),(FILENAME='c:\db\SGMS_DB_Data2.ndf')FORATTACHGO谢谢大家DATABASETECHNOLOGY主讲人:XXXXXXX时间:项目5创建和管理数据表DATABASETECHNOLOGY主讲人:XXXX.XXXXX时间:目录项目描述与学习目标01任务5.1创建数据表02任务5.2管理数据表03CONTENTS04任务5.3保证表中数据完整性05任务5.4操作数据项目概述01Part-DATABASETECHNOLOGY学生成绩管理数据库创建好以后,数据库中只有基本的系统信息,还无法进行数据的录入和查询工作,原因是数据库中还没有创建用户自定义的数据表。数据表是数据库存储数据的主要容器,其他有关数据库对象的操作基本上都是基于数据表进行的。接下来我们来完成数据库中数据表的创建和管理以及数据装载和管理工作。根据项目需求,需要完成学生成绩管理系统“SGMS”数据库中数据表的department(部门表)、teacher(教师表)、speciality(专业表)、coursetype(课程类型表)、course(课程信息表)、class(班级表)、student(学生信息表)的创建以及数据录入操作,并通过设置完整性约束来确保数据的有效性和一致性。项目目标(1)了解数据表的基本概念以及分类;(2)理解数据完整性的概念、约束的分类以及作用;(3)掌握ISNERT、UPDATE、DELETE语句的语法;知识目标(1)能够熟练创建、修改、删除数据表;(2)能够根据需求创建约束来保证数据完整性;(3)会使用ISNERT、DELETE、UPDATE语句进行数据的插入、删除、更新操作;能力目标(1)通过规范定义表格结构,塑造IT行业标准和规范意识;(2)通过规范实施约束保证数据完整性,增强规则意识和数据安全意识;(3)通过数据规范操作,培养学生严谨的工作态度,提高学生的职业素养。职业素质目标学习目标任务5.1创建数据表02Part-DATABASETECHNOLOGY

在完成学生成绩管理系统数据库的创建之后,需要根据数据库的逻辑结构设计,创建数据库中所有的表,确定每张表的表名、列名、数据类型等。各表的结构详细设计参照书本【任务描述】系统表是SQLServer数据库的重要组成部分,它存储着大量系统级信息,比如以sys开头的表。这些表构成了数据库的数据字典,对数据库的运行和管理起着关键作用,记录了数据库对象的定义、权限设置、数据类型等重要信息。然而,出于系统稳定性和安全性的考虑,用户不能直接对其进行修改,否则可能导致数据库出现严重故障。系统表永久表:永久表用于长期存储业务数据,是数据库中最核心的数据存储载体。像student表存储学生的个人信息,course表记录课程相关数据,只要数据库存在且未被手动删除,这些表就会一直保存其中的数据,为业务系统提供持续的数据支持。临时表:临时表主要用于存储临时数据,根据其可见范围可分为本地临时表和全局临时表。本地临时表以“#”开头命名,仅在当前数据库连接中可见,当该连接会话结束后,本地临时表会自动被系统删除,有效节省系统资源;全局临时表以“##”开头,所有数据库连接都能访问它,但同样在相关会话结束后自动删除。用户表【知识储备】数据表分类输入数据定义表结构定义表结构实际上就是数据结构的设计,其核心工作是确定表的各列列名及其数据类型、数据长度、是否允许为空等。定义表结构时要注意以下几点:1)

允许空:决定某列是否允许为空值。2)

默认值:当在表中插入该列为空值的行时,用此默认值。设置默认值能够起到默认输入的作用,减少输入数据的工作量,如设置性别列的默认值为“男”。3)标识列:设置为标识的列,可以由系统自动操作计数(自动编号),不用用户输入,对于一些具有递增或递减自动编号性质的列,如订单号、发票号等可以设置为标识列。标识列的数据类型必须是不含小数位的数值类型,且不允许为空、不能有默认值。4)计算列:计算字段是一个虚拟的字段,它并未将计算结果实际存储在表中,而只是在运行时才计算出结果。在设计计算列时,不需要指定该字段的数据类型。设置约束使用INSERT、DELETE、UPDATE语句修改数据时,数据的完整性可能会遭到破坏,也可能会将无效的数据添加到表中。约束定义了数据进入数据库的规则,是分配给表或表中某列的一个属性,其主要目的在于防止列中出现非法数据,可以自动维护数据库中的数据完整性。数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。为了解决类似的问题,数据库管理系统提供了对数据库中表、列实施数据完整性约束的方法。【知识储备】表的设计输入数据设计好表结构之后,就可以向表中输入数据了。输入数据时,必须遵循所设置的约束条件,否则服务器将拒绝接受不满足约束规定的数据。【知识储备】使用T-SQL脚本创建数据表用T-SQL脚本创建表比使用可视化界面创建表更加直接、有效。T-SQL使用CREATETABLE语句创建表,其基本语法格式为:CREATETABLE表名({列名

数据类型NOTNULL|NULL})其中,各参数的含义如下。1)表名:将要创建的表的名称,在数据库里表名必须唯一,而且需符合命名规则。2)列名:列名在一个表内必须唯一,且需符合标识符命名规则。3)数据类型:可以使用系统数据类型,也可以使用用户定义的数据类型。对于需要给定数据最大长度的类型,在定义时要给出长度。4)NOTNULL|NULL:指定该列是否允许空值。【任务实施】使用可视化界面创建数据表(演示操作)【任务实施】使用SSMS执行T-SQL脚本(演示操作)学生人数可以使用COUNT()函数来统计。表中没有直接存储学生年龄,需要通过调用DATEDIFF()函数来计算得到,再用AVG()函数来统计。【例3-5】从学生成绩管理系统的学生表中统计学生人数和平均年龄。USESGMSGOSELECTCOUNT(*)AS'学生数'FROMstudentGOSELECTAVG(DATEDIFF(year,birthday,getdate()))AS'平均年龄'FROMstudentGO【任务实施】使用T-SQL脚本创建数据表

(演示操作)【例5-2】在SGMS数据库中创建student表。CREATETABLEstudent(studentid char(10)NOTNULL,studentname varchar(10)NOTNULL,nation char(10),sex char(2),birthday datetime,classid char(7),telephone varchar(16),credithour tinyintNOTNULL,ru_date char(4),address va

温馨提示

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

评论

0/150

提交评论