数据库 1Word格式文档下载.docx

上传人:b****6 文档编号:17973895 上传时间:2022-12-12 格式:DOCX 页数:19 大小:20.82KB
下载 相关 举报
数据库 1Word格式文档下载.docx_第1页
第1页 / 共19页
数据库 1Word格式文档下载.docx_第2页
第2页 / 共19页
数据库 1Word格式文档下载.docx_第3页
第3页 / 共19页
数据库 1Word格式文档下载.docx_第4页
第4页 / 共19页
数据库 1Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数据库 1Word格式文档下载.docx

《数据库 1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库 1Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

数据库 1Word格式文档下载.docx

snochar

(2),

namechar(10)unique,

sexchar

(2),

ageint,

primarykey(class,sno)

--

(2)插入一个记录班号李明,男性,岁;

insert

intos(CLASS,SNO,NAME,SEX,AGE)

values('

95031'

'

25'

李明'

男'

21);

--再插入一个记录班号王丽,女性,岁;

95101'

10'

王丽'

女'

20);

--(3)插入班座号为,名为郑和的学生记录;

intos(CLASS,SNO,NAME)

30'

郑和'

);

--(4)将年龄的数据类型改为smallint;

altertablesaltercolumnagesmallint;

--(5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime);

altertablesaddcomedatedatetime;

--(6)对表S,按年龄降序建索引(索引名为inxage);

createuniqueindexinxageons(age);

--(7)删除S表的inxage索引;

dropindexs.inxage;

--(8)删除S表;

droptables;

--(9)按照《数据库系统概论》(第四版)P56页的学生-课程数据库创建STUDENT、COURSE和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。

并输入相关数据。

createtablestudent

snochar(9)primarykey,

snamechar(20)unique,

ssexchar

(2),

sagesmallint,

sdeptchar(20)

createtablecourse

cnochar(4)primarykey,

cnamechar(40),

cpnochar(4),

ccreditsmallint,

foreignkey(cpno)referencescourse(cno)

createtablesc

snochar(9),

cnochar(4),

gradesmallint,

primarykey(sno,cno),

foreignkey(sno)referencesstudent(sno),

foreignkey(cno)referencescourse(cno)

insert

intostudent(sno,sname,ssex,sage,sdept)

95001'

李勇'

20,'

CS'

95002'

刘晨'

19,'

IS'

95003'

王敏'

18,'

MA'

95004'

张立'

intocourse(cno,cname,cpno,ccredit)

2'

数学'

NULL,2);

6'

数据处理'

4'

操作系统'

3);

7'

PASCAL语言'

4);

5'

数据结构'

1'

数据库'

3'

信息系统'

intosc(sno,cno,grade)

92);

85);

88);

90);

80);

 

--按照《数据库系统概论》(第四版)P74页习题的SPJ数据库。

创建SPJ数据库,

createdatabasespj

(name=SPJData,

\db\SPJDat.maf'

name=SPJLog,

\db\SPJLog.ldf'

--并在其中创建S、P、J和SPJ四张表。

--每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性

usespj

createtables

statusint,

citychar(20)

createtablep

pnochar(9)primarykey,

pnamechar(20),

colorchar(20),

weightint

createtablej

jnochar(9)primarykey,

jnamechar(20)unique,

createtablespj

pnochar(9),

jnochar(9),

qtyint,

primarykey(sno,pno,jno),

foreignkey(sno)referencess(sno),

foreignkey(pno)referencesp(pno),

foreignkey(jno)referencesj(jno)

intos(sno,sname,status,city)

S1'

精益'

天津'

S2'

盛锡'

10,'

北京'

S3'

东方红'

30,'

S4'

丰泰盛'

S5'

为民'

上海'

intop(pno,pname,color,weight)

P1'

螺母'

红'

12);

P2'

螺栓'

绿'

17);

P3'

螺丝刀'

蓝'

14);

P4'

P5'

凸轮'

40);

P6'

齿轮'

30);

intoj(jno,jname,city)

J1'

三建'

J2'

一汽'

长春'

J3'

弹簧厂'

J4'

造船厂'

J5'

机车厂'

唐山'

J6'

无线电厂'

常州'

J7'

半导体厂'

南京'

intospj(sno,pno,jno,qty)

s1'

p1'

j1'

200);

j3'

100);

j4'

700);

p2'

j2'

s2'

p3'

400);

500);

j5'

p5'

s3'

s4'

p6'

300);

s5'

实验二

--

(一)按照《数据库系统概论》P82页中的学生课程数据库及数据实现以下查询:

--1.查询所有课程的课号,课程名。

