网络数据库(SQL Server)高职PPT完整全套教学课件_第1页
网络数据库(SQL Server)高职PPT完整全套教学课件_第2页
网络数据库(SQL Server)高职PPT完整全套教学课件_第3页
网络数据库(SQL Server)高职PPT完整全套教学课件_第4页
网络数据库(SQL Server)高职PPT完整全套教学课件_第5页
已阅读5页,还剩351页未读 继续免费阅读

下载本文档

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

文档简介

数据库基础项目一网络数据库(SQLServer)【ch01】数据库基础.pptx【ch02】创建和管理数据库.pptx【ch03】创建和管理表.pptx【ch04】数据查询.pptx【ch05】索引和视图.pptx【ch06】程序设计.pptx【ch07】存储过程和触发器.pptx【ch08】数据安全与保护.pptx【ch09】Java与数据库.pptx全套可编辑PPT课件01数据库系统任务引入小林是一名大三的学生,在这个学期可以选修C语言、数据库和Python等关于计算机编程的课程。小林查询了相关资料,因为对数据库比较感兴趣,所以决定选修数据库。那么,数据库系统都有哪些组成?数据库系统体系结构是什么样的呢?数据库系统知识准备引进了数据库技术的计算机系统通常被称为数据库系统,它的目的是存储和产生所需要的有用信息。这些有用的信息可以是使用该系统的个人或组织认为有意义的任何事情,换句话说,是辅助某个人或组织做决策时必不可少的事情。数据库系统数据库系统的组成数据库系统数据库:存储在外存上的若干个设计合理,且满足应用需要的结构化的数据集合。硬件:数据库赖以存在的物理设备,包括CPU、存储器和其他外部设备等。数据库系统数据库管理系统:帮助用户创建、维护和使用数据库的软件系统,是数据库系统的核心。应用程序:数据库是多用户共享的,不同用户的数据视图已由设计者组织在数据库中,但是如何使用是用户自己的事。人员:包括数据库管理员和用户。在大型数据库系统中,需要有专人负责数据库系统的建立、维护和管理工作,承担该任务的人员被称为数据库管理员。用户分为专业用户和最终用户两类。数据库系统01概念模式简称模式,又称为逻辑模式,是对数据库的整体逻辑结构和特征的描述,是所有用户的公共数据视图。03外模式因为外模式通常是概念模式的一个子集,所以又称为子模式。02内模式又称为存储模式,具体描述了数据如何组织存储在存储介质上。数据库系统数据库系统的体系结构数据库系统的三级模式结构:三级模式结构将数据库的组织从内到外分为3个层次进行描述,分别称为概念模式、内模式和外模式,如图1-1所示。数据库系统3个模式之间的映象数据库系统数据库系统的三级模式结构是对数据的3个抽象级别,它把数据的具体组织留给数据库管理系统管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了在内部实现这3个抽象层次的联系和转换,数据库管理系统在3个模式之间提供了两层映象:外模式/概念模式映象;概念模式/内模式映象。外模式/概念模式映象概念模式描述的是数据的全局逻辑结构,而外模式描述的是数据的局部逻辑结构。概念模式/内模式映象数据库中只有一个概念模式,也只有一个内模式,所以概念模式/内模式映象是唯一的。数据库系统02数据库管理系统任务引入小林已经对数据库系统有了大体的了解,知道了数据库系统的组成。但是,怎么才能把数据库、用户和应用程序联系到一起呢?数据库管理系统知识准备数据库管理系统(DBMS)是数据库系统的关键组成部分。任何数据操作,包括数据库定义、数据操纵、数据库的运行管理等都是在DBMS下进行的。DBMS是用户与数据库的接口,应用程序只有通过DBMS才能和数据库“打交道”。数据库管理系统DBMS的主要功能0201数据库管理系统数据操纵DBMS提供数据操纵语言(DataManipulationLanguage,DML),用于实现对数据库数据的操纵功能,包括检索、插入、修改和删除。数据库定义DBMS提供数据定义语言(DataDefinitionLanguage,DDL),用于定义数据库的三级模式结构。010302数据库的运行管理DBMS提供数据库的运行管理功能。数据库的建立和维护数据库的建立和维护包括数据库初始数据的装入,数据库的转储、恢复、重组织,以及系统性能监视、分析等功能。数据的传输DBMS可以处理数据的传输,实现用户程序与DBMA之间的通信,通常与操作系统协调完成。数据库管理系统DBMS的组成DBMS大多是由许多“系统程序”组成的一个集合。因为每个程序都有自己的功能,所以一个程序或几个程序一起可以完成DBMS的一件或几件工作。各种DBMS的组成因系统而异,一般来说,它由以下4个部分组成。数据库管理系统终端命令解释程序。数据库控制命令解释程序。语言编译处理程序数据定义语言(外DDL、概念DDL、内DDL)翻译程序。数据操纵语言处理程序。数据库管理系统系统运行控制程序系统运行控制程序主要包括如下6个程序。系统总控程序;存取控制程序;并发控制程序;完整性控制程序;保密性控制程序;数据存取和更新程序。系统建立、维护程序系统建立、维护程序主要包括如下5个程序。数据装入程序;数据库重组织程序;数据库系统恢复程序;性能监督程序;工作日志程序。数据库管理系统数据字典数据字典也被称为数据目录或系统目录。它通常是一系列表(对于关系型数据库来说,是一系列二维表)存储着数据库中有关信息的当前描述。包括数据库三级模式结构、数据类型、用户名表、用户权限、程序与其用户联系等有关数据库系统的信息,起着系统状态的目录表的作用,能够帮助用户、数据库管理员及数据库管理系统本身使用和管理数据库。数据库管理系统03数据库设计基础任务引入小林现在已经掌握了数据库的原理,想进行数据库设计,却无从下手。那么,数据库设计包括哪些步骤呢?每个步骤都有什么要求呢?数据库设计基础知识准备数据库设计是建立数据库及其应用系统的技术,也是信息系统开发和建设中的核心技术。由于数据库应用系统的复杂性,为了支持相关应用程序的运行,数据库设计就变得异常复杂,因此最佳设计不是一蹴而就的,而是一个“反复探寻,逐步求精”的过程。数据库设计基础按照规范设计的方法,考虑数据库及其应用系统开发的全过程,将数据库设计分为6个阶段(见图1-2)。数据库设计基础需要指出的是,这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程。在设计过程中,把数据库的设计和数据库中数据处理的设计紧密结合起来,将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。数据库设计基础分析用户活动分析用户活动时从要求的处理着手,弄清处理流程。确定系统范围不是所有的业务活动内容都适合计算机处理,有些工作即使在计算机环境下仍需人工完成。分析用户活动所涉及的数据按照用户活动图所包含的每一种应用。分析系统数据所谓分析系统数据就是对数据流图中的每个数据流名等都给出具体定义,并用一个条目进行描述。数据库设计基础需求分析的方法在众多的需求分析方法中,结构化分析(StrueturedAnalysis,SA)方法是一种简单且实用的方法。SA方法是面向数据流进行需求分析的方法。它采用自项向下逐层分解的分析策略,画出应用系统的数据流图。数据库设计基础图1-3所示为一个图书借还系统的顶层数据流图。数据库设计基础图1-4所示为图书借还系统的O层数据流图,由于在任一时刻只能使用读者借书管理加工和读者还书管理加工中的一个,因此这两个加工之间采用④表示。数据库设计基础例如,图1-5所示为图书借还系统的1层数据流图,即对0层数据流图中的加工做进一步分解,从而得到基本加工。数据库设计基础概念设计概念设计阶段的目标是产生整体数据库概念结构,即概念结构。概念结构是整个组织各个用户关心的信息结构。描述概念结构的有力工具是E-R模型图。数据库设计基础逻辑设计E-R模型图表示的概念模型是用户的模型。它独立于任何一种数据模型,也独立于任何一个具体的数据库管理系统。因此需要先把上述概念模型转换为某个具体的数据库管理系统所支持的数据模型,然后建立用户需要的数据库。数据库设计基础物理设计数据库设计基础在完成逻辑设计后,下一步的任务就是进行系统的物理设计。物理设计是在计算机的物理设备上确定应采取的数据存储结构和存取方法,以及如何分配存储空间等问题。在确定之后,应用系统所选用的DBMS提供的数据定义语言把逻辑设计的结果(数据库结构)描述出来,并将源模式变成目标模式。04初识SQLServer2019任务引入小林去图书馆查询相关书籍,如果想要使用SQLServer进行数据库管理,就必须先下载和安装SQLServer。那么,怎样下载和安装SQLServer呢?小林安装好SQLServer后,却不知道从哪儿进入软件进行数据库管理,在咨询了学长之后,才知道还得安装SQLServerManagementStudio才行。那么,怎么安装SQLServerManagementStudio呢?怎么使用SQLServerManagementStudio呢?初识SQLServer2019知识准备SQLServer2019简介:SQLServer2019不仅为所有数据工作负载带来创新的安全性和合规性功能、业界领先的性能、任务关键型可用性和高级分析,还支持内置的大数据。SQLServer2019的应用场景:通过数据虚拟化打破数据孤岛。利用SQLServerPolyBase,SQLServer大数据集群可以在不移动或复制数据的情况下查询外部数据源。初识SQLServer2019SQLServer2019的下载与安装安装数据库系统是使用数据库的开始。SQLServerManagementStudioSQLServerManagementStudio的下载安装:SQLServerManagementStudio用于管理SQLServer基础架构的集成环境,提供了用于配置、监视和管理SQLServer实例的工具。初识SQLServer2019SQLServerManagementStudio的工作界面密码为安装SQLServer时设置的密码,如图1-22所示。初识SQLServer201905项目总结项目总结项目总结感谢观看创建和管理数据库项目二网络数据库(SQLServer)01创建数据库任务引入小林已经安装好SQLServer和SQLServerManagementStudio,并且已经知道了数据库的设计步骤,因此想要设计一个关于教学管理系统的数据库。那么,怎么才能在SQLServer中创建数据库呢?创建数据库知识准备master数据库:该数据库记录了SQLServer系统的所有系统级别信息。tempdb数据库:该数据库不仅保存了所有的临时表和临时存储过程,还满足了任何其他的临时存储要求,如存储SQLServer生成的工作表。创建数据库创建数据库model数据库:该数据库用作在系统上创建的所有数据库的模板。msdb数据库:该数据库提供了SQLServer代理程序,在调度警报和作业,以及记录操作员时使用。使用SSMS创建数据库创建数据库直接建立数据库是在SSMS中进行的,在大多数情况下,应该使用这种方式来创建一个数据库,因为SSMS比SQL语句更容易使用。提示:由于新建数据库是以model数据库为模板创建的,因此其大小不可能低于1MB(这里假定model数据库的大小为1MB,如果model数据库数据文件的大小为其他数值,则不能低于该数值),并且必须以1MB的整数倍来创建。01排序规则指定数据库的排序规则。03兼容性级别指定数据库支持的最新SQLServer版本。02恢复模式指定为“完整”“大容量日志”或“简单”模式来恢复数据库。创建数据库自动创建统计信息指定数据库是否自动创建缺少的优化统计信息。自动关闭指定在上一个用户退出后,数据库是否完全关闭并释放资源。包含类型指定为“无”或“部分”,以便指定是否包含数据库。自动创建增量统计信息指定在创建每个分区的统计信息时是否使用增量选项。创建数据库自动收缩指定数据库文件是否可定期收缩。自动异步更新统计信息如果设置为True,则启动自动更新过期统计信息的查询,并在编译前不会等待统计信息被更新。创建数据库使用T-SQL创建数据库创建数据库可以使用CREATEDATABASE语句。该语句简化的语法格式为:创建数据库SQLServer分两步实现CREATEDATABASE语句:创建数据库SQLServer使用model数据库的副本初始化数据库及其元数据。SQLServer使用空页填充数据库的剩余部分,除了包含记录数据库中空间使用情况的内部数据页。02修改数据库任务引入小林根据设计好的数据库,在SQLServer中创建了数据库。在使用过程中,他发现创建的数据库文件大小有点小了,初始大小不合适,文件的放置位置也不对。那么,他怎么修改已经创建好的数据库呢?修改数据库有哪些方法呢?修改数据库知识准备使用SSMS修改数据库:在建立数据库后,可以根据需要调整数据库的属性。这些属性影响该数据库的工作方式。使用T-SQL修改数据库:在建立数据库后,可以根据需要修改数据库的设置。修改数据库设置数据库属性的操作步骤如下。(1)在对象资源管理器中展开“数据库”节点,右击要更改的数据库,在弹出的快捷菜单中选择“属性”命令,弹出“数据库属性”对话框,在“常规”选项卡中显示了数据库的状态、所有者和排序规则等,如图2-10所示。修改数据库(2)在“文件”选项卡中,可以对数据库文件大小、增长方式、放置位置和文件类型进行设置,如图2-11所示。修改数据库(3)在“文件组”选项卡中,可以创建、删除文件组,也可以设置文件组是否为只读,如图2-12所示。修改数据库(4)打开“选项”选项卡,如图2-13所示。其中的各个选项都影响着数据库的工作方式和性能。修改数据库05打开“更改跟踪”选项卡,可以查看或修改所选数据库的更改跟踪设置。07打开“镜像”选项卡,可以配置并修改数据库的数据库镜像的属性。06打开“权限”选项卡,可以设置用户/角色的权限。修改数据库(8)打开“事务日志传送”选项卡,可以配置和修改数据库的日志传送属性。(9)打开“查询存储”选项卡,可以配置和修改数据库查询、存储的属性。修改数据库使用T-SQL修改数据库修改数据库可以使用ALTERDATABASE语句,该语句简化的语法格式为:修改数据库ADDFILE子句指定要添加的文件。REMOVEFILE指出从数据库系统表中删除文件描述并删除物理文件。只有文件为空时,才能删除。database指出要更改的数据库的名称。ADDLOGFILE子句指定要将日志文件添加到指定的数据库。修改数据库03删除数据库任务引入小林根据需要对已经创建好的数据库进行了修改,但是因为修改后的数据库有点乱,所以他想着把数据库直接删除了重新创建。那么,他怎么删除数据库呢?删除数据库知识准备使用SSMS删除数据库:当不再需要数据库,或者它被移到另一数据库或服务器时,即可删除该数据库。数据库删除之后,文件及其数据都从服务器上的磁盘中删除。数据库一旦被删除,即被永久删除,并且不能进行检索,除非使用以前的备份。删除数据库0103数据库正在参与复制。02数据库正在被恢复还原。删除数据库当数据库处于以下3种情况之一时不能被删除:用户正在使用此数据库。(1)在对象资源管理器的“数据库”节点中,选择要删除的数据库并右击,在弹出的快捷菜单中选择“删除”命令。弹出“删除对象”对话框,如图2-15所示。(2)单击“确定”按钮,确认删除。在删除数据库的同时,SQLServer会自动删除存储这个数据库的文件。删除数据库注意在数据库删除之前应该备份master数据库,因为删除数据库后将更新master数据库中的系统表。如果master数据库需要还原,则从上次备份master数据库之后删除的所有数据库仍然在系统表中有引用,因而可能导致出现错误信息。删除数据库使用T-SQL删除数据库删除数据库可以使用DROP语句。其语法为:DROPDATABASE

