SQLServer实例教程(第4版)课件 1-6 数据库设计-学生选课管理系统_第1页
SQLServer实例教程(第4版)课件 1-6 数据库设计-学生选课管理系统_第2页
SQLServer实例教程(第4版)课件 1-6 数据库设计-学生选课管理系统_第3页
SQLServer实例教程(第4版)课件 1-6 数据库设计-学生选课管理系统_第4页
SQLServer实例教程(第4版)课件 1-6 数据库设计-学生选课管理系统_第5页
已阅读5页,还剩329页未读 继续免费阅读

下载本文档

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

文档简介

任务1数据库设计—

设计学生选课管理系统数据库任务导入某高校学生选课系统要求,学生根据开课清单选课。系统根据教学计划检查应修的必修课并自动选择;检查是否存在未取得学分的必修课,如果存在,则要求重选;学生按选修课选课规则选学选修课(例如4组选修课中选3门);查询学生的各门课程的成绩、学分及平均学分绩。输出学生的个人课表,输出学生的选课交费清单。

具体工作任务学生选课管理系统需求分析学生选课管理系统数据库概念结构设计21学生选课管理系统数据库逻辑结构设计31任务1-1学生选课管理系统需求分析

主要知识与技术

知识1:数据库及相关概念知识2:数据库设计的任务、内容和步骤知识3:数据库系统需求分析的基本步骤知识1:数据库及相关概念数据库(DataBase)是存放数据的仓库。我们可以借助存放货物的仓库来理解数据库,只不过这些货物是数据,这个仓库是建立在计算机上的。严格的定义,数据库是长期存储在计算机内的、有组织的、可共享的数据集合。数据库管理系统(DataBaseManagementSystem简称DBMS)是位于用户与操作系统之间的一层数据管理软件,例如我们学习的SQLServer2000就是一个DBMS。

知识1:数据库及相关概念数据库系统(DataBaseSystem,简称DBS)是采用数据库技术的计算机系统。数据库系统由数据库、数据库管理系统及开发工具、数据库应用程序、数据库管理员和用户组成,如图所示。数据库操作系统数据库管理系统应用开发工具应用系统用户用户数据库管理员用户知识2:数据库设计的任务、内容和步骤1.数据库设计的任务数据库设计的任务是针对一个给定的应用环境,创建一个良好的数据库模式,建立数据库及其应用系统,使之能有效的收集、存储、操作和管理数据,满足用户的各种需求。2.数据库设计的内容数据库设计是在一个通用的DBMS支持下进行的,即利用现成的DBMS作为开发的基础。数据库设计的内容主要包括结构特性设计和行为特性的设计两个方面的内容。结构特性的设计是指确定数据库的数据模型,数据模型反映了现实世界的数据及数据之间的联系,在满足要求的前提下,尽可能的减少冗余,实现数据的共享。知识2:数据库设计的任务、内容和步骤行为特性的设计是指确定数据库应用的行为和动作,应用的行为体现在应用程序中,行为特性的设计主要是应用程序的设计。因为在数据库工程中,数据库模型是一个相对稳定的并为所有用户共享的数据基础,所以数据库设计重点是结构特性设计,但必须与行为特性设计相结合。3.数据库设计的步骤人们不断的研究探索,提出了各种数据库的规范设计方法,其中比较有名的是新奥尔良法(NewOrleans),按照规范设计方法,考虑数据库及其应用系统开发的全过程,将数据库的设计分为如下六个阶段:需求分析阶段,概念设计阶段,逻辑设计阶段,物理设计阶段,实施阶段,运行和维护阶段。各阶段也不是严格线性的,而是采取“反复探寻、逐步求精”的方法,如图1.2所示。知识2:数据库设计的任务、内容和步骤数据库设计步骤如图:

不满意不满意需求收集和分析概念设计逻辑设计物理设计实施阶段运行维护概念设计逻辑设计物理设计系统实施试运行运行和维护及转换规则DBMS功能优化方法DBMS的详细功能书应用需求(数据,处理)知识3:数据库系统需求分析的基本步骤1.需求分析的任务需求分析的任务是通过详细调查现实世界中要处理的对象(组织、部门、企业)等,在了解现行系统工作情况,确定新系统功能的过程中,收集支持系统运行的基础数据及其处理方法,明确用户的各种需求。调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下需求:(1)信息需求。指用户要从应用系统中获得信息的内容与性质。即未来系统中要输入的信息,从数据库中要获得什么信息等。由信息的要求就可以导出数据的要求,即在数据库中存储什么数据(2)处理要求。指用户要完成什么样的处理,对处理的响应时间有什么要求,是什么样的处理方式。知识3:数据库系统需求分析的基本步骤(3)安全性与完整性要求。确定用户的需求是非常困难的,因为用户往往对计算机应用不太了解,难以准确表达自己的需求。另一方面,计算机专业人员又缺乏用户的专业知识,存在与用户准确沟通的障碍。只有通过不断与用户深入地交流,才能准确地确定用户的真正需求。2.需求分析基本步骤(1)需求的收集:收集数据及其发生时间、频率,数据的约束条件、相互联系等。(2)需求的分析整理①数据流程分析,结果描述产生数据流图。②数据分析统计,对输入、存储、输出的数据分别进行统计。③分析数据的各种处理功能,产生系统功能结构图。

任务实施

完成任务1.按学生选课管理系统要求,写出需求分析文档。任务评价学生任务展示要求:按小组完成上述任务。任务点评任务1-2学生选课管理系统数据库概念结构设计

主要知识与技术