selectcno课号,cname课程名

fromcourse;

--2.查询计算机系年龄不到岁的所有男生的姓名和出生年份。

selectsname姓名,(2011-sage)出生年份

fromstudent

wheresdept='

cs'

andsage<

21andssex='

;

--3.查询已被学生所选课程的课程号。

selectdistinctcno课程号

fromsc;

--4.查询所有有成绩的学生学号和课程号,

--并为各列分别取相应的中文别名。

selectsno学号,cno课程号

fromsc

wheregradeisnotnull;

--

(二)按照《数据库系统概论》P75页中的SPJ数据库及数据实现以下查询:

--1.查询地点在‘北京’、‘上海’的供应商代码和供应商名字。

selectsno供应商代码,sname供应商名字

froms

wherecity='

orcity='

--2.查询供应商名中包含‘方’这个汉字的供应商信息。

select*

wheresnamelike'

%方%'

--3.查询零件名以‘刀’字结尾,包含三个汉字的零件信息。

fromp

wherepnamelike'

__刀'

--4.查询使用了供应商S1所供应零件的工程项目数。

selectcount(*)工程项目数

fromspj

wheresno='

--5.查询各个供应商所供应的零件的总数,要求对查询结果降序显示。

selectsno供应商号,sum(qty)零件总数

groupbysno

orderbysum(qty)desc;

--6.查询供应了3个以上项目的供应商代码和供应的项目总数。

selectsno供应商代码,count(*)项目总数

havingcount(*)>

3;

--(三)按照《数据库系统概论》P82页中的学生课程数据库和P75页中的SPJ数据库完成以下查询

--

(1)查询使用红色零件的工程名称。

selectdistinctjname工程名称

fromspj,j,p

wherespj.jno=j.jnoandspj.pno=p.pnoandcolor='

--

(2)查询每个工程的信息及相应的供应信息(包括列出尚未被供应零件的那些工程)。

selectj.jno,jname,city,sno,pno,qty

fromjleftouterjoinspjon(j.jno=spj.jno);

--(3)查询供应工程J1红色零件的供应商号SNO,请用两种方法实现。

--方法一

selectsno供应商号

fromspj,p

wherejno='

andspj.pno=p.pnoandcolor='

--方法二

andpnoin(selectpnofrompwherecolor='

--(4)求供应工程J1零件的供应商的完整信息。

wheresnoin

(selectsno

fromspj

wherejno='

--(5)查询使用北京供应商供应零件的工程信息。

fromj

wherejnoin

(selectjno

fromspj,s

wherespj.sno=s.sno

ands.city='

--(6)查询选修号课程且成绩在85分以上的所有学生。

wherecno=3andgrade>

85;

--(7)查询先行课的学分为4的课程信息。

fromcoursefirst,coursesecond

wherefirst.cpno=o

andsecond.ccredit=4;

--(8)查询课程与其间接先行课的名称。

selectame,ame

wherefirst.cpno=o

--(9)查询其他系中比计算机科学系所有学生年龄都小

--的学生完整信息,用两种方法实现。

--方法一:

wheresage<

all

(selectsage

fromstudent

wheresdept='

andsdept<

>

'

--方法二:

(selectmin(sage)

--(10)查询其他系中比计算机科学系某一学生年龄大

--的学生姓名与年龄,用两种方法实现。

selectsname,sage

wheresage>

any(selectsage

--(11)查询至少用了供应商S1所供应的所有零件

--的工程号JNO,用带EXISTS谓词的子查询实现。

selectjno

fromspjspjx

wherenotexists

(select*

fromspjspjy

wherespjy.sno='

and

notexists

fromspjspjz

wherespjz.sno=spjx.snoand

spjz.pno=spjy.pno));

--(12)查询使用了全部零件的工程号JNO,

--用带EXISTS谓词的子查询实现。

fromspj

fromspj

groupbyjno

havingcount(*)<

6);

--查询所有使用了P3零件的工程号JNO,

--用带EXISTS谓词的子查询实现。

selectdistinctjno

whereexists

wherejno=j.jno

andpno='

实验三

--

(一)数据更新 

--插入一个学生:

张红,女,,信息系,岁

200215135'

张红'

--插入一个选课录:

,,成绩未定

intosc(sno,cno)

--将计算机系所有学生的年龄加岁

updatestudent

setsage=sage+1

--删除所有学生的选课记录

delete

200215130'

--删除所有姓张的同学的信息

wheresname='

张%'

--请自行设计案例对学生-课程数据库的数据更新,并观察是否有违反数据的完整性

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1