database_name其中,database_name表示要删除的数据库。删除数据库04项目总结项目总结项目总结05项目实战创建一个名称为company的数据库创建一个company数据库,并设定数据文件为“D:SQLServercompanyMDF”,初始大小为10MB,每次增长5MB。事务日志文件为“D:\SQLServercompany日志.DBF",初始大小为10MB,每次增长为5MB。项目实战项目实战(1)在对象资源管理器的“数据库”节点上右击,在弹出的快捷菜单中选择“新建数据库”命令,弹出“新建数据库”对话框,输入新建数据库的名字“company”。(2)分别在“数据库文件”选项组“行数据”和“日志”对应的“初始大小”文本框中,输入10。(3)分别单击“数据库文件”选项组“行数据”和“日志”对应的“自动增长/最大大小”列的按钮,弹出“更改company的自动增长设置”对话框,勾选“启用自动增长”复选框。选中“按MB”单选按钮,输入值为5,其文件大小自动增长为按5MB增长,其他选项均采用默认设置,单击“确定”按钮,返回“新建数据库”对话框。项目实战(4)分别单击“数据库文件”选项组“行数据”和“日志”对应的“路径”列的按钮,弹出“定位文件夹”对话框,设置数据库文件和事务日志文件的放置地址,单击“确定”按钮,返回“新建数据库”对话框。项目实战(5)分别在“数据库文件”选项组“行数据”和“日志”对应的“文件名”文本框中,输入文件名,如图2-16所示。(6)单击“确定”按钮,创建company数据库。项目实战创建一个名称为test的数据库创建一个test数据库,并设定数据文件为“D:SQLServer\测试数据1.MDF",大小为10MB,最大为50MB,每次增长5MB。事务日志文件为“D:SQLServer\测试数据1日志.MDF",大小为10MB,最大为50MB,每次增长为5MB。项目实战单击工具栏中的“新建查询”按钮画,在打开的窗口中输入下列语句。按F5键或者单击工具栏中的“执行”按钮,系统提示消息显示“命令已成功完成”。项目实战感谢观看创建和管理表项目三网络数据库(SQLServer)01表的构成任务引入小林通过上一个项目的学习创建了一个教学管理系统的数据库。这个数据库中包含了学号、学生姓名、学生籍贯、性别、出生年月、成绩、专业等信息。他根据数据库原理将这些信息拆分成学生信息表、学院表、专业表、课程表和成绩表。那么,怎么建立表结构呢?表的构成知识准备数据类型:在SQLServer中,表存储在数据库中。数据库建立后,就可以建立存储数据的表了。varbinary[(n|max)]可变长度二进制数据。n的取值范围为1至8,000。max指示最大存储大小是2^31-1字节。因为存储大小为“所输入数据的实际长度+2”字节,所以输入数据的长度可以是0字节。表的构成我们可以按照存放在数据库中的数据的类型对SQLServer提供的系统数据类型进行分类,如表3-1所示。表的构成整数型表的构成整数型包括bigint、int、smallint和tinyint四种。整数型数据由负整数或正整数组成,如-15、0、5和2509。在SQLServer中,整数型数据使用bigint、int、smallint和tinyint四种数据类型存储。bigint数据类型可以存储的数字范围比int数据类型广。int数据类型比smallint数据类型的存储范围大,而smallint数据类型又比tinyint数据类型的数值范围大。小数数据类型小数数据类型也被称为精确数据类型,由两部分组成,其数据精度保留到最低有效位,所以它们能以完整的精度存储十进制数。在声明小数数据类型时,可以定义数据的精度和小小数位。表的构成近似数值型并非数据类型范围内的所有数据都能精确地表示,因此SQL

