实验2数据表的创建与管理

上传人:桔**** 文档编号:489202178 上传时间:2023-06-29 格式:DOC 页数:9 大小:187.52KB
返回 下载 相关 举报
实验2数据表的创建与管理_第1页
第1页 / 共9页
实验2数据表的创建与管理_第2页
第2页 / 共9页
实验2数据表的创建与管理_第3页
第3页 / 共9页
实验2数据表的创建与管理_第4页
第4页 / 共9页
实验2数据表的创建与管理_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《实验2数据表的创建与管理》由会员分享,可在线阅读,更多相关《实验2数据表的创建与管理(9页珍藏版)》请在金锄头文库上搜索。

1、实验2 数据表的创建与管理实验目的1. 掌握SQL Server 2005数据表的类型、数据类型。2. 掌握SQL Server 2005创建数据表的不同方法。3. 使用图形界面和使用SQL语句。4. 掌握数据表结构的查看、修改及删除的操作。5. 掌握数据的完整性,6个完整性约束的应用。实验内容及步骤一、表的创建1.利用SQL Server管理平台创建表在SQL Server管理平台中,展开指定的服务器和数据库,打开想要创建新表的数据库,右击表对象,并从弹出的快捷菜单中选择“新建表”选项,如图3-1所示。在图3-1的对话框中,可以对表的结构进行更改,设置主键及字段属性,使用SQL Server

2、管理平台可以非常直观地修改数据库结构和添加数据。在表中任意行上右击,则弹出一个快捷菜单,如图3-2所示。图3-1 新建表对话框 图3-2 设置字段属性对话框 2. 利用create命令创建表 使用create命令创建表非常灵活,它允许对表设置几种不同的选项,包括表名、存放位置和列的属性等。其完整语法形式如下: CREATE TABLE database_name.owner.|owner.table_name (|column_name AS computed_column_expression| ,n)ON filegroup|DEFAULT TEXTIMAGE_ON filegroup|D

3、EFAULT :=column_name data_type COLLATE DEFAULT constant_expression |IDENTITY(seed,increment )NOT FOR REPLICATION ROWGUIDCOL .n 例1创建了一个工人信息表,它包括工人编号、姓名、性别、出生日期、职位、工资和备注信息。SQL语句的程序清单如下: CREATE TABLE worker (number char(8) not null, name char(8) NOT NULL, sex char(2) NULL, birthday datetime null, job_t

4、itle varchar(10) null, salary money null, memo ntext null ) 3完整性约束 约束是SQL Server提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据来保证数据的完整性。在SQL SERVER中,对于基本表的约束分为列约束和表约束。列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用,分隔,定义表约束时必须指出要约束的那些列的名称。完整性约束的基本语法格式为: CONSTR

5、AINT constraint_name(约束名) 约束不指定名称时,系统会给定一个名称。在SQL Server 2005中有6种约束:主键约束(primary key constraint)、惟一性约束(unique constraint)、检查约束(check constraint)、默认约束(default constraint)、外部键约束(foreign key constraint)和空值(NULL)约束。 1)主键(PRIMARY KEY)约束 PRIMARY KEY约束用于定义基本表的主键,它是惟一确定表中每一条记录的标识符,其值不能为NULL,也不能重复,以此来保证实体的完整

6、性。PRIMARY KEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个UNIQUE约束;对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。注意:不能为同一个列或一组列既定义UNIQUE约束,又定义PRIMARY KEY约束。PRIMARY KEY既可用于列约束,也可用于表约束。例2 建立一个SC表,定义SNO,CNO共同组成SC的主键程序清单如下:CREATE TABLE SC(SNO CH

7、AR(5) NOT NULL,CNO CHAR(5) NOT NULL,SCORE NUMERIC(3),CONSTRAINT SC_PRIM PRIMARY KEY(SNO,CNO) 2)惟一性约束 惟一性约束用于指定一个或者多个列的组合值具有惟一性,以防止在列中输入重复的值。定义了UNIQUE约束的那些列称为唯一键,系统自动为唯一键建立唯一索引,从而保证了唯一键的唯一性。 当使用惟一性约束时,需要考虑以下几个因素:使用惟一性约束的字段允许为空值; 一个表中可以允许有多个惟一性约束; 可以把惟一性约束定义在多个字段上; 惟一性约束用于强制在指定字段上创建一个惟一性索引; 默认情况下,创建的索

