实验报告
课程名称 实验名称 班级 实验时间 软件3112 网络数据库SQL ServerII SQL Server 数据表操作 姓名 学号 成绩 __2013______年3___月__21__日 一、实验目的
1、掌握SQL Server 数据类型,并能熟练运用。 2、能够用SSMS来建立表,设计和修改表的结构。 3、能够熟练表中根据各种约束添加和修改数据。 4、熟练使用T-SQL语句建立表,并能设计其约束。 5、了解使用ALTER语句修改表的结构和各种约束。
6、掌握用户自定义数据类型的设计方法,并能创建用户自定义数据类型。 二、实验内容
请在SQL Server2008中建立数据库ahcme,在数据库中完成如下操作
1、 使用企业管理器建立表student表,其中包含字段学号、姓名、年龄、性别、身份
证号等信息(具体其他字段请自行添加),并设置主键,在此表中输入至少5条记录。(请写出详细设计步骤和方法)
2、请用T-SQL语句创建一个商品信息表(products),其中包含如下字段: p_id (设置为主键,自动增长型从2000开始每次增长量为1);
p_name(10个字节不为空);price(缺省值为0.01);quantity(可以为空);
sumvalue(值为price*quantity)这张表属于主文件组。(请写出详细的T-SQL语句)
3、请用T-SQL语句创建一个员工信息表(employees),要求有如下字段: emp_id(10个字节);emp_name(10个字节);emp_cardid(身份证号18个字节);
设置名为pk_emp的主键约束,名为uk_emp的唯一性约束,要求身份证号是唯一的,名为chk_emp的检查约束,要求身份证号不能少于15位。(请写出详细的T-SQL语句)
4、请用T-SQL语句修改刚才建立的products表,用了alter语句修改p_name列的数据类型为varchar(10),并不允许为空。并插入一列订货商信息(orders)要求数据类型为char(10)不能为空。(请写出详细的T-SQL语句)
三、实验步骤
1、打开SQL server2008 工具箱中右键,新建数据库,如下图:
右键单击---> ahcme—>表,右键单击,新建:
输入信息:
2、create table products
(
p_id int identity(2000,1) primary key not null,
p_nam char(10) not null, price float default(0.01), quantity float ,
sumvalue as price*quantity )
go
3、create table employees
(
emp_id char(10) ,
emp_name char(10),
emp_cardid char(18),
constraint pk_emp primary key(emp_id), constraint uk_emp unique(emp_cardid),
constraint chk_emp check(len(emp_cardid)>=15) ) Go
4、
alter table products
alter column p_name varchar(10) not null go
alter table products
add orders char(10) not null go
四、思考题
1、简单描述2种方法建立用户自定义数据类型(用存储过程来创建用户自定义数据类型的格式请详细描述,并举例说明)
答:用户自定义数据类型的创建:1)执行系统存储过程:Exec sp_addtype type,system_data_type [,'null_type',owner_name] ·type 自定义数据类型名,必须保证符合标识符规则,而且数据库中唯一。·system_data_type 是自定义数据类型基于的数据类型,可以包括长度,精度,标度等。·null_type 定义用户自定义的数据类型处理空值的方式。可以取'NULL' 、 'NOT NULL' 、 NONULL
创建表(应用已经创建的自定义数据类型)
create table table_name(field_name type_name) 2、简单用T-SQL语句来创建和修改数据表的方法。(请写出创建和修改语句的格式并说明)
通常用CREATE TABEL语句创建表,其基本语法格式如下: CREATE TABEL 表名 ({列名 数据类型 NOT NULL|NULL})
上面格式中,包含参数的含义如下:
表名:是所创建的表的名称,在一个数据库内表名必须唯一。 列名:列名在一个表内列名必须唯一。
数据类型:可以使用系统数据类型,也可以使用用户定义的数据类型。对于需要给定数据最大长度的类型,在定义时要给出长度。
3、简单描述5种数据表的约束以及特点。
数据的约束主要有五种,分别是PRIMARY KEY 约束、 FOREIGN KEY 约束、 UNIQUE 约束、 CHECK 约束和 DEFAULT 约束。
PRIMARY KEY 约束特点是:一个表中只能有一个主键,且主键约束列表不能为空值。
FOREIGN KEY 约束特点是:当数据添加、修改或删除时,可以通过外键约束保证它们之间的数据一致性。
UNIQUE 约束特点是:它强制唯一性,但是它用于非主键的一列或是多列组合,且一个表可以定义多个UNIQUE 约束,另外UNIQUE 约束可以用于定义允许空值的列。
CHECK 约束特点是:用于限制输入一列或是多列的值的范围,从逻辑表达式判断数据的有效性,也就是一个列的输入内容必须满足CHECK的约束条件,否则,数据无法正常输入,从而强制数据的域的完整性。
DEFAULT 约束特点是:若用此约束,用户在插入新的数据时,若没有该列的数据,那么系统将默认值赋值给该列,当然该列默认值也可以是空值。
五、收获、体会(写得越详细、越个性化、越真实越好,包括你对这个实验时进行的思考、通过这个实验你是否在实践能力上得到了提高)
本次的实验中,有遇到比较难解决 的问题,就是身份证字符长度的限制方法, 最终在网上找到的解决办法如下;emp_cardid char(18),
constraint chk_emp check(len(emp_cardid)>=15)是先定义了身份证的字符,和字符类型。实验中还有一些细节方面没有仔细注意。在建立products表的时候,我吧P_name的“e”少写了,结果在使用T---SQL语句写修改和添加内容的时候总是错误,搞了好久才弄好,最终完成了本次实验,感觉这次的实验有点吃力。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- howto1234.com 版权所有 湘ICP备2023017662号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务