知识1:数据模型知识2:关系数据库知识3:数据库概念结构设计知识1:数据模型1.数据模型数据模型是现实世界数据特征的抽象,是现实世界的模拟。数据模型同样是现实世界中数据和信息在数据库中的抽象与表示。数据模型应满足三方面要求:一是能比较真实的模拟现实世界;二是容易为人所理解;三是便于在计算机中实现。根据模型应用目的的不同,数据模型可以分为两类,一类是概念模型,它是按用户的观点来对数据和信息进行抽象,主要用于数据库设计;另一类是结构数据模型,它是按计算机的观点建模,主要用于DBMS的实现。概念模型是现实世界到信息世界的第一次抽象,用于信息世界的建模,是数据库设计人员的有利工具,也是数据库设计人员与用户之间交流的语言。知识1:数据模型2.信息世界的基本概念(1)实体(Entity)实体是指客观存在并可以相互区别的事物。实体可以是具体的人、事、物,也可以是抽象的概念和联系。例如,一个部门、一个产品、一名学生等都是实体。(2)属性(Attribute)实体所具有的某一特性称为实体的属性,一个实体有若干个属性来描述。例如,教师实体可以由教师编号、姓名、性别、职称、学历、工作时间等属性描述。知识1:数据模型(3)联系(Relationship)在现实世界中,事物内部及事物之间是普遍联系的,这些联系在信息世界中表现为实体型内部各属性之间的联系以及实体型之间的联系。两个实体型之间的联系可以分为三类:①一对一联系(1:1)②一对多联系(1:n)③多对多联系(m:n)知识1:数据模型3.概念模型的表示方法概念模型是信息世界比较真实的模拟,容易为人所理解,概念模型应该方便、准确的表示出信息世界中常用概念。概念模型的表示方法很多,其中比较著名的是实体—联系方法(Entity-Relationship),该方法用E-R图来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆表示,椭圆内写明属性名,用无向边将属性与实体连起来。联系:用菱形表示,菱形框内写明联系名,用无向边与有关实体连接起来,同时在无向边上注明联系类型。需要注意的是,联系也具有属性,也要用无向边与联系连接起来。知识1:数据模型4.常用的结构数据模型结构数据模型直接描述数据库中数据的逻辑结构,这类模型涉及到计算机系统,又称为基本数据模型。它是用于机器世界的第二次抽象。目前,常用的结构数据模型有四种,他们是:层次模型(HierarchicalMode)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)知识2:关系数据库1.关系模型关系模型由三部分组成:数据结构、关系操作、关系的完整性。

(1)关系模型:用二维表格结构来表示实体及实体间联系的模型称为“关系模型”(RelationalModel)。(2)属性和值域:在二维表中的列(字段、数据项)称为属性(Attribute),列值称为属性值,属性值的取值范围称为值域(Domain)。(3)关系模式:在二维表格中,行定义(记录的型)称为关系模式(RelationSchema)。(4)元组与关系:在二维表中的行(记录的值),称为元组(Tuple),元组的集合称为关系,关系模式通常也称为关系。(5)关键字或码:在关系的属性中,能够用来唯一标识元组的属性(或属性组合)称为关键字或码(Key)。关系中的元组由关键字的值来唯一确定,并且关键字不能为空。知识2:关系数据库2.关系模型的数据结构关系模型的数据结构是一种二维表格结构,在关系模型中现实世界的实体与实体之间的联系均用二维表格来表示。3.关系模型的数据完整性数据完整性是指关系模型中数据的正确性与一致性。关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户自定义的完整性约束。关系型数据库系统提供了对实体完整性、参照完整性约束的自动支持,也就是在插入、修改、删除操作时,数据库系统自动保证数据的正确性与一致性。知识3:数据库概念结构设计1.概念设计的策略和步骤(1)设计概念结构的策略有如下几种:①自顶向下:首先定义全局概念结构的框架,再做局部细化。②自底向上:先定义每一局部应用的概念结构,然后按一定的规则把他们集成,进而得到全局的概念结构。③由里向外:首先定义核心结构,然后再扩展。④混合策略:就是将自顶向下和自底向上结合起来,先用前一种方法确定框架,再用自底向上设计局部概念,然后再结合起来。(2)常用自底向上策略的设计步骤①进行局部抽象,设计局部概念。②将局部概念模式综合成全局概念模式③进行评审,改造。知识3:数据库概念结构设计2.采用E-R方法的数据库概念设计步骤设计步骤分三步:(1)设计局部E-R模型。注意:作为属性,不能是再具有需要描述的性质;属性不能与其它实体具有联系。(2)设计全局E-R模型将所有局部的E-R图集成为全局的E-R概念模型,一般采用两两集成的方法,即先将具有相同实体的E-R图,以该相同的实体为基准进行集成,如果还有相同的实体,就再次集成,这样一直继续下去,直到所有具有相同实体的局部E-R图都被集成,从而得到全局的E-R图。在集成的过程中,要消除属性、结构、命名三类冲突,实现合理的集成。

知识3:数据库概念结构设计(3)全局E-R模型的优化一个好的全局的E-R模型能反映用户功能需求外,还应做到实体个数尽可能少,实体类型所含属性尽可能少,实体类型间的联系无冗余。全局E-R模型的优化就是要达到这三个目的。采用以下集中方法:①合并相关的实体类型:把1:1联系的两个实体类型合并,合并具有相同键的实体类型。②消除冗余属性与联系:消除冗余主要采用分析法,并不是所有的冗余必须消除,有时为了提高效率,可以保留部分冗余。知识4:学生选课管理系统分析与设计1.学生选课管理系统需求(部分)描述:①系统需要对教师信息进行管理,包括:教师号、姓名、性别、出生日期、学历、职务、职称;②系统需要对课程信息进行管理,包括:课程编号、课程类型、课程名、学时、学分;③系统需要对学生信息进行管理,包括:学号、姓名、性别、出生日期、入学年份、专业、班级;任务:找出此段系统需求描述中的实体。知识4:学生选课管理系统分析与设计系统需要对班级信息进行管理,包含:班级名称、入学年份;系统需要对专业信息进行管理,包含:专业名称、专业简介;系统需要对系部信息进行管理,包含:系部名称、系部简介;任务:找出此段系统需求描述中的实体知识4:学生选课管理系统分析与设计班级由学生组成;教师每学期选择任教的课程;学生每学期均选修课程;选修的课程具有课程成绩;系部包含专业;专业包含班级;任务:找出此段系统需求描述中的关系

任务实施

完成任务完成前面课件中的任务。任务评价学生任务展示要求:按小组完成上述任务。任务完成情况点评任务1-3学生选课管理系统数据库逻辑结构设计

主要知识与技术

知识1:数据库逻辑结构设计相关知识知识2:范式知识3:学生选课管理系统物理实现知识1:数据库逻辑结构设计相关知识概念结构是独立于任何数据模型的信息结构。逻辑结构设计的任务就是将概念模型转化成特定的DBMS系统所支持的数据库的逻辑结构。1.逻辑结构设计的步骤由于现在设计的数据库应用系统都普遍采用支持关系模型的RDBMS,所以这里仅介绍关系数据库逻辑结构的设计。关系数据库逻辑结构设计时一般分三步:①将概念结构向一般的关系模型转换。②将转换来的关系模型向特定的RDBMS支持的数据模型转换。③对数据模型进行优化。