Server提供了用于表示浮点数字数据的近似数值数据类型,即近似数值型。近似数值型不能精确记录数据的精度,因为它们所保留的精度由二进制数字系统的精度决定。表的构成字符型字符串存储时采用字符型数据类型。字符数据由字母、符号和数字组成。在SQLServer中,字符数据使用char、varchar和text数据类型存储。当列中各项的字符长度可变时,可用varchar类型,但任何项的长度都不能超过8KB。表的构成表的构成当列中各项为同一固定长度时,使用char类型(最多8KB)。text数据类型的列可用于存储大于8KB的ASCII字符。例如,由于HTML文档均由ASCII字符组成且一般长于8KB,因此使用浏览器查看之前应在SQLServer中存储在text列中。逻辑数值型表的构成SQL

Server支持bit逻辑数据类型,可以存储整型数据1、0或NULL。如果输入0以外的其他值时,SQL

Server均将它们视作1。SQL

Server优化用于bit列的存储。如果一个表中有不多于8个的bit列,则这些列将作为一字节存储。如果表中有9~16个bit列,则这些列将作为2字节存储。更多列的情况依此类推。货币型货币型数据表示正的或负的货币值。在SQL

Server中使用money和smallmoney数据类型存储货币数据。货币型数据存储的精确度为4位小数。表的构成二进制数据类型二进制数据由十六进制数表示。在SQLServer中,二进制数据使用binary、varbinary和image数据类型存储。日期时间类型SQL

Server提供了专门的日期时间类型。日期和时间数据由有效的日期或时间组成。表的构成Unicode字符型在SQL

Server中,传统上非Unicode数据类型允许使用由特定字符集定义的字符。其他数据类型SQL

