c语言程宏实验报告总结,数据库实验-建立表和数据完整性

计算机科学与技术系

实 验 报 告

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

班 级 ( )班

学 号

姓 名

同组人员 无

实验日期 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)

三、实验分析与小结:

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

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

四、其它

得分(百分制)

一、实验目的 使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库的安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统Sysusers中,通过查看Sysusers可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生定义主键、外键约束。   在课程表的“课程名”字段定义唯一约束。   在选课的“成绩”字段定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者的“性别”字段,使之只能取“男、女”值。   在学生中增加出生日期字段定义缺省,并绑定到借阅的“借阅日期”上,使之只能取当前日期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值