知识1:数据库逻辑结构设计相关知识2.E-R模型向关系数据库的转换规则(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则相连的每个实体的码及该联系的属性是该关系模式的属性,每个实体的码均是该关系模式的候选码。(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n段对应的关系模式合并。如果转换为一个独立的关系模式。与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。知识1:数据库逻辑结构设计相关知识(4)一个m:n联系转换为一个关系模式。与该联系相连的各个实体的码及联系本身的属性转换为关系的属性,而该关系的码为各实体的码的组合。(5)三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码及联系本身的属性转换为关系的属性,而该关系的码为各实体码的组合。(6)具有相同码的关系模式可以合并。知识1:数据库逻辑结构设计相关知识3.关系数据库的逻辑设计关系数据库逻辑设计的过程如下:(1)导出初始的关系模式:将E-R模型按规则转换成关系模式。(2)规范化处理:消除异常,改善完整性、一致性和存储效率,一般达到3NF就可以了。(3)模式评价:检查数据库模式是否能满足用户的要求,它包括功能评价和性能评价。(4)优化模式:采用增加、合并、分解关系的方法优化数据模型的结构,提高系统性能。(5)形成逻辑设计说明书。知识2:范式为了使数据库设计的方法走向规范,1971年E.F.Codd提出了规范化理论,目前规范化理论的研究已经取得了很多的成果。关系数据理论就是指导产生一个具有确定的、好的数据库模式的理论体系。1.数据依赖现实世界随着时间在不断地变化,因而从现实世界经过抽象而得到的关系模式的关系也会有所变化。但是,现实世界的许多已有事实限定了关系模式所有可能的关系必须满足一定的完整性约束条件。这些约束条件通过对属性取值范围的限定反映出来,我们称之为依赖于值域元素语义的限制,例如,学生出生日期为1980而入学时间为1980,这显然是不合理的;这些约束条件通过对属性值之间的相互关联(主要体现在值的相等与否)反映出来,这类限制统称为数据依赖,而其中最重要的是函数依赖和多值依赖,它是数据模式设计的关键。

知识2:范式(1)函数依赖函数依赖普遍存在于现实生活中,比如描述一个学生的关系,学生(学号,姓名,系名),由于一个学号只对应一个学生,一个学生只在一个系学习,因而,当学号值确定之后,姓名和该学生所在的系名的值也就唯一的确定了,这样我们就称“学号”函数决定“姓名”和“系名”,或者说“姓名”和“系名”函数依赖于“学号”,记为:学号→姓名,学号→系名。(2)函数依赖的分类关系数据库中函数依赖主要有如下几种:①平凡函数依赖和非平凡函数依赖②完全函数依赖和部分函数依赖③传递函数依赖知识2:范式2.关系模式的规范化在介绍了关系数据理论的一些基本概念之后,下面我们将讨论如何根据属性间依赖情况来判定关系是否具有某些不合适的性质,按属性间的依赖情况来区分关系规范化的程度为第一范式、第二范式、第三范式和第四范式等,以及如何将具有不合适性质的关系转换为更合适的形式。关系数据库中的关系要满足一定的要求,满足不同程度要求的为不同范式,满足最低要求的叫第一范式,简称1NF,在第一范式中进一步满足一些要求的为第二范式,其余范式依此类推。知识3:学生选课管理系统物理实现根据E-R图设计选课系统的数据库中的表及字段实体和关系均设计为表关系一般设计为表的约束,此部分内容到后面再讲,这里先设计为表属性设计为表中的字段实体转换成的表中要包含主键关系转换成的表包含所涉及到的相关实体的主键命名规范Pascal命名规范首字母和后面的每个单词的首字母都大写;其他字母小写

BackColorCamel命名规范首字母小写,而后面的每个单词的首字母大写;其他字母小写backColor任务实施完成任务1.设计数据库物理结构2.填写数据库设计报告中的第3节和第4.0节3.将教师表、任教表和课程表三个表的字段填写为4.1-4.3节,只填写“列名”和“说明”列即可,“数据类型(精度范围)”、“空/非空”和“约束条件”列不填4.所有表的主键统一命名为“表名+Id”,如教师表主键命名为“TeacherId”5.表、列命名统一采用Pascal命名规范任务评价学生任务展示要求:按小组完成上述任务。任务完成情况点评任务2安装、配置SQLServer2012任务引入学生选课管理已经普遍使用数据库进行管理,数据库管理方式已成为当前数据管理的基本方式。通过了解发现,有的使用的是Access,有的使用的是MicrosoftSQLServer。美国微软的SQLServer是一种性价比比较好的数据库管理系统,目前在中小企业中广泛应用。因此,主要介绍SQLServer2012。具体工作任务安装SQLServer20121配置SQLServer20122使用SQLServer20123任务2-1安装SQLServer2012

主要知识与技术

知识1:SQLServer2012简介

知识2:SQLServer2012的版本和安装要求知识1:

SQLServer2012简介SQLServer2012简介“MicrosoftSQLServer2012是用于大规模联机事务处理、数据仓库、电子商务应用的数据库和数据分析平台”。SQLServer2012为使用者提供了强大的、界面友好的工具,同时降低了多平台创建、部署、管理和使用企业数据及分析应用程序的复杂性。知识2:

SQLServer2012的安装1.SQLServer2012的版本安装SQLServer2012之前须对其版本有一定的了解,才能正确的选用与安装。(1)企业版:支持32位和64位系统,作为生产数据库服务器使用,支持SQLServer2012中的所有可用功能,是超大型企业理想的选择,能够满足最复杂的要求。(2)标准版:支持32位和64位系统,是一个完全的数据管理和分析平台,是需要全面的数据管理和分析平台的中小型企业的理想选择。(3)商业智能版:支持32位和64位系统,是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。知识2:

SQLServer2012安装1.SQLServer2012系统需求(1)安装SQLServer2012硬件要求硬件最低要求处理器(CPU)处理器主频不低于:X861.0GHz,X841.4GHz建议:2GHz或更高内存(RAM)最小要求1GB,建议2GB以上硬盘空间数据库引擎和数据文件、复制以及全文搜索:280MB;AnalysisServices和数据文件:90KB;ReportingServices和报表管理器:120

MB;IntegrationServices:9MB;客户端组件:120MB;管理工具:850MB;SQLServer联机丛书和SQLServerMobile联机丛书:240

MB;知识2:

SQLServer2012安装1.SQLServer2012系统需求(3)安装SQLServer2012对网络环境要求网络组件最低要求IE浏览器IE6.0SP1或更高版本,如果只安装客户端组件且不需要连接到要求加密的服务器,则InternetExplorer4.01SP2即可IIS安装报表服务需要IIS5.0以上ASP.NET2.O报表服务需要ASP.NET任务实施学生分组资料收集、整理完成任务评价及补充点评学生任务完成情况总结任务实施情况补充讲解任务2-2配置SQLServer

主要知识与技术

知识1:SQLServer服务管理知识2:SQLServer服务器的配置知识1:SQLServer服务管理SQLServer服务管理有以下三种方法:(1)使用SQLServer配置管理器管理SQLServer服务(2)使用操作系统“服务”窗口管理SQLServer服务(3)使用SSMS管理SQLServer服务知识2:SQLServer服务器的配置SQLServer服务器的配置包括注册服务器,启动、停止、暂停服务器,以及服务器属性配置等。在“对象资源管理器”中,选择要配置的服务器名,单击右键,在弹出的快捷菜单中执行“属性”命令,在“服务器属性”窗口中,用户可以根据需要,选择不同的选项卡标签,查看或修改服务器设置、数据库设置、安全性、连接等。任务2-3使用SQLServer

主要知识与技术

知识1:启动SSMS知识2:SSMS操作界面知识3:使用SSMS知识1:

启动SSMS1.启动SSMS(1)在“开始”菜单中,依次执行“开始”→“程序”→“MicrosoftSQLServer2005”→“SQLServerManagementStudio”命令菜单,打开“连接到服务器”对话框。(2)在“连接到服务器”对话框中,验证默认设置(或者在服务器类型、服务器名称和身份验证中输入或选择正确信息),再单击“连接”按钮,即可登录进入SQLServerManagementStudio管理界面。知识2:

SSMS操作界面2.

SSMS操作界面(1)对象资源管理器窗口(2)已注册的服务器窗口(3)“摘要”文档窗口知识3:使用SSMS3.使用SSMS(1)注册服务器(2)对象资源管理器的连接(3)使用查询编辑器(4)附加、分离数据库任务实施学生分组资料收集、整理完成任务安装SQLServer2005配置SQLServer使用SSMS评价及补充点评学生任务完成情况总结任务实施情况补充讲解谢谢!任务3数据库操作--创建学生选课管理系统数据库任务引入为了有效地对学生选课信息进行管理,需要建立一个学生选课管理系统,而创建学生选课管理系统的一项重要工作就是建立学生选课管理系统数据库。我们的任务就是按照用户需求建立数据库。具体工作任务使用SSMS创建数据库1使用SSMS管理数据库2使用T-SQL创建数据库3使用T-SQL管理数据库4任务3-1使用SSMS创建数据库

主要知识与技术

知识1:数据库和数据库系统知识2:SQLServer数据库知识3:使用SSMS创建数据库知识1:数据库和数据库系统1.数据库(DB)数据库是长期存储在计算机内、有组织、可共享的数据集合(集中式与分布式)。数据库的特点:(1)数据库中的数据按一定的数据模型组织、描述和存储(2)具有较小的冗余度(3)具有较高的数据独立性和易扩充性(4)为各种用户共享知识1:数据库和数据库管理系统2.数据库管理系统(DBMS)DBMS是一个管理数据库的软件,是数据库系统的核心,完成数据的组织、存储、维护、获取等任务。数据库管理系统的功能:(1)数据定义(2)数据操纵(3)数据库运行管理(4)数据库的建立和维护功能(5)数据通信知识1:数据库和数据库管理系统3.数据库应用系统是开发人员利用数据库系统资源开发的面向某一类实际应用的软件系统。4.数据库系统(DBS)数据库系统通常是指采用数据库技术的计算机系统。由数据库、数据库管理系统及开发工具、数据库应用程序、数据库管理员和用户组成。知识1:数据库和数据库管理系统数据库数据库管理系统应用程序1应用程序2应用程序n用户m数据库系统••••••应用程序3用户1用户2知识2:

SQLServer数据库1.

SQLServer数据库中的各种对象数据文件日志文件学生选课管理数据库数据、表、存储过程、触发器、视图、规则、默认值、索引、权限、用户定义数据类型、数据库用户、数据库规则等对象SQLServer数据库是有组织的数据集合,这种数据集合具有逻辑结构并得到数据库系统的管理和维护。SQLServer允许创建并存储数据库对象(如表、视图、存储过程、触发器等)。知识2:

SQLServer数据库2.数据库文件数据库在磁盘上以文件为单位存储由数据库文件和事务日志文件组成一个数据库至少包含一个主数据库文件和一个事务日志文件(1)主数据库文件(PrimaryDatabaseFile)

一个数据库可以有一个或多个数据库文件,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为mdf。主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。一个数据库只能有一个主数据库文件。知识2:

SQLServer数据库(2)辅助数据库文件(SecondaryDatabaseFile)用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。

辅助数据库文件的扩展名为ndf(简称为辅助文件)。(3)事务日志文件事务日志文件存储数据库的更新情况等事务日志信息,当数据库损坏时,管理员使用事务日志恢复数据库。每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为ldf,日志文件的大小至少是512KB。注意:数据文件和日志文件总是分开存放的。知识2:

SQLServer数据库3.文件组文件组是文件的集合。对文件进行分组,便于进行数据的管理和分配磁盘空间。例如有三个数据文件data1.ndf,data2.ndf,data3.ndf,分别位于不同的磁盘上,将这三个文件指派到文件组filegroup1中。假设在文件组filegroup1上创建一个表,对表中数据的查询将会分散到三个磁盘上,从而提高系统的查询性能。在创建数据库时,默认将数据文件存放在主文件组(primary)中,也可以在创建数据库时加相应的关键字创建文件组。注意:数据文件和日志文件总是分开存放的。知识2:

SQLServer数据库4.逻辑和物理文件名称

SQLServer2005的文件拥有两个名称,即逻辑文件名和物理文件名。(1)逻辑文件名逻辑文件名是在所有T-SQL语句中引用物理文件时所使用的名称。(2)物理文件名物理文件名是文件实际存储在磁盘上的文件名,是包括目录路径的物理文件名。知识3:

使用SSMS创建数据库使用SSMS创建数据库的操作步骤如下:(1)启动SQLServerManagementStudio,在“对象资源管理器”窗口中选中数据库节点,单击右键,从弹出的快捷菜单中选择“新建数据库”命令。(2)打开“新建数据库”对话框,在“常规”页中,可以设置新建数据库的名称、数据文件或日志文件名称、文件的初始大小、自动增长和存放路径等。(4)如果需要添加辅助数据文件或日志文件,单击“添加”命令按钮,在“逻辑名称”栏输入要添加的文件的逻辑名,在“文件类型”栏选择“数据”或“日志”,如果添加数据文件,可以在“文件组”栏创建新的文件组,在“初始大小”栏设置文件初始大小,在“自动增长”栏选择增长方式等。任务实施完成任务使用SSMS新建jxgl数据库(放在D:盘自己的文件夹中),该数据库包含一个数据文件和一个事务日志文件。数据文件的逻辑名为“jxgl_Data”,初始容量大小为3MB,最大容量为20MB,文件的增长量为10%;事务日志文件的逻辑名为“jxgl_Log”,初始容量大小为1MB,最大容量为10MB,文件的增长量为1M%。任务评价学生任务展示要求:按小组完成上述任务。任务完成情况点评任务3-2使用SSMS管理数据库

相关知识与技术

知识1:打开数据库知识2:查看数据库信息知识3:修改数据库容量知识4:更改数据库名称知识5:分离数据库知识6:附加数据库知识7:删除数据库知识1:打开数据库使用SSMS打开数据库的操作步骤如下:在“对象资源管理器”窗口中,展开“数据库”节点,单击要打开的数据库,此时右边“摘要”窗口中列出当前打开数据库的数据库对象。知识2:查看数据库信息使用SSMS查看数据库信息的步骤如下:(1)启动SQLServerManagementStudio,在“对象资源管理器”窗口中,展开“数据库”节点,选择要查看信息的数据库,右击,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性”对话框。(2)在“数据库属性”对话框中,包含常规、文件、文件组、选项、权限、扩展属性、镜像和事务日志传送8个选择页。单击其中任意的选择页,可以查看到与之相关的数据库信息。知识3:修改数据库容量当数据库的数据增长到要超过它指定的使用空间时,必须为它增加容量。如果为数据库指派了过多的存储空间,可以通过缩减数据库容量来减少存储空间的浪费。1.增加数据库容量使用SSMS增加数据库容量的操作步骤如下:(1)在“对象资源管理器”窗口中,展开“数据库”节点,选择要增加容量数据库,右击,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性”对话框。(2)从“选择页”中选择“文件”页,在这里可以修改数据库文件的初始大小和增长方式,其修改方法与创建数据库时相同。知识4:更改数据库名称2.更改数据库名称使用SSMS更名数据库的操作步骤如下:(1)在“对象资源管理器”窗口中,展开“数据库”节点,选择要更名的数据库,右击,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性”对话框,选择“选项”页,将数据库选项中的“限制访问”设为“Single”用户模式,设置成功后,在对象资源管理器中该数据库名称旁边有单个用户标志。(2)选择要更名的数据库,右击,在弹出的快捷菜单中选择“重命名”,数据库名称变为可编辑状态,输入新的数据库名称即可。(3)更名后,将数据库选项中的“限制访问”设为“Multipe”用户模式。知识5:分离数据库3.分离数据库使用SSMS分离数据库的操作步骤如下:(1)在“对象资源管理器”窗口中,展开“数据库”节点,选择要分离的数据库,单击右键,在弹出的快捷菜单中执行“任务”→“分离”命令,打开“分离数据库”对话框。(2)在“分离数据库”对话框中右侧是“要分离的数据库”窗格。(3)在该窗格中,显示着需要分离的“数据库名称”及几个选项。(4)当“状态”为就绪时,单击“确定”按钮,将数据库与SQLServer服务器分离。知识6:附加数据库4.附加数据库使用SSMS附加数据库的操作步骤如下:(1)在“对象资源管理器”窗口中,选择“数据库”节点,单击右键,选择“附加”命令,打开“附加数据库”对话框。(2)单击“添加”命令按钮,打开“定位数据库文件”对话框,在该对话框中选择数据文件所在的路径,选择扩展名为.mdf的数据文件,单击“确定”命令按钮返回“附加数据库”对话框。(3)如果还需要附加其它数据库,再重复步骤(2)即可。(4)最后,单击“确定”按钮,完成数据库附加。知识7:删除数据库5.删除数据库使用SSMS删除数据库的操作步骤如下:删除数据库也是数据库管理中重要的技术之一。当不需要用户创建的某个数据库时,可以将其删除,即将该数据库文件从服务器上的磁盘中全部清除。删除数据库后,只能用备份数据恢复以前的数据库。如果数据库正在被使用,则无法将它删除。删除数据库仅限于dbo与sa用户。使用SSMS删除数据库的步骤为:在“对象资源管理器”窗口中,展开“数据库”节点,选择要删除的数据库,单击右键,在弹出的快捷菜单中单击“删除”命令,打开“删除对象”对话框,单击“确定”命令按钮即可完成数据库删除操作。任务实施完成任务1.打开数据库2.导出数据库脚本代码3.查看数据库信息4.修改数据库容量5.更改数据库名称6.分离和附加数据库7.删除数据库任务评价学生任务展示要求:按小组完成上述任务。任务完成情况点评任务3-3使用T-SQL创建数据库

主要知识与技术

知识1:使用T-SQL创建数据库的语法知识2:使用T-SQL创建数据库知识1:使用T-SQL创建数据库使用T-SQL语句创建数据库的语法格式:CREATEDATABASEdatabase_name[ON{[PRIMARY](NAME=logical_file_name,FILENAME=’os_file_name’,[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=grow_increment])}[,…n]LOGON{(NAME=logical_file_name,FILENAME=’os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])}[,…n]][COLLATEcollation_name]知识2:使用T-SQL创建数据库使用T-SQL语句创建数据库:名为“student”的数据库,该数据库包含一个主数据文件、一个辅助数据文件和一个事务日志文件。主数据文件的逻辑名为“student_Data”,初始容量大小为3MB,最大容量为20MB,文件的增长量为20%;辅助数据文件逻辑名为“student_data2”;事务日志文件的逻辑名为“student_Log”,初始容量大小为1MB,最大容量为10MB,文件的增长量为10%。将数据文件与事务日志文件都保存在D:盘自己的文件夹中。知识2:使用T-SQL创建数据库知识2:使用T-SQL管理数据库使用T-SQL管理数据库1.打开数据库USEdatabase_name2.查看数据库信息EXECsp_helpdbdatabase_name知识2:使用T-SQL管理数据库3.修改数据库容量ALTERDATABASEdatabase_name

ADDFILE

(NAME=logical_file_name,FILENAME=’os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=grow_increment])|

