数据库实验-建立表和数据完整性

计算机科学与技术系

实 验 报 告

专业名称 软件工程 课程名称 数据库实验 项目名称 建立表和数据完整性

班 级 ( )班

学 号

姓 名

同组人员 无

实验日期 20 年 月 日

一、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识

点,实验的具体要求。)

实验目的:

1.掌握表的基本操作。 1)建立表。 2)修改表的结构。 2.索引的建立方法。

3.掌握数据完整性的功能,加深对数据完整性的理解。

实验要求:

1)使用实验一的技术建立名称为“学生管理”数据库。

2)建立如图所示的订单管理数据库中的5张表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性) ,各个表的具体描述如下:

院系

学生

教师

课程

3)修改表的结构,具体要求如下:

a. 为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。 b. 为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。 c. 将院系表的“名称”字段的类型修改为varchar(30)。

d. 为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。 4) 分别建立如下索引

a. 在客户表的客户名称字段上建立普通升序索引。 b. 在产品表的客户名称字段上建立惟一索引。 c. 在订购单表的订单号字段上建立聚集索引。

d. 在订单名细表的订单号(升序)、序号(升序)和数量(降序)三个字段上建立一个普通索引。

二、实验内容

(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他 ) 1) 、建立数据库

create database 学生管理 on

( name=order_dat,

filename='c:\mssql\data\orderdat.mdf', size=10MB, maxsize=50MB, filegrowth=5MB) log on

( name=order_log,

filename='d:\mssql\log\orderlog.ldf', size=5MB,

maxsize=25MB, filegrowth=5MB)

2) 、建立表

create table 院系 (

编号int primary key, 名称char(20)not null, 负责人char(10),

办公地点char(20) , unique (名称))

(

学号char(8) primary key,

院系int foreign key references 院系(编号), 姓名char(10) not null,

性别char(2) check(性别like '男' or 性别like '女'), 生源char(6), 状态char(4))

(

教师编号char(8) primary key,

院系smallint foreign key references 院系(编号), 姓名char(10) not null,

性别char(2) check(性别like '男' or 性别like '女'),

职称char(6) check(职称like '教授' or 职称like '副教授' or 职称like '讲师' or 职称like '助教'), 专业char(10))

(

课程编号char(8) primary key, 课程名称char(20) not null,

责任教师char(8) foreign key references 教师(教师编号), 学时int not null,

课程性质char(10) check( 课程性质like '公共基础' or 课程性质like '专业基础'or 课程性质like '专业选修' or 课程性质like '任意选修'))

(

学号char(8) foreign key references 学生(学号),

课程编号char(8) foreign key references 课程(课程编号),

成绩int check(成绩>=0 and 成绩

3).修改表的结构,具体要求如下:

a 为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。 alter table 学生

add 平均成绩smallint default null

b 为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。 alter table 课程

add check(学时/8=0)

c 将院系表的“名称”字段的类型修改为varchar(30)。 alter table 院系

alter column 名称varchar(30)

d 为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。 alter table 教师

add 工资 numeric(5,2)

4) 分别建立如下索引

a. 在客户表的客户名称字段上建立普通升序索引。 create clustered index cname_index on customer(cname asc)

b. 在产品表的客户名称字段上建立惟一索引 create unique clusteredindex cname_indexon product(cname)

c. 在订购单表的订单号字段上建立聚集索引。 create clustered index dno_index on dinggou(dno)

d. 在订单名细表的订单号(升序)、序号(升序)和数量(降序)三个字段上建立一个普通索引。 create clustered index dno_index

on dingdan(dno asc,dux asc,dshu desc)

三、实验分析与小结:

(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析; 有待优化思路)

通过本次实验,掌握表的基本操作:建立表、修改表的结构。索引的建立方法以及掌握数据完整性的功能,加深对数据完整性的理解。但是我对这些操作都不怎么熟练,应该多加实践。

