数据库-实验3

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

实验目的

1.掌握SQL Server 2005数据表的类型、数据类型。

2.掌握SQL Server 2005创建数据表的不同方法。

3.使用图形界面和使用SQL语句。

4.掌握数据表结构的查看、修改及删除的操作。

5.掌握数据的完整性,6个完整性约束的应用。

实验内容及步骤

一、表的创建

1.利用SQL Server管理平台创建表

在SQL Server管理平台中,展开指定的服务器和数据库,打开想要创建新表的数据库,右击表对象,并从弹出的快捷菜单中选择“新建表”选项,如图3-1所示。在图3-1的对话框中,可以对表的结构进行更改,设置主键及字段属性,使用SQL Server管理平台可以非常直观地修改数据库结构和添加数据。在表中任意行上右击,则弹出一个快捷菜单,如图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|DEFAULT}]

::={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,

wname char(8)NOT NULL, --此处不能用name

sex char(2)NULL,

birthday datetime null,

job_title varchar(10)null,

salary money null,

memo ntext null);

3完整性约束

约束是SQL Server提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据来保证数据的完整性。在SQL SERVER 中,对于基本表的约束分为列约束和表约束。

列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用’,’分隔,定义表约束时必须指出要约束的那些列的名称。

完整性约束的基本语法格式为:

[CONSTRAINT 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,也不能重复,以此来保证实体的完整性。PRIMARY KEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:

①在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个

UNIQUE约束;

②对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列

都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。不能为同一个列或一组列既定义UNIQUE约束,又定义PRIMARY KEY约束。

PRIMARY KEY既可用于列约束,也可用于表约束。

例2 建立一个SC1表,定义SNO,CNO共同组成SC的主键,程序清单如下:

CREATE TABLE SC1 (

SNO CHAR(5)NOT NULL,

CNO CHAR(5)NOT NULL,

SCORE NUMERIC(3),

CONSTRAINT SC_PRIM PRIMARY KEY(SNO,CNO));

2)惟一性约束

惟一性约束用于指定一个或者多个列的组合值具有惟一性,以防止在列中输入重复的值。定义了UNIQUE约束的那些列称为唯一键,系统自动为唯一键建立唯一索引,从而保证了唯一键的唯一性。当使用惟一性约束时,需要考虑以下几个因素:使用惟一性约束的字段允许为空值;

➢一个表中可以允许有多个惟一性约束;

➢可以把惟一性约束定义在多个字段上;

➢惟一性约束用于强制在指定字段上创建一个惟一性索引;

➢默认情况下,创建的索引类型为非聚集索引。

例3创建一个学生信息表,其中name字段具有惟一性。

create table student (

sid char(8),

sname char(10),

sex char(2),

constraint pk_id primary key(sid),

constraint uk_identity unique(sname));

相关文档
最新文档