ADDLOG

FILE(NAME=logical_file_name,FILENAME=’os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=grow_increment])|

MODIFYFILE

(NAME=file_name,SIZE=newsize)|

REMOVEFILE

logical_file_name知识2:使用T-SQL管理数据库4.更改数据库名称EXECsp_renamedb'oldname','newname'5.分离和附加数据库分离:EXECsp_detach_db'database_name’附加:CREATEDATABASEdatabase_nameON(FILENAME=’os_file_name’)FORATTACH6.删除数据库

DROPDATABASEdatabase_name[,database_name…]任务实施完成任务1.使用T-SQL语句创建数据库:名为“student”的数据库,该数据库包含一个主数据文件、一个辅助数据文件和一个事务日志文件。主数据文件的逻辑名为“student_Data”,初始容量大小为3MB,最大容量为20MB,文件的增长量为20%;辅助数据文件逻辑名为“student_data2”;事务日志文件的逻辑名为“student_Log”,初始容量大小为1MB,最大容量为10MB,文件的增长量为10%。将数据文件与事务日志文件都保存在D:盘自己的文件夹中。

任务实施

2.使用T-SQL语句打开数据库3.使用T-SQL语句查看数据库信息4.使用T-SQL语句分离和附加数据库5.使用T-SQL语句删除数据库任务评价学生任务展示要求:按小组完成上述任务。任务完成情况点评谢谢!任务4数据表操作--创建学生选课管理系统数据表任务引入现在已创建了学生选课管理系统数据库student。通常一个数据库是由若干个相互关联的表组成的,这些表分别存储不同的数据。因此,为了完成数据库的建立工作,需要在数据库的基础上创建数据表。建立数据表首先需要建立表结构,包括确定表的字段、字段类型、大小;而是向表中添加数据;表建立后还需要对表进行维护,如对表结构进行维护,包括表结构的修改、表的删除等。具体工作任务使用SSMS创建、管理数据表1使用T-SQL创建、管理数据表2任务4-1使用SSMS创建、管理数据表