Server还提供了其他几种数据类型。表的构成创建表结构使用SSMS创建表结构:(1)选择EMIS数据库的“表”节点并右击,在弹出的快捷菜单中选择“新建”→“表”命令,如图3-1所示。表的构成(2)在打开的窗口第一行中输入列名为college_ID,因为系统默认数据类型为nchar(10),单击右侧的按钮,在下拉列表中选择char(10),在允许Null值栏中取消勾选,如图3-2所示。表的构成(3)在窗口下方的“列属性”面板中将“长度”设置为2,其他采用默认设置,如图3-3所示。表的构成(4)选取第二行,输入名称“college_name",将数据类型设置为char,长度设置为16,允许Null值设置为否,如图3-4所示。表的构成(5)选取第三行,输入名称“president",将数据类型设置为nchar,长度设置为8,允许Null值设置为是,如图3-5所示。表的构成(6)一般来说,每个表都应该包含一个主键。选中college_ID字段,选择“表设计器”一“设置主键”菜单命令,即可将college_ID字段设置为主键。此时,该字段前面会出现一个钥匙图标,如图3-6所示。表的构成(7)表字段设置完成后,单击工具栏中的“保存”按钮璧,弹出“选择名称”对话框,输入“college”,如图3-7所示。单击“确定”按钮,创建college表结构。表的构成修改表结构使用SSMS修改表结构:(1)在EMIS数据库中选择dbo.student表并右击,在弹出的快捷菜单中选择“设计”命令,如图3-12所示。表的构成(2)在student表中选择Atime字段并右击,在弹出的快捷菜单中选择“插入列”命令,如图3-13所示,在Atime列的上方插入一个空白列。表的构成(3)在新插入的列中,输入列名"resume",将数据类型设置为varchar(MAX),允许Null值设置为否,如图3-14所示。表的构成(4)选择Specialty_ID字段,在“列属性”面板中将“长度”修改为4,如图3-15所示。表的构成02表的关联任务引入小林通过上一个任务的学习分别创建了学生信息表、学院表、专业表、课程表和成绩表的表结构。那么,怎么建立起表之间的关联呢?表的关联知识准备建立两个表之间的“一对一”关联。首先要使两个表都具有相同属性的字段,然后将父表中该字段定义为主索引或候选索引字段,子表中与其同名的字段也为候选索引或主索引。建立表关联:使用SSMS对表进行关联。使用T-SQL建立关联。表的关联使用SSMS对表进行关联有两种方法如下。02打开要建立表关联的表,在表中右击,在弹出的快捷菜单中选择“关系”命令,弹出“外键关系”对话框,单击“表和列规范”右侧的按钮,弹出“表和列”对话框,设置主键表和外键表,并创建两个表之间的关联。01创建数据库关系图,添加表,并将字段拖到对应表的字段上建立表之间的关联。表的关联使用T-SQL建立关联表的字段可能参考到其他表的字段,这就需要将两个表建立关联。此时,就可以使用如下的语法:FOREIGNKEY

REFERENCE

