当前位置:文档之家› SQL数据库系统实验报告(含代码、截图)

SQL数据库系统实验报告(含代码、截图)

SQL数据库系统实验报告(含代码、截图)
SQL数据库系统实验报告(含代码、截图)

数据库系统

实验报告

专业班级

学生姓名及学号

课程教学班号

任课教师

实验指导教师

实验地点

2012 ~2013 学年第二学期

实验一使用向导创建和删除数据库

一.实验目的

1.熟悉SQL Server 中SQL Server Management Studio的环境

2.了解SQL Server 数据库的逻辑结构和物理结构

3.掌握使用向导创建和删除数据库的方法

二.实验要求

1.熟练使用SSMS进行数据库的创建和删除操作。

2.完成实验报告。

三.实验内容

设有一学籍管理系统,其数据库名为“EDUC”。

初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;

日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”(注意:此文件名必须已经建立的前提下才可以此操作)。

日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。

四.实验步骤

1.使用SQL Server Management Studio(简称SSMS)创建数据库。

(1)启动SSMS

在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio

单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。如果身份验证选择的是“混合模式”,则要输入sa的密码。

(2)建立数据库

在“对象资源管理器”窗口,建立上述数据库EDUC。在数据库节点上右击选择新建。同时建立一个同样属性的数据库EDUC1。

2. 使用向导删除上面建立的数据库。

用SSMS删除建立的数据库EDUC。

3、数据库的分离

将刚建好的数据库分离出来,即点击新建的EDUC——任务——分离,将删除连接和更新打一个钩,然后点击确定。如图所示:

4、数据分离出来之后可以附加进去

即右击数据库——附加——点击添加按钮,

找到数据库文件.mdf所存放的路径,然后点击确定,即可以将我们刚所创建的文件添加回去。

五.实验总结

通过本次实验,我熟悉了SQL Server 中SQL Server Management Studio的环境,了解了SQL Server 数据库的逻辑结构和物理结构,掌握使用向导创建和删除数据库的方法。加

深了对数据库的认识和理解。

实验二使用SQL语句创建和删除数据库

一. 实验目的:

1. 了解SQL Server 2005数据库的逻辑结构和物理结构。

2. 掌握使用SQL 语句创建、删除和修改数据库。

二. 实验要求

1. 熟练使用查询分析器进行数据库的创建、删除和修改操作。

2. 完成实验报告。

三. 实验内容

使用SQL语句创建数据库userdb1。

四.实验步骤

1.创建数据库userdb1的SQL语句,

create database userdb1

on

(name=userdb1_data,

filename='g:\xygl\userdb1.mdf' ,

size=5,

maxsize=10,

filegrowth=1)

log on

( name=userdb1_log,

filename='g:\xygl\userdb1.ldf ' ,

size=2 ,

maxsize=5 ,

filegrowth=1)

执行上述语句建立数据库userdb1

2. 根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,并建立数据库EDUC.

初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;

日志文件初始为2MB,最大可增长到5MB,按1MB增长。

create database EDUC

on

(name=EDUC_data,

filename=' E:\sql_data\EDUC.mdf' ,

size=10,

maxsize=50,

filegrowth=5%)

log on

( name=EDUC_log,

filename=' E:\sql_data\EDUC.ldf ' ,

size=2 ,

maxsize=5 ,

filegrowth=1)

3. 用SQL语句删除步骤1建立的数据库userdb1。

drop database userdb1

或者直接语句use master drop database userdb1

4、在查询分析器中还可以实现对数据库的修改操作,

Alter DATABASE 数据库名