主要知识与技术

知识1:SQLServer数据表的概念知识2:SQLServer数据类型知识3:使用SSMS创建数据表知识4:使用SSMS管理数据表知识1:SQLServer数据表的概念1.SQLServer数据表在使用数据库的过程中,接触最多的就是数据库中的表。表是包含数据库中所有数据的数据库对象,是数据库的主要对象,用于存储各式各样的信息。在SQLServer数据库中,表定义为列的集合,与Excel电子表格相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而每列代表记录中的一个域。知识1:SQLServer数据表的概念经济管理学号姓名性别出生日期系部入学时间000101张三男1980计算机2000000201李伟男1981010101王丽女1982数学2001关系名属性(列)属性(列)和属性名关系模式关系元组主键(码)学生表

2000知识1:SQLServer数据表的概念2.SQLServer表设计时的注意事项(1)表的名称。在特定的数据库中表名是唯一的。(2)表中每一列的名称。在特定的表中,列名是唯一的,但不同的表可以有相同的列名。每个表最多可以配置1024个字段。两者的唯一性都是由SQLServer强制实现的;(3)表中每一列的数据类型和长度。(4)表中的列中是否允许空值、是否唯一、是否要进行默认设置或添加用户定义约束。(5)表中需要的索引的类型和需要建立索引的列。(6)表间的关系,即确定哪些列是主键,哪些是外键。知识2:SQLServer数据类型SQLServer的数据类型包括:二进制数据类型:Binary、Varbinary、Image类型字符型数据类型:Char、Varchar、TextUnicode字符:Nchar、Nvarchar、Ntext类型日期时间型数据:datetime、smalldatetime精确数字型数据:整数(tinyint、smallint、int、bigint)货币类型:smallmoney、money小数(Numeric、Decimal)位类型:Bit类型近似数值型数据:float、real其他:Timestamp类型、Uniqueidentifier类型、Table类型知识2:SQLServer数据类型1.二进制数据类型二进制数据在SQL中用十六进制进行表示,前边用0x标记。binary