ref_table(ref_column)其中,ref_table指出要关联的表,ref_column指出要关联的字段名称。表的关联修改表关联(1)在EMIS数据库的“数据库关系图”节点下,选择已经创建的dbo.Diagram_1关系图并右击,在弹出的快捷菜单中选择“修改”命令,如图3-27所示。打开对应的窗口。表的关联(2)将鼠标指针放置在两个表之间的关系横线上,当鼠标指针变成拿时,拖动鼠标可以调整关系的位置。(3)将鼠标指针放置在两个表之间的关系横线钥匙标志上,当鼠标变成时,拖动鼠标可以调整关系的转折,如图3-28所示。表的关联(4)在关系上右击,在弹出的快捷菜单中选择“从数据库中删除关系”命令,如图3-29所示。系统弹出如图3-30所示的提示对话框,单击“是”按钮,删除关系。表的关联(5)在图3-29所示的快捷菜单中选择“属性”命令,打开如图3-31所示的“属性”选项板。在该选项板中可以修改关系名称,以及关系对应的主键和外键字段等。表的关联03表中数据任务引入小林已经创建好了学生信息表、学院表、专业表、课程表和成绩表的表结构,并将这些表关联起来,但是现在表中还没有任何数据记录,什么也查不到。那么,怎么将数据记录添加到对应的表中呢?表中数据知识准备表中数据的新增或修改,就是在打开表的内容窗口后,直接输入新的数据或者对表内容进行修改。数据一般是通过T-SQL来添加的,也可以通过SSMS来添加。表中数据使用SSMS输入数据在输入数据时,如果表之间有关联性存在,如表A的某个字段参考到表B时,则必须先输入表B的记录,然后才能输入表A与之相关的记录,否则会出错。使用T-SQL输入数据QL语言提供了INSERT语句来插入一行数据。表中数据04删除表任务引入小林在向表中添加数据时,一不小心把数据输错了,怎么才能将输错的数据删除呢?如果整个表都有错误,怎么才能将表删除呢?删除表删除表中数据删除数据表使用SSMS输入数据;使用T-SQL删除表中数据。有时需要删除表(如要实现新的设计或释放数据库的空间时)。在删除表后,表的结构定义、数据、全文索引、约束和索引也将永久地从数据库中删除,而原来存放表及其索引的存储空间则用来存放其他表。删除表使用SSMS删除表表的删除操作很简单,但是需要注意的是,在与其他表存在关联时,不能直接删除表,而是要先删除关联,再删除表。使用T-SQL删除表使用DROPTABLE语句完全删除某个表,包含表的结构属性和索引等。删除表05项目总结项目总结项目总结06项目实战010302实战一在company数据库中创建表。实战二给company数据库中的3个表建立关联。实战三给company数据库中的3个表添加记录。项目实战感谢观看数据查询项目四网络数据库(SQLServer)01简单查询任务引入小林已经建好了数据库、表并录入了数据,如果他想查某个表中的某一列的信息或几列的信息,那么可以使用什么语句来查询所需数据呢?简单查询知识准备SQL查询语句结构:SQL语言中最主要、最核心的部分是它的查询功能。查询语言用来对已经存在于数据库中的数据按照特定的组合、条件表达式或者一定次序进行检索。简单查询简单查询单列查询:单列查询可以对表或视图中的某一列的数据进行查看。SELECT语句中只需给出一个需要查看的列的列名,就可以实现单列的查询。多列查询:SELECT语句不但可以对单列进行查询,还可以对多个列进行查询。查询结果中的列顺序,是根据SELECT语句指定的列名的先后顺序显示的。所有列查询:在对数据表进行查询时,有时需要对表中的所有列进行查询。简单查询02WHERE子句查询任务引入小林通过上一个任务的学习已经会进行简单查询,但是他还想查询表中某个范围的信息,或者满足某个条件的信息。例如,查询成绩在60~70分的学生或者查询某个专业的所有学生信息。那么,可以使用什么语句来查询所需数据呢?WHERE子句查询条件查询条件查询就是指定查询条件,只从表提取或显示满足该查询条件的记录。为了选择表中满足查询条件的某些行,可以使用SQL语句中的WHERE子句。WHERE子句查询逻辑运算查询WHERE子句的查询条件可以是一个逻辑表达式。由多个关系表达式通过逻辑运算符(AND、OR、NOT)连接而成。WHERE子句查询特殊条件查询在WHERE子句查询中除了条件查询和逻辑运算,还有一些比较特殊的查询,如空值查询、范围查询及模糊查询等。WHERE子句查询03排序查询任务引入小林不仅想查询成绩为60~70分的学生信息或者查询某个专业的所有学生信息,还想对表中的信息进行排序,如对学习成绩进行排序。那么,可以使用什么语句来进行排序查询呢?排序查询知识准备通过在SELECT语句中加入ORDERBY子句来控制选择行的显示顺序。ORDERBY子句可以按升序(默认或ASC)降序(DESC)排列各行,也可以按多个列来排序。排序查询按学号升序显示student表的所有记录按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-14所示。排序查询按course_ID升序、credit降序显示course表的所有记录按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-15所示。排序查询04聚合函数任务引入小林需要对学生成绩进行排名,不仅要统计某个专业的人数,还要计算某个学生的期末成绩的平均分及总分。那么,怎么使用聚合函数统计学生人数呢?怎么计算学生的平均分和总分呢?聚合函数知识准备聚合函数用于实现数据统计等功能。常用的聚合函数如表4-1所示。聚合函数查询专业号为“0904”的学生人数按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-16所示。聚合函数查询学生号为“17043219”的平均分按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-17所示。聚合函数查询学生号为“17043219”的总分按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-18所示。聚合函数查询最低分大于70分且最高分小于90分的学号按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-19所示。聚合函数05连接查询任务引入小林想要查找专业所属学院及院长是谁,但是在单个表中没法查询,需要跨表查询。那么,怎么进行连接查询呢?连接查询知识准备在数据查询中,经常涉及提取两个或多个表的数据,这就需要使用表的连接来实现若干个表数据的联合查询。在一个查询中,当需要连接两个或多个表时,可以指定连接列,在WHERE子句中给出连接条件,在FROM子句中指定要连接的表。连接查询01等值连接所谓等值连接,是指表之间先通过“等于”关系连接起来,产生一个连接临时表,然后对该临时表进行处理,生成最终结果。03自连接在数据查询中有时需要将同一个表进行连接,这种连接被称为自连接。02非等值连接所谓非等值连接,是指表之间的连接关系不是“等于”,而是其他关系。连接查询06高级查询任务引入小林在进行数据查询时,需要将另一个查询结果作为条件或数据源,那么,通过什么方法来实现呢?小林就这个问题去咨询老师,老师告诉他可以通过子查询方法来实现。那么,什么是子查询呢?子查询中有哪些语句呢?高级查询数据汇总高级查询为决策支持系统生成聚合事务的汇总报表是一项复杂且相当消耗资源的工作。SQLServer提供了两个灵活且强大的组件,用于生成MicrosoftSQLServerAnalysisServiceso这些组件是程序员在执行SQLServer数据的多维分析时应当使用的主要工具。联接查询联接查询可以根据各个表之间的逻辑关系从两个或多个表中检索数据。联接表示SQLServer应如何使用一个表中的数据来选择另一个表中的行。高级查询子查询子查询是一个SELECT查询,嵌套在SELECT、INSERT、UPDATE、DELETE语句或其他子查询中。子查询也被称为内部查询或内部选择,而包含子查询的语句也被称为外部查询或外部选择。子查询能够将比较复杂的查询分解为几个简单的查询,而且子查询可以嵌套。嵌套查询的过程是:先执行内部查询,因为它查询出来的数据并不被显示出来,而是传递给外层语句,并作为外层语句的查询条件来使用。高级查询07项目总结项目总结项目总结08项目实战查询部门号(deptno)为30的员工信息按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-27所示。项目实战以工资升序、员工号降序的方式显示工资表的所有记泉按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-28所示。项目实战查询工资为5000~6000元的员工,包括员工号、姓言、工作名称及工资按F5键或单击工具栏中的“执行”按钮,执行结果如图4-29所示。项目实战查找工资比平均工资多300元的员工按F5键或者单击工具栏中的“执行”按钮,执行结果如图4-30所示。项目实战感谢观看索引和视图项目五网络数据库(SQLServer)01索引任务引入小林在创建大型数据库时发现信息比较混乱,要是能像书的目录一样通过搜索索引找到特定的值就好了。那么,怎么在数据库中创建索引?怎么查看和删除索引?索引知识准备用户可以利用索引快速访问数据库表中的特定信息。索引是对数据库表中一个或多个列的值进行排序的结构。索引提供指针以指向存储在表中指定列的数据值,并根据指定的次序排列这些指针。索引索引数据库的索引使用方式与书的目录使用方式很相似:首先通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。在数据库关系图中,可以为选定的表创建、编辑或删除索引/键属性页中的每个索引类型。在保存附加在此索引上的表或包含此表的数据库关系图时,索引同时被保存。创建索引SQLServer提供了如下两种方法来创建索引。直接创建索引:使用CREATEINDEX语句或者对象资源管理器来直接创建索引。间接创建索引:在使用CREATETABLE语句创建表,或者使用ALTERTABLE语句修改表时,如果指定PRIMARYKEY约束或UNIQUE约束,则SQLServer自动为这些约束创建索引。索引使用SSMS创建索引(1)在对象资源管理器中选择要创建索引的表(这里选择EMIS数据库中的student表作为要创建索引的表),在“索引”节点上右击,在弹出的快捷菜单中选择“新建索引”→“非聚集索引”命令,如图5-1所示。索引(2)弹出“新建索引”对话框,在“索引名称”文本框中输入索引名称“Index-Native",如图5-2所示。索引单击“添加”按钮,弹出“从‘dbo.student'中选择列”对话框,勾选Native复选框,如图5-3所示。单击“确定”按钮,返回“新建索引”对话框。索引(3)将Native列中的“排序顺序”设置为升序,如图5-4所示。索引设置完成后,单击“确定”按钮即可创建一个新的索引,如图5-5所示。索引使用SQL语言创建索引只有表或视图的所有者,才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。都可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。索引02视图任务引入小林想先将数据库中的几个表导出为视图,然后通过视图检索数据和修改数据。那么,怎么在数据库中创建视图?怎么在视图中进行数据检索?怎么通过视图修改数据?视图知识准备视图是从一个或多个表中使用SELECT语句导出的。这些用来导出视图的表被称为基表。视图也可以从一个或多个其他视图中产生。导出视图的SELECT语句被存放在数据库中,而与视图定义相关的数据并没有在数据库中另外保存一份,因此视图也被称为虚表。视图的行为和表类似,可以通过视图查询表的数据,也可以修改表的数据。视图对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。所以说,视图是一种SQL查询。在数据库中,存储的是视图的定义,而不是视图查询的数据。这个定义使对视图的查询最终转换为对基表的查询。视图创建视图要使用视图,首先必须创建视图。视图在数据库中是作为一个独立的对象进行存储的。使用SSMS创建视图视图保存在数据库中而查询不是,因此创建新视图的过程与创建查询的过程不同。通过SSMS不但可以创建数据库和表,也可以创建视图。视图使用SQL语句创建视图使用CREATEVIEW语句创建视图的完整语法为:视图使用视图使用视图可以检索基表中的数据,也可以修改基表中的数据。例如,插入、删除和修改记录。使用视图检索数据视图是基于基表生成的,因此可以用来将需要的数据集中在一起,而不需要的数据则不需要显示。视图使用创建的student_grade 视图来查询成绩大于90分的学生按F5键或者单击工具栏中的“执行”按钮,执行结果如图5-16所示。视图使用视图修改数据在使用视图修改其中的某些行时,SQLServer将把它转换为对基表的某些行的操作。对简单的视图来说,可能比较容易实现,但是对于比较复杂的视图,可能就不能使用视图进行修改了。视图新建specialty1视图并添加数据按F5键或者单击工具栏中的“执行”按钮,插入数据。插入数据后,查看specialty表,结果如图5-18所示。视图更新数据按F5键或者单击工具栏中的“执行”按钮,更新学院名称。更新数据后,查看college表,结果如图5-19所示。视图新建score1视图,删除学号为16053113的数据按F5键或者单击工具栏中的“执行”按钮,删除student_ID为16053113的数据。删除数据后,查看score表,如图5-20所示。视图删除视图在创建视图后,如果不再需要该视图,或者想清除视图定义及与之相关联的权限,则可以删除该视图。删除视图后,表和视图所基于的数据并不受影响。任何使用基于已删除视图的对象的查询都会失败,除非创建了同样名称的一个视图。视图01使用SSMS删除视图在对象资源管理器中,展开“数据库”节点,展开该视图所属的数据库,选择“视图”节点。03单击“确定”按钮,即可删除视图;单击“取消”按钮,即可取消删除操作。02这里选择EMIS数据库“视图”节点中的st2_degree视图并右击,在弹出的快捷菜单中选择“删除”命令,弹出“删除对象”对话框,其中的“显示依赖关系”按钮用于查看删除此视图对数据库的影响。视图使用SQL删除视图使用DROPVIEW语句可以从当前数据库中删除一个或多个视图。其语法格式为:DROPVIEW{view_name}[…n]其中,viewname表示要删除的视图名称,n表示可以指定多个视图的占位符。视图03项目总结项目总结项目总结04项目实战为emp表的“员工号”和“工作含称”列创建聚集寮引,并且强制唯一性因为这里要创建强制唯一性的索引,所以必须先删除emp表中已经存在的索引。在对象资源管理器中,展开company数据库,选择emp表中的“PK_emp(聚集)”索引并右击,在弹出的快捷菜单中选择“删除”命令,弹出“删除对象”对话框,采用默认设置,单击“确定”按钮,删除已存在的聚集索引。项目实战在对象资源管理器中,选择factory数据库,单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。项目实战按F5键或者单击工具栏中的“执行”按钮,执行结果如图5-21所示。项目实战创建View1视图,查询所有员工的姓名、员工号、所在部门及工资单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。项目实战按F5键或者单击工具栏中的“执行”按钮卜,执行结果如图5-22所示。项目实战感谢观看程序设计项目六网络数据库(SQLServer)01程序设计基础任务引入小林不仅想查询数据,还想对表中的数据进行运算和控制。那么,怎么利用SQL语言进行编程满足要求呢?编写的程序中会用到什么变量,以及流程控制语句呢?程序设计基础知识准备变量:在SQLServer中,变量可以分为局部变量和全局变量。局部变量前面有一个@符号,由用户定义和使用;而全局变量名称前面有两个@符号,由系统定义和维护。程序设计基础局部变量局部变量由用户定义,仅在声明它的批处理、存储过程或触发器中有效。批处理结束后,局部变量将变成无效。程序设计基础查询并输出学院号为03的院长姓名按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-1所示。程序设计基础查询score表中选修课程号为“01054010”且成绩高于80分的记录按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-2所示。程序设计基础提示SELECT@localvariable通常用于将单个值返回变量中。例如,如果“expression"为列名,则返回多个值。如果“expression”是没有返回值的标量子查询,则变量将被设为NULL。一般来说,给变量赋值应该使用SET语句,而不是使用SELECT语句。程序设计基础全局变量全局变量记录了SQLServer的各种状态信息,不仅不能被显式地赋值或声明,而且不能由用户定义。SQLServer中的全局变量,如表6-1所示。程序设计基础程序设计基础流程控制语句SQL提供被称为控制流的特殊关键字,用于控制SQL语句、语句块和存储过程的执行流。这些关键字可用于SQL语句、批处理和存储过程中。控制流语句就是用来控制程序执行流程的语句。使用控制流语句可以在程序中组织语句的执行流程,提高编程语言的处理能力。程序设计基础SQLServer提供的控制流语句如表6-2所示。程序设计基础设置变量值按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-3所示。程序设计基础查询人学语文课程的成绩状况按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-4所示。程序设计基础查询课程的课程类型按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-5所示。程序设计基础查询学生成绩按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-6所示。程序设计基础在查询到成绩表中没有学生成绩超过95分的情况下,将所有成绩提高5分,反复执行,直到有成绩超过95分按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-7所示。程序设计基础输出18032142学号学生的平均成绩按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-8所示。程序设计基础查询18032142学号学生成绩的平均分按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-9所示。程序设计基础02事务处理任务引入小林需要对之前做的数据库进行大量的修改,但是他又因为担心修改不对还得一点一点恢复,所以他咨询老师,怎么处理这个问题。老师告诉他可以采用事物处理来解决这一问题。那么,什么是事物?事物又分为哪些类别呢?显式事务有哪些步骤呢?事务处理知识准备事务是SQLServer中的单个逻辑单元,一个事务内的所有SQL语句作为一个整体执行,要么全部执行,要么都不执行。一个逻辑工作单元必须有4个属性,被称为ACID(原子性、一致性、隔离性和持久性)属性,并且只有这样才能成为一个事务。事务处理01显式事务也被称为用户定义或用户指定的事务,即可以显式地定义启动和结束的事务。03隐式事务当连接以隐式事务模式进行操作时,SQLServer将在提交或回滚当前事务后自动启动新事务。02自动提交事务自动提交事务模式是SQLServer的默认事务管理模式。事务处理显式事务显式事务需要显式地定义事务的启动和结束。它是通过BEGINTRANSACTION、COMMIT

