文档库 最新最全的文档下载
当前位置:文档库 › 西南交通大学数据库原理实验课程设计

西南交通大学数据库原理实验课程设计

西南交通大学数据库原理实验课程设计
西南交通大学数据库原理实验课程设计

2014-2015学年第一学期《数据库原理》

课程实验报告

学号: 20122617

学生姓名:徐玉松

班级:软件工程2012

教师:陶宏才

辅导老师:王泽洲赵红芳

2014年12月

实验一:表及约束的创建

1.1 实验目的与内容

目的:创建数据表、添加和删除列、实现所创建表的完整性约束。

内容:11-2、11-26~33。

注:实验内容编号均取自《数据库原理及设计(第2版)》第11章的实验!即:实验内容以第2版教材为准!

报告:以11-31作为实验一的报告。

1.2 实验代码及结果

1.2.1 实验代码

create table person20122617 --创建新表

(

P_no char(6)primary key,

P_name varchar(10)not null,

Sex char(2)not null,

Birthdate datetime null,

Date_hired datetime not null,

Deptname varchar(10)not null DEFAULT'培训部',

P_boss char(6)null,

constraint birth_hire_check --为约束创建一个名称

check(Birthdate

)

create table customer20122617

(

Cust_no char(6)primary key,

Cust_name varchar(10)not null,

Sex char(2)not null,

BirthDate datetime null,

City varchar(10)null,

Discount Dec(4,2)not null,

constraint Discount_check --检查约束的名称

check(Discount>=0.5 and Discount<=1 )--检查约束

)

--create rule d as @state between 0 and 1 --创建规则

--sp_bindrule d,'customer20122617.Discount' --这种方法也可以给Discount约束绑定规则

create table orderdetail20122617

(

Order_no char(6)primary key,

constraint Order_no_constraint

CHeck(Order_no LIKE'[A-Z][A-Z][0-9][0-9][0-9][0-9]'),

Cust_no char(6)not null,

P_no char(6)not null,

Order_total int not null,

Order_date datetime not null,

constraint person20122617_contr

FOREIGN KEY(P_no)--定义外键为P_no

REFERENCES person20122617(P_no)--外键参照主表person20122617中的P_no on delete NO Action --参照定义为不许删除

on update cascade,--定义为可随着主表跟新

constraint cusrtomer20122617_contr

foreign key(Cust_no)

REFERENCES customer20122617(Cust_no)--参考

on delete NO Action

on update cascade

)

create table salary20122617

(

P_no Char(6)primary key,

Base Dec(8,2)not null,

Bonus Dec(8,2)not null,

Fact AS Base+Bonus ,

constraint person2_contr

FOREIGN KEY(P_no)

REFERENCES person20122617(P_no)

on delete NO Action

on update cascade

)--建表完成

1.2.2 实验结果

注:仅附有实际意义的结果。运行代码得到结果后拷屏,用Windows画图工具切下有意义的部分,然后粘贴到此处。

Person20122617表的创建

Customer20122617表的创建

Orderdetail20122617表的创建

Salary20122617表的创建

实验二:SQL更新语句

2.1 实验目的与内容

目的:update、delete、insert 语句的练习。

内容:11-6~8。

报告:以11-7、11-8作为实验二的报告。

2.2 实验代码及结果

2.2.1 实验代码

2.2.1.1实验数据准备:

insert into person20122617--插入person表的数据

values('000001','林峰','男','1975-04-07','2003-08-03','销售部','000007') insert into person20122617

values('000002','谢志文','男','1975-02-14','2003-12-07','培训部','000005') insert into person20122617

values('000003','李浩然','男','1970-08-25','2000-05-16','销售部','000007') insert into person20122617

values('000004','廖小玲','女','1979-08-06','2004-05-06','培训部','000005') insert into person20122617

values('000005','梁玉琼','女','1970-08-25','2001-03-13','培训部','NULL') insert into person20122617

values('000006','罗向东','男','1979-05-11','2000-07-09','销售部','000007') insert into person20122617

values('000007','肖佳庆','男','1963-07-14','1988-06-06','销售部','NULL') insert into person20122617

values('000008','李浩然','男','1975-01-30','2002-04-12','培训部','000005') insert into person20122617

values('000009','赵文龙','男','1969-01-20','1996-08-12','培训部','000007')

INSERT INTO customer20122617--为customer表插入数据

VALUES ('000001','王云','男','1972-01-30','成都','1.00')

INSERT INTO customer20122617

VALUES ('000002','林国平','男','1985-08-14','成都','0.85')

INSERT INTO customer20122617

VALUES ('000003','郑洋','女','1973-04-07','成都','1.00')

INSERT INTO customer20122617

VALUES ('000004','张雨洁','女','1983-09-06','北京','1.00')

INSERT INTO customer20122617

VALUES ('000005','刘菁','女','1971-08-20','北京','0.95')

INSERT INTO customer20122617

VALUES ('000006','李宇中','男','1979-08-06','上海','1.00')

INSERT INTO customer20122617

VALUES ('000007','顾培铭','男','1973-07-23','上海','1.00')

INSERT INTO orderdetail20122617--为orderdetail表插入数据

VALUES ('AS0058','000006','000002','150000','2006-04-05')

INSERT INTO orderdetail20122617

VALUES ('AS0043','000005','000005','90000','2006-03-25')

INSERT INTO orderdetail20122617

VALUES ('AS0030','000003','000001','70000','2006-02-14')

INSERT INTO orderdetail20122617

VALUES ('AS0012','000002','000005','85000','2005-11-11')

INSERT INTO orderdetail20122617

VALUES ('AS0011','000007','000009','130000','2005-08-13')

INSERT INTO orderdetail20122617

VALUES ('AS0008','000001','000007','43000','2006-06-06')

INSERT INTO orderdetail20122617

VALUES ('AS0005','000001','000007','72000','2006-05-12')

INSERT INTO orderdetail20122617

VALUES ('BU0067','000007','000003','110000','2006-03-08')

INSERT INTO orderdetail20122617

VALUES ('BU0043','000004','000008','70000','2006-12-25')

INSERT INTO orderdetail20122617

VALUES ('BU0039','000002','000005','90000','2006-10-12')

INSERT INTO orderdetail20122617

VALUES ('BU0032','000006','000002','32000','2006-08-08')

INSERT INTO orderdetail20122617

VALUES ('BU0021','000004','000006','66000','2006-04-01')

INSERT INTO orderdetail20122617

VALUES ('CX0044','000007','000009','80000','2006-12-12')

INSERT INTO orderdetail20122617

VALUES ('CX0032','000003','000001','35000','2006-09-18')

INSERT INTO orderdetail20122617

VALUES ('CX0025','000002','000003','90000','2006-05-02')

INSERT INTO orderdetail20122617

VALUES ('CX0022','000001','000007','66000','2006-12-04')

insert into salary20122617--为salary表插入数据

values('000001','2100','300')

insert into salary20122617

values('000002','1800','300')

insert into salary20122617

values('000003','2800','280')

insert into salary20122617

values('000004','2500','250')

insert into salary20122617

values('000005','2300','275')

insert into salary20122617

values('000006','1750','130')

insert into salary20122617

values('000007','2400','210')

insert into salary20122617

values('000008','1800','235')

insert into salary20122617

values('000009','2150','210')--数据插入均完成

2.2.1.1 11-7实验代码

update salary20122617set Base=1800 where P_no=000006 --跟新号员工的工资和奖金update salary20122617set Bonus='160'where P_no=000006

update salary20122617--将两年内没有订单的员工奖金下调25% set Bonus=Bonus*.75

where not exists(select*from orderdetail20122617

where

salary20122617.P_no=orderdetail20122617.P_no and Order_date>=GETDATE()-365*2)

--getdate获取当前日期

2.2.1.2 11-8实验代码

delete from person20122617where p_no=000010 --删除号员工信息

2.2.2 实验结果

2.2.2.1 11-7实验结果

将salary20122617表中共哈维000006的员工工资增加为1800,奖金增加为160

下调成功

将两年内没有签订单的员工奖金下调25%

2.2.2.2 11-8实验结果

由于person20122617表中没有000010号员工,故有0行受到影响

实验三:SQL查询语句

3.1 实验目的与内容

目的:select语句中各种查询条件的实验。

内容:11-12~18。

报告:以11-13、11-14作为实验三的报告。

3.2 实验代码及结果

3.2.1 实验代码

3.2.1.1 11-13实验代码

select distinct Deptname from person20122617--查询person表中的不同部门

select*from person20122617where Sex='女'and P_boss='null'-- is null --查询女经理的数据

select*from person20122617where P_name in('林峰','谢志文','罗向东')

--查询姓名为林峰谢志文罗向东的信息

select*from salary20122617where P_no between'000003'and'000008'order by Fact

asc--把员工号为000003到0000008的员工按薪水排序

select P_no工号,2*Base+1.5*Bonus收入from salary20122617where P_no='000002'

--查询工号为000002的员工的基本工资加倍,奖金加.5倍后的实际收入

3.2.1.2 11-14实验代码

select Deptname部门,avg(Bonus)平均奖金from salary20122617a join person20122617

b on a.P_no=b.P_no

group by Deptname having avg(Bonus)>200 order by avg(Bonus)desc

--查询平均奖金在元以上的部门并排序join 的用法

select count(*)订单数,sum(Order_total)订单总额

from orderdetail20122617,customer20122617

where orderdetail20122617.Cust_no=customer20122617.Cust_no and City='上海'

--查询上海顾客的订单数和订单总额

3.2.2 实验结果

3.2.2.1 11-13实验结果

Person20122617表中确实只有培训部和销售部

女经理确实只有梁玉琼一位,上述输出正确。

查询姓名为林峰谢志文罗向东的信息

查询结果正确。

把员工号为000003到0000008的员工按薪水排序。

从结果看出排序正确。

查询工号为000002的员工的基本工资加倍,奖金加.5倍后的实际收入经计算上述输出正确

3.2.2.2 11-14实验结果

查询平均奖金在元以上的部门并排序

因为没有奖金平均数大于200元的部门存在,故没有输出。

查询上海顾客的订单数和订单总额

上海顾客的总订单数和订单金额均正确

实验四:视图及索引的建立和维护

4.1 实验目的与内容

目的:创建表的视图,修改和删除表的视图,并利用视图完成表的查询,创建表的索引、修改和删除表的索引。

内容:11-3~5、11-9~11。

报告:以11-3、11-4、11-9作为实验四的报告。

4.2 实验代码及结果

4.2.1 实验代码

4.2.1.1 11-3实验代码

create view CustomerView as select Cust_no,Cust_name,Sex,Discount from customer20122617where City='北京'--建立北京顾客的视图

create view TrainingView as select

person20122617.P_no,P_name,Sex,Deptname,SUM(Order_total)as Achievement

from person20122617,orderdetail20122617

where person20122617.P_no=orderdetail20122617.P_no and Deptname='培训部'and

P_boss!='null'and Order_date>=getdate()-365

group by person20122617.P_no,P_name,Sex,Deptname

--建立培训员工的视图

4.2.1.2 11-4实验代码

create index name_sort on person20122617(P_name)

--在人员表上的姓名列上创建一个单列索引name_port

create index birth_name on person20122617(Birthdate,P_name)

--在人员表上创建一个组合索引birth_name

create unique index u_name_sort on person20122617(P_name)

--在人员表“姓名列上创建一个唯一索引”u_name_sort

create clustered index fact_idx on salary20122617(Fact DESC)

--在月薪表上创建一个聚簇缩影fact—_idx,并使其按降序索引

4.2.1.3 11-9实验代码

update CustomerView

set Discount=0.85

where Cust_name='王云'

--将视图CustomerView中的姓名为“王云”的顾客的购买折扣改为.85

4.2.2 实验结果

4.2.2.1 11-3实验结果

建立北京顾客视图成功

创建培训员工视图成功

4.2.2.2 11-4实验结果

在人员表上的姓名列上创建一个单列索引name_port

指令:select*from person20122617where P_name='林峰'创建成功后我们能通过索引P_name查找数据了。

在人员表上创建一个组合索引birth_name

指令:select*from person20122617where Birthdate='1975-02-14'and P_name='谢志文'创建成功后我们能通过组合索引查询到我们想要的信息了。

在人员表“姓名列上创建一个唯一索引”u_name_sort

创建索引失败,因为创建的是一个唯一索引,而在姓名列中有两个“林浩然”的存在,故创建唯一索引失败。

在月薪表上创建一个聚簇缩影fact—_idx,并使其按降序索引

创建索引失败,因为在salary20122617表中我们已经定义了一个主键,主键将自动默认为一个聚簇索引,而一个表中只能有一个聚簇索引故会出现错误。

4.2.2.3 11-9实验结果

将视图CustomerView中的姓名为“王云”的顾客的购买折扣改为.85

因为在视图CustomerView中不存在“王云”顾客故受到影响的行数为0行

实验五:存储过程的建立和维护

5.1 实验目的与内容

目的:创建用户的存储过程,修改和删除存储过程、执行存储过程。

内容:11-22~24。

报告:以11-24作为实验五的报告。

5.2 实验代码及结果

5.2.1 实验代码

create proc proc_addbonus

(@P_no char(6),@add dec(5,1)output)

as

declare@Order_total int

declare cur_addbonus_checks cursor for

select Order_total

from orderdetail20122617

where P_no=@P_no

select@add=0

open cur_addbonus_checks

fetch cur_addbonus_checks into@Order_total

if(@@fetch_status<>0)

begin

Close cur_addbonus_checks

deallocate cur_addbonus_checks

return

end

set nocount on

while (@@fetch_status=0)

begin

if@Order_total<=100000

set@add=@add+20

else set@add=@add+@Order_total/100000*30

fetch cur_addbonus_checks into@Order_total

end

close cur_addbonus_checks

return

/*

--根据各员工在噢仁derdetail表中的销售业绩计算其总的奖金金额,员工每签定一份小雨的订单其奖金加若订单高于,则奖金

加 @add=@add+@Order_total/100000*30

*/

5.2.2 实验结果

根据各员工在噢仁derdetail表中的销售业绩计算其总的奖金金额,员工每签定一份小雨的订单其奖金加若订单高于,则奖金加@add=@add+@Order_total/100000*30

存储过程建立成功

我们能成功的查询到工号为000002的员工的奖金总额为50.0 。

实验六:触发器的建立和维护

6.1 实验目的与内容

目的:创建触发器,修改和删除触发器,测试触发器的效果。

内容:11-34。

报告:以11-34作为实验六的报告。

6.2 实验代码及结果

6.2.1 实验代码

create trigger delect_p_pno

on person20122617

after delete

as

if@@rowcount=0 return

delete salary20122617

from titles t,deleted d

where t.P_no=d.P_no

return

--构建一个person20122617上的能级联删除salary20122617表中员工信息的触发器

create trigger update_salary

on salary20122617

for update

as

declare@num_rows int

select@num_rows=@@rowcount

if@num_rows=0 return

if(select count(*)

from person20122617p,inserted i

where p.P_no=i.P_no)!=@num_rows

begin

raiserror 53334 '试图修改非法的P_no值到person20122617表中'

rollback transaction

return

end

return

--建立一个在salary20122617表上,能在修改表时检查是否有不存在于person20122617表中的职工代码出现

数据库原理实验报告

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验一SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级:14软工5班 学号:14551204 14551206 姓名:花元凯罗文波 1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获得 所感兴趣的相关产品主题/技术文档。

(4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL查 询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。目前最新版本是SQL SERVER 2014。 1,SQL Server 2005学习版当保护和管理应用系统内外部的信息变得至关重要时,通过提供一套免费、易于使用和健壮的数据库,学习版帮助开发人员建立强健的和可靠的应用系统。

教学管理系统的设计与实现(数据库原理课程设计)

教学管理系统的设计与实现(数据库原理课程 设计)

1 引言 为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率。随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立教学管理信息系统是一个很好的解决办法。 1.1课题背景 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求[1];信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视。 1.2课题意义 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。[2]

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的软件。[3] 在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。 2 系统分析 2.1 需求分析 1.需求分析的任务 需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。 为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。[4]新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。 2.需求分析的过程 1)调查教学组织机构的总体状况。本教学系统主要由教师管理系统,学生管理系统 以及教务管理系统。 2)熟悉各部门的业务活动状况。调查各部门的业务活动情况,对现行系统的功能和 和所需信息有一个明确的认识。包括了解各个部门输入和使用什么数据,如何加