{ADD FILE<文件选项> 新增数据文件

|ADD LOG FILE<文件选项> 新增数据日志文件

| REMOVE FILE 逻辑文件名删除指定文件

|ADD FILEGROUP 文件组名新增文件组

|REMOVE FILEGROUP 文件组名删除文件组

|MODIFY FILE <文件选项> 修改文件属性

|MODIFY NAME=新数据库名数据名更改

(1)、将文件名EDUC改为EDUC1

ALTER DATABASE EDUC

MODIFY NAME=EDUC1;

(2)、增加一个日志文件,文件名为EDUC_LOG,初始大小为10mb,最大为20MB,增加为1MB

ALTER DATABASE EDUC1

ADD LOG FILE

(NAME=EDUC_LOG,

FILENAME='E:\sql_data\EDUC_LOG.LDF',

SIZE=10MB,

MAXSIZE=20MB,

FILEGROWTH=1MB

五.实验总结

通过本次实验,我进一步了解了数据库的逻辑结构和物理结构。初步掌握使用SQL 语句创建、删除和修改数据库。对相关语句的应用也更加得心应手。

实验三使用SQL语句创建和删除表

一.实验目的

1.了解表的结构特点。

2.了解SQL Server的基本数据类型。

3.学会使用T-SQL语句创建表。

二.实验要求

1.完成SQL语句创建、修改、删除基本表。

2.完成实验报告。

三. 实验内容

在数据库EDUC中,创建如下几个表:

表3.1 class表(班级信息表)

字段名称类型允许空值主键说明

ClsNO Char(6) NOT NULL 是班号

ClsName Varchar(16) NOT NULL 班名

Director Varchar(10) NULL 辅导员

Specialty Varchar(30) NULL 专业

表3.2 student表(学生信息表)

类型允许空值主键说明字段名

Sno Char(8) NOT NULL 是学号

Sname Varchar(10) NOT NULL 姓名

SCsex Char(2) 性别:男、女

ClsNO Char(6) NULL 班级的编号,(外键)参照表

Class

Saddr Varchar(20) 住址

Sage numeric(3, 0) 年龄,大于10,但小于30岁Height Decimal(4,2) 身高

表3.3 course表(课程信息表)

字段名称类型允许空值主键说明

Cno Char(4) NOT NULL 是主键

Cname Varchar(16) NOT NULL 课程的名称

Cpno char(4) NULL 先修课程的课程号(外键),参

照cno

Ccredit Tinyint 学分

表3.4 sc表(学生选课成绩表)

字段名称类型允许空值主键说明

Sno Char(8) NOT NULL 是学号,参照Student,与Cno组

成主键

CNO Char(4) NOT NULL 是课程号,参照Course

grade Numeric(4,1) NULL 成绩

四.实验步骤

1. 打开查询窗口,输入创建基本表的sql语句,点击“执行”按钮,完成表的创建。

创建class表如下:

CREATE TABLE class

(ClsNO CHAR(6)PRIMARY KEY NOT NULL,

ClsName VARCHAR(16)NOT NULL,

Director VARCHAR(10)NULL,

Specialty VARCHAR(30)NULL

);

2.用上述方法创建其他表。

创建student表如下:

CREATE TABLE student

(Sno CHAR(8)PRIMARY KEY NOT NULL,

Sname VARCHAR(10)NOT NULL,

SCsex CHAR(2)check(scsex='男'or scsex='女'),

CLsNO CHAR(6)NULL,

Saddr VARCHAR(20),

Sage NUMERIC(3,0)check(10

FOREIGN KEY(CLsNO)REFERENCES class(CLsNO) );

创建course表如下:

CREATE TABLE course

(Cno CHAR(4)PRIMARY KEY NOT NULL,

Cname VARCHAR(16)NOT NULL,

Cpno CHAR(4)NULL,

Ccredit TINYINT,

foreign key(Cpno)references cno

);

创建SC表如下:

CREATE TABLE sc

(PRIMARY KEY(sno,cno),

sno char(8)not null,

cno char(4)not null,

foreign key(Sno)references student(sno),

foreign key(CNO)references course(cno),

grade NUMERIC(4,1)NULL

);

3.按照student的要求创建表student1,修改基本表student1

向student1 表增加“入学时间”列s_entrance,其数据类型为日期型。ALTER TABLE student1

ADD S_ENTRANCE DATETIME;

4.按照student的要求创建表student2,并将年龄的数据类型由字符型改为整数。

Alter table student2 alter column sage int;(报错:因为sage上有check约束,删除check约束后再修改类型)

Alter table student2

drop CK__student2__Sage__689D8392;

Alter table student2 alter column sage int;

5.将student2表中sage改回smallint型。

Alter table student2 alter column sage smallint;

6.删除sage后再增加新列和新的完整性约束

Alter table student2 drop column sage ;

alter table student2 add sage char check(10sage);

7.按照student的要求创建Student1,然后删除Ssex完整性约束。

CREATE TABLE student2

(Sno CHAR(8)PRIMARY KEY NOT NULL,

Sname VARCHAR(10)NOT NULL,

SCsex CHAR(2)check(scsex='男'or scsex='女'),

CLsNO CHAR(6)NULL,

Saddr VARCHAR(20),

Sage NUMERIC(3,0)check(10

Height DECIMAL(4,2)

FOREIGN KEY(CLsNO)REFERENCES class(CLsNO)

alter table student2

drop CK__student2__SCsex__76EBA2E9;

8.删除基本表student1。

drop table student1;

9. 将以上创建表的SQL语句以 .SQL文件的形式保存在磁盘上。

10、将在sudent1中新加入的列名s_entrance修改为Sentrance exec sp_rename 'student1.S_entrance','sentrance' alter table student1

add s_entrance char;

exec sp_rename'student1.S_entrance','sentrance';

11、将student2表名改为student1

exec sp_rename 'student2','student1'

exec sp_rename'student2','student1';

五.实验总结

通过这次实验,我了解了SQL Server的常用数据类型,学会创建数据库的表。掌握了SQL创建基本表的方法、SQL修改基本表的方法,以及SQL删除基本表的方法。

实验四数据更新操作

一. 实验目的

1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作;

2.能将这些更新操作应用于实际操作中去;

二. 实验要求

1.完成下面的实验内容,并提交实验报告;

2.在实验报告中附上相应的代码;

三. 实验内容

(1)向表(Class)中插入数据

ClsNO ClsName Director Specialty

CS01 计算机一班张宁计算机应用

CS02 计算机二班王宁计算机应用

MT04 数学四班陈晨数学

PH08 物理八班葛格物理

GL01 地理一班张四应用地理

插入数据之后使用命令:Select * from Class; 检查插入数据的正确性

(2) 向表(Student)中插入数据

Sno Sname Ssex ClsNO Saddr Sage Height 20090101 王军男CS01 下关40# 20 1.76 20090102 李杰男CS01 江边路96# 22 1.72 20090306 王彤女MT04 中央路94# 19 1.65 19940107 吴杪女PH08 莲化小区74# 18 1.60

插入数据之后使用命令:Select * from Student; 检查插入数据的正确性

(3)向表(Course )中插入数据

Cno Cname Cpno Credit

0001 高等数学Null 6

0003 计算机基础0001 3

0007 物理0001 4

插入数据之后使用命令:Select * from Course; 检查插入数据的正确性

(4)向表(SC )中插入数据

SNO CNO Grade

20090101 0001 90

20090101 0007 86

20090102 0001 87

20090102 0003 76

20090306 0001 87

20090306 0003 93

19940107 0007 85

20090306 0007 90

(5)对于student表,将所有班级号为‘CS01’的,并且年龄小于20岁的学生的班级号改为‘CS02’。

(6)对于student表,删掉所有年龄不小于20岁,并且专业号为‘CS02’的学生的记录。

对于student表,插入一条新记录,它的具体信息为,学号:20071101、姓名:张三、性别:男、年龄:19、班级编号:‘CS01’。

(7)对于student表,将年龄最小的学生的家庭地址去掉。

(8)对于student表,将平均年龄最小的一个班级编号改为‘GL01’

四、实验步骤:

1.向class表插入数据如下:

insert

into class(clsno,clsname,director,specialty)

values('cs01','计算机一班','张宁','计算机应用');

insert

into class(clsno,clsname,director,specialty)

values('cs02','计算机二班','王宁','计算机应用');

insert

into class(clsno,clsname,director,specialty)

values('mt04','数学四班','陈晨','数学');

insert

into class(clsno,clsname,director,specialty)

values('ph08','物理八班','葛格','物理');

insert

into class(clsno,clsname,director,specialty)

values('gl01','地理一班','张四','应用地理');

2.向Student表插入数据如下:

insert

into student(sno,sname,scsex,clsno,saddr,sage,height)

values('20090101','王军','男','cs01','下关40#','20','1.76'); insert

into student(sno,sname,scsex,clsno,saddr,sage,height)

values('20090102','李杰','男','cs01','江边路96#','22','1.72'); insert

into student(sno,sname,scsex,clsno,saddr,sage,height)

values('20090306','王彤','女','mt04','中央路94#','19','1.65'); insert

into student(sno,sname,scsex,clsno,saddr,sage,height)

values('19940107','吴杪','女','ph08','莲化小区74#','18','1.60');

3.向course表插入数据如下:

insert

into course(cno,cname,cpno,ccredit)

values('0001','高等数学','null','6');

insert

into course(cno,cname,cpno,ccredit)

values('0003','计算机基础','0001','3');

insert

into course(cno,cname,cpno,ccredit)

values('0007','物理','0001','4');

4.向表SC 中插入数据

insert

into sc(sno,cno,grade)

values('20090101','0001','90');

insert

into sc(sno,cno,grade)

values('20090101','0007','86');

insert

into sc(sno,cno,grade)

values('20090102','0001','87');

insert

into sc(sno,cno,grade)

values('20090102','0003','76');

insert

into sc(sno,cno,grade)

values('20090306','0001','87');

insert

into sc(sno,cno,grade)

values('20090306','0003','93');

insert

into sc(sno,cno,grade)

values('19940107','0007','85');

insert

into sc(sno,cno,grade)

values('20090306','0007','90');

5.对于student表,将所有班级号为‘CS01’的,并且年龄不大于20岁的学生的班级号改为‘CS02’

update student

set clsno ='cs02'

where clsno ='cs01'and sage<20;

6.对于student表,删掉所有年龄不小于20岁,并且专业号为‘CS02’的学生的记录。如果建表的时候没写级联删除,就在删除前先添加级联删除语句

delete

from student

where clsno ='cs02'and sage >=20;

对于student表,插入一条新记录,它的具体信息为,学号:20071101、姓名:张三、性别:

男、年龄:19、班级编号:‘CS01’。

insert

into student(sno,sname,scsex,clsno,saddr,sage,height)

values('20071101','张三','男','cs01',null,'19',null);

7.对于student表,将年龄最小的学生的家庭地址去掉。

update student

set saddr ='null'

where sage in

(select min(sage)

from student)

8.对于student表,将平均年龄最小的一个班级编号改为‘GL01’

update student

set clsno ='gl01'

where sage <=

(select min(avg(sage))

from student

group by student.clsno);

9、对于student表,将学号为19940107的学生的姓名该成“吴用”;update student

set sname ='吴用'

where sno ='19940107';

10、对于sc表,将学号为20090101且的成绩为86的学生的成绩改为96 update sc

set grade ='96'

西北工业大学数据库实验报告

1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分) ●数据库和表的要求(第五版教材第二章习题 6 要求的数据库) 数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表 ●完成以下具体操作: (1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方 式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。 S表: P表: J表: SPJ表:

(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示: 最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名) (4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为 mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 原位置: 新的位置: (5)删除已经创建的工程项目表(J表)。 (6)删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据 库对应的mdf,ldf文件是否存在) 删除过后文件不存在 (7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库)

(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9)将SPJ数据库的文件大小修改为100MB。 (10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类 型。 2.利用SQL语言创建和删除数据库和数据表(50分,每小题5分) ●数据库和表的要求 数据库名:Student,其中包含三个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。 ●完成以下具体操作: (1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB, 最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初

sqlserver数据库综合实验报告格式

华北科技学院计算机系综合性实验 实验报告 课程名称数据库原理与应用 实验学期 2009 至 2010 学年第一学期学生所在系部管理系 年级三年级专业班级商务B071班 学生姓名李荣妹学号 4121 任课教师郭红 实验成绩 计算机系制

《数据库原理与应用》课程综合性实验报告

(3)建表如下图: 图书表的结构 读者表的结构罚款表的结构 借阅表的结构密码表的结构 输入数据:图书 读者 S只学生,t指老师,1指没有超期,0表示超期 借阅 罚款

密码: (4)、创建视图。以sa的身份登录数据库,创建视图V1,V2,V3 create VIEW V1 create VIEW V2 create VIEW V3 AS AS AS select * from 图书 select * from 借阅 select * from 罚款 建立视图V5,查看在库的图书:create view V5 as select *from 图书 where 借阅状态=‘在库’ 建立已被借出去的图书视图 create view V6 as

select * from 图书 where 借阅状态='出库' 建立逾期未还的图书的学生视图: create view V7 as select * from 借阅 where datediff(day,convert(smalldatetime,借出日期),getdate())>’30’ and 借书证号 in(select 借书证号 from 读者,借阅 Where 借阅.借书证号=读者.借书证号 and 读者类别=‘s’ 四、物理设计和自定义完整性 建立索引:为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是表中建立索引的表项: 图书表(图书编号,条形码号)读者(借书证号)借阅(借书证号,条形码号)罚款表(借书证号,条形码号)密码(借书证号) (2)建立触发器 a.对已有借书证的读者进行查询借书是否超期(这里归定30天): create trigger T1 on 读者 for insert as select 借阅.借书证号,读者.读者姓名,图书.图书编号,图书.书名,借阅.借出日期 from 读者,借阅,图书 where 读者.借书证号=借阅.借书证号 and 图书.条形码号=借阅.条形码号 and 读者类别='s' and Datediff(day,convert(smalldatetime,借出日期),getdate())>=30 b.建立触发器T2(还书时): create trigger T2 on 借阅 for insert as begin update 图书 set 借阅状态='在库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 归还日期=getdate(); update 读者 set 书数=书数-1 where 借书证号=(select 借书证号 from inserted) end c.建立触发器T3(借书书时): create trigger T3 on 借阅 for insert as begin update 图书 set 借阅状态='入库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 借出日期=getdate(); update 读者 set 书数=书数+1 where 借书证号=(select 借书证号 from inserted) end d.建立触发器T4,实现超出借书数目时禁借(针对老师的): create trigger T4 on 读者 for insert

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

数据库原理实验报告 实验三数据查询 班级:××× 姓名:××× 学号:××× 数据查询 一、[实验目的] 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的查

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

数据库系统实验报告 实验三 数据控制(安全性)..

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期2014年6月6日 一、实验目的 1.通过SQL对数据库进行安全性控制 2.完成教材中例题的上机练习 二、实验平台 微软SQL Server 2000或以上版本。 对于SQL Server 2000,使用查询分析器运行SQL语句,对于SQL Server 2005以上的版本,使用SQL Server Management Studio运行SQL语句。 三、实验内容和要求 使用SQL对数据进行安全性控制,包括授权和权力回收。 操作完成后,查看授权用户是否真正具有所授予的数据操作权利,在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。 在前几次实验中已经建立了实验数据库,继续在此数据库上进行实验所要求的各项操作。认真填写实验报告,记录所有的实验用例。 四、实验步骤 1.以管理员sa登录数据库,新建DB数据库,然后运行如下SQL语句,创建 我们前几次实验所建立的表。 CREATE TABLE course ( Cno char(4) NOT NULL, Cname char(40) DEFAULT NULL, Cpno char(4) DEFAULT NULL, Ccredit smallint DEFAULT NULL, PRIMARY KEY (Cno) ) ; -- -- 转存表中的数据'course' -- INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('1', '数据库', '5', 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('2', '数学', NULL, 2);

SQL 数据库实验报告3

一、实验内容 (1)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。 (2)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。 二、实验器材(设备、元器件) Window7操作系统,SQL Server软件 三、实验步骤 (1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 (2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示 (3)在SQL Server管理平台中创建student_info、curriculum表。 学生基本情况表student_info 课程信息表curriculum

①启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 ②在SQL Server管理平台中创建student_info表。 ③在SQL Server管理平台中创建curriculum表。 (4)使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建表 学生成绩表grade

①新建查询,输入Transact-SQL语句,点击执行 ②出现如下界面,学生成绩表grade建立成功 (5)在SQL Server管理平台中,将student_info表的学号列设置为主键,非空。

(6)student_info、curriculum、grade表中的数据如图所示。 student_info的数据 curriculum的数据 grade的数据 (7)在SQL Server管理平台中为student_info表添加数据

数据库数据查询实验报告

师学院数学与计算机科学学院 《数据库》实验报告 实验序号:07 实验项目名称:数据查询 学号2014210758 姓名邹业安专业、班级14信科 实验地点222 指导教师褚万军时间2017.6.07 一、实验目的及要求 ?掌握从简单到复杂的各种数据查询。包括:单表查询、多表连接查询、嵌套查询、集合查询。 ?掌握用条件表达式表示检索条件。 ?掌握用聚合函数计算统计检索结果。 二、实验设备(环境)及要求 1、环境要求: 硬件:PC(PII以上,128M以上存)、因特网接入; 软件:在SQL Server 2000中 三、实验容与步骤 1、一般简单查询 (1)不带条件的查询指定字段(考虑去掉和不去掉重复值两种情况)。select distinct 学号 from 选课 select 学号 from 选课

(2)查询某个表中的所有记录查询教师表中的所有记录 (3)使用单个条件的简单查询查询成绩大于50的学生的学号select 学号 from 选课where 成绩>50

(4)使用多个条件(AND关系)的查询 select工资 from教师 where工资>200 and工资<500 (5)使用多个条件(OR关系)的查询 select工资 from教师 where工资<200 or工资>500 (6)使用多个条件(混合AND和OR关系)的查询 select*from学生 where (院系='2'and生源='')or(院系='6'and生源='') (7)使用带NOT运算的查询

where not (生源='') (8)使用BETWEEN???AND???的查询 select * from 选课 where 成绩 between 86 and 93 (9)使用NOT???BETWEEN???AND???的查询select * from 选课 where 成绩 not between 76 and 93 (10)使用LIKE运算符的字符串匹配查询。

数据库实验报告大全 广工 蔡延光版

自动化学院自动化专业班学号 姓名实验时间2011.3.14 教师评定 实验题目数据定义 实验报告一 一、实验目的与要求 目的:使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。 要求:1、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、DROP 命令实现数据库的创建及删除工作。 2、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表的创建、更新、删除工作,并实现基本表中各类完整性约束条件的限定。 3、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表中索引的创建、更新、删除工作。 4、完成上述工作后,在SQL SERVER 2000企业管理器中,查看是否成功创建实验所要求数据库、基本表、各类完整性约束条件及索引等内容。 二、实验方案 所有实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成如下内容: 1.定义数据库 定义一个借阅数据库,要求所定义的数据库大小为1M,且数据库名称为Labery_学号。 2.定义下列数据库基本表 在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表: 1)书(book)

列名别名类型及长度是否可为空书号bno char(8)否 类别category varchar(10)否 书名title varchar(40)否 出版社press varchar(30)是 年份book_year Int否 作者author char(20)是 价格price decimal(7,2)否 总藏书量book_total Int否 2)借书证(card) 列名别名类型及长度是否可为空卡号cno char(7)否 姓名name char(8)否 单位department varchar(40)是 类别type char(1)否 3)借书记录(borrow) 列名别名类型及长度是否可为空卡号cno char(7)否 书号bno char(8)否 借书日期borrow_date smalldatetime否 还书日期return_date smalldatetime是 3.完整性约束条件: 主要内容为: 1)确定各基本表的主码; 2)确定各基本表的外码; 3)要求在定义各基本表的同时,确定如下完整性约束条件 1、定义各基本表主码,并且要求主属性不能为空; 2、如果有外码,定义各基本表外码; 3、要求检查借书证中属性Type的值是否为('T','G','U','F')); 4、借书记录borrow基本表中borrow_date默认日期为当前时间。4)确定各基本表哪些字段需要建立索引。

数据库sqlserver实验报告

实验一熟悉常用的 DBMS:SQL SERVER2008、Oracle 试验内容及要求: (1)了解不同数据库管理系统及不同版本的相应功能特点 目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。这些产品都支持多平台,如UNIX、VMS、Windows,但支持的程度不一样。IBM的DB2也是成熟的关系型数据库。但是,DB2是内嵌于IBM的AS/400系列机中,只支持OS/400操作系统。 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。 MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。与其他数据库管理系统相比,MySQL具有以下优势: (1)MySQL是一个关系数据库管理系统。 (2)MySQL是开源的。 (3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。 (4)MySQL服务器工作在客户/服务器或嵌入系统中。 (5)有大量的MySQL软件可以使用。 2.SQL Server SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。 目前最新版本是SQL Server2005,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。 SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,

SQL查询—— 简单查询实验报告书

实验题目:SQL查询——简单查询 【实验目的与要求】 一、实验目的 1. 熟练掌握单表查询的SELECT语法结构; 2. 通过观察查询结果, 体会SELECT语句的实际应用。 二、实验要求 1.实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验 内容的预习准备工作。 2.能认真独立完成实验内容。 3.实验后做好实验总结,根据实验情况完成实验报告。 【实验环境】 PC机、Windows XP系统+SQL Server 2005 【实验内容】 基于实验一建立的EDUC 数据库,用Transact-SQL 语句实现如下查询: 1.选修了课程的学生学号; 2.计算机系的学生; 3.计算机系学生的学号和姓名; 4.计算机系和信息系的男生信息;(提示:逻辑运算符的优先级顺序) 5.选修上课编号为1且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出; (提示:新输出项要命名列标题) 6.没有成绩的学生的学号和上课编号; 7.选修上课编号为1或4的学生的学号和成绩,并要求对查询结果按成绩的降序 排列,如果成绩相同则按学号的升序排列;(提示:查询输出哪几项) 8.1995年1月1日(含)以后出生的学生信息,并按姓氏拼音字母顺序从前往后排列(注: 默认排序规则通常是Chinese_PRC_CI_AS,汉字按照汉语拼音的字典顺序来排序:首先按拼音,拼音相同按声调,声调相同按笔画数。)

9.姓李和刘的学生的信息; 10.不姓张王李刘的学生的学号、姓名和性别; 11.选修课程的学生人数; 12.选修上课编号为1的学生的最高分; 13.每位学生所修课程的平均分; 14.选修两门以上课程的学生; 15.总成绩大于200 分的学生的学号和总成绩。(提示:group by分组统计)【实验方法和步骤】 1.新建查询,在查询编辑器中依次按照如上实验内容编写SELECT语句完成查询。

数据库实验报告

数据库实验报告 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

课程名称:数据库原理与应用 实验内容:数据库安全性管理 作者所在系部:网络工程系 作者所在专业:网络工程 作者所在班级: B13521 作者姓名:李文阳 作者学号: 指导教师姓名:王振夺 北华航天工业学院教务处制 实验四数据库安全性管理 一、实验目的 1、理解数据库的安全性机制; 2、掌握SQL Server 2005的验证模式、登录管理、用户管理、角色 管理以及权限管理; 二、实验内容 (一)附加上次实验所创建的数据库“db_Library”,并回顾该库的数据表信息。 (二)设置SQL Server的安全验证模式,并以两种方式尝试登录。

(三)登录账户管理 1、以管理员身份登录SQL Server,修改sa的密码。 2、使用SQL语句创建一个SQL Server登录账户,账户名为你的名字拼音,密码自定义。创建完成后,以该账户来进行登录。 3、使用SQL语句来修改上述登录账户的密码。 4、禁用上述登录账户连接SQL Server,并进行验证。 (四)数据库用户管理 1、使用SQL语句添加db_Library数据库用户User2,其登录账户为上题所创建的SQL Server登录账户,使用默认dbo架构,并赋予该用户能够运行Select语句的权限。 (五)权限管理 1、使用SSMS将创建数据表和创建视图的权限授予User2。 2、使用SQL语句将对db_Library数据库中图书信息表的查询、插入、以及对书名和作者列的修改权限授予用户User2。 3、使用SSMS收回User2创建数据表和创建视图的权限。 4、使用SQL语句收回User2修改书名和作者列的权限。 (六)删除上述所建立的数据库用户以及登录账户。 三、实验步骤 主要实现的SQL语句。 使用T-SQL语句创建一个SQL Server登录账户,账户名为你的名字拼音,密码自定义。创建完成后,以该账户来进行登录。

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

实验报告 数据库的基本查询'

一、实验目的: 通过该实验掌握应用SQL 查询数据库的基本方法,包括单表、多表查询。 二、实验原理 数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。 SELECT[ALL|DISTINCT] <目标列表达式〉[,<目标列表达式〉]... FROM<表名或视图名〉[,<表名或视图名〉]... [WHERE<条件表达式>] [GROUP BY<列名1〉[HA VING<条件表达式>]] [ORDERBY<列名2〉[ASC|DESC]] 三、实验内容和方法 实验用的数据库:用实验二建立的数据库:School 1. 投影查询 (1) 查询SC表的sno的不重复记录。 使用SQL语句:“select distinct Sno from SC”,得出结果如下图所示: (2) 改变查询结果的标题名:sno为学号,sname为姓名,ssex 为性别,sdept 为系名。 使用SQL语句:“select Sno 学号,Sname 姓名,Ssex 性别,Sdept 系名from Student”,得出结果如下图所示:

(3) 查询STUDENT表的前3条记录(top 3)。 使用SQL语句:“select top 3 * from Student”,得出结果如下图所示: 3. 选择查询 (1) 查询成绩在60-80之间的姓名、系名和成绩。 使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade>60 and Grade<80 and Student.Sno=SC.Sno”,结果如下图所示: 若使用SQL语句:“select Sname,Sdept,Grade from Student,SC where Grade between 60 and 80 and Student.Sno=SC.Sno”,则结果如下图所示: (2) 查询信息系和计算机系的姓名和成绩。 使用SQL语句:“select Sname,Grade from Student,SC where Sdept='IS' and Student.Sno=SC.Sno or Sdept='CS' and Student.Sno=SC.Sno”,结果如下图所示:

数据库实验报告范本

数据库实验报告

第一章系统概述 该物流管理系统是对物流公司业务的统一信息化管理,提供在线服务。订单模块实现了业务订单的新增,查询,修改,删除等功能。用户可以以会员身份或者游客身份登陆公司进行网上下单,当完成订单之后可根据系统提供的订单号进行订单状态的查询。公司员工需要对订单审核确认,进行删改查等管理操作。 该系统是B\S结构,运用MVC模式基于J2EE平台开发的,使用Oracle 数据库。我负责的是订单模块的需求分析,系统设计,数据库设计,编码和测试。 该系统所使用的开发工具有:MyEclipse,Tomcat, Rational Rose ,PowerDesigner,PL/SQL等。 第二章系统设计 2.1订单模块功能设计 1.网上下单 本系统是BS结构的WEB系统,我们通过在线方式新增订单。 2.订单审核 因为是物流系统,在网上下单之后,顾客需要将货物送至配送点,经过工作人员审核,才能最后完成一份订单。 3.订单查询 查询功能支持模糊查询,多条件查询。可以满足顾客及工作人员的需要。

4.订单管理 管理功能包括:查看明细,修改,删除。 2.2业务逻辑设计 类图如下所示(本部分不是此次作业重点,这里不再过叙述类图的设计): 第三章数据库设计 3.1 概念模型 本系统模块包含的实体有:订单基本表,订单信息表,订单状态表,货物表,交接单,配送点。 1.各实体ER图如下图3-1到图3-6所示。

图3-1订单基本表实体E-R图 图3-2订单信息表实体E-R图

图3-3订单状态表实体E-R图 图3-4 货物表实体E-R图 图3-5 交接单实体E-R图

华南农业大学大数据库系统概念实验报告材料五

实用文档 《数据库系统》实验报告五

实用文档 salary表中表具有查询权限,A.course对A.instructor对设置同学同学2. AB 使用命令检查授权是否成功。B字段具有更新权限;同学grant select on course to cs113; 实用文档

表具有插入数据、删除数据的权限,同对B. instructorB3. 同学授权同学A 用命令试验能否完成相应操作。学Aselect * from cs113.instructor; insert into cs113.instructor values(21313,'JDY','Comp. Sci.',745363); select * from cs113.instructor; cs113.instructor where salary = 92000; delete from select * from cs113.instructor; 实用文档

表具有增、删、改、查的权限,并允许他对B. studentB5. 同学授权同学A并试验能否将权限授予A将权限授权给其它同学。同学验证授权是否成功,。C其它同学(例如同学) 实用文档select * from cs113.student; insert into cs113.student values(13221,'KJDFH','Comp. Sci.',123); update cs113.student set tot_cred = 456 where ID = 13221; select * from cs113.student; delete from cs113.student where ID = 13221; select * from cs113.student;

数据库原理实验报告四(有答案)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验四查询设计实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解查询的目的,掌握SELECT语句的基本语法和查询条件的表示方法。 (2)掌握数据排序和数据联接查询的方法。 (3)掌握SQL Server查询分析器的使用方法。 2.实验要求 (1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下单表查询 操作,并将将调试成功的T-SQL命令,填入实验报告中。 a)查询所有课程的详细情况。 b)查询来自江苏或山东的学生学号和姓名,并以中文名称显示输出的列名。 c)查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一次)。 d)查询选修课程号为07253001的学号和成绩,并要求对查询结果按成绩降 序排列,如果成绩相同则按学号升序排列。 e)查询所有学生的学号、姓名和年龄。 f)查询选修课程号为07253001的成绩在85-95之间的学生学号和成绩,并 将成绩乘以0.7输出。 g)查询数学与信息技术学院(DEPT_ID为07)或物理与电子工程学院 (DEPT_ID为09)姓张的学生的信息。。 h)查询所有核心课程(课程名中带*的)的情况。 i)查询缺少了成绩的学生的学号和课程号,查询结果按课程号升序排列。 (2)在SQL Server查询分析器中,用T-SQL语句实现下列数据联接查询操作: a)查询每个学生的情况以及他(她)所选修的课程。 b)查询学生的学号、姓名、选修的课程名及成绩。 c)查询选修C语言程序设计且成绩为85分以上的学生学号、姓名及成绩。 d)查询和学生柏文楠是同一个民族的学生(用自身联接实现)。 e)分别用等值联接和内联接查询有授课记录的老师的姓名。 f)用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院 系、担任的课程号和授课的学期,结果按院系和职称升序排列。如果该 老师没有授课历史,在课程号和授课的学期中显示空值 (3)在SQL Server Management Studio中新建查询,完成以上查询命令的同时,熟悉SQL编 辑器工具栏中各快捷按钮的作用。 (4)按要求完成实验报告。