8、引类型为非聚集索引。 例3创建一个学生信息表,其中name字段具有惟一性。程序清单如下:Create table student(id char(8),name char(10),sex char(2), constraint pk_id primary key(id), constraint uk_identity unique(name) 3)检查约束 检查约束对输入列或者整个表中的值设置检查条件,以限制输入值,保证数据库数据的完整性。 当使用检查约束时,应该考虑和注意以下几点: 一个列级检查约束只能与限制的字段有关;一个表级检查约束只能与限制的表中字段有关; 一个表中可以定义多个检查约束

9、; 每个CREATE TABLE语句中每个字段只能定义一个检查约束; 在多个字段上定义检查约束,则必须将检查约束定义为表级约束; 当执行INSERT语句或者UPDATE语句时,检查约束将验证数据; 检查约束中不能包含子查询。 例4建立一个SC表,定义SCORE 的取值范围为0到100之间。程序清单如下: CREATE TABLE SC (SNO CHAR(5), CNO CHAR(5), SCORE NUMERIC(5,1) CONSTRAINT SCORE_CHK CHECK(SCORE=0 AND SCORE =100) 4)默认(DEFAULT)约束 默认约束指定在插入操作中如果没有提供

10、输入值时,则系统自动指定值。默认约束可以包括常量、函数、不带变元的内建函数或者空值。使用默认约束时,应该注意以下几点:(1)每个字段只能定义一个默认约束;(2)如果定义的默认值长于其对应字段的允许长度,那么输入到表中的默认值将被截断;(3)不能加入到带有IDENTITY属性或者数据类型为timestamp的字段上;(4)如果字段定义为用户定义的数据类型,而且有一个默认绑定到这个数据类型上,则不允许该字段有默认约束。 例5为 dept字段创建默认约束。程序清单如下:CREATE TABLE SC(SNO CHAR(5) NOT NULL,CNO CHAR(5) NOT NULL,SCORE NU

11、MERIC(3),Dept char(10) constraint con_dept default 计算机 )5) 外部键约束 外键 (FOREIGN KEY) 是用于建立和加强两个表数据之间的链接的一列或多列。外部键约束用于强制参照完整性。当使用外部键约束时,应该考虑以下几个因素: 外部键约束提供了字段参照完整性; 外部键从句中的字段数目和每个字段指定的数据类型都必须和REFERENCES从句中的字段相匹配; 外部键约束不能自动创建索引,需要用户手动创建; 用户想要修改外部键约束的数据,必须有对外部键约束所参考表的SELECT权限或者REFERENCES权限; 参考同一表中的字段时,必须只

12、使用REFERENCES子句,不能使用外部键子句; 主键和外部键的数据类型必须严格匹配 例6 建立一个SC表,定义SNO,CNO为SC的外部键。程序清单如下: CREATE TABLE SC (SNO CHAR(5) NOT NULL CONSTRAINT S_FORE FOREIGN KEY REFERENCES S(SNO), CNO CHAR(5) NOT NULL CONSTRAINT C_FORE FOREIGN KEY REFERENCES C(CNO), SCORE NUMERIC(3), CONSTRAINT S_C_PRIM PRIMARY KEY (SNO,CNO) 6)

13、空值(NULL)约束 空值(NULL)约束用来控制是否允许该字段的值为NULL。NULL值不是0也不是空白,更不是填入字符串的“NULL”字符串,而是表示“不知道”、“ 不确定”或“没有数据”的意思。当某一字段的值一定要输入才有意义的时候,则可以设置为NOT NULL。如主键列就不允许出现空值,否则就失去了唯一标识一条记录的作用。空值(NULL)约束只能用于定义列约束。 创建空值(NULL)约束常用的操作方法有如下两种: (1)在SQL Server管理平台中添加空值(NULL)约束; (2)使用Transact-SQL语句设置空值(NULL)约束。 例7建立一个S表,对SNO字段进行NOT

14、NULL约束。程序清单如下: CREATE TABLE S (SNO CHAR(10) CONSTRAINT S_CONS NOT NULL, SN VARCHAR(20), AGE INT, SEX CHAR(2) DEFAULT 男, DEPT VARCHAR(20) 二、表的修改1.利用Transact-SQL语句修改表向表中添加新的字段:在学生表中添加一个“班级”字段,数据类型为字符型。ALTER TABLE student add班级char u 删除表中的旧列:将学生表中的“Sdept”字段删除。ALTER TABLE student DROP column Sdeptu 更改表以添加具有约束的列:给学生表的增加“grade”字段并加上CHECK约束,让其不可以大于100。ALTER TABLE student ADD grade int Constraint chname check(grade100)Exec sp_help chname给学生表中添加“birthday”字段,并且这个日期不能在录入当天的日期之后。A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 高中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号