数据库原理实验报告 下载本文

实验项目名称: 表和表数据的操作 实验学时: 2 同组学生姓名: 实验地点: 1316

实验日期: 2016 . 03 . 31 实验成绩: 批改教师: 王预 批改时间: 2016.4.3

一、实验目的和要求

1、了解表的类型及创建方法; 2、熟悉各种数据类型; 3、掌握列的各种属性;

4、掌握自定义数据类型的创建方法; 5、掌握用T-SQL语言和工具创建表的方法; 6、掌握工具和T-SQL语言插入数据的方法。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机;

环境:WINDOWS 2000 SERVER或WINDOWS 2003 SERVER、SQL Server2005中文版。

三、实验步骤

1、根据题目要求熟悉SQL Server2005的各种管理工具; 2、分析题意,重点分析题目要求并给出解决方法;

3、按题目要求完成实际操作任务,并将相关文档资料保存在以自己学号命名的文件夹中; 4、提交完成的实验结果。

四、实验内容

一、表的概述 1、表的概念

在关系数据库中每一个关系都体现为一张表。表是用来存储数据和操作数据的逻辑结构,关系数据库中所有的数据都表现为表的形式。 2、表的类型

在SQL Server2005中,可以把表分为4种类型,即普通表、分区表、临时表和系统表。每一种表都有其自身的作用和特点。

(1)普通表:又称为标准表,就是通常所说的数据库中存储数据的标,是最常使用的表对象,是最重要和最基本的表。

(2)分区表:分区表示将数据水平划分成多个单元的表,这些单元的表可以分散到数据库中的多个文件组里,以实现对单元中数据的并行访问。其优点在于可以方便地管理大型表,提高对这些表中数据的使用效率。

(3)临时表:临时表是临时创建的、不能永久生存的表。又可以分为本地临时表和全局临时表。本地临时表以#打头,它们仅对当前的用户连接时可见的,当用户从SQL Serve2005实理断开连接时被删除;

金陵科技学院实验报告

全局临时表以##打头,创建后任何用户都是可见,当所有引用该表的用户从SQL Server 2005中断开连接时被删除。

(4)系统表:系统表与普通表的区别在于,系统表存储了有关SQL Server 2005服务器的配置、数据库设置、用户和表对象的描述等信息。 二、列 1、列数据类型

在设计表的时候,需要知道每列字段的数据类型。SQL Server 2005系统提供了28种数据类型,主要分为七大类。 (1)精确数字类型

这些数据类型的数据可以参加各种数学运算,所有的数值都是有精度的,精度是指有效数字位数。如整数数据类型:binint、int、smalling、tinyint;位数据类型bit;货币数据类型:Money、Smallmoney等。 (2)近似数字类型

在现实计算中,还有一些数据没有精确数值,如1/3,它无法用精确数字类型表示,需要由系统来定义精确到哪一位,这种类型就是近似数据类型。如:Decimal和Numeric;Float和Real等。 (3)字符数据类型

它是用来存储各种字母、数字符号和特殊符号。在使用该数据类型时,需要用用单引号或双引号括起来。SQL Server 2005主要提供了Char、Varchar、Text3中数据类型。 (4)Unicode字符数据类型

Unicode是一种在计算机上使用的字符编码。它为每一种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。SQL Server 2005主要有:Nchar、Nvarchar、Ntext三种。 (5)二进制数据类型

二进制数据类型可以用来存储二进制的数据。主要有:Binary、Varbinary、Image三种类型。 (6)日期和时间数据类型

在SQL Server2005中,日期和时间类型主要包括:datetime 和smalldatetime两种。两者区别在于其表示的日期和时间的范围不同,时间的精确度也不同。 (7)其他数据类型

SQL Server2005系统还提供了Cursor、Sql_varant、Table、Timestamp、Uniqueidentifie、XML6种特殊用途的数据类型。 2、列的其他属性 (1)NULL和NOT NULL

定义属性列时可以规定该列是否可以为空。 (2)默认值

当某个属性的值大部分的取值都是相同时,可以使用默认值来减少插入数据时的时间。 (3)IDENTITY

