数据库应用技术教程 课件 第2、3章 SQL2022 数据库的创建与管理、SQL2022数据表的创建和管理_第1页
数据库应用技术教程 课件 第2、3章 SQL2022 数据库的创建与管理、SQL2022数据表的创建和管理_第2页
数据库应用技术教程 课件 第2、3章 SQL2022 数据库的创建与管理、SQL2022数据表的创建和管理_第3页
数据库应用技术教程 课件 第2、3章 SQL2022 数据库的创建与管理、SQL2022数据表的创建和管理_第4页
数据库应用技术教程 课件 第2、3章 SQL2022 数据库的创建与管理、SQL2022数据表的创建和管理_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

上节知识回顾什么是数据库?什么是数据库管理系统,什么是数据库系统?第二章SQL2022数据库创建和管理学习目标了解系统数据库的作用;掌握数据库文件存储结构;掌握创建数据库的多种方法;掌握修改、删除数据库;掌握管理和维护数据库;了解数据库属性。系统数据库master数据库

master数据库是SQLServer系统最重要的数据库。记录SQLServer系统的所有系统级信息。model数据库model数据库作为用户创建新数据库的模板。msdb数据库msdb数据库是代理服务器数据库。它为报警、任务调度和记录操作员的操作提供存储空间。tempdb数据库tempdb数据库记录了所有的临时表、临时数据和临时创建的存储过程等保存临时对象的一个工作空间。数据库文件1、主要数据文件

主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。主要数据文件的文件扩展名是.mdf。

2、次要数据文件

次要数据文件是可选的,由用户定义并存储用户数据。次要数据文件的文件扩展名是.ndf。3、事务日志文件

用于记录所有事务以及每个事务对数据库所做的修改。

数据库文件组SQLServer2022为了方便数据库文件的分配和管理,将文件分成不同的文件组。1、主要文件组

主要文件组(PRIMARY文件组)包含主要数据文件和未放入其他文件组的所有次要文件。每个数据库有一个主要文件组。2、用户定义文件组。

用于将数据文件集合起来,以便于管理、数据分配和放置。学生选课数据库的创建使用ManagementStudio使用CREATEDATABASE语句使用模板创建数据库使用ManagementStudio【例2.1】创建名为“学生选课”的学生选课管理数据库。步骤如下:(1)在【对象资源管理器】中,右键单击【数据库】,在弹出的快捷菜单中,选择【新建数据库】选项,然后出现【新建数据库】窗体。使用ManagementStudio(续)(2)在【新建数据库】窗体中,在【数据库名称】的文本框中将输入数据库名“学生选课”。单击【确定】按钮,完成创建学生选课数据库。(3)在【对象资源管理器】中,即出现学生选课数据库,如图所示。使用CREATEDATABASE语句

语法格式如下:CREATEDATABASEdatabase_name[ON

[PRIMARY][<filespec>[,…n][,<filegroup>[,…n]]][LOGON{<filespec>[,…n]}]][COLLATEcollation_name][WITH<external_access_option>]]任务1创建销售管理数据库,数据文件在d:\data,数据文件逻辑名称为sales_data,文件名为sales_data.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;该数据库的日志文件,逻辑名称为sales_log,文件名为sales_log.ldf,初始大小为3MB,最大尺寸为5MB,增长速度为1MB。使用CREATEDATABASE语句(续)参数说明:<filespec>::=(

NAME=logical_file_name,

FILENAME='os_file_name'

[,SIZE=size]

[,MAXSIZE={max_size|UNLIMITED}]

[,FILEGROWTH=growth_increment|%]])[,...n]<filegroup>::=FILEGROUPfilegroup_name[DEFAULT]