(完整word版)数据库实验报告8

. 西安科技大学 《数据库原理及应用》课程设计报告 题目:寄宿学校管理信息系统的设计与实现 学院:计算机科学与技术学院 专业及班级:软件工程1202及1203班 学号:1208010206 1208010207 1208010303 姓名:李倩魏楠楠王青枝 日期:2014年7月9日

目录 1课程设计目的及意义 (2) 2设计内容及人员分工 (2) 3 需求分析 (2) 3.1 需求陈述 (2) 3.2 功能需求 (2) 3.3 数据需求 (3) 3.4 其它需求 (3) 4 数据库设计 (3) 4.1概念结构设计 (3) 4.2逻辑结构设计 (4) 4.3数据表结构设计 (4) 5 系统功能设计 (6) 6 系统实现 6.1 开发环境 (7) 6.2 数据库的创建与连接技术 (7) 4.3 主要功能的运行结果及代码 (9)

7 总结 (13) 参考文献 (13) 1、课程设计的目的和意义 课程设计目的:通过本课程设计,培养学生具有C/S模式的数据库应用软件系统的 设计和开发能力;熟练掌握SQL Server数据库的使用,熟练掌握使用VC、VB或其它开发工具开发数据库应用的能力;为毕业设计打下坚实的基础。学生根据所学的数据库原理与程序设计的知识, 通过对一个实际问题的分析,设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。 课程设计的意义:通过对这个系统的设计,让我们更加熟悉SQL Sever 2008的相关操 作,也巩固了这学期学习的数据库的一些知识,让我们更懂得数据库的重要性无论是在生活中,还是在软件的设计和制作过程中。让我们学会了数据库的设计,经历了数据库设计的几个阶段,比如需求分析,概念结构设计,逻辑结构的设计,都让我们努力的去想,去做,懂得数据库的优化,想想怎么做才是最好的。做出一个比较满意的数据库设计。 2、设计内容及人员分工 魏楠楠:数据库的需求分析,概念设计 王青枝:数据库逻辑设计,表结构设计 李倩:数据库触发器创建实现 3、需求分析 3.1 需求陈述: 某寄宿学校需要开发一个信息管理系统,通过该管理系统可以对学生的日常事务进行管理: 校长助理:可以对学生的档案进行管理,可以进行新增、删除、查询、修改等操作。 财务人员:进行每月的收费和退费工作,每个学生的每月费用包括住宿费,伙食费220,在6-8月收取空调费20,在11-2月收取取暖费20,每个学期的开学初(3月、9月)收取书本费(不定)。住宿费分三种情况:双职工的子女为60,单职工的子女80元,父母均不在本单位工作为100元。每个班的老师在每天要申报本班学生的出勤表,由校长助理完成