使用IDENTITY关键字定义的字段为标识字段,标识字段是唯一标识每条记录的特殊字段,当一条新记录添加时,这个字段就被自动赋予一个新值。默认情况下是+1递增。

1

金陵科技学院实验报告

三、创建表

1、使用SQL Server Management Studio工具在MyDB数据库中创建Student和Class表。 Student表的结构为:

字段名 SNO SName Sex ClsNO StuAddr Birthday Height 类型 Char(8) Varchar(10) Char(2) Char(6) Varchar(20) SmallDate Numeric(4,2) 中文名 学号 姓名 性别 班级 住址 出生年月 身高 总学分 中文名 班号 班名 辅导员 专业 备注 主键 男、女 班级的编号,参照表Class 描述性说明 以米为单位表示学生的身高。 备注 主键 对班级的描述信息 班级的辅导员 TotalCredit Tinyint Class表的结构为: 字段名 ClsNO ClsName Director Specialty 类型 Char(6) Varchar(16) Varchar(10) Varchar(30) 2、使用T-SQL语言在MyDB数据库中创建再Course和Grade表,为以后的实验做准备。

Course表的结构为: 字段名 CNO CName PCNO Credit Grade表的结构为: 字段名 SNO CNO Scorce Credit 类型 Char(8) Char(4) 中文名 学号 课程号 备注 学号,参照Student,与CNO组成主键 课程号,参照Course 类型 Char(4) Varchar(16) char(4) Tinyint 中文名 课程号 课程名 先修课程 学分 备注 主键 课程的名称 先修课程的课程号 Numeric (4,1) 成绩 Tinyint 学分 四、自定义数据类型

(1)使用SQL Server Management Studio工具创建用户自定义数据类型:studentNo,char(8) (2)系统存储过程sp_addtype 创建用户自定义数据类型: courseNo,char(4) (3)修改MyDB数据库中的各表,学号和课程号应用自定义的数据类型。 五、修改表结构

(1)使用Alter修改Student表结构,使其增加一列Department(系别)Char(12)。 (2)使用SQL Server Management Studio工具删除刚刚增加的Department。 六、插入数据

使用SQL Server Management Studio工具或insert into语句,分别向下列表格插入数据。

2

金陵科技学院实验报告

(1)向表(Student)中插入数据 SNO 19920101 19920102 19920306 19940106 SName Sex 王军 李杰 王彤 吴杪 男 男 女 女 ClsNO StuAddr CS01 CS01 MT04 PH08 下关40# 江边路96# 中央路94# Birthday 1976.12.21 1974.5.24 1977.3.18 Height 1.76 1.72 1.65 1.60 TotalCredit 10 9 9 4 莲化小区74# 1979.4.8 插入数据之后使用命令:Select * from Student;检查插入数据的正确性 (2)向表(Class)中插入数据 ClsNO CS01 MT04 PH08 ClsName 计算机一班 数学四班 物理八班 Director 王宁 陈晨 葛格 Specialty 计算机应用 数学 物理 插入数据之后使用命令:Select * from Class; 检查插入数据的正确性 (3)向表(Course )中插入数据 CNO 0001 0003 0007 CName 数学 计算机基础 物理 PCNO Null 0001 0001 Credit 6 3 4 插入数据之后使用命令:Select * from Course; 检查插入数据的正确性 (4)向表(Grade )中插入数据 SNO 19920101 19920101 19920102 19920102 19920306 19920306 19940106 CNO 0001 0007 0001 0003 0001 0003 0007 Score 90 86 87 76 87 93 85 Credit 6 4 6 3 6 3 4 插入数据之后使用命令:Select * from Grade; 检查插入数据的正确性 七、删除表中的数据

(1)使用SQL Server Management Studio工具删除课程号为0001的选课记录。 (2)使用T-SQL语言删除Grade表中学号为19920101的数据 八、删除表格

(1)使用SQLSQL Server Management Studio工具删除Class表。 (2)使用Drop Table命令删除Grade表。

*注意在删除之前,请将数据文件拷贝一个副本,已备以后实验使用。

五、问题解答及实验结果

1.创建表

CREATE TABLE [dbo].[student](

3