《数据库原理及应用》实验大纲
本文关键词:数据库原理及应用,由笔耕文化传播整理发布。
《数据库原理及应用》实验大纲
关键字: 日期:2016-01-25 04:01:54
《数据库原理及应用》上机实验教学大纲 数据库原理及应用》上机实验
实验目录
(1)实验一 创建 sql server 数据库和表 (6)实验二 基本表的建立和修改 (7)实验三 select 语句的使用(一) (8)实验四 select 语句的使用(二) (9)实验五 sql 的存储操作 (10)实验六 视图的建立及操作 (11)实验七 完整性约束的实现 (1
2)实验八 创建触发器 (13)实验九 transact-sql 语句的使用 (14)实验十 创建存储过程
实验一
一、实验目的 实验目的
创建 sql server 数据库和表
通过实验使学生了解 sql server 系统数据库和用户数据库,掌握 sql server 数据库的创建 方法和数据库对象,了解 sql server2000 的数据类型,掌握创建 sql server 表的方法。 二、实验准备 1、了解 sql server 数据库结构 、 在 sql server 中, 所有信息都存储在数据库中。 每个数据库都由物理和逻辑组件两部分组成。 逻辑组件是用户在使用 sql server 图形操作界面看到的,或在程序中访问的数据库和数据库对 象。比如:数据库名和表名、视图名、存储过程名等数据库对象。面数据库的物理组件——文件, 对用户是透明的,一般只有系统管理员才直接对数据库文件进行操作。 每个数据库文件由以下三种组成: (1)主数据文件(文件名后辍:.mdf) 。该文件是数据库的基础,每个数据库有且仅有一个 主要的数据文件。 (2)次数据文件(文件名后辍:.ndf) 。该文件存储着主数据文件没有包括的内容。它不是 每个数据库都必须的。简单的数据库可以没有次要数据文件,复杂的数据库可以有多个次要数据 文件。 (3)日志文件(文件名后辍:.ldf) 。日志文件记录着事务日志信息,每个数据库必须至少 有一个日志文件。 2、了解 sql server 的四个系统数据库及其作用 、 四个系统数据库为: master, model, tempdb, msdb, 它们是正常运行 sql server 所必需的, 不 能删除和随意修改。其中: master: sql server 的主数据库, 是 保存着 sql server 所有的系统级的信息, 包括登录信息, 所有的系统配置信息。它还记录着所有用户数据库和主数据文件的位置,确保用户数据库的初始 化。 model:是创建新数据库的模板数据库。当用户新创建数据库时,首先将 model 数据库数据 库拷贝到新数据库中。model 数据库可以自定义,任何对 model 数据库的修改,都将在以后新建 数据库时体现出来。 tempdb:临时数据库,为临时表和其他临时工作提供一个临时的存储区域。每次打开 sql server,tempdb 数据库都会重建。 msdb:是 sqlserveragent 的主要支持,用于复制、任务调度、报警、系统操作员信息以及 备份信息。 3、了解 sql server 的两个示例数据库 、 两个示例数据库为: pubs 数据库和 northwind 数据库, 是微软为学习 sql server 的用户准备
1
的例子数据库。熟练用户可以删除这两个数据库。 4、了解 sql server 的常用数据类型 了解 下面主要介绍 sql server 的常用数据类型: 字符型数据、整型数据类型、精确数据类型、浮 点数据类型、货币型数据类型、日期时间型数据类型、统一字符编码型(unicode)数据类型、 布尔数据类型。 1)字符型数据 sql server 提供了三种字符型数据类型:char、 varchar、 text。它们可以存储的数据包括: 大写或小写字母;数字;特殊字符,例如:、*、@等。 char[(n)]:表示一个长度为 n 的固定长度字符串,其中 n 最大可以是 8000。 例如用户定义一个字段为 char(10) not null,如果存储的字符不足 10 个字符,如: “abcdef” , 则 sql serever 将该字符存储为“abcdef ” ,即不足 10 个字符部分用空格补齐。如果要存储 的字符长度超过了允许的字符串长度,那么在执行插入语句时,将导致执行错误。 varchar[(n)]:表示一个长度为 n 的可变长度字符串,其中 n 最大可以是 8000。 varchar 的使用与 char 的数据类型相似,只是它的存储空间与字符串的实际长度相同。 text:如果要存储的字符超过了 8000 个,则可以使用 text 数据类型。 text 字符串是存储在数据记录以外的大型字符串,长度最多可达 2gb。在数据记录中,只包 含了一个 16 字节的文本指针,指向实际的存储数据。 2)整型数据类型 用来存储精确的数字值,包括以下四类: bigint:是 sql server 2000 新增的数据类型,存储空间为 8 个字节,共 64 位,其中 63 位用 来 存 储 数 值 , 一 位 用 来 存 储 数 值 的 正 负 。 能 够 存 储 -263 ( -9223372036854775808 ) ~263-1 (9223372036854775807)之间的数字。 int:存储空间为 4 个字节,,共 32 位,其中 31 位用来存储数值,一位用来存储数值的正负。 可以存储从-231(-2147483648)~231-1(2147483647)之间的数字。 smallint:存储空间为 2 个字节,共 16 位,其中 15 位用来存储数值,一位用来存储数值的 正负。可以存储从-215(-32768)~215-1(32767)之间的数字。 tinyint:存储空间为 1 个字节,共 8 位,用来存储 0~255 之间的数字。 整型对象或表达式可以用于所有的数学操作,执行后,由这些操作生成的小数部分都将被直 接舍去,而不是四舍五入。 3)精确数据类型 包括 decimal 和 numeric 两种。在 t-sql 中,mumeric 与 decimal 在功能上等效。 一般使用此数据类型的表达式为: decimal(p, s), 其中, 指精度或对象能够控制的数字个数; p s 指定可放在小数点右边的小数位数或数字个数。
2
p 和 s 必须满足以下规则: 0≤s≤p≤38 4)浮点数据类型 包括 float 和 real 两种。他们所存储的并不是数字指定的精确值,而是这些值的最近似值。所 以在字段定义中很少使用。 float[(n)]:可以存储从-1.79e+308~1.79e+308 之间的所有浮点数。如果 0≤n≤24,则精度 为 7 个有效数字,存储空间为 4 个字节;如果 25≤n≤53,则精度为 15 个有效数字,存储空间为 8 个字节。 real:存储从-3.40e+38~3.40e+38,存储空间为 4 个字节。 5)货币型数据类型 包括 money 和 smallmoney 两种。 money 数据类型存储从(-922337203685477.5808)~(922337203685477.5807)之间的数值. 存储空间为 8 个字节,前 4 个字节表示货币的整数部分,后 4 个字节表示货币值的小数部分。 smallmoney 数据类型存储从(-214748.3648)~(214748.3647)之间的数值。存储空间为 4 个字节。 6)日期时间型数据类型 包括 datetime 和 smalldatetime 两种,用来存储日期和时间的组合数据。用户可以使用 sql server 提供的函数直接进行日期时间的运算,比如:两个日期的远近比较、日期值的计算等。 datetime: 可以存储从 1753 年 1 月 1 日到 9999 年 12 月 31 日所有的时间, 精确度为 1/300s。 需要 8 个字节存储空间。 smalldatetime: 可以存储从 1900 年 1 月 1 日到 2079 年 12 月 31 日所有的时间, 精确度为 1s。 需要 4 个字节的存储空间。 7)统一字符编码型(unicode)数据类型 该数据类型使用当前最新的 unicode 编码数据而设定。ascii 码使用一个字节编码每个字符, 故最多只能表示 256 个不同的字符。而 unicode 编码提供采用双字节编码每个字符的方法,最多 可提供 65536 个双字节字符,解决了像中文、日文汉字、韩文等双字节字符的存储问题。 支持双字节的数据类型有:nchar、nvarchar、ntext,他们三属性和用法分别与 char、varchar、 text 相同,但存储 unicode 字符所需要的空间更大,所以 nchar 和 nvarchar 数据类型最多只可存储 4000 个字符。 8)布尔数据类型 sql server 的布尔数据类型的取值只能为 1、0 或空值。该数据类型用于存储只有两种可能 值的数据,如:yes 或 no、true 或 false、on 或 off 等。 三、实习内容 (1)启动 ms sql server 服务,打开“企业管理器” 。
3
(2)单击“企业管理器”左边“控制台根目录”树结构中的 sql server group(服务组) , 使其展开;再展开服务组下面的 sql server 服务器(安装 sql server 时的服务器名) 。 (3)展开“数据库” ,用户可见 sql server 自带的四个系统数据库和两个示例数据库。 (4)在“企业管理器”中创建名为 grademanager 的数据库。 实验步骤: 1) 选中 “数据库” (database) 单击鼠标右键, , 在其弹出菜单中选择 “新建数据库……” (new database……) 。 2)在随后出现的“新建数据库”对话框的“名称”一栏中,输入数据库名:grademanager, 也可通过“新建数据库”对话框更改数据库文件的存放路径(默认路径在 ms sql server 安装目 录的..mssqldata下) 。几秒钟后在 database 一栏中可见新建的数据库。 3)展开新建的数据库,会发现数据库中已有了以下目录结构,称之为数据库对象: 关系图(diagram) 表(table) 视图(view) 存储过程(stored procedure) 用户(user) 角色(role) 规则(ruler) 默认(default) 用户定义的数据类型(user defined data type) 用户定义的函数(function) 新建数据库的这些对象,都是从 model 数据库中复制来的。 (5)在 grademanager 数据库中,创建表。 实验步骤: 1)打开“查询分析器” 。 2)在“查询分析器”的工具栏的数据库下拉选择框中,选中 grademanager,使之成为当前 操作的数据库,在编辑框中键入下列 sql 语句,创建 worker 表: create table worker( wno char(4) primary key, wname char(8) not null, wsex char(2) not null, wbirthday datetime ); 3)按编辑框上方图形菜单中的绿色箭头按钮,执行编辑框中的 sql 语句。 4)清空上面的 sql 语句,然后输入: select * from worker;
4
5)按编辑框上方图形菜单中的绿色箭头按钮,执行 select 语句,结果为空。 6)在“企业管理器”中展开数据库→展开 grademanager 数据库→选中 table,右击鼠标→ 选择刷新,可见右边出现新建的 worker 表。 7)选中 worker 表,右击鼠标→打开表,可见 worker 表中记录为空。 四、实习报告内容 (1)写出在“企业管理器”中创建数据库的一般步骤; (2)写出在“查询分析器”中创建表的一般步骤。 五、思考题 (1)sql server 的数据库文件有几种后缀名分别是什么 (2)sql server 2000 中,有哪几种整型数据类型它们占用的存储空间分别是多少取值 范围分别是什么
5
实验二
基本表的建立和修改
一、实习目的 通过建立基本表和向表中输入记录,加深学生对关系数据模型中型和值概念的理解;学会对 基本表进行修改、删除和建立索引等基本操作。 二、实习准备 (1)复习第 2 章 2.2、2.3 节基本表、索引的创建、删除和修改操作; (2)复习 create table、create index、alter table、drop table 等命令; (3)复习 insert、update、delete 命令的使用; (4)完成习题二第 13、14 题(p54)中和各项操作。 三、实习内容 (1)启动 mssql server 服务,打开 enterprise manager 和 query analyzer。 (2) query analyzer 中用 create table 命令在实验一创建的 grademanager 数据库中定义基 在 本表: 学生表 (student)课程表 、 (course)利用 enterprise manager 的图形化功能建立班级表 、 (class) 以及成绩表(grade) 。表结构如下: 表一: student 属性名
sno sname ssex sage clno
表三: class 可否 为空
否 否 否 可 否
数据类型
char(7) varchar(20) char(2) smallint char(5)
含义
学号(唯一) 学生姓名 性别 年龄 学生所在班级
属性名 clno speciality inyear number monitor
数据类型 char(5) varchar(20) char(4) integer char(7)
可否 为空 否 否 否 可 否
含义 班级号(唯一) 班级所在专业 入校年份 班级人数 班长学号
表二: course
属性名 cno cname credit precno 数据类型 char(1) varchar(20) smallint char(1) 可否 为空 否 否 可 可 含义 课程号(唯一) 课程名称 学分 先修课
表四: grade
属性名 sno cno gmark 数据类型 char(7) char(1) numeric(4,1) 可否 为空 否 否 可 学号 课程号 成绩(百分制) 含义
6
(3)验证习题二第 14 题中的各项操作。 五、思考题 在定义基本表语句时,not null 参数的使用有何作用
7
实验三
select 语句的使用(一) 语句的使用(
一、实习目的 掌握 select 的基本使用格式,能使用 sql server 对表作简单的查询。 二、实习准备 (1)复习第 2 章 2. 4 节中 select 语句的基本使用格式。 (2)复习 sql 中五种库函数:avg、sum、max、min、count。 (3)完成下列各题中的各项操作的 sql 语句: 15-1:找出所有被学生选修了的课程号; 15-2:找出 01311 班女学生的个人信息; 15-3:找出 01311 班、01312 班学生的姓名、性别、出生年份; 15-4:找出所有姓李的学生的个人信息; 15-5:找出学生李勇所在班级的学生人数; 15-6:找出课程名为操作系统的平均成绩、最高分、最低分; 15-7:找出选修了课程的学生人数; 15-8:找出选修了课程“操作系统”的学生人数; 15-9:找出 2000 级计算机软件班的成绩为空的学生姓名. 三、实习内容 (1)验证实习准备(3)中各题的 sql 语句是否正确. (2)试一下下列语句是否正确: select eno, basepay, service from salary where basepay
本文关键词:数据库原理及应用,由笔耕文化传播整理发布。
本文编号:288663
本文链接:https://www.wllwen.com/wenshubaike/dxkc/288663.html