数据库系统实验报告 触发器

实验4 触发器 1、通过序列和触发器实现借阅表中借阅流水号字段的自动递增。 Create or replace sequence bwnum_id Minvalue 1 Maxvalue 1.0E28 Start with 1 Increment by 1 Cache 20; Create or Replace Trigger tri_bwnum_id Before Insert On borrow For Each Row Begin Select bwnum_id.Nextval Into :new.bwnum From DUAL; End;

2、通过序列和触发器实现预约表中预约流水号字段的自动递增 Create sequence pnum_id Minvalue 1 Maxvalue 1.0E28 Start with 1 Increment by 1 Cache 20; Create or Replace Trigger tri_pnum_id Before Insert On preborrow For Each Row Begin Select pnum_id.Nextval Into :new.pnum From DUAL; End;

3、修改实验三借书功能的存储过程。 该存储过程要求: (1)借书时输入借书证号,图书编号。(即该函数有2个输入参数) (2)借书时,借书日期为系统时间。 *该存储过程主体部分只有insert into语句。 create or replace Procedure p_borrow (P_BNUM IN BORROW.BNUM%TYPE, P_RNUM IN BORROW.RNUM%TYPE) as begin insert into BORROW (BNUM,RNUM,BDATE) values(P_BNUM,P_RNUM,TO_CHAR(SYSDATE(),'YY/MM/DD')); commit; end; 4、建立与借书存储过程相对应的触发器,当借阅表中加入借阅信息时,该触发器触发,自动修改所借图书的是否借出改为‘是’。 Create or Replace Trigger tri_borrow_insert