四、其它

得分(百分制)

计算机科学与技术系

实 验 报 告

专业名称 软件工程 课程名称 数据库实验 项目名称 建立表和数据完整性

班 级 ( )班

学 号

姓 名

同组人员 无

实验日期 20 年 月 日

一、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识

点,实验的具体要求。)

实验目的:

1.掌握表的基本操作。 1)建立表。 2)修改表的结构。 2.索引的建立方法。

3.掌握数据完整性的功能,加深对数据完整性的理解。

实验要求:

1)使用实验一的技术建立名称为“学生管理”数据库。

2)建立如图所示的订单管理数据库中的5张表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性) ,各个表的具体描述如下:

院系

学生

教师

课程

3)修改表的结构,具体要求如下:

a. 为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。 b. 为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。 c. 将院系表的“名称”字段的类型修改为varchar(30)。

d. 为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。 4) 分别建立如下索引

a. 在客户表的客户名称字段上建立普通升序索引。 b. 在产品表的客户名称字段上建立惟一索引。 c. 在订购单表的订单号字段上建立聚集索引。

d. 在订单名细表的订单号(升序)、序号(升序)和数量(降序)三个字段上建立一个普通索引。

二、实验内容

(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他 ) 1) 、建立数据库

create database 学生管理 on

( name=order_dat,

filename='c:\mssql\data\orderdat.mdf', size=10MB, maxsize=50MB, filegrowth=5MB) log on

( name=order_log,

filename='d:\mssql\log\orderlog.ldf', size=5MB,

maxsize=25MB, filegrowth=5MB)

2) 、建立表

create table 院系 (

编号int primary key, 名称char(20)not null, 负责人char(10),

办公地点char(20) , unique (名称))

(

学号char(8) primary key,

院系int foreign key references 院系(编号), 姓名char(10) not null,

性别char(2) check(性别like '男' or 性别like '女'), 生源char(6), 状态char(4))

(

教师编号char(8) primary key,

院系smallint foreign key references 院系(编号), 姓名char(10) not null,

性别char(2) check(性别like '男' or 性别like '女'),

职称char(6) check(职称like '教授' or 职称like '副教授' or 职称like '讲师' or 职称like '助教'), 专业char(10))

(

课程编号char(8) primary key, 课程名称char(20) not null,

责任教师char(8) foreign key references 教师(教师编号), 学时int not null,

课程性质char(10) check( 课程性质like '公共基础' or 课程性质like '专业基础'or 课程性质like '专业选修' or 课程性质like '任意选修'))

(

学号char(8) foreign key references 学生(学号),

课程编号char(8) foreign key references 课程(课程编号),

成绩int check(成绩>=0 and 成绩

3).修改表的结构,具体要求如下:

a 为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。 alter table 学生

add 平均成绩smallint default null

b 为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。 alter table 课程

add check(学时/8=0)

c 将院系表的“名称”字段的类型修改为varchar(30)。 alter table 院系

alter column 名称varchar(30)

d 为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。 alter table 教师

add 工资 numeric(5,2)

4) 分别建立如下索引

a. 在客户表的客户名称字段上建立普通升序索引。 create clustered index cname_index on customer(cname asc)

b. 在产品表的客户名称字段上建立惟一索引 create unique clusteredindex cname_indexon product(cname)

c. 在订购单表的订单号字段上建立聚集索引。 create clustered index dno_index on dinggou(dno)

d. 在订单名细表的订单号(升序)、序号(升序)和数量(降序)三个字段上建立一个普通索引。 create clustered index dno_index

on dingdan(dno asc,dux asc,dshu desc)

三、实验分析与小结:

(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析; 有待优化思路)

通过本次实验,掌握表的基本操作:建立表、修改表的结构。索引的建立方法以及掌握数据完整性的功能,加深对数据完整性的理解。但是我对这些操作都不怎么熟练,应该多加实践。

四、其它