《数据库原理与应用》实验题目及答案

《数据库原理与应用》实验作业布置 实验1 数据库的建立修改与删除 完成以下实验报告: 《数据库原理与应用》实验报告 实验1 数据库的建立修改与删除 二、实验环境 操作系统:Windows XP。 数据库管理系统:MS SQL Server 2000 或MS SQL Server 2008。 三、实验目的 1.熟悉SQL Server 2000上机环境,学会SQL Server 2000“企业管理器”以及“查询分析器”的启动与退出;或熟悉MS SQL Server 2008上机环境,学会SQL Server Management Studio的启动与退出。 2.掌握建立数据库的两种方法。 3.掌握查看和修改数据库的两种方法。 4.掌握删除数据库的两种方法。 四、实验内容 (一) 规定内容 1. 在用户方便的存储空间上建立存放用户数据库的文件夹。本实验在D盘根目录下建立文件夹:D:\SQL2000DB,再建立存放T_SQL源代码的文件夹:D:\SQL2000DB\T_SQL 2.利用企业管理器创建学生课程数据库ST,参数如表1.1所示。 3.利用企业管理器查看ST数据库的属性。 4.使用T-SQL语句建立学生-课程数据库ST,参数如表1.1所示。 5.使用T-SQL 语句建立数据库JXDB,参数如表1.2所示。