数据库SQL语句实验报告

《数据库原理及应用》实验报告SQL语句部分 :绩成总

实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 2.创建学生关系表S : 3.创建课程关系表C : 课程名学分先行课课程号Cno ccreditCname Cpno 4.创建课程关系表SC : 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 7、删除表S的“年龄”属性列。 8、删除S姓名列的唯一值约束。 9、修改SC表成绩属性列为精确数字型。 10、在表S上,按“Sno”属性列的唯一值方式建立索引。 11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。 三、实验结果: 1.创建学生课程数据库 ; Studend create database2.创建学生关系表S : S create table(, 9Sno CHAR()PRIMARYKEY UNIQUE,)(Sname CHAR20CHAR Ssex (2), smallint Sage ,

char Sdept 20(), ); .创建课程关系表C 3: 课程号课程名先行课学分 ccredit Cpno CnoCname table C create (primary key,) Cno char(4Cname CHAR(40 ),char(), 4Cpno ,Ccredit SMALLINT); 4.创建课程关系表SC : 学号课程号成绩 grade Sno Cno createtable SC(9),Sno char(),char Cno (4, Grade smallint); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 ;datetimeadd Sbirthday alter table S 7、删除表S的“年龄”属性列。

数据库系统原理实验报告_SQL查询语句

