文档库 最新最全的文档下载
当前位置:文档库 › SQL实验报告完整版(12347章)

SQL实验报告完整版(12347章)

SQL实验报告完整版(12347章)
SQL实验报告完整版(12347章)

第一章

实验1.1

(1)CREATE TABLE CUSTOMERC

( CID CHAR(8) UNIQUE,CNAME CHAR(20),CITY CHAR(8),

DISCNT INT,

PRIMARY KEY(CID) )

CREATE TABLE AGENTS

( AID CHAR(8) UNIQUE,ANAME CHAR(20),CITY CHAR(8),

PRRCENTS FLOAT,

PRIMARY KEY(AID) )

CREATE TABLE PRODUCTS

(PID CHAR(8) UNIQUE,PNAME CHAR(20),PRIMAYR KEY (PID) )

(2) CREATE TABLE ORDERS

( ORDNA CHAR(8) UNIQUE,MONTH INT,CID CHAR(8),AID CHAR(8),PID CHAR(8), QTY INT,DOLLARS FLOA T, PRIMARY KEY (ORDNA),FOREIGN KEY(CID) RDFERENCES CUSTOMER,FOREIGN KEY(AID) REFERENCES AGENTS, FOREIGN KEY(PID) REFERENCES PRODUCTS )

(3)ALTER TABLE PRODUCTS ADD CITY CHAR(8)

ALTER TABLE PRODUCTS ADD QUANTITY INT

ALTER TABLE PRODUCTS ADD PRICE FLOAT

(4)CREATE INDEX XSNO ON CUSTOMER(CID)

CREATE INDEX XSNO ON AGENTS(AID)

CREATE INDEX XSNO ON PRODUCTS(PID)

CREATE INDEX XSNO ON ORDERS(ORDNA)

(5)DROP INDEX CUSTOMER.XSNO

DROP INDEX AGENTS.XSNO

DROP INDEX PRODUCTS.XSNO

DROP INDEX ORDERS.XSNO

实验1.2

(1)SELECT * FROM COURSES

(2)SELECT SID FROM CHOICES

(3)SELECT CID FROM COURSES WHERE HOUR<88

(4)SELECT SID FROM CHOICES GROUP BY SID HA VING SUM(SCORE)>400

(5)SELECT COUNT(CID) FROM COURSES

(6)SELECT CID,COUNT(SID) FROM CHOICES GROUP BY CID

(7)SELECT SID FROM CHOICEES WHERE SCORE>60 GROUP BY SID HA VING COUNT(CID)>2

(8)SELECT SID,COUNT(CID),A VG(SCORE) FROM CHOICES GROUP BY SID

(9)SELECT STUDENTS.SID,SNAME FROM STUDENTS,CHOICES,COURSES WHERE STUDENTS.SID=CHOICES.SID AND CHOICES.CID=COURSES.CID AND https://www.wendangku.net/doc/5c2550565.html,AME=’Java’

(10)SELECT CHOICES.SID,CHOICES.SCORE FROMCHOICES,SUTDENTS WHERE SNAME=’sssht’ AND CHOICES.SID=STU DENTS.SID

SELECT CID,SCOTE FROM CHOICES WHERE SID IN(

SELECT STUDENTS.SID FROM STUDENTS WHERE SNAME=’sssht’)

(11) SELECT https://www.wendangku.net/doc/5c2550565.html,AME FROM COUTSES AS C1,COUTSES AS C2 WHERE

C1.HOUR>C2.HOUR AND https://www.wendangku.net/doc/5c2550565.html,AME=’C++’

(12) SELECT SID,SNAME FROM STUDENTS WHERE SID IN(

SELECT C1.SID FROM CHOICES AS C1,CHOICES AS C2

WHERE C1,SCORE>C2.SCORE AND C1.CID=C2.CID

AND C2.SID=(SELECT SID FROM STUDENTS WHERE SNAME=’ankoo’)

AND C1.CID=(SELECT CID FROM COURSES WHERE CNAME=’C++’) )