TRANSACTION、COMMIT

WORK

ROLLBACK

TRANSACTION或ROLLBACKWORK等SQL语句来完成的。事务处理启动一个事务向college表中插入一个记录,并回滚该事务按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-10所示。事务处理在事务内设置保存点按F5键或者单击工具栏中的“执行”按钮卜,执行结果如图6-11所示。事务处理010302标记事务WITHMARK使事务名置于事务日志中。不能用于事务的操作在事务处理中,并不是所有的SQL语句都可以取消执行的。自动提交事务SQLServer使用BEGIN

TRANSACTION语句启动显式事务。事务处理一些不能撤销的操作(如创建、修改和删除数据库的操作),即使SQLServer取消了事务执行或者对事务进行了回滚,这些操作对数据库造成的影响也是不能恢复的。因此这些操作不能用于事务处理。这些操作如表6-3所示。事务处理隐式事务在为连接将隐式事务模式设置为打开之后,当SQLServer首次执行某些SQL语句时,都会自动启动一个事务,而不需要使用BEGINTRANSACTION语句。事务处理03使用游标任务引入小刘老师让小林帮忙从学校的数据库中查询他们专业前十名的学生信息并打印出来,可是小林查询出来的是所有学生信息按名次的排名,这时小林想到用游标来提取数据。那么,怎么使用游标呢?使用游标知识准备关系型数据库中的操作会对整个行集产生影响。由SELECT语句返回的行集包括所有满足该语句中WHERE子句的条件的行。由语句所返回的这一完整的行集被称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效处理。这些应用程序需要一种机制,以便每次处理一行或一部分行。游标就是用来提供这种机制的结果集扩展。使用游标在游标被释放后,必须使用DECLARE语句来重新生成游标。其处理过程如图6-12所示。使用游标04项目总结项目总结项目总结05项目实战输出部门号为20的员工工资水平在对象资源管理器中选择company数据库,单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。项目实战按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-15所示。项目实战启动一个事务向dept表中插入一个记录,并回滚该事务单击工具栏中的“新建查询”按钮詹,在打开的窗口中输入下列语句。项目实战按F5键或者单击工具栏中的“执行”按钮,执行结果如图6-16所示。项目实战感谢观看存储过程和触发器项目七网络数据库(SQLServer)01存储过程任务引入小林正在创建一个大型数据库系统,以便完成某一特定功能的存储过程。那么,怎么创建存储过程?怎么使用存储过程?存储过程有哪些参数呢?存储过程知识准备存储过程存储在数据库内,可由应用程序通过一个调用来执行,而且允许用户声明变量、有条件执行,具有强大的编程功能。存储过程可以使得数据库管理、显示关于数据库及其用户信息的工作容易得多。存储过程包含程序流、逻辑,以及对数据库的查询,以便可以接收参数、输出参数、返回单个或多个结果集,以及返回值。存储过程01使用SQL语句来创建和执行存储过程,具有以下优点:可以在单个存储过程中执行一系列SQL语句。03存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快,且能减少网络通信的负担。02可以从自己的存储过程中引用其他存储过程,这可以简化一系列复杂语句。存储过程创建存储过程CREATEPROCEDURE语句的语法格式为:存储过程执行存储过程使用EXECUTE语句执行存储过程,其完整语法格式为:存储过程创建stud_grade存储过程,用于检索所有学生的成绩记录单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。存储过程单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。通过下述SQL语句执行该存储过程:存储过程按F5键或者单击工具栏中的“执行”按钮,执行结果如图7-1所示。存储过程使用系统存储过程查看EMIS数据库和学生表的相关信息单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。存储过程按F5键或者单击工具栏中的“执行”按钮,执行结果如图7-2所示。存储过程存储过程的参数在创建和使用存储过程时,其参数是非常重要的。下面详细讨论存储过程的参数传递和返回。存储过程010302使用参数在调用存储过程时,有两种传递参数的方法。使用默认参数在创建存储过程时,可以为参数提供一个默认值,默认值必须为常量或NULL。使用返回参数在创建存储过程时,可以定义返回参数。存储过程存储过程的返回值存储过程在执行后都会返回一个整型值。如果执行成功,则返回0;否则返回-99-1的数值。存储过程也可以使用RETURN语句来指定一个返回值。存储过程存储过程的删除不再需要存储过程时可以将其删除。存储过程的删除通过DROPPROCEDURE语句来完成。存储过程02触发器任务引入小林不仅想要保证数据库系统中数据完整性,还想在多个表中添加、更新或删除行时保留表之间所定义的关系,因此他通过咨询师兄得知,可以在程序中设置一个触发器。那么,怎么创建触发器?怎么使用触发器呢?触发器知识准备触发器在使用INSERT、UPDATE或DELETE语句对表或视图进行修改时会自动执行。触发器可以查询其他表,并且可以包含复杂的SQL语句。一个表可以有多个触发器。触发器创建触发器:使用SSM创建触发器(1)在对象资源管理器相应数据库的表节点下选择“触发器”节点并右击,在弹出的快捷菜单中选择“新建触发器”命令,如图7-4所示。触发器(2)打开对应的窗口,在窗口中修改创建触发器的模板代码,如图7-5所示。触发器使用T-SQL创建触发器使用CREATETRIGGER语句创建触发器,其语法格式为:触发器使用触发器SQLServer除了INSERT、UPDATE和DELETE这3种触发器,还提供了INSTEAD