<filespec>[,...n]使用CREATEDATABASE语句(续)【例2.2】创建学生选课管理数据库。将该数据库的数据文件存储在D:\Data下,数据文件的逻辑名称为Stu_data,文件名为Stu_data.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;该数据库的日志文件,逻辑名称为Stu_log,文件名为Stu_log.ldf,初始大小为3MB,最大尺寸为5MB,增长速度为1MB。使用CREATEDATABASE语句(续)步骤如下。(1)在SQLServerManagementStudio中,单击工具栏上的【新建查询】按钮,或选择【文件】|【新建】|【数据库引擎查询】命令,打开一个新的查询编辑器窗口。(2)在查询编辑窗口中输入以下语句。CREATEDATABASE学生选课ON(NAME=Stu_data,/*注意有逗号分隔*/FILENAME='d:\data\Stu_data.mdf',/*注意用半角状态下的引号,d:\data文件夹必须已经存在*/SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)/*注意没有逗号*/LOGON(NAME=Stu_log,/*注意有逗号分隔*/FILENAME='d:\data\Stu_log.ldf',/*注意使用半角状态下引号*/SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB/*注意没有逗号*/)使用CREATEDATABASE语句(续)(3)单击工具栏上按钮,进行语法分析,保证上述语句语法的正确性。(4)按F5或单击工具栏上按钮,执行上述语句。(5)在【结果】窗口中将显示相关消息,告诉用户数据库创建是否成功。使用模板创建数据库【例2.3】使用模板创建newstu数据库。(1)从模板资源管理器中打开模板。打开【视图】|【模板资源管理器】,选择【SQLServer模板】,展开【Database】项,选择【createdatabase】。(2)将createdatabase模板从模板资源管理器拖放到查询编辑器窗口中,从而添加模板代码。(3)替换模板参数。单击【查询】|【指定模板参数的值】命令或单击工具栏上的按钮,打开【指定模板参数的值】对话框中。“值”列中输入newstu为数据库名称。使用模板创建数据库(续)(4)单击【确定】按钮,关闭【替换模板参数】对话框,系统自动修改查询窗体中的脚本结果。(5)单击工具栏上按钮,进行语法分析,保证上述语句语法的正确性。(6)按F5或单击工具栏上按钮,执行上述语句。(7)在【结果】窗口中将显示相关消息,告诉用户数据库创建是否成功。修改数据库数据库的修改包括扩充数据库容量、压缩数据库和数据文件、更改数据库名称和删除数据库等。在SQLServer2022中提供两种操作方式:在ManagementStudio中修改各种属性使用T-SQL命令修改使用AlterDatabase语句修改数据库ALTERDATABASE语句修改数据库命令主要格式如下。ALTERDATABASEdatabase_name{ADDFILE<filespec>[,...n][TOFILEGROUPfilegroup_name]/*增加数据文件到数据库*/|ADDLOGFILE<filespec>[,...n]/*增加事务日志文件到数据库*/|REMOVEFILElogical_file_name/*删除数据文件,文件必须为空*/|ADDFILEGROUPfilegroup_name/*增加文件组*/|REMOVEFILEGROUPfilegroup_name/*删除文件组,文件必须为空*/|MODIFYFILE<filespec> /*一次只能更改一个文件属性*/|MODIFYNAME=new_dbname /*数据库更名*/|MODIFYFILEGROUPfilegroup_name{filegroup_property|NAME=new_filegroup_name|SET<optionspec>[,...n][WITH<termination>]|COLLATE<collation_name>}扩充数据文件和事务日志的容量【例2.4】将学生选课管理数据库的数据文件Stu_data的文件增长改为按15%。【例2.5】学生选课管理数据库经过一段时间的使用后,随着数据量的不断增大,引起数据库空间不足。现增加一个数据文件存储在F:\,数据文件的逻辑名称为Stu_Data2,物理文件名为Stu_data2.ndf,初始大小为10MB,最大尺寸为2GB,增长速度为10MB。学生选课数据库的管理更改数据库名称删除数据库查看数据库信息

【练习】查看当前服务器上所有数据库的信息。

分离和附加数据库联机和脱机任务2查看销售管理数据库的信息把销售管理数据库转移到e:\上节知识回顾1、一个数据库一般包含那些文件?2、创建数据库的关键词是?3、把学生选课数据库从当前位置盘移动到c:第三章SQL2022数据库数据表的创建和管理数据库有了,可具体如何存储数据呢?学习目标掌握SQLServer2022中的数据类型;掌握建立数据表的方法;掌握查看、修改和删除数据表的方法;掌握使用主键约束和惟一约束保证数据表的完整性、使用检查约束、默认值保证列的完整性;掌握使用主键和外键来保证数据表之间的完整性;掌握表中数据的添加、修改和删除的方法。表的基本概念表是组织和管理数据的基本单位。表由行和列组成的二维结构。表中的一行称为一条记录,表中的一列称为一个字段。说明:每个SQLServer数据库可容纳多达20亿个表,每个表中至多可以有1024列,每一行最多允许有8086个字节。数据类型数字数据字符数据货币数据日期和时间数据二进制字符串其他数据类型数据类型--数字型数据类型说明bigint-263(-1.8E19)~263-1(1.8E19)的整型数int-231(-2147483648)~231-1(2147483647)的整型数smallint-215(-32768)~215-1(32767)的整型数tinyint0~255的整型数float浮点数数据,从–1.79E+308到1.79E+308real浮点精度数字数据,从–3.40E+38到3.40E+38bit整数数据,值为1或0numeric(p,s)固定精度和小数的数字数据,取值范围从-1038+1到1038–1。p变量指定精度,取值范围从1到38。s变量指定小数位数,取值范围从0到p数据类型--货币型数据类型范围money-922,337,203,685,477.5808到922,337,203,685,477.5807smallmoney-214,748.3648到214,748.3647数据类型--日期型数据类型范围精确度datetime1753年1月1日到9999年12月31日3.33毫秒smalldatetime1900年1月1日到2079年6月6日1分钟数据类型--字符型数据类型说明char[(n)]固定长度的字符数据,长度为n个字节,n的取值范围为1~8000varchar[(n)]可变长度的字符数据,长度为n个字节,n的取值范围为1~8000nchar[(n)]固定长度的Unicode字符数据。n值在1~4000之间nvarchar[(n)]可变长度的Unicode字符数据。n值在1~4000之间Text变长度字符数据,最多达到2147483647字节nText变长度的Unicode字符数据。最多可达1073741823个字符数据类型--字节二进制和图像型数据类型说明binary[(n)]长度为n字节的固定长度二进制数据,其中n是从1到8000的值varbinary[(n)]可变长度二进制数据。n可以取从1到8,000的值Image变长度二进制数据。最长为2147483647字节数据类型--其他数据类型数据类型说明UniqueIdentifier唯一标识数字存储为16字节的二进制值TimeStamp当插入或者修改行时,自动生成的惟一的二进制数字的数据类型Cursor允许在存储过程中创建游标变量,游标允许一次一行地处理数据,这个数据类型不能用作表中的列数据类sql_variant可包含除text、ntex、timage和timestamp之外的其他任何数据类型Table一种特殊的数据类型,用于存储结果集以进行后续处理XML存储XML数据的数据类型。可以在列中或者xml类型的变量中存储xml实例任务:请为下列属性选择适当数据类型性别年龄成绩家庭住址学号身份证号码列的属性列的为空性

没有输入的值,未知或未定义。列值可以接受空值NULL,也可以拒绝空值NOTNULL。IDENTITY属性可以使表的列包含系统自动生成的数字,可以惟一地标识表的每一行,即表中的每行数据列上的数字均不相同。

IDENTITY属性的表达格式如下。

IDENTITY[(s,i)]

其中,s(seed)表示起始值,i(increment)表示增量值,其默认值为1。创建学生选课数据库的数据表使用ManagementStudio

【练习】在学生选课数据库中,利用ManagementStudio创建学生表。使用CREATETABLE语句

【练习】在学生选课数据库中,利用CreateTable语句,创建课程表和选课表。使用模板创建数据表--使用ManagementStudio【例】在学生选课数据库中,利用ManagementStudio创建学生表。步骤:(1)启动ManagementStudio。(2)在【对象资源管理器】窗口中,展开【数据库】|【学生选课】|【表】节点。右击【表】节点,从弹出快捷菜单中,选择【新建表】选项,出现表设计器。创建数据表--使用ManagementStudio(3)在表设计器中,在【列名】单元格输入字段名“Sno”,在同一行的【数据类型】单元格设置该字段的数据类型“char(5)”,并在【允许空】列选择是否允许该字段为空值。如果允许,则选中复选框,如果不允许,则取消选中复选框。在学生管理中,学号是学生的标识,这里不能为空,即取消选中复选框。(4)重复(3)步骤设置“Sname”列、“Ssex”列、“Ssage”列和“Sdept”列。(5)单击【文件】|【保存】或工具栏上的按钮,在出现的对话框中输入表的名称“Student”,新表的相关信息即会出现在对象资源管理器中。创建数据表—使用CREATETABLE语句使用CREATETABLE语句创建数据库的基本语法格式如下。CREATETABLE<表名>(<列名><数据类型>[NULL|NOTNULL][IDENTITY[(seed,increment)][{<列约束>}][,…n])

参数说明如下:[NULL|NOTNULL]:指定列的为空性,默认值为NULL。[IDENTITY(seed,increment)]:指定为标识列,seed为标示种子,increment为递增量。创建数据表—使用CREATETABLE语句【例】在学生选课数据库中,利用CreateTable语句,创建课程表和选课表。USE学生选课GOCREATETABLECourse(--创建课程表

Cnochar(6)NOTNULL,Cnamechar(20)NOTNULL,Credittinyint,Semestertinyint)GOCREATETABLESC--创建选课表(Snochar(5)NOTNULL,Cnochar(6)NOTNULL,Gradetinyint)GO创建数据表--使用模板

MicrosoftSQLServer2022提供了多种模板。这些模板适用于解决方案、项目和各种类型的代码编辑器。模板可用于创建对象,如数据库、表、视图、索引、存储过程、触发器、统计信息和函数。学生选课数据库的数据表管理查看表结构查看数据表的属性查看表结构查看表中数据修改数据表使用ManagementStudio使用AlterTable语句删除数据表重命名数据表任务11、在学生表里加一列,兴趣爱好,可以为空2、删除刚添加的列3、将性别列改为char(4)任务21、请使用SQL语句创建一个表,表中包含3个字段(序号,姓名,性别),其中序号为自动增加列。学生选课数据库数据的完整性实体完整性(EntityIntegrity)域完整性(DomainIntegrity)参照完整性(ReferentialIntegrity)用户定义的完整性(User-definedIntegrity)实体完整性实体完整性是保证关系中的每个元组都是可识别的和唯一的。而且表中不允许存在如下的记录:无主码值的记录主码值相同的记录缺少主码值数据示例学号姓名性别年龄所在系李勇

男19计算机系

95002刘晨

男20计算机系

李勇

男19计算机系

95003王敏

女20计算机系

95011张立

男22信息系

95012吴宾

女21信息系

主码值重复情况2026/8/913:4248学号姓名性别年龄所在系95001李勇男19计算机系95002刘晨男20计算机系95001李勇男19计算机系95003王敏女20计算机系95011张立男22信息系95012吴宾女21信息系参照完整性用于描述实体之间的联系。参照完整性一般是指多个实体(表)之间的关联关系。一般用外码实现。外码:本表(子表)某属性(非主码)是外表(父表,主表)的主码。主码值先在主表中生成,后在子表中引用外码引用例1学生班属于(学号,姓名,班号,…)(班号,专业,人数,…)外码引用例2学生课程修课(学号,姓名,…)(课程号,课程名,…)(学号,课程号,成绩,…)外码引用例3职工(职工号,姓名,性别,直接领导)外码定义设F是关系R的一个或一组属性,如果F与关系S的主码相对应,则称F是关系R的外码(ForeignKey),并称关系R为参照关系(ReferencingRelation),关系S为被参照关系(ReferencedRelation)或目的关系(TargetRelation)。关系R和关系S不一定是不同的关系。参照表示图示例:参照完整性规则参照完整性规则就是定义外码与主码之间的引用规则。对于外码,一般应符合如下要求:或者值为空;或者等于其所引用的关系中的某个元组的主码值。3.4.3域的完整性按应用语义,属性列数据有:类型与长度限制:方便计算机操作取值范围限制:防止属性值与应用语义矛盾语义许可取值范围约束例:

成绩取[0..100],{优、良、中、及格、不及格}约束概述约束定义

约束(Constraint)是MicrosoftSQLServer2022提供的自动保持数据库完整性的一种方法。约束就是限制,定义约束就是定义可输入表或表的单个列中的数据的限制条件。约束分类主关键字约束(PrimaryKeyConstraint)外关键字约束(ForeignKeyConstraint)惟一约束(UniqueConstraint)检查约束(CheckConstraint)默认约束(DefaultConstraint)主键约束使用ManagementStudio创建主键约束在创建表同时主键约束在一张现有表上添加主键约束外键约束使用ManagementStudio创建外键约束使用Transact-SQL语句定义外键

语法格式:CREATETABLE<表名>(列名数据类型为空性FOREIGNKEYREFERENCESref_table(ref_column)

其中,参数说明如下。REFERENCES:参照。ref_table:主键表名,要建立关联的被参照表的名称。ref_column:主键列名惟一约束惟一约束与主键约束的区别:惟一性约束指定的列可以有NULL属性。但主键约束所在的列则不允许;一个表中可以包含多个惟一约束,而主键约束则只能有一个。创建惟一约束创建表的同时创建UNIQUE约束在现有的表中添加惟一约束检查约束检查约束(CHECK约束)定义

实际上是验证字段输入内容的规则,表示一个字段的输入内容必须满足CHECK约束的条件,若不满足,则数据无法正常输入。可以对每个列设置CHECK约束。

创建检查约束使用Managementstudio使用Transact-SQL语句语法结构:CONS

温馨提示

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

评论

0/150

提交评论