具有固定长度,最大长度可达8kb,当输入的实际数据小于定义的长度时,后面补0。varbinary

具有不固定的长度,但最大长度不得超过8KB。image

用于存储字节数超过8kb的数据,如照片、目录图片或者图画。知识2:SQLServer数据类型2.字符数据类型字符数据是用一对单引号括起来由字母、数字、和符号组合而成的数据,在内存中占用一个字节。Char:

每个字符使用1个字节的存储空间,使用固定长度来存储非unicode

字符,最长可容纳8000个。如果实际的字符串小于给定的最大长度,则会以空格填充,如果实际的字符串大于给定的最大长度,则被截断。当列的长度固定不变时,使用char数据类型。

varchar:

可以存储到8000个非unicode

字符的变长字符型数据,存储为实际的字符串的长度。当列的长度变化时,使用varchar数据类型。

text:

当要存储可变长度的非unicode

的字符的数据量非常庞大时,则使用text数据类型。它的最大长度可以达到2G左右。知识2:SQLServer数据类型3.Unicode字符数据类型用于存储要用两个字节才能存储的双字节字符。解决大字母表的字符问题。nchar:固定长度的双字节,可以存储1~4000字符。

nvarchar:可变长度的双字节,其最大长度为4000字符。

ntext:可娈长度的unicoce数据,其最大长度为230-1个字符。可存储大量的字符。当列的长度固定不变时,使用nchar数据类型;当列的长度变化时,使用nvarchar数据类型;如果需要存储的字符数多于4000个时,应使用ntext数据类型存储。知识2:SQLServer数据类型4.日期和时间数据类型日期和时间数据类型包括datetime和smalldatetime两种数据类型。datetime:存储从1753年1月1日到9999年12月31日的日期和时间数据,每一个值要求8个字节,精确到百分之三秒(或3.33毫秒)。smalldatime:存储从1900年1月1日到2079年12月31日的日期和时间数据,每一个值要求4个字节,精确到分钟。有效参数包括MDY、DMY、YMD、YDM、MYD、DYM。默认格式为MDY。知识2:SQLServer数据类型5.数字(1)精确整型数据类型能够存储精确的不带小数点的数字值的方法,可以分为五大类。bit:取值范围只能是0或1,通常用作真假逻辑。Bigint:占用8个字节Int:

占用4个字节,占用字节数决定存储范围的大小Smallint:

占用2个字节Tinyint:

占用1个字节知识2:SQLServer数据类型5.数字(2)精确小数数型数据用于存储带有小数点且小数点后位数确定的实数。可以精确指定小数点两边的总位数(精度p)和小数点右面的位数(刻度s).1<=精度<=380<=刻度<=精度

<分配的存储空间随精度的不同而不同>Numeric:numeric(p,s)Decimal:decimal(7,3)9999.994/9999.995二者的唯一区别:在主键为indentity时,只能定义为numeric类型知识2:SQLServer数据类型5.数字(3)近似数数据类型能够存储范围非常大的数字,一般应用于科学计算或者统计计算等不要求绝对精度的运算场合,它采用只入不舍的方式进行存储。float(n):