得分(百分制)


相关内容

  • 数据库原理实验
  • 附录:实验指导书 实验一 熟悉数据库管理系统环境 一.实验目的: 1. 了解SQL Server2008的基本安装和配置. 2. 掌握SQL Server2008常用工具的基本操作方法. 3. 了解SQL SERVER2008数据库及其表对象的建立方法. 二.实验内容和主要步骤: 1. 参照相关文档 ...

  • 数据库实验指导书
  • 数 据 库 实验指导书 电气与电子工程学院 实 验 项 目 实验一 认识DBMS 及数据库的建立 实验二 实验三 实验四 交互式SQL(数据库查询与更新) 数据控制(安全性部分) 数据控制(完整性部分) 实验一 认识DBMS 及数据库的建立 一.实验目的: 1. 掌握使用SQL SERVER企业管理 ...

  • 实验5 数据完整性约束实验
  • 实验D05: 数据完整性约束实验 一.实验名称和性质 二.实验目的 1.掌握数据完整性约束的类型: 2.掌握SQL SERVER中的相关完整性约束: 三.实验的软硬件环境要求 硬件环境要求: PC 机(单机) 使用的软件名称.版本号以及模块: Windows XP下的SQL Server 2000( ...

  • 数据库平时上机实验报告
  • 实验一数据库的定义和建立实验 一.实验目的 要求学生熟练掌握和使用T -SQL ﹑SQL Server企业管理器创建数据库﹑基本表﹑视图﹑索引和修改表结构,及向数据库输入数据的操作:学会创建和使用表的主外码和约束. 二.实验内容 本实验针对上述两个题目分别完成以下相应任务: 1﹑创建相应的数据库和查 ...

  • [数据库技术与应用]实验报告参考
  • 2013级硕士研究生 <数据库技术与应用> 实验报告 姓 名: 王xxxx 学 号: s2012000 专 业: xxxx 工程 任课老师: 孙静宇 完成时间: 2014.05.xx 太原理工大学 研究生院 实验一: 创建和删除数据库 一. 实验目的 学习建立数据库.删除数据库的SQL ...

  • 上机实验5 数据完整性管理2008
  • 上机实验5 数据完整性管理 5.1 实验目的 1.理解数据库完整性约束的概念和原理: 2.掌握声明型数据完整性和过程型数据完整性的实现方法: 3.通过练习正确理解触发器的作用,类别,如何产生作用: 4.通过练习熟悉创建触发器的语句. 5.2 实验练习预备知识点 5.2.1 完整性的概念 数据完整性( ...

  • 药物临床试验生物样本分析实验室管理指南(2011试行)
  • 药物临床试验生物样本分析实验室管理指南(2011试行) 第一章 总 则 第一条 为加强药物临床试验生物样本分析实验室的管理,提高生物样本分析数据的质量和管理水平.根据<药品注册管理办法>.<药物临床试验质量管理规范>.<药物非临床研究质量管理规范>,参照国际规范, ...

  • 药物临床试验生物样本分析实验室管理指南
  • 药物临床试验生物样本分析实验室管理指南(试行)(药审中心2011年) ∙ 来源:CFDA 药审中心 ∙ 内容说明: ∙ 状态 分类 标题 颁布 化学药物 药物临床试验生物样本分析实验室管理指南(试行) ∙ 药物临床试验生物样本分析实验室管理指南(试行) ∙ 第一章 总 则 ∙ 第一条 为加强药物临床 ...

  • 纸质记录于电子记录的管理
  • 记录是反映实际生产活动实施结果的书面文件,药品生产的所有环节,从生产到检验到销售都要有记录可查证追溯.记录必须真实.完整,才可以体现生产过程中的实际情况.本文参考GMP.WHO数据与记录管理规范指南.FDA数据完整性行为要素等文献,为读者总结了纸质记录和电子记录相关的管理要求.供大家参考. 纸质和电 ...