6.使用T-SQL语句为数据库JXDB添加文件组JX_Group2,并为此文件组添加1个数据文件JXDB_Data4;添加1个日志文件JXDB_log1。参数由用户自己设定。 7.使用T-SQL语句修改数据库JXDB中次数据文件JXDB_Data4的属性:文件初始大小改为5M,增长方式改为每次按20%增长。删除日志文件JXDB_log1。 8.使用T-SQL语句删除数据库JXDB。 (二) 自定内容 五、出现的问题及解决方法 实验2 表结构的建立修改删除及完整性约束条件定义 完成以下实验报告: 《数据库原理与应用》实验报告 一、实验题目 实验2 表结构的建立修改删除及完整性约束条件定义 二、实验环境 操作系统:Windows XP。 数据库管理系统:MS SQL Server 2000或MS SQL Server 2008。 三、实验目的 1.掌握建立、修改与删除表结构的两种方法。 2.掌握定义完整性约束条件的方法。 3.掌握利用企业管理器和使用T-SQL语句向表中插入记录的方法。 四、实验内容 (一) 规定内容 1.对学生课程数据库ST进行完整性约束条件规划设计。 设计结果如表2.1所示。

数据库原理实验报告(1)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验一 SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获 得所感兴趣的相关产品主题/技术文档。 (4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL 查询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。

数据库原理课程设计报告

数据库原理课程设计报告

课程设计报告 数据库原理 系别信息学院 专业年级计算机科学与技术专业 0708班 学生姓名付艳艳 迟秀晶 米秋洋 任课教师李明 2010年5月5日

干部档案数据库系统设计报告 一、题目名称 干部档案数据库系统 二、题目简介 干部档案数据库应用系统是通用于各个公关企事业单位干部人员的基本信息的统计,是有关干部系统的登录、干部信息的增加、删除和修改、分类对干部信息进行查询和打印等各种信息的处理及应用。最终简单的实现对该单位干部信息资料的了解和查询,为本单位日常生活和对干部进行考核做了一定的设计,初步实现了干部档案系统的一般功能。 三、需求分析 (一)当今时代的现状及系统的实现工具 当今时代,人类经济高速发展,人们的生活发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域,使原本的旧的管理方法越来越不适应现在社会的发展,许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代化社会人们高度强烈的时间观念,干部档案数据库应用系统软件为档案办公室带来了极大地方便,我们所开发的这个系统所采用的是当前较为流行的编程软件Miscrosoft VisualFoxPro 6.0/8.0为后台结合SQL Server 2000数据库的实现语言,其功能在系统内部命令或直接对数据库进行操作完成。 干部档案材料的收集工作是干部档案工作的基础,是为利用工作积累信息的过程,是维护干部档案完整和真实直接关系其作用发挥的重要环节,因此必须下功夫、花大力气认真做好。 (二)建立健全收集归档制度,认真组织落实 从档案部门来说必须建立健全收集工作制度并严格执行,应该归档的材料认真收集归档。定期收集可以根据本单位的中心工作提出收集工作计划,对应收集的材料做到心中有数,积极主动抓重点、按计划逐项收集,这样可以避免因工作忙漏归、迟归现象。如表彰奖励材料、年终考核材料、工资普调材料等

数据库原理课后题答案

第1章 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。 (4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。 6.试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式机构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。

内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式∕模式映像和模式∕内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 7.定义并解释下列术语。 外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言。DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句。 8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

数据库原理实验报告(数据查询)

数据库原理实验报告 实验三数据查询 班级:××× 姓名:××× 学号:××× 数据查询 一、[实验目的] 1.掌握SQL的单表查询操作

2.掌握SQL的连接查询操作 3.掌握SQL的嵌套查询操作 4.掌握SQL的集合查询操作 二、[实验内容] 本实验的主要内容是: 1.简单查询操作。包括投影、选择条件表达,数据排序,使用临时表等。 2.连接查询操作。包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。 3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 4.组合查询与统计查询。 (1)分组查询实验。该实验包括分组条件表达、选择组条件的表达方法。 (2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。 (3)组合查询实验。 (4)计算和分组计算查询的实验。 三、[实验方法] 1.将查询需求用Transact-SQL语言表示。 2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。 3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。 4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。 5 查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。 图5- 错误!未定义书签。SQL Server 2000查询分析器 查询分析器的界面如图5- 错误!未定义书签。所示。在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查

《数据库原理课程设计》题目

《数据库原理课程设计》任务书 《数据库原理课程设计》是一门独立的实践课程,学分为1,单独记成绩。通过本课程设计,能使学生较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论和设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成简单的数据库应用系统的设计与实现。 一、设计内容 完成一个数据库应用系统的设计全过程,包括需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现、系统安装和调试等。 学生以2~3人为一设计小组,从课程设计题目中选择一个题目,要求每班中各组的题目都不相同。二、设计环境 操作系统:Windows XP/2003/Vista/Win7/Win8; DBMS:SQL Server或MySQL等; 开发工具:JA V A、JSP、C#等。 三、设计步骤 1、需求分析 业务流程分析和功能分析。 2、概念结构设计 生成基本E-R图。 3、逻辑结构设计 关系表设计(主键与完整性约束)、范式分析(至少要达到3NF)。 4、功能模块实现、集成及调试 应用系统功能通常根据实际目标设定,一般应具有基本的增、删、改、查功能。 编写实现系统功能的界面和代码。 5、报告编写。 四、报告内容 1、需求分析(功能分析、工作流图、数据流图、数据字典); 2、概念模型设计(E-R图); 3、逻辑设计(E-R模型转换为关系模式,指明所满足的范式并给出理由); 4、系统功能设计 5、功能模块实现(界面及源代码) 6、总结(设计过程中遇到的问题以及解决方法;课程学习及课程设计的体会)。 7、参考文献 五、报告格式 1、报告一律按A4纸打印,每人1份。 2、全班刻录在一张光盘上,每组一个文件夹,文件夹名为课程设计题目+(该组学生姓名),并在该文件夹中以每个同学的学号+姓名为名称建立子文件夹,子文件夹中是该同学的内容(包括:源代码、课程设计报告电子版)。 特别提示: 凡有抄袭现象一经发现,课程设计成绩均为不及格。

数据库原理B实验报告完整版1-3

实验一 认识DBMS系统 日期 2011-3-23一、实验目的 1.通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 2.熟悉对DBMS的操作 3.搭建今后实验的平台 二、实验原理 企业管理器是SQL Server中最主要的工具,使用它基本上可完成SQL Server的所有管理操作,如数据库的创建和管理、数据表的创建和管理、数据库安全管理等,在本书第五课中将对其作详细介绍。 查询分析器主要用于创建和执行SQL命令,以完成数据库的查询和管理工作。查询分析器和企业管理器是SQL Server的两大主要工具。 服务管理器主要用于启动、暂停、停止和检查本地服务的状态。SQL Server提供如下服务: SQL Server服务:该服务提供管理服务器中的所有数据库、执行T-SQL程序、执行存储过程、处理分布式查询等服务。必须启动该服务,用户才能通过客户端访问SQL Server服务器中的数据。 SQL Server Agent服务:该服务用于执行作业、监视SQL Server以及激发警报。SQL Server Agent允许自动执行某些管理任务的服务,所以必须启动SQL Server Agent 服务,才能使本地或多服务器的管理任务自动运行。 Microsoft Search服务:提供SQL Server全文检索功能。 Distributed Transaction Coordinator服务:提供Microsoft分布式事务处理功能。 MSSQL Server OLAP Service服务:支持Analysis Services的各项功能,该服务在安装了支持Analysis Services才有。 三、实验仪器和设备 1. 计算机 2. SQL Server 2000 四、预习要求 复习已经讲过的SQL Server 2000的基本工具使用方法。

数据库原理课程设计指导书

数据库原理课程设计指导书 课程名称:数据库原理课程设计 课程编号:40406051 课程类型:必修 学时:1周 学分:1 适用专业:计算机科学与技术、网络工程 编制人:数据库原理课程组 一、课程设计的目的和意义 《数据库原理课程设计》是实践性教案环节之一,是《数据库原理》课程的辅助教案课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教案内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库经管系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。 二、设计要求: 通过设计一个完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。熟练掌握两个主要环节——概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护。集中安排1周进行课程设计,以小组为单位,一般2~3人为一组,组内自由分工协作。教师讲解数据库的设计方法以及布置题目,要求学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告,建立概念模型、逻辑模型、物理模型,在物理模型中根据需要添加必要的约束、视图、触发器和存储过程等数据库对象,生成创建数据库的脚本,提出物理设计的文档,最后应用某种宿主语言完成主要功能设计和实现。 要求如下: 1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。 3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。 4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。 5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。 6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。 三、课程设计选题的原则 课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本实践性教案环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成小型数据库的设计与实现。具体选题见附录。 四、课程设计的一般步骤 课程设计大体分五个阶段: 1、选题与搜集资料:根据分组,选题目,在小组内进行分工,进行系统调查,搜集资料。

《数据库原理与应用》实验报告书修改版(1)答案

《数据库原理与应用》实验报告书修 改版(1)答案 《数据库原理与应用》实验报告书班级:学号:姓名:教师:郑先容医药信息工程学院·数据决策2012年2月目录实验一利用ACCESS 创建数据库及熟悉SQL Server开发环境... 2 实验三数据库、表的创建............................................................... ... 6 实验五连接查询和嵌套查询................................................................ 12 实验七数据的插入、修改、删除.................................................... 18 实验九SQL Server数据库的安全性控制........................................ 21 实验十一熟悉Power Designer数据库设计软件................................ 24 实验十三Transact-SQL编

程................................................................ 27 实验十五存储过程的使用............................................................... ..... 30 第十章数据库的恢复技术作业............................................................ 33 《数据库原理与应用》实验报告实验一利用ACCESS创建数据库及熟悉SQL Server 开发环境一、实验目的1、熟知机房用机安全规则和实验报告的书写。2、掌握SQL Server 2005的安装,卸载以及相关服务的启动、退出。3、熟悉SQL Server Management Studio环境。4、掌握创建服务器组合注册服务器。5、初步了解数据库的概念; 6、初步了解SQL Server联机丛书的使用。 7、用ACCESS创建数据库,体会数据库的功能。注意:每次实验的指导视频,上课所需要的软件、数据库还有ppt。都可以在ftp://的“数据决策”->“数据库”->“2011-2012”文件夹下找到,以后每次实验相关的文件和数据

数据库原理实验报告分析

2013级数据库原理实验报告 专业:_______计算机___ 班级:________________ 学号:______________ 姓名:_______________ 2015年5月

实验一 SQL Server 2005基本操作 一、实验目的 了解SQL Server 2005组件; 了解SQL Server数据库组成; 掌握SQL Server 2005界面基本操作。 二、实验内容 (1)开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,打开后进入到SQL Server 2005主体界面 (2)点击?数据库?前面的?+?,可以展开查看数据库,并且可以继续展开下级目录,查看数据库中的表、视图等。 (3)了解SQL Server 2005菜单栏的一些主要工具的使用。 (4)学生动手操作SQL Server 2005,打开数据库,打开表,打开查询界面;查看数据库的属性、表的属性等。 三、实验总结 进行这次实验有遇到什么问题?怎么解决的? 答:此次实验我们一步一步按照实验内容操作的,基本上没有遇到问题。

实验二数据定义 一、实验目的 掌握SQL Server 2005的数据库创建; 掌握SQL Server数据定义语言; 掌握SQL Server 2005数据定义的SQL语言定义与管理器定义两种方式。 二、实验内容 (1)创建、修改、删除数据库。 创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。 修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最 大为25MB,以2MB速度增长。 (2)利用SQL创建人员表person、月薪表salary及部门表dept。 见上页图 要求:按表2-1、表2-2及表2-3中的字段说明创建。

数据库原理课程设计报告报告实验创建存储过程与触发器

存储过程与触发器实验日期和时间: 2016 年 5 月13 日、星 期 五第节 实验室:DJ2-信息管理实验室 班级:学号:姓名: 实验环境: 1.硬件:笔记本电脑 2.软件:SQL Server 2012 实验原理: 存储过程概念:存储过程是事先编好的,存储在数据库中的一组被编译了的T-SQL命令集合,这些命令用来完成对数据库的指定操作。存储过程可以接受用户的输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言(DDL)和数据操作语言(DML)语句,然后返回输入参数。 触发器概念:触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 实验任务: 此作业成绩得分根据你完成的任务的难度和数量评分,完成后在实验室给老师演示验收,课后提交电子版报告。如额外完成自拟题目应当事先将所拟题目提交给老师或在报告中明确标注题意。 假定有学校的图书馆管理信息系统,可以用于日常管理书库和同学们的借还书工作。 以下列出参考的库表情况: 根据管理的业务需求来分析,该管理信息系统的数据库应至少包括如下数据表:(打★号的是必须有的表) 1.★图书现有库存表。作用:记录图书的现有库存情况。至少包括:书号、书名、 作者、简介、类别、价格、出版社、出版日期、现有库存数量、最小库存量、库 存总量、库存位置等。 2.★读者信息表。作用:记录读者信息。至少包括:读者编号、证件类型、证件号 码、姓名、性别、职业(可填写教师、学生、教工、其它……)、所属单位、地址、 联系电话等。 3.★借书记录表。作用:记录借书情况,以及是否归还。至少包括:借阅ID(主键, 可设置为自动编号)、书号、读者编号、借阅数量、借阅日期、是否归还、管理员 编号……等。 4.★还书记录表。作用:记录还书情况。至少包括:还书ID(主键,可设置为自动 编号)、书号、读者编号、归还数量、归还日期、是否超期(超过假设45天为超 期)、超期天数、管理员编号……等。(附:为简化操作,续借可视为归还后再借)。 5.管理员信息表。作用:记录负责管理书库和借书还书工作的管理员信息。至少包 括:管理员编号、职工编号(在职工档案表中的职工编号)、用户名、密码、管理

数据库原理及应用课程设计完整版

如有你有帮助,请购买下载,谢谢! 数据库原理及应用课程 设计 《图书馆管理系统》 数据库设计报告 成都信息工程学院信息管理与信息系统专业 班级:09级二班 姓名:谢泽勇、彭广川、彭圆圆、肖玲

在信息时代,图书馆已成为全社会的一个重要的公共信息资源,面对成千上万的图书和众多的借阅者,妥善的管理图书 和借阅者的资料是及其重要的,借助计算机信息系统可大大减 轻工作强度,提高工作效率。 本文根据《数据库技术及应用》课程要求而做。 课程作业要求如下: 1、严格按照数据库设计步骤,完成该系统的需求分析、概念模型设计、逻辑结 构设计; 2、需求分析分需求调查和需求分析两部分。其中需求调查应首先明确调查对象 (即,图书馆)。然后按照课程讲授的需求调查内容、步骤与方法,对图书馆进行调查。调查结果通过需求分析得到“图书馆管理信息系统”的数据字典和数据流程图,并严格按照数据字典和数据流图的标准格式与图符进行描述。 3、在得到的数据字典和数据流程图基础上,通过概念模型设计方法,得到“图 书馆管理信息系统”的E-R图。 4、将“图书馆管理信息系统”的E-R图转换为SQL Server2000支持的关系模式, 并按标准关系模式格式描述。 5、通过SQL Server2000对数据库物理结构进行设计;组织数据入库,利用SQL 语言进行简单、连接、嵌套、组合、统计等查询操作,将SQL代码及其运行结果保存;利用SQL语言对数据进行更新、删除和修改操作。 一、功能分析 (1) 读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、 借书期限、备注。 (2) 书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关 键词、备注。 (3) 借书信息制定、输入、修改、查询,包括书籍编号、读者编号、借 书日期、借书期限、备注。 (4) 还书信息制定、输入、修改、查询,包括书籍编号、读者编号、还 书日期、还书期限、备注。 (5) 有条件、多条件查询各种信息.

《数据库原理》实验4

实验四:数据库综合查询 一、实验目的 1.掌握SELECT语句的基本语法和查询条件表示方法; 2.掌握查询条件种类和表示方法; 3.掌握连接查询的表示及使用; 4.掌握嵌套查询的表示及使用; 5.了解集合查询的表示及使用。 二、实验环境 已安装SQL Server 2008 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解SELECT语句的基本语法格式和执行方法; 2.了解连接查询的表示及使用; 3.了解嵌套查询的表示及使用; 4.了解集合查询的表示及使用; 5.完成实验报告; 五、实验内容及步骤 以数据库原理实验2数据为基础,请使用T-SQL 语句实现进行以下操作: 1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况; 2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名; 3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修 课程号及成绩; 4.查询缺少成绩的所有学生的详细情况; 5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; 6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成 绩; 7.按照?学号,姓名,所在院系,已修学分?的顺序列出学生学分的获得情况。 其中已修学分为考试已经及格的课程学分之和; 8.列出只选修一门课程的学生的学号、姓名、院系及成绩; 9.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号; 10.只选修?数据库?和?数据结构?两门课程的学生的基本信息;

11.至少选修?数据库?或?数据结构?课程的学生的基本信息; 12.列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩; 13.查询只被一名学生选修的课程的课程号、课程名; 14.检索所学课程包含学生‘张向东’所学课程的学生学号、姓名; 15.使用嵌套查询列出选修了?数据结构?课程的学生学号和姓名; 16.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和 院系; 17.使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生; 18.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息; 19.使用集合查询列出CS系的学生以及性别为女的学生名单; 20.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集; 21.使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集; 22.思考题:按照课程名顺序显示各个学生选修的课程(如200515001 数据库数 据结构数学); 六、出现问题及解决办法 如:某些查询操作无法执行,如何解决? 1、查询以‘DB_’开头,且倒数第三个字符为‘s’的课程的详细情况 select * from course where cname like 'DB\_%s__' 2、查询名字中第二个字为“阳”的学生姓名和学号及选修的课程号、课程名 select student.sno ,student.sname ,https://www.wendangku.net/doc/3a4126503.html,o,cname from student,course,sc where sname like '_阳%'and student.sno=sc.sno and https://www.wendangku.net/doc/3a4126503.html,o=https://www.wendangku.net/doc/3a4126503.html,o 3、列出选修了‘数学’或‘大学英语’的学生学号、姓名、 select student.sno,sname,sdept,https://www.wendangku.net/doc/3a4126503.html,o,cname,grade from student,sc,course where student.sno=sc.sno and https://www.wendangku.net/doc/3a4126503.html,o=https://www.wendangku.net/doc/3a4126503.html,o and sc.sno in(select sc.sno from sc,course where (cname='大学英语'or cname='数学')and https://www.wendangku.net/doc/3a4126503.html,o=https://www.wendangku.net/doc/3a4126503.html,o group by sc.sno) select student.sno,sname,sdept,cno,grade from student,sc where Cno in (select Cno from course where cname='数学'or cname='大学英语')and sc.sno=student.sno 4、查询缺少成绩的所有学生的详细情况; select * from student,sc where Grade is null and student.sno=sc.sno 5、查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息; select * from student where sage <>(select sage from student where sname='张力') 6、查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩 select student.sno,sname,平均成绩=A VG(grade) from student ,sc

数据库原理实验报告_实验三_数据完整性与安全性控制

实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1) 非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择修改命令-->对话框中右击sno-->选择设置主键'>修改主键名为pk_sno '-->保存

(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。 唯一约束:单击数据库Student-->单击表--> 单击S-->右击sname-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存

D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二

相关文档
相关文档 最新文档