可以用n来确定科学计数法中的数据尾数的位数,范围可达53位。当n的取值为1~24时,可达到的精度是7位;当n的取值是25~53时,精度是15位,用8个字节来存储。

Real:

存储范围占用4个字节,精度可达7位。

知识2:SQLServer数据类型6.货币数据类型使用时需要在最高位加$Money:

占用8个字节,前面4个表示货币的整数,后面4个表示小数。Mallmoney:

占用4个字节。7.SQL-variant数据类型

可以存储除text、ntext、image以外的各种类型数据,也不可以自身转储。<如果SQL-variant类型的数据进行计算,则重新转换为本身的数据类型>知识3:使用SSMS创建数据表1.创建表的步骤(1)定义表结构:给表的每一列取字段名,并确定每一列的数据类型、数据长度、列数据是否可以为空等。(2)设置约束:设置约束是为了限制该列输入值的取值范围,以保证输入数据的正确性和一致性。2.使用SSMS创建数据表右击数据库实例节点——新建表打开表设计器,输入字段名称、数据类型设置主键字段名称数据类型字段长度是否为空约束系部代码char2否主键系部名称varchar30否系主任varchar8是知识4:使用SSMS管理数据表表创建以后,用户在使用过程中可能需要对表的结构、约束或字段的属性进行修改。1.修改表结构(1)右击要修改结构的表,在弹出的快捷菜单中选择“设计”,打开表设计器。(2)在表设计器中,可以添加列、删除列、更名列、移动列的位置、修改字段属性等。2.查看表的基本信息在SSMS中,右击需要查看结构的表,在弹出的快捷菜单中选择“属性”命令,打开表属性对话框,选择“常规”、“权限”、“扩展属性”查看表的基本信息。知识4:使用SSMS管理数据表3.删除表(1)打开表设计器,选择相应的数据库并展开表节点。(2)在表设计器的明细窗格中,右击要删除的表,在弹出的快捷菜单中选择“删除”命令,出现除去对象对话框时,单击“全部除去”按钮即可删除表。任务实施完成任务使用SSMS创建student数据库中的表:系部、专业、班级、学生、教师。任务评价学生任务展示要求:按小组完成上述任务。任务完成情况点评任务4-2使用T-SQL创建、管理数据表

主要知识与技术

