实验03:数据库中表的基本操作.ppt

上传人:sccc 文档编号:5683493 上传时间:2023-08-09 格式:PPT 页数:45 大小:944.04KB
返回 下载 相关 举报
实验03:数据库中表的基本操作.ppt_第1页
第1页 / 共45页
实验03:数据库中表的基本操作.ppt_第2页
第2页 / 共45页
实验03:数据库中表的基本操作.ppt_第3页
第3页 / 共45页
实验03:数据库中表的基本操作.ppt_第4页
第4页 / 共45页
实验03:数据库中表的基本操作.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《实验03:数据库中表的基本操作.ppt》由会员分享,可在线阅读,更多相关《实验03:数据库中表的基本操作.ppt(45页珍藏版)》请在三一办公上搜索。

1、表的基本操作,2023/8/9,2,主要内容,数据库表SQL Server的数据类型创建数据库表定义约束管理数据库表,2023/8/9,3,数据库表,表的概述表是数据库中最基本的对象。许多数据库对象,如索引、视图都是以表为基础的。它与电子表格类似,数据在表中是按照行和列的格式来组织的。每一行代表一条唯一的记录,每一列代表记录中的一个域。例如,一个包含学生基本信息的数据表,表中的每一行代表一个学生信息,每一列代表学生的一项详细资料,如学号、姓名、性别、联系方式等。,2023/8/9,4,数据库表,表的分类在性质上,SQL Server将表分为两种永久表:创建后一直存储在数据库文件中,除非用户删除