数据库系统原理 实验报告 :xxx 学号:xxxxxxxx 专业:xxxxx 日期:xxxxx

Lab2 一、实验目的 进一步熟悉关系数据库标准语言SQL。 二、实验环境 1)Windows 10 2)SQL Server 2017 三、实验容 给定如学生表、课程表和学生作业表所示的信息。 表1 学生表 表2 课程表 表3 学生作业表

K001 0433 60 75 75 K001 0529 70 70 60 K001 0531 70 80 80 K001 0591 80 90 90 K002 0496 80 80 90 K002 0529 70 70 85 K002 0531 80 80 80 K002 0538 65 75 85 K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80 写出如下SQL语句: 1.查询数据库中有哪些专业班级。(5分) Sql语句: SELECT专业班级 FROM学生表; 查询结果截图: 2.查询在1986年出生的学生的学号、和出生日期。(5分) Sql语句: SELECT学号,,出生日期 FROM学生表 WHERE出生日期LIKE'1986%'; 查询结果截图:

3.查询05级的男生信息。(5分) Sql语句: SELECT* FROM学生表 WHERE学号LIKE'05%'AND性别='男'; 查询结果截图: 4.查询没有作业成绩的学号和课程号。(5分) Sql语句: SELECT学号,课程号 FROM学生作业表 WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL; 查询结果截图: 5.查询选修了K001课程的学生人数。(5分) Sql语句: SELECT COUNT(DISTINCT学号) FROM学生作业表 WHERE课程号='K001'; 查询结果截图:

相关主题
文本预览
相关文档 最新文档