OF

INSERT、INSTEADOFUPDATE和INSTEADOFDELETE触发器。触发器INSERT触发器:创建一个触发器,当执行INSERT操作时,该触发器被触发(1)创建触发器。单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。触发器按F5键或者单击工具栏中的“执行”按钮,创建trigger1触发器,如图7-6所示。触发器(2)执行INSERT操作。单击工具栏中的“新建查询”按钮,继续输入下面语句。触发器按F5键或者单击工具栏中的“执行”按钮,执行结果如图7-7所示。触发器UPDATE触发器当向表中更新记录时,UPDATE触发器被执行。在一般情况下,UPDATE触发器常用来检查修改后的数据是否满足要求。触发器删除触发器:删除trigger1触发器单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。触发器03项目总结项目总结项目总结04项目实战创建名为PRO的存储过程来查询部门号为30的员工信息单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。项目实战按F5键或者单击工具栏中的“执行”按钮,执行结果如图7-10所示。项目实战创建一个触发器,将7521号员工的工资修改为6000元(1)创建触发器。单击工具栏中的“新建查询”按钮,在打开的窗口中输入下列语句。项目实战(2)触发触发器并更新数据。单击工具栏中的“新建查询”按钮,继续输入下列语句。项目实战按F5键或者单击工具栏中的“执行”按钮,执行结果如图7-11所示。项目实战感谢观看数据安全与保护项目八网络数据库(SQLServer)01账号和角色任务引入小林经过这一段时间的学习,终于建成了一个达到自己要求的数据库系统,但是为了防止别人访问或修改数据库,他需要创建一个登录账号和用户账号。那么,怎么创建登录账号?怎么创建用户账号,并将用户账号关联到登录账号?账号和角色知识准备在SQLServer中,账号有两种,一种是登录服务器的登录账号(loginname),即登录名,另一种是使用数据库的用户账号(username),即用户名。登录账号只是让用户登录SQLServer,而登录账号本身并不能让用户访问服务器中的数据库。要访问特定的数据库,还必须具有用户账号。账号和角色用户账号在特定的数据库内创建,并关联一个登录账号(当创建一个用户时,必须关联一个登录账号)。用户定义的信息存放在服务器上的每个数据库的sysusers表中,用户没有密码同它相关联。通过授权给用户来指定用户可以访问的数据库对象的权限。账号和角色提示可以这样想象,假设SQLServer是一个包含许多房间的大楼,每一个房间代表一个数据库,房间里的资料可以表示数据库对象。而登录账号就相当于进入大楼的钥匙,每个房间的钥匙就是用户账号。房间中的资料根据用户账号的不同而有不同的权限。账号和角色服务器的登录账号在安装SQLServer后,系统默认创建登录账号。在对象资源管理器中,展开“安全性”→“登录名”节点,即可看到系统创建的默认登录账号,如图8-1所示。其中,默认sa登录账号是超级管理员账号,允许SQLServer的系统管理员登录。为了登录SQLServer,用户必须有一个登录账号。账号和角色数据库的用户如果用户想访问SQLServer,首先要有一个适当的登录账号和密码来登录SQL