(13) SELECT SNAME FROM STUDENTS WHERE GRADE IN (

SELECT GRADE FROM STUDENTS WHERE SID IN(‘883794999’,’850955252’) (14) SELECT SNAME FROM STUDENTS WHERE SID NOT IN (

SELECT SID FROM CHOICES WHERE CID=( SELECT CID FROM COURSES WHERE CNAME=’Java’) )

(15) SELECT * FROM COURSES WHERE HOUR<=ALL(SELECT HOUR FROM

COURSES)

(16) SELECT CHOICES.TID,CID FROM CHOICES WHERE NOT EXISTS(

SELECT * FROM TEACHERS WHERE TEACHERS.SALARY>=

( SELECT SALARY FROM TEACHERS WHERE TEACHERS.TID=CHOICES.TID) ) (17) SELECT SID FROM CHOICES WHERE SCORE=

(SELECT MAX(SCORE) FROM CHOICES WHERE CID=

(SELECT CID FROM COURSES WHERE CNAME=’ERP’) )

(18) SELECT CNAME FORM COURSES WHERE CID NOT IN (

SELECT CID FROM CHOICES)

(19) SELECT CNAME FROM COURSES WHERE CID=SOME(

SELECT CID FROM CHOICES WHERE TID=SOME(

SELECT TID FROM OURSES,CHOICES WHERE CNAME=’UML’ AND COURSES.CID=CHOICES.CID) )

(20) SELECT SNAME FROM STUDENTS WHERE NOT EXISTS(

SELECT * FROM CHOICES AS C1 WHERE NOT EXISTS(

SELECT * FROM CHOICES AS C2 WHERE C2.SID=STUDENTS.SID AND C2.CID=C1.CID AND C2.TID=’200102901’) )

(21)SELECT SID FROM CHOICES,COURSES WHERE COURSES.CID=CHOICES.CID AND

https://www.wendangku.net/doc/5c2550565.html,AME=’datebase’

UNION

SELECT SID FROM CHOICES,COURSES WHERE COURSES.CID=CHOICES.CID

A ND https://www.wendangku.net/doc/5c2550565.html,AME=’UML’

(22)SELECT X.SID FROM CHOICES AS X,CHOICES AS Y

WHERE (X.CID=(SELECT CID FROM COURSES WHERE CNAME=’datebase’)

AND Y.CID=(SELECT CID FROM COURSES WHERE CNAME=’UML’) )

AND S.SID=Y.SID

(23)SELECT X.SID FROM CHOICES AS X,CHOICES AS Y

WHERE (X.CID=(SELECT CID FORM COURSES WHERE CNAME=’datebase’) ) AND X.SID=Y.SID

AND NOT (Y.CID=(SELECT CID FROM COURSES WHERE CNAME=’UML’) )

实验1.3

(1)

INSERT INTO STUDENTS(SID,SNAME)

V ALUES('800022222','WangLan')

(2)

INSERT INTO TEACHERS

V ALUES('200001000','LXL','s4zrck@https://www.wendangku.net/doc/5c2550565.html,','3024')

(3)

UPDATE TEACHERS

SET SALARY = 4000

WHERE TID = '200010493'

(4)

UPDATE TEACHERS

SET SALARY = 2500

WHERE SALARY < 2500

(5)

UPDATE CHOICES

SET TID =

(SELECT TID FROM TEACHERS WHERE TNAME = 'rnupx')

WHERE TID = '200016731'

(6)

UPDATE STUDENTS

SET GRADE = 2001

WHERE SID = '800071780'

(7)

DELETE FROM COURSES

WHERE CID NOT IN

(SELECT CID FROM CHOICES GROUP BY CID)

(8)

DELETE FROM STUDENTS

WHERE GRADE<1998

(9)

DELETE FROM STUDENTS WHERE SID NOT IN

(SELECT SID FROM CHOICES GROUP BY SID)

(10)

DELETE FROM CHOICES WHERE SCORE<60

实验1.4 习题

(1)

CREATE VIEW VIEWC AS

SELECT CHOICES.NO,CHOICES.SID,CHOICES.TID,https://www.wendangku.net/doc/5c2550565.html,AME,CHOICES.SCORE FROM CHOICES,COURSES

WHERE CHOICES.CID=COURSES.CID

(2)

CREATE VIEW VIEWS AS

SELECT

CHOICES.NO,STUDENTS.SNAME,CHOICES.TID,CHOICES.CID,CHOICES.SCORE FROM CHOICES,STUDENTS

WHERE CHOICES.SID=STUDENTS.SID

(3)

CREATE VIEW S1(SID,SNAME,GRADE) AS

SELECT STUDENTS.SID,STUDENTS.SNAME,STUDENTS.GRADE

FROM STUDENTS

WHERE GRADE>1998

(4)

SELECT * FROM VIEWS WHERE SNAME='uxgof'

(5)

SELECT SID,SCORE FROM VIEWC WHERE CNAME='UML'

(6)

INSERT INTO S1

V ALUES('60000001','Lily',2001)

(7)

CREATE VIEW S1(SID,SNAME,GRADE) AS

SELETE SID,SNAME,GRADE FROM STUDENTS

WHERE GRADE>1998

WITH CHECK OPTION

INSERT INTO S1

V ALUES('60000001','Lily',1997)

DELETE FROM S1

WHERE GRADE=1999

(8)

UPDATE VIEWS

SET SCORE=SCORE+5

WHERE SNAME='uxgof'

(9)

DROP VIEW VIEWC

DROP VIEW VIEWS

DROP VIEW S1

实验1.5

(1)GRANT SELECT ON STUDENTS TO PUBLIC

(2)GRANT SELECT,UPDATE ON COURSES TO PUBLIC

(3)GRANT SELECT,UPDATE(SALARY) ON TEACHERS TO USER1 WITH GRANT

OPTION

(4)GRANT SELECT,UPDATE(SCORE) ON CHOICES TO USERS2

(5)CREATE VIEW TV AS SELECT TID,TNAME,EMAIL,SALARY ROM TEACHERS

GRANT SELECT ON TV TO USER2

(6)以用户USER1身份登录数据库后,执行

GRANT SELELCT ON TEACHERS TO USER2 WITH GRANT OPTION

(7)以用户USER2登录数据库后,执行

GRANT SELECT ON TEACHERS TO USER3 WITH GRANT OPTION

以用户USER3身份登录数据库后,执行

GRANT SELECT ON TEACHERS TO USER2 WITH GRANT OPTION

编译器都提示正常执行

(8)REVOKE SELECT ON TEACHERS FROM USER1 CASCAD

操作不成功,取消授权操作存在级联效应

(9)REVOKE SELECT,UPDATE ON COURSES FROM USER1,USER2

实验1.6

(1)

SELECT CID HOUR*18 FROM COURSES

对NULL做算术运算结果为NULL

(2)SELECT COUNT(*) FROM CHOICES WHERE CID=(SELECT CID FROM CHOICES WHERE CNAME=’’C++)

SELECT COUNT (*) FROM CHOICES WHERE SCORE>=60 AND CID=(SELECT CID FROM CHOICES WHERE CNAME=’’C++)

SELECT COUNT (*) FROM CHOICES WHERE SCORE>60 AND CID=(SELECT CID FROM CHOICES WHERE CNAME=’’C++)

发现结果异常,分析发现SCORE的属性为允许为空。当SCORE为空时候,NULL与< 和>=运算符都不匹配,它不会出现在结果中。结果中的差值,也就是SCORE为NULL的数量。

(3)NULL的项出现在结果中,被当作最小值看待

(4)SELECT DISTINCT,SCORE FROM CHOICES WHERE CID=

(SELECT CID FROM COURSES WHERE CNAME=’C++’) ORDER BY SCORE

成绩为NULL的项排在最后。

(5)SELECT DISTINCT GRADE FROM STUDENTS GROUP BY GRADE

(6)SELECT A VG(SCORE),COUNT(*),MAX(SCORE),MIN(SCORE) FROM CHOICES GROUP BY CID

(7)SELECT GRADE FROM STUDENTS WHERE GRADE>=ALL(SELECT GRADE FROM STUDENTS)

第二章

实验2.1 习题

(1)

USE School

Create Table Class

(

Class_id varchar(4),name varchar(10),Department varchar(20)

constraint PK_Class Primary key(Class_id)

)

(2)

USE School

Begin Transaction T3

insert into class values('00001','01CSC','CS')

Begin Transaction T4

insert into class values('00001','01CSC','CS');

Commit Transaction T4

Commit Transaction T3

结果由于T4中的插入违法,T4失败,而且整个T3事务回滚,T3中的插入也不成功。

实验2.2 习题

(1)

相应结果:数据库不允许删除students表以及course表中对应的元组。

分析:由于on delete restrict的约束,数据库不允许任何引用关系存在对应元组时进行删除操作。

(2)

相应结果:数据库不允许删除students表以及course表中对应的元组。

分析:约束on delete set NULL是将要删除的对应元组的外键置空值,如果cno以及sno不是SC表的主键,删除操作是可以完成的,但是由于主键不可以取空值,所以删除操作不可以进行。

(3)

a.

create table help

(

sid char(8),name varchar(20),help_id char(8) not null

constraint PK_help primary key(sid)

)

b.

alter table help

add constraint FK_help foreign key(help_id) references help(help_id)

(4)

a.

create table leader

(

sid char(9),sname varchar(20),myleader char(9)

constraint PK_leader primary key(sid)

)

b.

create table monitor

(

sid char(9),sname varchar(20),mymonitor char(9)

constraint PK_monitor primary key(sid)

constraint FK_monitor foreign key(mymonitor) references leader(sid)

)

alter table leader

add constraint FK_leader foreign key(myleader)references monitor(sid)

实验2.3 习题

(1)

USE School

create table worker(

Number char(5),

Name char(8) constraint U1 unique,

Sex char(1),

Sage int constraint U2 check (Sage<=28),

Department char(20),

constraint PK_Worker Primary Key (Number))

alter table worker

add constraint U3 check(sage>=0);

(2)

USE School

GO

create rule rule_sage as @value between 1 and 100

go

exec sp_bindrule rule_sage,'worker.[sage]';

实验2.4 习题

(1)

USE School

GO

create trigger T4 on worker

for insert

as

if(select sage from inserted)<=(select max(sage)from worker) begin

print'the sage of couple must be more than the existed couple sage!' rollback transaction

end

(2)

USE School

GO

create trigger T5 on worker

for update

as

if(select sage from inserted)<=(select sage from deleted)

begin

print'the sage of new couple must be more than the sage of old couple !'

rollback transaction

end

实验2.1

(1)建一张表

USE SCHOOL

CREATE Table Class

(Class_id varchar(4),

name varchar(10),

deparment varchar(20)

constraint PK_Class

Primary key(Class_id)

)

(2)创建事务T3,嵌套创建T4

USE school

Begin Transaction T3

insert into class values ('00001','01CSC','CS')

Begin Transaction T4

insert into class values ('00001','01CSC','CS')

Commit Transaction T4

commit Transaction T3

T4插入违法,T4终止,整个事务回滚,T3中的插入也被终止

实验2.2

(1)结果:

on delete restrict 不允许级联操作,数据库不允许删除students表及course表中的对应元组

(2)结果:

on delete Set NULL 是将要删除的对应元组的外键置空,而cno和sno是SC表的主键,主键不能为空,所以数据库不允许删除操作

(3)创建学生互助表

create table help

(sid char(8),

sname varchar (20),

help_id char(8) not null

constraint PK_help primary key(sid)

)

alter table help

add constraint FK_help foreign key (help_id)

references help(help_id)

(4)每个部门一个部长,每个部长领导多个部员,每个部有一个部员有评测部长的权利create table leader

(sid char(9),

sname varchar(20),

myleader char(9),

constraint PK_leader primary key (sid)

)

create table monitor

(sid char(9),

sname varchar(20),

mymonitor char (9)

constraint PK_monitor primary key(sid)

constraint FK_monitor foreign key (mymonitor) references

leader(sid)

)

alter table leader

add constraint FK_leader foreign key(myleader)references monitor(sid)

实验2.3

(1)加入约束U3,令sage的值>=0

use school

alter table worker

add constraint U3 check (sage>=0);

(2)加入规则R2,确保插入sage值在1~100之间,并绑定sage属性上

use school

go

create rule rule_sage as @value between 1 and 100

go

exec sp_bindrule rule_sage,'worker.[sage]';

实验2.4

(1)触发器T4,使插入sage值比表中最大sage值大

use school

go

create trigger T4 on worker

for insert

as

if (select sage from inserted)<=(select max(sage)fromworker)

begin

print 'The sage of couple must be more than the existed couples sage!' rollback transaction

end

(2)触发器T5,使更新sage值比表中最大sage值大

use school

go

create trigger T6 on worker

for update

as

if (select sage from inserted)<=(select sage from worker)

begin

print 'The sage of couple must be more than the sage of old couple!' rollback transaction

end

实验3.1

(1)创建帐号,密码,授予数据库访问权

exec sp_addlogin '王二','123','school'

go

use school

go

exec sp_grantdbaccess '王二'

(2)撤销帐号

use school

exec sp_revokedbaccess '王二';

exec sp_droplogin '王二'

实验3.2

(1)输入代码,并执行

exec sp_addlogin'李勇','123456';

use school

exec sp_grantdbaccess'李勇','happyrat';

grant select ,insert,update on students to public ;

grant all on students to happyrat;

revoke select on students to happyrat;

deny update on students to happyrat;

(2)

第一行代码,新建一个名为“李勇”的账户,密码“123456”,是school数据库的用户,“李勇”登录账户将映射为数据库用户名happyrat,是由第三行代码的存储过程决定的。

第四行代码,将students表上的select,insert,update三种权限授予全体用户。

第五行代码,将students表上的所有权限授予happyrat用户。

第六行代码,取消happyrat用户在students表上的select权限。

第七行代码,拒绝happyrat用户在students表上的update操作。

“李勇”登录数据库,可以对school数据库的students表进行select操作,不可以进行update操作。虽然happyrat用户的select权限被revoke,但是作为public用户的select权限仍在,所以可以进行select操作。而update操作被deny了,所以不可以进行update操作。

实验3.3

(1)创建试图grade2000,将年级为2000的学生元组放入试图

use school

go

create view grade2000 as

select * from STUDENTS where grade='2000';

(2)授予“王二”在视图grade2000的select权限

use school

go

grant select on grade2000 to 王二

实验4.1:

106页:

1、BEGIN TRAN IC

INSERT INTO COURSES VALUES('10052','AD','66')

2、BEGIN TRAN IC

UPDATE COURSES SET cname='AS'WHERE cid='10052'

3、BEGIN TRAN IC

DELETE FROM COURSES WHERE cid='10052'

4、

实验4.2

实验4.3

112页:

1、

SELECT*FROM CHOICES(TABLOCK HOLDLOCK)

2、

SELECT*FROM CHOICES(TABLOCKX)

3、

BEGIN TRAN

UPDATE COURSES SET HOUR=60 WHERE CID='10001'

INSERT TEACHERS VALUES('1234567890','MY','MY@https://www.wendangku.net/doc/5c2550565.html,',300100) SELECT TOP 10 *FROM TEACHERS(HOLDLOCK)

COMMIT TRAN

实验4.4

CREATE TABLE Check1(

ACCO_NUM INT NOT NULL,

ACCO_NAME VARCHAR(20)NOT NULL,

BALANCE MONEY NOT NULL

)

GO

CREATE TABLE SAVE1(

ACCO_NUM INT NOT NULL,

ACCO_NAME VARCHAR(20)NOT NULL,

BALANCE MONEY NOT NULL)

GO

INSERT Check1VALUES(1,'张三',500); INSERT Check1VALUES(2,'李四',300); INSERT SAVE1VALUES(1,'张三',100); INSERT SAVE1VALUES(2,'李四',300);

BEGIN TRAN

UPDATE CHECK1

SET BALANCE=BALANCE+100 WHERE ACCO_NUM=1 BEGIN TRAN

UPDATE SAVE1

SET BALANCE=BALANCE-200 WHERE ACCO_NUM=2 UPDATE SAVE1

SET BALANCE=BALANCE-100 WHERE ACCO_NUM=1

需要提交事务

CREATE TABLE Check1(

ACCO_NUM INT NOT NULL,

ACCO_NAME VARCHAR(20)NOT NULL,

BALANCE MONEY NOT NULL

)

GO

CREATE TABLE SAVE1(

ACCO_NUM INT NOT NULL,

ACCO_NAME VARCHAR(20)NOT NULL,

BALANCE MONEY NOT NULL)

GO

INSERT Check1VALUES(1,'张三',500);

INSERT Check1VALUES(2,'李四',300);

INSERT SAVE1VALUES(1,'张三',100);

INSERT SAVE1VALUES(2,'李四',300);

BEGIN TRAN

UPDATE CHECK1

SET BALANCE=BALANCE+100 WHERE ACCO_NUM=1

COMMIT TRAN

BEGIN TRAN

UPDATE SAVE1

SET BALANCE=BALANCE-200 WHERE ACCO_NUM=2

UPDATE SAVE1

SET BALANCE=BALANCE-100 WHERE ACCO_NUM=1

COMMIT TRAN

实验7.1

在STUDENTS表上为sname建立聚簇索引,为email建立非聚簇索引

use school

go

create index ix_email on students(email)

declare @name varchar(20)

select @name =name from sysindexes where id =object_id ('STUDENTS') exec('alter table students drop constrain '+@name)

go

alter table students with nocheck add

constraint[pk_sid] primary key nonclustered([sid])

go

create clustered index ix_sname on test(sname)

go

实验7.2

查询学生选课课程号

没有索引时的查询

use school

go

set statistics io on

go

set statistics time on

go

select cid from choice where sid ='846806971'

go

没有建立索引时,耗时8毫秒

create index ix_sid_cid on choices(sid)

go

建立索引后,操作结果,耗时接近0毫秒,效率提升显著,

实验7.3

(1)建立一个test_insert表

use school

go

create table test_insert(

id uniqueidentifier not null

rowguidcol default (newid())

primary key nonclustered,

name varchar(50)not null,

AGE int ,

rent int not null

)

(2)向表中添加50000条数据

declare @i int

set @i = 1

while @i<=50000

begin

insert into test_insert (name,AGE,rent) values(NEWID(),@i ,RAND ()*10000000)

set @i =@i+1

end

go

插入50000 条记录,耗时57秒

(3)删除记录,添加非聚簇索引

delete from test_insert

go

create index ix_name on test_insert(name)

go

(4)插入50000 条记录,耗时1分8秒

(5) 改为聚簇索引

delete from test_insert

go

drop index test_insert,ix_name

go

create clustered index ix_name on test_insert(name)

go

(6)插入50000 条记录,耗时1分16秒

分析:

没有索引时插入数据最快;有非聚簇索引时插入慢些,因为要修改索引;有聚簇索引时最慢,因为数据插入前要根据索引找到插入位置,有可能还要把其他数据移位,插入后还要更改索引。实验7.4

(1)建立非聚簇索引

set statistics time on

go

use school

create index ix_score on choices(score)

go

(2)表扫描更新数据

update CHOICES set score= score +1 where score<60

(3)用索引更新数据

update CHOICES set score =120where score =60

go

(4)删除索引

drop index choice.ix_score

go

(5)表扫描更新数据

update CHOICES set score =score+1where score <60

(6)点查询更新数据

update CHOICES set score =60 where score=120

go

分析:有非聚簇索引时表扫描更新变慢,这是因为要更新索引,占用时间,而点查询可以由索引找到记录,虽然也需要更新索引,但不需要表扫描,随意较快。

实验7.5

没有性能提升,score最多100个值,一个数据页大概200条记录,每页会有两个不同的score 值,无论什么查询,都会是表扫描,所以系统不会启用score上的非聚簇索引。cid,同理。

实验7.6

(1)建立索引

use school

if not exists (select name from sysindexes where name = 'ix_sid') create index ix_sid on choices(sid)

go

if not exists (select name from sysindexes where name = 'ix_tid') create index ix_tid on choices(tid)

go

(2)执行查询,查看结果

set showplan_all on

go

set statistics io on

go

set statistics time on

go

select * from CHOICES where sid between '880000000'and '889000000'and tid between '229850000'and '229900000'

go

分析:系统启用了ix_tid这个索引,而没用sid索引,因为880000000~889000000范围过大,等同于表扫描。

实验7.7

(1)在没有外键约束下,系统使用的是哈希

(2)有聚簇索引,执行得到,耗时0秒

删掉索引,执行得到,耗时129毫秒

创建非聚簇索引,执行得到,耗时42毫秒

分析:CHOICES表sid没有索引或有非聚簇索引时效率都较低,建立聚簇索引效率最高实验7.8

(1)按实验步骤实验,观察两种填充因子在查询中效率的不同。建立TEST2表,执行下列语句

use school

go

create table test2

(id uniqueidentifier not null

rowguidcol default (newid())

primary key nonclustered,

name varchar(50)not null,

age int ,

rent int not null

)

/*插入数据*/

declare @i int

set @i =1

while @i<=100000

begin

insert into test2 (name ,age ,rent )

values (NEWID (),@i ,RAND ()*10000000)

set @i =@i+1

end

go

/*填充因子100%*/

create index ix_rent

on test2(rent) with fillfactor=100

go

建立TEST3表,执行下列语句

use school

go

create table test3

(id uniqueidentifier not null

rowguidcol default (newid())

文丘里流量计实验实验报告

文丘里流量计实验实验报告 实验日期:2011.12.22 一、实验目的: 1、学会使用测压管与U 型压差计的测量原理; 2、掌握文丘里流量计测量流量的方法和原理; 3、掌握文丘里流量计测定流量系数的方法。 二、实验原理: 流体流径文丘里管时,根据连续性方程和伯努利方程 Q vA =(常数) H g v p z =++22 γ(常数) 得不计阻力作用时的文丘里管过水能力关系式(1、2断面) h K p z p z g d d d Q ?=?????????? ??+-???? ? ?+???? ??-=γγπ221141222214 1 由于阻力的存在,实际通过的流量Q '恒小于Q 。引入一无量纲系数Q Q '=μ(μ称为流量系数),对计算所得的流量值进行修正。 h K Q Q ?=='μμ h K Q ?' =μ 在实验中,测得流量Q '和测压管水头差h ?,即可求得流量系数μ,μ一般在0.92~0.99之间。 上式中 K —仪器常数 g d d d K 214 141222???? ??-=π h ?—两断面测压管水头差 ??? ? ??+-???? ??+=?γγ2211p z p z h h ?用气—水多管压差计或电测仪测得,气—水多管压差计测量原理如下图所示。

1h ? 2h ? H 3 1H 2H 1z 2z 气—水多管压差计原理图 根据流体静力学方程 γγ22231311 p H h H h H H p = +?-+?--- 得 221121H h h H p p -?+?++=γγ 则 )()(222211212211γγγγp z H h h H p z p z p z +--?+?+++=??? ? ??+-???? ?? + 212211)()(h h H z H z ?+?++-+= 由图可知 )()(4321h h h h h -+-=? 式中,1h 、2h 、3h 、4h 分别为各测压管的液面读数。 三、实验数据记录及整理计算(附表) 文丘里流量计实验装置台号:2 d1=1.4cm d2=0.7cm 水温t=13.1℃ v=0.01226cm 2/s 水箱液面标尺值▽0=38cm 管轴线高程标尺值▽=35.7cm 实验数据记录表见附表 四、成果分析及小结: 经计算 K=17.60cm 2.5/s u=1.064 由实验计算结果看各组数据的相差较大,可以判断实验的精密度不高,实验 与理论值有偏差。误差来源主要有实验测量值的不准确,人为造成的主管因素较大。 五、问题讨论: 为什么计算流量Q 理论与实际流量Q 实际不相等? 答:因为实际流体在流动过程中受到阻力作用、有能量损失(或水头损失),而计算流量是假设流体没有阻力时计算得到的,所以计算流量恒大于实际流量。

sql server实验报告

1.查询员工的姓名,职务和薪水 select employeeName 姓名, headShip 职务, salary 薪水 from Employee

2.查询名字中含有“有限”的客户名称和所在地 select customerName 客户名称,address所在地from Customer where customerName like'%有限%'

3.查询出姓“张”并且姓名最后一个字为梅的员工 select* from employee where employeeName like'张_梅'

4.查询住址中含有上海或者南昌的女员工,并显示其姓名,所属部门,职务,住址,出生日期和性别,如果出生日期为空,则显示为不详,否则按格式‘yyyy-mm-dd’显示,性别用男和女显示 select employeeName 姓名, department 部门, headship 职务,address住址, isnull(convert(char(10), birthday, 120),'不详')出生日期, case sex when'M'then'男' when'F'then'女' end性别 from employee where address like'%上海%'or address like'%南昌%'and sex ='F'

5.查询出职务为职员或职务为科长的女员工的信息 select* from Employee where sex ='F'and headShip in('职员','科长')

6.选取编号不在c20050001-c20050004之间的客户编号,客户名称,客户地址 select customerNo 客户编号, customerName 客户名称, address客户地址 from customer where customerNo not between'C20050001'and 'C20050004'

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

SQL数据库实验报告 (1)

资源与环境科学学院实验报告 一、上机实习名称:SQL Server的安装及数据库的建立 二、实验目的: 1、通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。 2、熟悉对DBMS的操作 3、熟悉如何使用SSMS和SQL建立数据库和表,并加深对于完整性的理解。 三、实验内容: 1、根据安装文件的说明安装数据库管理系统。 2、学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。 3、掌握管理工具的使用 (1)SQL Server Management Studio的使用 ?连接服务器的方法 ?查询分析器的使用 (2)配置管理器的使用 4、了解数据库系统的逻辑组件: 它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。今后将学习如何操作这些数据库对象。 5.在SSMS中创建数据库和表 四、实验步骤 1. SQL Server 2008的体系结构和特点介绍 SQL Server 是一个关系数据库管理系统。由微软公司2008年第三季度正式发布, SQL Server 2008是一个重大的产品版本,在安全性、可用性、易管理性、可扩展性、商业智能等方面有了更多的改进和提高,对企业的数据存储和应用需求提供了更强大的支持和便利,使得它成为迄今为止最强大和最全面的SQL Server版本。 SQL Server 2008 版本体系:根据不同的用户类型和使用需求,微软公司推出了5种不同的SQL Server版本,包括企业版(Enterprise)、标准版(Standard)、工作组版(Workgroup)、学习版(Express)和移动版(Compact)

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表添加数据

SQL-Server数据库上机实验报告

SQL-Server数据库上机实验报告

《数据库系统原理》上机实验报告 学号:1120131743 姓名:谈兆年 班级:07111301

一、实验目的与要求: ●熟练使用SQL语句 ●掌握关系模型上的完整性约束机制 二、实验内容 1:利用SQL语句创建Employee数据库 CREATE DATABASE Employee; 结果: 2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary及部门表dept。 做法:按表1、表2、表3中的字段说明创建 表1 person表结构 字段名数据 类型 字段 长度 允许空 否 字段说明 P_no Char 6 Not Null 工号,主键P_na Varch10 Not 姓名

me ar Null Sex Char 2 Not Null 性别 Birth date Dateti me Null 出生日期 Prof Varch ar 10 Null 职称 Dept no Char 4 Not Null 部门代码,外键 (参照dept表)表2 salary表结构 字段名数据 类型 字段 长度 允许空 否 字段说明 P_no Char 6 Not Null 工号,主键,外键(参照person表) Base Dec 5 Null 基本工资Bonu s Dec 5 Null 奖金,要求>50 Fact Dec 5 Null 实发工资=基本工 资+奖金 Mont h Int 2 Not Null 月份

表3 dept表结构 字段名数据 类型 字段 长度 允许空 否 字段说明 Dept no Char 4 Not Null 部门代码,主键, Dna me Varch ar 10 Not Null 部门名称 程序为: CREATE TABLE dept( deptno CHAR(4) PRIMARY KEY NOT NULL, dname V ARCHAR(10) NOT NULL) CREATE TABLE Person( P_no CHAR(6) PRIMARY KEY Not Null, P_name V ARCHAR(10) Not Null, Sex CHAR(2) Not Null, Birthdate Datetime Null, Prof V ARCHAR(10) Null, Deptno CHAR(4) Not Null, FOREIGN KEY(Deptno) REFERENCES

数据库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标准的丰富支持,

水力学实验报告思考题答案(想你所要)..

实验二不可压缩流体恒定流能量方程(伯诺利方程)实验 成果分析及讨论 1.测压管水头线和总水头线的变化趋势有何不同?为什么? 测压管水头线(P-P)沿程可升可降,线坡J P可正可负。而总水头线(E-E)沿程只降不升,线坡J 恒为正,即J>0。这是因为水在流动过程中,依据一定边界条件,动能和势能可相互转换。测点5至测点7,管收缩,部分势能转换成动能,测压管水头线降低,Jp>0。测点7至测点9,管渐扩,部分动能又转换成势能,测压管水头线升高,J P<0。而据能量方程E1=E2+h w1-2, h w1-2为损失能量,是不可逆的,即恒有h w1-2>0,故E2恒小于E1,(E-E)线不可能回升。(E-E) 线下降的坡度越大,即J越大,表明单位流程上的水头损失越大,如图2.3的渐扩段和阀门等处,表明有较大的局部水头损失存在。 2.流量增加,测压管水头线有何变化?为什么? 有如下二个变化: (1)流量增加,测压管水头线(P-P)总降落趋势更显著。这是因为测压管水头 ,任一断面起始时的总水头E及管道过流断面面积A为定值时,Q增大, 就增大,则必减小。而且随流量的增加阻力损失亦增大,管道任一过水断面上的总水头E相应减 小,故的减小更加显著。 (2)测压管水头线(P-P)的起落变化更为显著。 因为对于两个不同直径的相应过水断面有 式中为两个断面之间的损失系数。管中水流为紊流时,接近于常数,又管道断面为定值,故Q增大,H亦增大,(P-P)线的起落变化就更为显著。 3.测点2、3和测点10、11的测压管读数分别说明了什么问题? 测点2、3位于均匀流断面(图2.2),测点高差0.7cm,H P=均为37.1cm(偶有毛细影响相差0.1mm), 表明均匀流同断面上,其动水压强按静水压强规律分布。测点10、11在弯管的急变流断面上,测压管水头差为7.3cm,表明急变流断面上离心惯性力对测压管水头影响很大。由于能量方程推导时的限制条件之一是“质量力只有重力”,而在急变流断面上其质量力,除重力外,尚有离心惯性力,故急变流断面不能选作能量方程的计算断面。在绘制总水头线时,测点10、11应舍弃。 4.试问避免喉管(测点7)处形成真空有哪几种技术措施?分析改变作用水头(如抬高或降低水箱的水位)对喉管压强的影响情况。 下述几点措施有利于避免喉管(测点7)处真空的形成: (1)减小流量,(2)增大喉管管径,(3)降低相应管线的安装高程,(4)改变水箱中的液位高度。

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日

实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.

数据库实验报告

数据库实验报告 集团文件版本号:(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登录账户,账户名为你的名字拼音,密码自定义。创建完成后,以该账户来进行登录。

流体力学实验 文丘里实验报告单

文丘里流量计实验 一、实验目的和要求 1.通过测定流量系数,掌握文丘里流量计量测管道流量的技能; 2.掌握气一水多管压差计量测压差的技能; 3.通过实验与量纲分析,了解应用量纲分析与实验结台研究水力学问题的途径,进而掌握文丘里流量计水力特征。 二、实验原理 根据能量方程式和连续性方程式,可得不计阻力作用时的文丘里管过水能力关系式 h K p Z p Z g d d d q V ?=+-+-= )]/()/[(21 )( 422114 2 12 1 γγπ ‘ (6-9) 1)/(/ 24 4 212 1 -= d d g d K π )()(2 21 1γ γ p Z p Z h + -+ =? 式中:h ?为两断面测压管水头差,m 。 由于阻力的存在,实际通过的流量V q 恒小于' V q 。今引入一无量纲系数’ V V q q =μ (μ称为流量系数),对计算所得的流量值进行修正。 即 h K q q V V ?=' =μμ (6-10) 另外由水静力学基本方程可得气—水多管压差计的h ?为 4321h h h h h -+-=? 三、实验装置 本实验的装置如图6-10 所示。 在文丘里流量计的两个测量断面上,分别有4个测压孔与相应的均压环连通,经均压环均压后的断面压强由气-水多管压差计9测量(亦可用电测仪量测)。

1.自循环供水器; 2.实验台 3.可控硅无级调速器 4.恒压水箱 5.有色水水管 6.稳水孔板 7.文丘里实验管段 8.测压计气阀 9.测压计10.滑尺11.多管压差计12.实验流量调节阀 图6—10文丘里流量计实验装置图 四、实验方法与步骤 1.测记各有关常数。 2.开电源开关,全关阀12,检核测管液面读数 4321h h h h -+-是否为0,不为0时,需查出原因并予以排除。 3.全开调节阀12检查各测管液面是否都处在滑尺读数范围内?否则,按下列步骤调节:拧开气阀8,将清水注入测管2、3,待2432≈=h h cm ,打开电源开关充水,待连通管无气泡,渐关阀12,并调开关3至5.2821≈=h h cm ,即速拧紧气阀8。 4.全开调节阀门,待水流稳定后,读取各潮压管的液面读数1h 、2h 、3h 、4h ,并用秒表、量筒测定流量。 5.逐次关小调节阀,改变流量7~9次,重复步骤4,注意调节阀门应缓慢。 6.把测量值记录在实验表格内,并进行有关计算。 7.如测管内液面波动时,应取时均值。 8.实验结束,需按步骤2校核压差计是否回零。 五、实验结果处理及分析 1.记录计算有关常数。 实验装置台号No____ =1d m , =2d m , 水温=t ℃, =ν m 2/s , 水箱液面标尺值=?0 cm , 管轴线高程标尺值=? cm 。 2 整理记录计算表6-9 6-10

数据库实验报告5

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'

(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;

数据库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的“年龄”属性列。

流体力学实验文丘里实验报告单

文丘里流量计实验 一、实验目的与要求 1.了解文丘里流量计的构造与原理,掌握用文丘里流量计量测管道流量的方法与应用 气一水压差计测压差的技术。掌握测定文丘里流量计的流量系数μ的方法。 2.通过测量与计算,掌握用方格纸绘制Q-Δh 与Re-μ曲线(分别取Δh 、μ为纵坐标 的方法) 3.比较体积法与文丘里流量计测流量的精度。 二、实验原理 根据能量方程式与连续性方程式,可得不计阻力作用时的文丘里流量计理论流量计算式: h K p Z p Z g d d d Q ?=+-+-= )]/()/[(21)(4'221142 12 1γγπ 1)/(/24 42121-= d d g d K π )()(2 21 1γ γp Z p Z h + -+ =? 式中:h ?为两断面测压管水头差,m 。d ?、d ?为喉部收缩前后管道的内径。 由于阻力的存在,实际通过的流量Q 恒小于'Q 。今引入流量系数’ Q =μ (μ称为流量系数),对计算所得的流量值进行修正。 即: h K Q Q ?=' =μμ 另外由水静力学基本方程可得气—水多管压差计的h ?为 4321h h h h h -+-=? 三、实验装置 本实验的装置如图所示。 在文丘里流量计的两个测量断面上,分别有4个测压孔与相应的均压环连通,经均压环均压后的断面压强由气-水多管压差计9测量(亦可用电测仪量测)。

1、自循环供水器; 2、实验台 3、可控硅无级调速器 4、恒压水箱 5、有色水水管 6、稳水孔板 7、文丘里实验管段8、测压计气阀9、测压计10、滑尺11、多管压差计12、实验流量调节阀 文丘里流量计实验装置图 四、实验步骤 1、打开无极调速器向恒压水箱中注水至满,全关流量调节阀12,检核测管液面读数 4321h h h h -+-就是否为0,不为0时,需查出原因并予以排除。 2、全开调节阀12检查各测管液面就是否都处在滑尺读数范围内。否则,按下列步骤调节:拧开气阀8,将清水注入测管2、3,待2432≈=h h cm,打开电源开关充水,待连通管无气泡,渐关阀12,并调开关3至5.2821≈=h h cm,即速拧紧气阀8。 3、全开调节阀门,待水流稳定后,读取各潮压管的液面读数1h 、2h 、3h 、4h ,并用秒表、量筒测定流量。 4、逐次关小调节阀,改变流量7~9次,重复步骤(4),注意调节阀门应缓慢。 5、把测量值记录在实验表格内,并进行有关计算。 6、如测管内液面波动时,应取时均值。 7、实验结束,需按步骤2校核压差计就是否回零。 五、实验结果处理及分析 1、记录计算有关常数。 =1d m, =2d m, 水温=t ℃, =ν m 2/s, 水箱液面标尺值=?0 cm, 管轴线高程标尺值=? cm 。 2、实验数据记录 记录表

数据库实验报告

实验一 SQL Server基本使用与数据定义一.实验目的 1.掌握“服务管理器”、“企业管理器”及“查询分析器”基本使用方法;2.熟悉数据库建模及E/R图的画法; 3.掌握SQL Server 中数据库、及数据表的建立与管理方法; 4.掌握数据的导入/导出及数据库备份/还原方法。 二.实验内容 一、SQL Server 基本使用 1.启动SQL SERVER。 2.注册服务器 3.企业管理器属性 4.查询分析器介绍 5.查看数据库及浏览表中记录 二、数据库的建立与管理 1.数据库建模 2.启动、并打开SQL Server 3.使用图形界面创建数据库和表 4.使用查询分析器创建表 5.数据库的备份与还原

实验二 SQL查询 一.实验目的: 1.掌握SQL语言中SELECT语句的多种查询方式。 2.掌握对表建立与删除索引的方法。 3.掌握聚焦函数的使用方法。 4.掌握集合查询方法。 二.实验内容: 1.建立与删除[索引]的方法。 在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。 CREATE INDEX 代理商No ON 代理商(代理商编号) CREATE INDEX 客户No ON 客户(客户编号) CREATEINDEX产品No ON产品(产品编号) CREATEINDEX订单No ON订单(订单编号) 2.单表查询, ①从产品表中查询现有产品的库存量。 SELECT COUNT(*) FROM产品 ②从客户表中查询“王五”的地址及代理商编号。 SELECT地址,代理商编号 FROM客户 WHERE姓名='王五' ③从代理商表中查询代理商“惠普”的提成金额。 SELECT提成金额 FROM代理商 WHERE姓名='惠普' ④从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。 SELECT产品编号,订购数量 FROM订货项目 WHERE订单编号='444' ⑤分别求代理商和客户的总数。 SELECT COUNT(*)代理商数 FROM代理商 SELECT COUNT(*)客户数 FROM客户 ⑥从订货项目表中,查询编号为0033的产品定货总数量。 SELECT COUNT(*)订货总数量 FROM订货项目 WHERE订单编号='0033' 3.多表查询 ①查询编号为300的客户通过的代理商的姓名和地址。 SELECT代理商.姓名,代理商.地址

数据库SQL语句实验报告

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

实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 3.创建课程关系表C : 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.创建学生课程数据库 create database Studend; create table S ( Sno CHAR(9)PRIMARY KEY, Sname CHAR(20)UNIQUE, Ssex CHAR(2), Sage smallint, Sdept char(20), );

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

文丘里流量计实验

文丘里流量计实验(新) 一、实验目的和要求、 1、掌握文丘里流量计的原理。 2、学习用比压计测压差和用体积法测流量的实验技能。 3、利用量测到的收缩前后两断面1-1和2-2的测管水头差h ?,根据理论公式计算管道 流量,并与实测流量进行比较,从而对理论流量进行修正,得到流量计的流量系数 μ,即对文丘里流量计作出率定。 一、实验装置 1. 仪器装置简图 12 4567 321 8 9101112 1234 图一 文丘里流量计实验装置图 1. 自循环供水器 2. 实验台 3. 可控硅无级调速器 4. 恒压水箱 5. 溢流板 6. 稳水孔板 7. 文丘里实验管段 8. 测压计气阀 9. 测压计 10. 滑尺 11. 多管压差计 12. 实验流量调节阀

[说明] 1. 在文丘里流量计7的两个测量断面上, 分别有4个测压孔与相应的均压环连通, 经均压环均压后的断面压强,由气—水多管压差计9测量, 也可用电测仪测量。 2. 功能 (1) 训练使用文丘里管测量管道流量和采用气—水多管压差计测量压差的技术; (2) 率定流量计的流量系数μ, 供分析μ与雷诺数Re的相关性; (3) 可供实验分析文氏流量计的局部真空度, 以分析研究文氏空化管产生的水力条件与构造条件及其他多项定性、定量实验。 3. 技术特性 (1) 由可控硅无级调速器控制供水流量的自循环台式装置实验仪; (2) 恒压供水箱、文丘里管及实验管道采用丘明有机玻璃精制而成。文丘里管测压断面上设有多个测压点和均压环; (3) 配有由有机玻璃测压管精制而成的气 水多管压差计, 扩充了测压计实验内容; (4) 为扩充现代量测技术, 配有压差电测仪, 测量精度为0.01; (5) 供电电源: 220V、50HZ; 耗电功率:100W; (6) 流量: 供水流量0~300ml/s, 实验管道过流量0~200ml/s; (7) 实验仪专用实验台: 长×宽=150cm×55cm 。 二、安装使用说明: 1. 安装仪器拆箱以后, 按图检查各个部件是否完好, 并按装置图所示安装实验仪, 各测点与测压计各测管一一对应,并用连通管联接, 调速器及电源插座可固定在实验台侧壁或图示位置, 调速器及电源插座位置必须高于供水器顶; 2. 通电试验加水前先接上220V交流市电, 顺时针方向打开调速器旋钮, 若水泵启动自如, 调速灵活, 即为正常。请注意, 调速器旋钮逆时针转至关机前的临界位置, 水泵转速最快, 即出水流量最大; 3. 加水 (1) 供水器内加水加水前,需先把供水器及水箱等擦干净, 水质要求为洁净软水, 经过滤净化更佳,若水的硬度过大, 最好采用蒸馏水。加水量以使水位刚接近自循环供水器与回水管接口为宜,并检查供水器是否漏水。 (2) 多管压差计内加水做实验之前需对多管压差计内加水, 先打开气阀8, 在测管2、3内注水至h2=h3 ≈ 24.5cm, 并检查测压计管1与管2、管3与管4之间是否连通, 再检查管2、3之间底部,若有气泡, 也需排除。 4. 排气开启水泵供水, 待水箱溢流后, 来回开关实验流量调节阀数次, 待

SQL数据库制作考务管理系统实验报告_0

SQL数据库制作考务管理系统实验 报告 今天小编为大家收集资料整理回来了一些关于实验报告的范文,希望能够为大家带来帮助,希望大家会喜欢。同时也希望给你们带来一些参考的作用,如果喜欢就请继续关注我们当热网的后续更新吧! 一、实验目的 1. 掌握sql server的基本用法 2. 熟悉掌握asp语言的应用 3. 掌握asp的页面结构和内置对象 4. 掌握asp与sql server数据库的连接和应用 5. 掌握asp 另外一个重要的语言——javascript,并熟悉它的应用

6.制作一个功能完善的考务管理系统 7.能够独立的完成系统策划,系统分析和程序的编写 8. 提高发现问题,解决问题的能力 二、实验内容 制作一个考务管理系统,用于从考生报名、产生准考证到录取考生和打印成绩单即对考生考试和录取全过程的考务管理,系统要实现的功能有:考生报名,按报名顺序产生报名号;产生准考证号和打印准考证;输入考生成绩和输入录取合格标准;根据合格标准录取上线考生;打印考生成绩单和录取通知书;设置系统用户和系统初始化。 三、实验环境 1、windows xp或windows XX; 2、安装microsoft sql server XX 个人版。 3、iis 及以上版本和浏览器及以上版本 4、macromedia dreamwezver8等相

关软件 四、实验步骤 首先:配置环境,安装sql server,macromedia dreamwezver8。 第二:对要做的系统进行构思、策划、布局。 第三:建立数据库kaoshi及数据表:学生信息表(student),用户表(yonghu),考生表(biaozhun)。 第四:建立连接数据库的文件,其代码如下所示: <% set conn=(““)

相关文档