2、该表;临时表:临时表是系统运行过程中由系统创建,当用户退出或系统修复时,临时表将被自动被删除。在类型上,SQL Server 将表分为四种标准表。在数据库中,最常用的就是标准表,它用来为数据库提供存储数据的空间。标准表简称表,是最重要、最基本的表。系统表。系统表中存储了有关SQL Server的配置、数据库设置、用户信息、表对象的描述等系统信息。,2023/8/9,5,数据库表,临时表。临时表存储在 tempdb 中,当不再使用时会自动删除。本地。本地临时表的名称以单个数字符号(#)打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server 实例断开连接时被删除。全局。全局临时表的名

3、称以两个数字符号(#)打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。分区表。当一个表中的数据过于庞大时,可以使用分区表。分区表是将数据水平划分为多个单元的表,这些单元可以分布到数据库中的多个文件组中。在维护整个集合的完整性时,使用分区可以快速而有效地访问或管理数据子集,从而使大型表或索引更易于管理。,2023/8/9,6,数据库表,数据完整性存储在数据库中数据的一致性和正确性。为保证数据的完整性,SQL Server提供了定义、检查和控制数据的完整性的机制。数据的完整性又进一步分为实体完整性、域完整性、参照完整性和用户定义完整性四种。实体完整

4、性也称行完整性。它将行定义为特定表的唯一实体。例如在有多个学生信息的表中,学号那个列对应的值每一行必须不相同,否则,这将造成学生信息管理的混乱。域完整性也称列完整性。用它来定义输入的数据值,是否具有正确的数据类型、格式以及有效的数据范围。,2023/8/9,7,数据库表,参照完整性是保证参照与被参照两个表中数据的一致性。例如,在学生基本信息表中有学号列,在成绩表中也有学号这个列,而且两个表的学号必须一致。用户定义完整性。为了反映用户的特殊需求,体现用户的业务规则,称为用户定义完整性。在数据库系统中必须采取一些措施来防止混乱数据的产生。在SQL Server中,数据的完整性是通过建立和使用约束来

5、保证的。约束是SQL Server强制实行的应用规则,它通过限制列、行、表中的数据,来保证数据的完整性。当删除表时,表所带的约束也随之被删除。在SQL Server中,约束包括CHECK约束、PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束和DEFAULT约束等。,2023/8/9,8,SQL Server的数据类型,在创建表时,涉及数据表的结构问题,也就是涉及数据表中各列的数据格式:是数值?是字符?是日期还是货币?是图像等其他格式?因此,在讲述数据表的操作之前,必须介绍SQL Server的数据类型。在SQL Server的数据表中,列的数据类型既可以是系统提供的数据

6、类型,也可以是用户自定义的数据类型。SQL Server系统提供了丰富的数据类型,表11-1列出了SQL Server所支持的数据类型。,2023/8/9,9,数据类型,2023/8/9,10,数据类型,2023/8/9,11,数据类型,2023/8/9,12,数据类型,空值(NULL)先来了解空值的概念。数据列在定义后,还需要确定该列是否允许空值。空值通常是未知的、不能用的或将在以后添加的数据。允许一个列为空值,则向表中输入记录值时,可不为该列给出具体值;不允许为空值时,则在输入时,必须给出具体的值。空值与空格字符或数字0是不同的,空格实际上是一个有效的字符,0则表示一个有效的数字。,202

7、3/8/9,13,数据类型,字符型字符型数据类型主要用来存储由字母、数字和符号组成的字符串,它又分为定长类型和变长类型。SQL Server提供三种字符型数据类型,分别为char、varchar和text。Char列中可以有字母、数字和符号,甚至是Tab键和空格键,但不包含其他的非可打印字符。Char字符列是定长的,如果定义的字符列为400个字符大小,那么即使列中的数据小于400个字符,这些数据也要占用400个字符的磁盘空间。Varchar列存储变长的字符数据。,2023/8/9,14,数据类型,二进制型二进制型数据是指字符串是由二进制值组成,而不是由字符组成。该类型通常用于时间标记(time

8、stamp)和image类型。对于二进制型数据的存储来说,SQL Server提供三种数据类型,分别为binary、varbinary和image。binary用于存储长度固定的二进制字符串,varbinary用于存储长度可变的二进制字符串,image用于存储大的二进制字符串(理论上每行可达2GB)。,2023/8/9,15,数据类型,整型和精确数值型SQL Server 2005提供的整型和精确数值类型有bit、int、smallint、tinyint和decimal、numeric。最常用的是int和numeric类型。int类型是指取值在-21474836482147483647之间的整

9、数,numeric类型则是十进制数。bit数据类型可用于存储逻辑数据,可用作状态标志位,它只存储1或者0。并且该类型的值不允许为空值、不允许建立索引、几个bit列可占用同一字节。,2023/8/9,16,数据类型,浮点型SQL Server 2005提供了float和real类型,来表示浮点数和实数。float整型数据取值范围是-1.79E+3081.79E+308,real型数据的取值范围是-11.40E+3811.40E+38。real类型存储在四个字节中,可以在real数据类型中存储正的或者负的十进制值。如果不指定float数据类型的长度,它会被存储在8个字节中。,2023/8/9,17

10、,数据类型,日期型SQL Server 2005可以用datetime和smalldatetime数据类型来存储日期数据和时间数据。smalldatetime的精度较低,包含的日期范围也较窄,但占用的空间小。datetime类型数据的取值范围是1753年1月1日到9999年12月31日。可以省略datetime中的部分值,但如果全部省略,则默认的取值为1900,1,1,12:00:00:00AM。如果省略的是时间部分,默认值为12:00:00:00。如果省略的是日期部分,则默认值为1,l,1900。,2023/8/9,18,数据类型,字符串数据类型SQL Server 2005提供三种Unic

11、ode字符串数据类型,分别为nchar、nvarchar和ntext。SQL Server Unicode数据类型是基于SQL-92标准中的National Character数据类型的。SQL-92使用前缀字符号n来表示这些数据类型和值。在使用Unicode数据类型时,一个列可以存储由Unicode标准所定义的任何字符,该字符包括各种字符集中所定义的所有字符。其中,ntext数据类型用来存储大量的文本,存储的数据通常是直接能够输出到显示设备上的字符,显示设备可以是显示器、窗口或者打印机。,2023/8/9,19,数据类型,用户自定义数据类型用户自定义数据类型,是基于SQL Server系统提

12、供的数据类型。当多个表的列中要存储同样类型的数据,并且确保这些列具有完全相同的数据类型、长度和是否为空属性时,可使用用户自定义数据类型。创建用户自定义数据类型必须提供名称、新数据类型所依据的系统数据类型、数据类型是否允许空值。,2023/8/9,20,创建与管理表,以学生信息系统为例,介绍如何用SSMS图形界面来创建表,以及对这些表进行管理。学生信息系统共包括学生信息表(student)、课程信息表(course)、选课信息表(select)三张表,具体表结构如表11-2、表11-3和表11-4所示。,2023/8/9,21,创建表,student表结构,2023/8/9,22,创建表,cou

13、rse表结构,select表结构,2023/8/9,23,创建表,创建步骤在SSMS窗口中,展开“bnuep”选项,右击“表”选项,在弹出的快捷菜单中选择“新建表”命令,如图11-2所示。,2023/8/9,24,创建表,在弹出的“编辑”面板中,分别输入各列的名称、数据类型、长度、是否允许为空等属性(可以参考表11-2、表11-3和表11-4所示的表结构),如图11-3所示。,2023/8/9,25,创建表,输入完各列属性后,单击“保存”按钮,弹出“选择名称”对话框,如图11-4所示。在“选择名称”对话框中输入表的名称student,点击“确定”按钮表创建完成。按照同样的方法和步骤创建cour

14、se表和score表。,2023/8/9,26,约束,SQL Server中有五种约束类型,分别是CHECK、DEFAULT、PRIMARY KEY、FOREIGN KEY和UNIQUE。CHECK约束CHECK约束用于限制输入一列或多列的值的范围,通过逻辑表达式来判断数据的有效性,也就是一个列的输入内容必须满足CHECK约束的条件,否则,数据无法正常输入,从而强制数据的域完整性。DEFAULT约束若在表中某列定义了DEFAULT约束,用户在插入新的数据行时,如果该列没有指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值。,2023/8/9,27,约束,PRIMARY KEY约束在表

15、中经常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键,通过它可以强制表的实体完整性。一个表有且只有一个主键,而且主键约束中的列不能为空值。如将student表中学号Sno设为该表的主键,因为它能唯一标识该表,且该列的值不为空。如果主键约束定义在不止一列上,则一列中的值可以重复,但主键约束定义中的所有列组合的值,必须唯一,因为该组合列是表的主键。,2023/8/9,28,约束,FOREIGN KEY约束外键,是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的,当添加、修改或删除数据时,通过参照完整性来保证它们之间的数据的一致性。定义表间的参照完整性的顺

16、序是先定义主表的主键,再对从表定义外键。UNIQUE约束用于确保表中的行在非主键中没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,为表中的一列或多列提供实体完整性。但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义多列组合。,2023/8/9,29,CHECK,在Ssex上创建约束在SSMS窗口中,右击dbo.student选项,在弹出的快捷菜单中选择“修改”命令,选中Ssex后右击数遍,在弹出的快捷菜单中选择“CHECK 约束”,如图所示:,2023/8/9,30,CHECK,单击“添加”按钮,

17、单击“表达式”后面的 按钮,进入如下图所示的“CHECK约束表达式”对话框。如果已经在该列上创建了约束,则该操作将查看之前创建的CHECK约束表达式。在文本框中输入约束表达式“Ssex=男 OR Ssex=女”。,2023/8/9,31,CHECK,最后,在“设计表”窗口单击“保存”按钮,完成了创建和保存CHECK约束的操作。用户输入时,若输入性别不是“男”或“女”,系统将报告输入无效。删除约束。,2023/8/9,32,DEFAULT,在Ssex上创建DEFAULT约束选择“Ssex”列,在“列属性”选项卡中选择“默认值或绑定”,在右侧的文本框中输入“男”,单击“保存”按钮。删除DEFAUL

18、T约束。,2023/8/9,33,PRIMARY KEY,将Sno定义为主键。选择“Sno”列,右击,在弹出的快捷菜单中选择“设置主键”命令。若主键由多列组成,先选中此列,按住Ctrl不放,同时用鼠标单击选择其他列,然后单击“设置主键”按钮。移除主键。,2023/8/9,34,FOREGIN KEY,创建student表与select表之间的外键约束。检查student表中是否将“Sno”设置为主键。选择“select”表,右击选择“修改”,单击“关系”按钮,在弹出的“外键关系”对话框中,单击“添加”按钮,如图所示:,2023/8/9,35,FOREGIN KEY,选中“表和列规范”单击后面的

19、按钮,进入下图所示的界面。在“主键表”下拉列表中选择student,单击主键表的下拉列表框选择Sno,在“外键表”下拉列表框中选择Sno。,2023/8/9,36,UNIQUE,给Sname添加UNIQUE约束在“修改”定义窗口完成所有列的定以后,单击“管理索引和键”按钮,打开“索引/键”对话框,单击“添加”按钮,在“列”下拉列表中选择“Sname”,在“是唯一的”下拉列表中选择”是“。,2023/8/9,37,修改表结构,修改表名。SQL Server允许修改一个表的名字,当表名改变后,与此相关的某些对象(如视图,存储过程等)将无效,因为它们都与表名有关。因此,建议一般不要随便更改一个已有的

20、表名,特别是在其上已经定义了视图等对象。右击“dbo.student”,在弹出的快捷菜单中,选择“重命名”命令,在原表上输入表的新名称即可。,2023/8/9,38,修改表结构,增加列。给student增加”宿舍“属性。右击“dbo.student”,在弹出的菜单中选择“修改”命令。接着在“设计表”面板中,单击“第一个空白行”,输入列名“domitory(宿舍)”,数据类型选择“varchar(20)”,并选中“允许空”复选框。然后点击“保存”按钮。,2023/8/9,39,修改表结构,删除列。删除刚才在student表中建立的“domitory”列。打开student表的“修改”面板,右击“

21、domitory”列,在弹出的快捷菜单中选择“删除列”命令。该列即被删除,最后单击“保存”按钮,以保存修改的结构。修改已有列的属性。和增加、删除列类似,打开表的“修改”面板,可以对已有列的列名、数据类型、长度以及是否允许为空值等属性直接进行修改。修改完毕后,单击“保存”按钮以保存修改的结构。但是,在表中已有记录后,不要轻易修改表的结构,特别是修改列的数据类型,以免产生错误。,2023/8/9,40,查看表结构,在SSMS窗口中,若要查看某个表的结构,则右击该表,在弹出的快捷菜单中选择“修改”命令,即可查看表信息。,2023/8/9,41,删除表,删除select表右击”select“表,在弹出

22、的快捷菜单选项中选择”删除“,此时,出现“删除对象”对话框,单击“确定”按钮即可将select表删除。,2023/8/9,42,操作表中的数据,查看表中的数据在SSMS窗口中,右击需要查看数据的表,在弹出的快捷菜单中,选择“打开表”命令,打开查询窗口,即可看到表中的数据。向表中插入、更新、删除数据打开查询窗口,在下面的空白行处输入新的数据,然后点击“保存”按钮,完成插入数据的操作。在已有的数据上进行修改,修改完毕后点击“保存”按钮,完成更新数据的操作。右击需要删除的数据,在弹出的快捷菜单中选择“删除”命令,即可完成删除数据的操作。,2023/8/9,43,实验一,创建数据库bnu创建表stud

23、ent(Sno,Sname,Ssex,Sage,Sdept,Tel)Sno,Char(10),主键Sname,Varchar(10)Ssex,Nchar(2),男或女,默认值为男。Sage,Int,1630Sdept,Nchar(20)Tel,Varchar(13),2023/8/9,44,实验一,创建表course(Cno,Cname)Cno,char(10),主键 Cname,Varchar(50)创建表select(Sno,Cno,Score)Sno,char(10),主键,外键Cno,char(10),主键,外键Score,Int在每张表中插入三条记录,练习操作查看、更新、删除记录。,THE END,Thank you,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号