Server。但用户登录后,并不意味着能自动访问由SQLServer管理的数据库中的数据,他们还要有一个适当的数据库用户账号,才能访问SQLServer的数据。账号和角色如图8-11所示,有4个不同的登录账号有权登录SQLServer数据库,但在第一个数据库的系统用户表中只有两个用户账号,在第二个数据库的系统用户表中只有3个用户账号,在第三个数据库的系统用户表中只有两个用户账号。账号和角色角色角色是一个强大的工具,可以将用户集中到一个单元中,并对该单元应用权限。因为角色的授予、拒绝或废除权限也适用于该角色的任何成员,所以我们可以建立一个角色来代表单位中一类工作人员所执行的工作,并给这个角色授予适当的权限。账号和角色当工作人员开始工作时,只需将他们添加为该角色成员即可;当他们离开工作时,将他们从该角色中删除。而不必在每个人接受或离开工作时,反复授予、拒绝和废除其权限。权限在用户成为角色成员时自动生效。账号和角色和登录账号类似,用户账号也可以分成组,也被称为数据库角色(DatabaseRoles)数据库角色是对某个数据库具有相同访问权限的用户账户和组的集合。数据库角色应用于单个数据库。当最终用户通过客户应用程序连接到分析服务器时,数据库角色中的规范将对分析服务器上的对象进行访问。数据库角色不是用来授权或拒绝对于对象的管理访问。账号和角色02备份和还原数据库任务引入小林发现创建的数据库有的数据丢失了,急得小林直上火。这时他同学告诉他,最好经常备份数据库,这样能减少丢失数据的危险。那么,怎么备份数据库呢?如何将备份的数据库进行还原呢?备份和还原数据库知识准备对计算机用户来说,将一些重要文件、资料定期进行备份是一种良好的习惯。同样地,对数据库管理员和用户来说,将数据库进行备份与还原(或恢复)依然是一项重要且不可缺少的工作。同样地,对数据库管理员和用户来说,将数据库进行备份与还原(或恢复)依然是一项重要且不可缺少的工作。备份和还原数据库因为在一个复杂的大型数据库中,造成数据丢失的原因有很多。用户对数据库的误操作或恶意操作、物理磁盘的数据冲突、外界突发事件的影响等,这些都有可能造成数据损失,甚至是系统崩溃。这时,就需要根据以前的数据库备份完成符合需求的还原和重建工作。备份和还原数据库数据库备份数据库备份就是在完成创建备份时数据库内存在的数据的副本。数据库备份是一件相当麻烦的工作,需要认真规划。不同的备份策略会直接影响数据库的还原工作。备份和还原数据库数据库还原:还原数据库备份使用SSMS还原数据库备份(1)在对象资源管理器中选择EMIS数据库并右击,在弹出的快捷菜单中选择“删除”命令,弹出“删除对象”对话框,取消勾选“删除数据库备份和还原历史记录信息”复选框,如图8-30所示。单击“确定”按钮,删除EMIS数据库。备份和还原数据库(2)在对象资源管理器中选择“数据库”节点并右击,在弹出的快捷菜单中选择“还原数据库”命令,如图8-31所示。备份和还原数据库(3)弹出“还原数据库-EMIS”对话框,选中“设备”单选按钮,单击右侧的按钮,弹出如图8-32所示的“选择备份设备”对话框。备份和还原数据库(4)单击“添加”按钮,弹出“定位备份文件DESKTOP-HTF7CGT”对话框,选择备份的“EMIS.bak”文件,如图8-33所示,单击“确定”按钮,返回“还原数据库-EMIS"对话框。备份和还原数据库(5)在“还原数据库-EMIS”对话框中确保勾选“EMIS-完整数据库备份”左侧的复选框,其他采用默认设置,如图8-34所示。备份和还原数据库(6)单击“确定”按钮,SQLServer开始还原操作,完成后弹出如图8-35所示的提示对话框,表示还原成功。备份和还原数据库此时在对象资源管理器中列出还原后的EMIS所示。备份和还原数据库03数据的导入和导出任务引入小林想在SQLServer数据库服务器与其他数据库服务器间移动数据,怎么才能将数据移到其他数据服务器中呢?小林就这个问题咨询老师,老师告诉他可以将SQLServer数据库服务器中的数据导出,或者将其他数据库服务器中的数据导入SQLServer数据库服务器来实现。那么,怎么将数据导出呢?怎么将数据导入呢?数据的导入和导出数据的导出在“开始”菜单中选择“SQLServer2019导入和导出数据(64位)”命令,弹出“SQLServer导入和导出向导”对话框,如图8-37所示。采用默认设置,单击“下一步”按钮。数据的导入和导出数据的导入在“开始”菜单中选择“SQLServer2019导入和导出数据(64位”命令,弹出"SQLServer导入和导出向导”对话框,采用默认设置,单击“下一步”按钮。数据的导入和导出04项目总结项目总结项目总结05项目实战创建一个登录账号ABC/12345602输入登录名"ABC",选中"SQLServer身份验证"单选按钮,输入密码"123456"。在“默认数据库”下拉列表中选择company选项。01在对象资源管理器中选择“登录名”节点并右击,在弹出的快捷菜单中选择“新建登录”命令,弹出“登录名-新建”对话框。项目实战010302在“服务器角色”选项卡中,勾选securityadmin复选框。在“用户映射”选项卡中,勾选company复选框。设置完成后,单击“确定”按钮,创建一个名称为ABC的登录账号。项目实战在company数据库中创建一个用户账号,弁将其关联到ABC登录账号中在对象资源管理器中,展开“数据库”→rcompany节点,选择“用户”节点并右击,在弹出的快捷菜单中选择“新建用户”命令,弹出“数据库用户新建”对话框。项目实战在“用户名”和“登录名”中输入“ABC”。设置完成后,单击“确定”按钮,即可在ABC数据库中创建一个新的用户账号。项目实战感谢观看Java与数据库项目九网络数据库(SQLServer)01概述任务引入小林已经在SQLServer中创建好了数据库,并且学会在SQLServer中查询所需数据,现在他想使用Java来访问数据库。那么,如何使用Java访问数据库呢?在使用Java访问数据库之前需要先安装Java开发包。那么,怎么安装Java的开发包JDK呢?概述知识准备Java访向数据库的方式:Java可以访问的数据库类型有许多种,以上主流的关系型数据库管理系统都支持。Java访问数据库的方式有如下几类:使用JDBC(JavaDataBaseConnection,Java数据库连接)方式;使用MyBatis框架方式;使用ORM框架方式。概述Java几乎可以访问所有的主流数据库,其中,JDBC能以灵活、高度定制的统一方式访问各种数据库,但是开发量相对较大;MyBatis虽然在一定程度上封装了JDBC,但是封装的层次较低,无法实现数据库移植性;而以Hibernate为典型代表的ORM把JDBC访问数据库的通用操作进行了高层次的封装。ORM实现的JPA标准一统各家ORM的天下,开发量较小且有统一的标准接口,实现了数据库移植性。概述图9-1所示为全球范围内Java访问数据库的各方式的流行度排名图。概述JDK的安装JDK的全称为JavaDevelopmentKit,即Java开发包,这是使用Java访问数据库的必装软件工具包。JDBC和JPA本来就是JDK的一部分,ORM方式的使用也会依赖于JDK。概述02利用JDBC访问数据库任务引入小林已经安装好了Java的开发包JDK,不仅想利用JDBC访问在SQLServer中创建的教学管理系统数据库,还想对学院表中的数据进行修改和查询。那么,怎么下载、安装JDBC呢?怎么利用JDBC访问数据库呢?利用JDBC访问数据库知识准备JavaJDBCforSQLServer驱动包的下载:先到微软官网上找到适用于SQLServer2019及以上的JavaJDBC版本的下载链接,然后下载到本机。以JavaJDBCforSQLServer驱动包配置构建路径(ConfigureBuildPath):本书以EclipseIDEforJavaDevelopers为例,其他IDE的操作方法大同小异。利用JDBC访问数据库如果打算新建MavenProject,具体步骤如下。(1)选择File→New→Project命令,在弹出的NewProject对话框中,选择

温馨提示

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

评论

0/150

提交评论