知识1:使用T-SQL创建数据表语法知识2:使用T-SQL管理数据表知识1:使用T-SQL创建数据表1.使用T-SQL语句创建表的语法:CREATETABLE表名列名<数据类型>[列的排序规则][NULL|NOTNULL][[CONSTRAINT约束名]DEFAULT约束表达式]|[IDENTITY[(标识种子,标识增量)][NOTFORREPLICATION]][<[CONSTRAINT约束名]{{PRIMARYKEY|UNIQUE}[CLUSTERED|NONCLUSTERED]|[FOREIGNKEY]REFERENCES引用表名[(引用表列)]知识1:使用T-SQL创建数据表2.使用T-SQL语句创建课程表示例1:创建课程表。CREATETABLE课程

(课程号char(4)CONSTRAINTpk_kchPRIMARYKEY,

课程名称varchar(20)NOTNULL,备注varchar(50))GO知识2:使用T-SQL管理数据1.修改表结构(1)修改列属性ALTERTABLE表名ALTERCOLUMN字段名新数据类型字段长度示例2:将学生表中姓名改成长度为20的varchar型数据,且不为空。ALTERTABLE学生ALTERCOLUMN姓名varchar(20)NOTNULL知识2:使用T-SQL管理数据1.修改表结构(2)添加列ALTERTABLE表名ADDCOLUMN字段名新数据类型字段长度示例3:在学生表中添加列Email,长度为50,varchar型,允许为空。ALTERTABLE

学生ADDCOLUMNEmail

varchar(50)NULL知识2:使用T-SQL管理数据1.修改表结构(3)删除列ALTERTABLE表名DROPCOLUMN字段名示例4:将学生表中的列Email删除。ALTERTABLE学生DROPCOLUMNEmail知识2:使用T-SQL管理数据2.查看表信息使用系统存储过程sp_help查看语法格式:【EXEC】sp_help[表名]示例5:查看“学生”表的结构。3.更名表EXECsp_rename旧表名,新表名4.删除表DROPTABLE表名execsp_rename学生,xsEXECsp_help学生任务实施完成任务1.使用T-SQL创建student数据库中的表:课程、教学计划、教师任课、课程注册,详见实践指导书。2.使用T-SQL修改教师任课表,添加字段:班级代码,char(9),非空。任务评价学生任务展示要求:按小组完成上述任务。任务完成情况点评谢谢!任务5表数据操作-学生选课管理系统表数据操作任务引入学生选课管理系统数据库创建的最终目的是作为系统的后台数据库,用于系统开发。在学生选课管理系统的页面中:通过“添加”按钮可以将数据添加到后台数据表;通过“修改”按钮可以对“教学计划”中已有的数据进行修改;通过“删除”按钮可以将数据表中没用的数据进行删除;通过“查看”可以显示数据库中表中的内容。任务引入具体工作任务对学生选课管理系统中的数据进行管理1

主要知识与技术

知识1:使用INSERT语句添加数据知识2:使用UPDATE语句更新数据知识3:使用DELETE语句删除数据知识1:使用INSERT语句添加数据1.使用INSERT语句向表中添加数据的语法格式

INSERTINTO表名(字段名1,字段名2…)VALUES(值1,值2…)说明:如果某个字段允许为空,又不想为该字段赋值,在字段名列表中可省略该字段,同时在VALUES值列表中也不为该字段赋值。添加数据时,字段名与值一定要一一对应,出现几个字段,就要有几个值,否则报错。知识1:使用INSERT语句添加数据2.使用INSERT语句向表中添加数据(1)最简单的INSERT语句INSERTINTO表名(字段名1,字段名2…)VALUES(值1,值2…)示例1:在“系部”表中添加一行记录。INSERT系部(系部代码,系部名称,系主任)VALUES(‘01’,‘计算机系’,‘杨学全')

GO知识1:使用INSERT语句添加数据2.使用INSERT语句向表中添加数据(2)省略字段列表的INSERT语句示例2:在“系部”表中再添加一行记录。INSERT系部VALUES(‘02',‘经济管理系',‘崔喜元')GO知识1:使用INSERT语句添加数据2.使用INSERT语句向表中添加数据(3)给表中部分字段添加值的INSERT语句示例3:在“学生”表中再添加一行记录。

INSERT学生(学号,姓名,性别,政治面貌)VALUES(‘080101001001’,‘张涛’,‘女’,‘党员')GO知识1:使用INSERT语句添加数据3.对INSERT语句进行总结

(1)插入时,表中的列的数据类型要和给定的值必须一一对应,也要个数对应。(2)在定义表时,如果说明了表中的某个列的属性定义为notnull,则此属性列上不能取空值,否则出错。(3)如果在插入时省略列清单,则新插入的记录必须在每个属性列上均有值,且顺序也要与表中定义的顺序一致。(4)如果表中的列定义为IDENTITY属性,则在插入时,不能人为的插入值。所以此表在插入时,列的清单不能省略。知识2:使用UPDATE语句更新数据1.使用UPDATE语句更新数据的语法格式UPDATE表名SET字段名=新值,字段名=新值WHERE条件表达式

知识2:使用UPDATE语句添加数据2.使用UPDATE语句更新数据示例4:更新系部代码为01的记录的系主任为刘海军。

UPDATE系部SET系主任=‘刘海军’WHERE系部代码=‘01’知识2:使用UPDATE语句添加数据3.使用UPDATE语句总结(1)更新数据时一定要考虑是否有条件,如果在更新语句中没有条件,则属无条件更新,此时,会将表中所有记录该字段的值更新为新值;如果有条件,则只将符合条件的记录中该字段的值更新为新值。(2)根据更新语句给定的条件,一次可以更新符合该条件的记录的多个字段的值。多个值之间用逗号分隔开即可。

知识3:使用DELETE语句删除数据1.使用DELETE语句删除数据的语法格式(1)无条件删除表中所有记录DELETEFROM表名(2)删除符合指定条件的记录DELETEFROM表名WHERE条件表达式

知识3:使用DELETE语句删除数据2.使用DELETE语句删除数据示例5:删除系部代码为’01’的记录。DELETEFROM系部WHERE系部代码=’01’知识3:使用DELETE语句删除数据3.使用DELETE语句总结(1)删除数据时一定要考虑是否有条件,如果在删除语句中没有条件,则会删除表中的所有记录;如果有条件,则只删除符合条件的记录(2)如果表中的数据已被其他表引用,如系部代码01已出现在外键表如专业中,则不允许删除系部表中系部代码为01的记录。任务实施完成任务1.向学生表中添加一条记录值为学号:080101001008,姓名:赵伟,性别:男,班级代码:080101001,政治面貌:党员。2.将上面添加的记录中的政治面貌改为团员3.将学生表中的班级代码为null的记录删除。任务评价学生任务展示要求:按小组完成上述任务。任务点评任务6实施数据完整性-为学生选课管理系统数据库实施数据完整性任务引入数据完整性是指存储在数据库中数据正确无误,且相关数据具有一致性。为实现数据完整性,可通过在设计表时为列设置约束实现。例如student数据库中应有如下约束:在学生表中,学号必须唯一,不能重复。在系部表中,系部名称不能为空值。在课程注册表中,成绩不能为负数,且在0-100之间。在课程注册表中,学号和课程号应分别在学生表和课程表中。具体工作任务为表创建主键约束1为表创建唯一约束为表创建检查约束34为表创建默认约束2工作任务为表创建外键约束56为表添加索引

主要知识与技术

知识1:数据的完整性的概念知识2:数据的完整性的类型

知识3:SQL中完整性的约束类型知识1:数据完整性的概念数据完整性:存储在数据库中的数据正确无误相关数据具有一致性引入数据完整性概念的目的:避免在数据的添加、删除、修改等操作中出现数据的破坏或多个表数据的不一致。数据库中是否存在完整的数据关系到数据库系统能否真实地反映现实世界。它是衡量数据库中数据质量好坏的一种标志,是确保正确的数据被存放在正确的位置的一种手段。知识2:

数据完整性的类型用户定义的完整性是应用领域需要遵守的约束条件,其允许用户定义不属于其他任何完整性分类的特定业务规则。所有的完整性类型都支持用户定义完整性。参照完整性又称为引用完整性。参照完整性是指:作用于有关联的两个或两个以上的表,通过使用主键和外键或主键和唯一键之间的关系,使表中的键值在所有表中保持一致。实现参照完整性的方法:外键约束。组成记录的列称为域。域完整性要求:向列输入的数据须有正确的数据类型、格式以及有效的范围。实现域完整性的方法主要有:CHECK约束、外键约束、默认约束、非空约束以及在建表时设置的数据类型。一个基本关系通常对应现实世界的一个实体,实体是可区分的。实体完整性要求:在表中不能存在完全相同的记录,而且每条记录都要具有一个非空且不重复的主键值。实现实体完整性的方法有:

主键约束、唯一约束。实体完整性域完整性用户自定义完整性参照完整性知识3:SQL中完整性的约束类型约束机制主键(PrimaryKey)外键(ForeignKey)默认(Default)唯一性(Unique)检查(Check)任务5-1为表创建主键约束主要知识与技术知识1:主键约束的作用及特点知识2:为表创建主键知识3:验证主键约束知识1:主键约束的作用及特点主键约束的作用:用来强制数据的实体完整性。在表中定义一个非空的主键,唯一标识表中的每行记录。主键约束特点:每个表中只能有一个主键;主键可以是一列,也可以是多列的组合;主键值必须唯一且不能为空;对于多列组合主键,某列值可以重复,但列的组合值必须唯一。将为主键列创建唯一索引。当在查询中使用主键时,此索引可加快对数据的访问速度。知识2:为表创建主键1.使用SSMS创建主键在创建表时,或右击要设置主键的表,在表设计器中打开表。在表设计器中,选择要设为主键的字段,如果需要选择多个字段时,在按住Ctrl键的同时用鼠标单击要选择的每个字段。右击选择的字段,从弹出的快捷菜单中选择“设置主键”命令,或单击工具栏上的钥匙图标,该列即被设置为主键,并在该字段前添加一个钥匙样图标。在设置为主键的列上右击,从弹出的的快捷菜单中选择“移除主键”命令,将取消对该列的主键约束。知识2:为表创建主键2.使用T-SQL语句创建主键示例1:创建系部表,在创建表的同时设置主键。或以简洁方式为表设置主键CREATETABLE系部

(系部代码char(2)PRIMARYKEY,系部名称varchar(30)NOTNULL,系主任varchar(8)

)GOCREATETABLE系部

(系部代码char(2)NOTNULL,系部名称varchar(30)NOTNULL,系主任varchar(8),

CONSTRAINTpk_xbdmPRIMARYKEY)GO知识2:为表创建主键

2.使用T-SQL语句创建主键示例2:向已有表添加主键。3.删除主键约束ALTERT

温馨提示

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

评论

0/150

提交评论