当前位置:文档之家› 东北大学数据库实验报告

东北大学数据库实验报告

东北大学数据库实验报告
东北大学数据库实验报告

实验(一): 熟练掌握SQL语言

实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。具体包括:

1.了解SQL Server 环境。鼠标点击开始,进入“Microsoft SQL Server→

企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户

名和口令,进入SQL查询分析器。如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有

关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的

关系模式

2.在数据库中定义这些关系模式,并向基本表中插入如下数据:

CREATE table Students

(Sno char(10) primary key,

Sname char(20),

Sage int,

sdept char(20))

create table Courses

(Cno char(4),

Cname char(40),

Ccredit int,

Ctime int,

Cpno char(4),

primary key (cno),

Foreign key (Cpno) references Courses(Cno))

create table SC

(Sno char(10),

Cno char(4),

Grade int,

primary key(Sno,Cno),

foreign key(Sno) references Students(Sno),

foreign key(Cno) references Courses(Cno))

insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133902','陈二',22,'电子') insert into Students values ('20133903','陈三',23,'通信') insert into Students values ('20133904','陈四',20,'自动化') insert into Students values ('20133905','陈五',21,'软件') insert into Students values ('20133906','陈六',22,'数学') insert into Students values ('20133907','陈七',23,'物联网') insert into Students values ('20133908','陈八',20,'生物') insert into Students values ('20133909','陈九',21,'计算机') insert into Students values ('20133910','陈十',22,'机械')

insert into Courses values ('0001','C语言',4,60,null) insert into Courses values ('0002','C++语言',4,60,null) insert into Courses values ('0003','JAVA',4,60,null)

insert into Courses values ('0004','数据结构',4,60,null) insert into Courses values ('0005','高数',4,60,null)

insert into Courses values ('0006','离散数学',4,60,null) insert into Courses values ('0007','计算原理',4,60,'0005') insert into Courses values ('0008','算法设计',4,60,null) insert into Courses values ('0009','文本',4,60,null)

insert into Courses values ('0010','信息安全',4,60,'0009')

insert into SC values ('20133901','0001',2) insert into SC values ('20133902','0001',3) insert into SC values ('20133903','0001',4) insert into SC values ('20133904','0003',3) insert into SC values ('20133905','0001',2) insert into SC values ('20133906','0001',1) insert into SC values ('20133907','0001',2) insert into SC values ('20133908','0001',3) insert into SC values ('20133909','0001',4)

insert into SC values ('20133910','0002',3)

3.插入相应的数据,试着插入重复的元组,结果如何?

插入相同数据

insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机')

insert into Students values ('20133901','陈一',21,'计算机')

不能插入重复数据

4.在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和

用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

alter table Students add check(Sage>=14 and Sage<=35)

alter table Students add primary key(Sno)不能建立

试着插入重复元组,无法插入:

实验(二): 熟练掌握SQL语言

insert into Students values ('20133901','赵一',21,'计算机') insert into Students values ('95133902','赵二',18,'计算机') insert into Students values ('20133903','赵三',23,'通信') insert into Students values ('20133904','赵四',24,'数学') insert into Students values ('95133905','赵五',25,'软件') insert into Students values ('20133906','赵六',26,'数学') insert into Students values ('20133907','赵七',27,'物联网') insert into Students values ('95133908','赵八',28,'数学') insert into Students values ('20133909','老九',19,'计算机') insert into Students values ('95133910','老十',17,'计算机') insert into Students values ('95133941','老一',17,'物联网') insert into Students values ('95133943','老二',15,'物联网')

insert into Courses values ('0000','C1',4,60,null)

insert into Courses values ('0001','C语言',4,60,null)

insert into Courses values ('0002','C++',4,60,null)

insert into Courses values ('0003','JAVA',4,60,null)

insert into Courses values ('0004','数据结构',4,60,null) insert into Courses values ('0005','高数',4,60,null)

insert into Courses values ('0006','离散',4,60,null)

insert into Courses values ('0007','数据库',4,60,'0005') insert into Courses values ('0008','算法设计',4,60,null) insert into Courses values ('0009','文本智能处理',4,60,null) insert into Courses values ('0010','信息安全',4,60,'0009') insert into Courses values ('0011','C2',4,60,'null')

insert into SC values ('95133910','0000',70)

insert into SC values ('95133910','0001',1)

insert into SC values ('20133941','0001',2)

insert into SC values ('95133902','0001',3)

insert into SC values ('20133903','0001',4)

insert into SC values ('20133904','0003',3)

insert into SC values ('95133905','0001',2)

insert into SC values ('20133906','0001',1)

insert into SC values ('20133907','0001',2)

insert into SC values ('95133908','0001',82)

insert into SC values ('20133909','0000',90)

insert into SC values ('20133909','0002',3)

insert into SC values ('95133901','0011',3)

insert into SC values ('95133901','0002',3)

insert into SC values ('95133903','0000',3)

insert into SC values ('95133903','0001',3)

insert into SC values ('95133903','0002',3)

insert into SC values ('95133903','0003',3)

insert into SC values ('95133903','0004',3)

insert into SC values ('95133903','0005',3)

insert into SC values ('95133843','0006',3)

insert into SC values ('95133903','0007',3)

insert into SC values ('95133903','0008',3)

insert into SC values ('95133903','0009',3)

insert into SC values ('95133903','0010',3)

insert into SC values ('95133903','0011',3)

用SQL完成下列查询

1.求选修了课程的学生的学号,要求:

(1) 不使用distinct语句,消除重复元组,写出其SQL语句

Select Sno from SC

(2) 使用distinct语句,消除重复元组,写出其SQL语句select distinct Sno from SC

(3) 如果该查询写成:

select Students.Sno from Students, SC where Students.Sno=SC.Sno 请问该查询结果和上面哪个结果是相同的?

和1相同

2.求开设的课程号、课程名、学时和学分,要求对查询结果的列重新命名。select Cno MyCno ,Cname MyCname,Ctime MyCtime,CCredit MyCredict from Courses

3.求计算机系和数学系的学生学号、姓名和年龄。

select Sno,Sname,Sage from Students where Sdept='计算机' or Sdept ='数学'

4.求不是数学系、计算机系的学生的情况,要求select后写*代替列出所有

的列名。

select * from Students where Students.Sdept!='数学' and

Students.Sdept!='计算机'

5.求全体学生的信息,要求按年龄升序排列。

select * from Students order by Sage asc

6.求计算机系年龄在18~20岁之间的学生姓名和年龄

select Sname,Sage from Students where Sage>=18 and Sage<=20 and Sdept='计算机'

select * from Students where Sname like '老%' and Sdept='计算机'

select Students.Sno,Students.Sname,SC.Grade from

Students,SC,Courses where SC.Sno=Students.Sno and https://www.doczj.com/doc/d015063827.html,o=https://www.doczj.com/doc/d015063827.html,o and https://www.doczj.com/doc/d015063827.html,ame='C1'

9.求学号为95开头的学生的学号和所选修的课程的学分。

select Students.Sno,https://www.doczj.com/doc/d015063827.html,ame,https://www.doczj.com/doc/d015063827.html,redit from Students,SC,Courses where Students.Sno like'95%' and Students.Sno=SC.Sno and https://www.doczj.com/doc/d015063827.html,o=https://www.doczj.com/doc/d015063827.html,o

10.求选修C1课程且成绩为80分以上的学生的学号、姓名和成绩。

select Students.Sno,Students.Sname,SC.Grade from Students,SC,Courses where Students.Sno=SC.Sno and https://www.doczj.com/doc/d015063827.html,o=https://www.doczj.com/doc/d015063827.html,o

and https://www.doczj.com/doc/d015063827.html,ame='C1' and SC.Grade>80

11.求计算机系每个学生的姓名,选修的课程名和成绩。

select Students.Sname,https://www.doczj.com/doc/d015063827.html,ame,SC.Grade from Students,SC,Courses where Students.Sdept='计算机' and Students.Sno=SC.Sno and https://www.doczj.com/doc/d015063827.html,o=https://www.doczj.com/doc/d015063827.html,o

12.求每个学生的学号及平均成绩。

select Sno,AVG(Grade) AvgGrade from SC group by Sno

13.求男学生每一年龄组中超过1人的年龄组及人数。

select Sage,Count(Sno) countSno from Students group by Sage having

Count(Sno)>1

14.求每一门课程的间接先行课号。

select https://www.doczj.com/doc/d015063827.html,o,C2.Cpno from Courses C1,Courses C2 where C1.Cpno=https://www.doczj.com/doc/d015063827.html,o

15.求选修了全部课程的学生的学号。

select Sno from Students where not exists (select * from Courses where not exists(select * from SC where Sno=Students.Sno and Cno=https://www.doczj.com/doc/d015063827.html,o));

数据库实验报告

合肥工业大学实验报告一 课程名称:数据库系统原理及应用学号: 20095382 姓名:魏泽民 专业班级:电子商务09-1班 指导教师:马华伟 二零一一年十月

一、实验目的: (1)熟练掌握数据更新语句,灵活地操作插入数据、修改数据和删除数据; (2)熟练掌握关系数据库中的完整性概念的应用; (3)了解数据录入的方法和过程。 (4)掌握单表查询的基本方法; (5)掌握连接查询的基本方法; (6)熟练掌握以下练习,并进行以下各类查询: ①选择表中的若干列、查询全部列、查询经过计算的值; ②选择表中的若干元组,即消除取值重复的行与查询满足指定条件的元组(包 括:比较大小、确定范围、确定集合、字符匹配、涉及空值和多种条件查询); ③对查询结果排序; ④使用集函数; ⑤对查询结果分组 (7)熟练掌握以下练习,并进行下列各类连接查询: ①等值与非等值连接查询; ②自身连接; ③外连接; ④复合条件连接; (8)掌握嵌套查询的基本方法; (9)掌握集合查询的基本方法; (10)熟练掌握查询视图操作 (11)熟练掌握更新视图操作 (12)熟练关系的完整性概念,领会视图的用途 (13)练习以下各类查询: ①带有IN谓词的子查询; ②带有比较运算符的子查询; ③带有ANY或ALL谓词的子查询; ④带有EXISTS谓词的子查询; ⑤视图查询与更新操作; 二、实验要求: (1)为了便于程序正确性测试,需要对自己建立起来的数据表录入一些模拟数据(模拟数据是指符合数据格式要求的假数据),然后按照教材中结构化查询语言SQL章节例题和习题自己组织SQL语句:

(2)设计的SQL程序应该涵盖数据更新操作的全部内容不,包括插入、修改、删除; (3)综合运用SQL语句实现数据插入、修改、删除等操作的综合运用能力。 (4)按照SQL语言编程要求,实现各类查询和检索操作; (5)利用后台的SQL平台环境,编程验证数据库的控制保护功能。 (6)将查询视图命令等价改写为对数据表的查询操作命令,利用SQL编程设计完成并进行效率分析。 三、实验内容: (1)根据以下给定的数据表信息分别对student, course, score, teacher, teching 表进行数据插入和修改,以完成给定的数据录入,同时要求输入班级同学名录模拟客观真实情况,给student、score表添加30条以上记录,以便以后查询应用方便。 Student表:

分布式计算环境实验报告

分布式计算环境实验报告 实验名称:在虚拟机下安装Linux系统和 Hadoop 专业班级:网络1101 学生学号:3110610007 学生姓名:平淑容

目录 实验目的..............................................................................P 实验仪器...............................................................................P 实验内容和步骤...................................................................P 安装过程的问题以及解决方法............................................P 代码运行以及实验结果.......................................................P 运行过程中的问题................................................................P 实验总结................................................................................P

一、实验目的 在虚拟机上安装CentOS系统并在Linux系统上安装Hadoop单机模式并且执行一个Java程序。 二、实验仪器 硬件:虚拟机CentOS 软件:Windows 7操作系统 三、实验内容及步骤 实验内容 一、安装虚拟机 二、安装Linux操作系统 三、设置静态ip 四、修改主机名 四、绑定ip和主机 五、关闭防护墙 六、关闭防火墙的自动运行 七、设置ssh 八、安装JDK 九、安装Hadoop 十、在单机上运行Hadoop 十一、Hadoop执行Java程序 实验步骤: 一、安装虚拟机 此处安装的虚拟机是VMware Workstation版本,直接从压缩包里面解压安装即可,此处不做过多介绍。 二、安装Linux系统 此处安装的Linux系统使用的是CentOS版本,直接从压缩包里面解压,然后使用VMware Workstation打开,打开之后选择开机输入用户名和密码进入linux系统。 三、Hadoop的伪分布安装步骤 1.设置静态IP ①在centOS桌面的右上角选择图标,右击修改ip值,选择静 态ip,输入需要增加的ip值、默认网关。

[东北大学]18年6月考试《数据库技术及应用Ⅱ》考核作业

东北大学继续教育学院 数据库技术及应用II 试卷(作业考核线上) B 卷学习中心:院校学号:姓名 (共 7 页) 一、单选题(每小题2分,共10小题,20分) [ ] 1.网状数据库中记录与记录之间的联系是通过 A.指针 B.索引 C.公共属性 D.数据项 [ ] 2.在数据库的三级模式结构中,模式有 A.0个 B.1个 C.2个 D.任意多个 [ ] 3.关系数据库中,实现主码标识元组的作用是通过 A.实体完整性规则 B.参照完整性规则 C.用户自定义的完整性 D.属性的值域 [ ] 4.设计ER图,属于数据库设计中的 A.需求分析 B.逻辑设计 C.概念设计 D.物理设计· [ ] 5. 为了使索引键的值在基本表中唯一,在建立索引的语句中应使用保留字 A. UNIQUE B. COUNT C. DISTINCT D. UNION [ ] 6.在数据库的三级模式结构中,外模式可能有 A.1个 B.2个 C.0个 D.任意多个 [ ] 7. 在某个数据库中建立了表person(no,name,sex,birthday),其中No为表的主码,表中已有的记录如下图所示:

以下四个语句中能够正确执行的插入操作是 A. INSERT INTO person VALUES(6,′王中′,′男′,′1964/03/08′) B. INSERT INTO person (name,sex) VALUES(′王中′,′男′) C. INSERT INTO person VALUES(2,′男′,′王中′,′1964/03/08′) D. INSERT INTO person(no,sex) VALUES(2,′男′) [ ] 8.下面的说法不确切的是 A. 索引用来加速数据的访问速度和保证表的实体完整性的。 B. 索引有聚簇和非聚簇索引两种。 C. 聚簇索引使表的物理顺序与索引顺序一致,一个表只能有一个群聚索引。 D. 非聚簇索引与表的物理顺序无关,一个表应该建立多个非聚簇索引。 [ ] 9. 在并发操作中,加锁不能解决的问题是 A. 数据更新丢失 B. 事务故障 C. 读未提交数据 D. 不一致性检索 [ ] 10. 用来记录对数据库中数据进行的每一次更新操作的是 A. 数据字典 B. 后援副本 C. 日志文件 D. 数据库 二、填空题(每小题1分,共10小题,10分) 11.数据模型通常由数据结构、数据操作和()三部分组成。 12.数据操作描述了系统的()特性。 13. 对数据库的操作主要有数据检索和()两大类。 14.将关系模式R分解为3NF,一定可以满足既具有无损连接性,又保持()。15.行列子集视图是指,从单个()导出,只是去掉了其中的某些行和某些列。16.嵌入式SQL引入了()机制,用来协调两种不同的处理方式. 17.系统函数为三类:标量函数、聚合函数和()函数。 18.在SQL Server的建立索引的原则之一,在经常()的字段上最好建立索引。19.一级封锁协议是指任一事务在修改某数据之前,必须先对其加上()锁,直至事务结束才能释放之。 20.触发器能够对数据库中的相关表实现()更改。 三、简答题(每小题5分,共6小题,30分) 21.数据库的三级模式描述。

数据库实验报告

. . 《数据库原理与技术》实验报告 实验一、数据定义及更新语句练习 一、实验容 建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(《数据库系统概论》第二章习题5中的四个表),要现关系的三类完整性。 S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 二、完成情况

附上按照实验容编写的程序代码。(小四号字,宋体) 三、实验结果 1、插入一条记录 2、①将p表中的所有红色零件的重量增加5。 ②将spj表中所有供应商的QTY属性值减少10。用子查询。

3.利用Delete语句删除p表中的所有红色零件的记录。 附上各个步骤所用的实验用例与结果显示(小四号字,宋体) 四、问题与解决 (小四号字,宋体) 1 .实验中遇到的问题及解决过程 2 .实验中产生的错误及原因分析 首先写出执行语句不成功的时候系统报告的错误信息。然后分析错误原因,并给出解决办法。

实验二简单查询和连接查询 一、实验容 (一)完成下面的简单查询: ①查询所有“”的供应商明细; ②查询所有“红色”的14公斤以上的零件。 ③查询工程名称中含有“厂”字的工程明细。 (二)完成下面的连接查询: ①等值连接:求s表和j表的相同城市的等值连接。 ②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。 ③笛卡尔积:求s和p表的笛卡尔积。 ④左连接:求j表和spj表的左连接。 ⑤右连接:求spj表和j表的右连接。 二、完成情况 (一)完成下面的简单查询: ①查询所有“”的供应商明细; ②查询所有“红色”的14公斤以上的零件。

40875][东北大学]20年7月考试《数据结构Ⅱ》考核作业(答案)

东北大学继续教育学院 数据结构II 试卷(作业考核线上1) A 卷 学习中心:奥鹏远程教育沈阳学习中心(直属)[32]院校学号:C09024011930344 姓名何家强 (共 6 页) [ A]1.抽象数据类型的三个组成部分分别为 A.数据对象、数据关系和基本操作 B.数据元素、逻辑结构和存储结构 C.数据项、数据元素和数据类型 D.数据元素、数据结构和数据类型 [ B]2.要求相同逻辑结构的数据元素具有相同的特性,其含义为 A. 数据元素具有同一的特点 B. 不仅数据元素包含的数据项的个数相同,而且其对应数据项的类型要一致 C. 每个数据元素都一样 D. 仅需要数据元素包含的数据项的个数相同 [ D]3.下列各式中,按增长率由小至大的顺序正确排列的是 A.n,n!,2n ,n3/2 B.n3/2,2n,n logn,2100 C.2n,log n,n logn,n3/2 D.2100,logn, 2n, n n [B ]4. 在下列哪种情况下,线性表应当采用链表表示为宜 A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 [ C]5.设指针p指向双链表的某一结点,则双链表结构的对称性是 A. p->prior->next=p->next->next; B. p->prior->prior=p->next->prior; C. p->prior->next=p-> next->prior; D. p->next->next= p->prior->prior;

[D ]6. 已知指针p和q分别指向某带头结点的单链表中第一个结点和最后一个结点。假设指 针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为 A. s->next=q;p->next=s->next; B. s->next=p;q->next=s->next; C. p->next=s->next;s->next=q; D. q->next=s->next;s->next=p; [A ]7. 栈和队列的共同特点是 A.只允许在端点处插入和删除元素 B.都是先进后出 C.都是先进先出 D.没有共同点 [D ]8. 对于链队列,在进行插入运算时. A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D.头、尾指针可能都要修改 [B ]9.设有一个顺序栈的入栈序列是1、2、3,则3个元素都出栈的不同排列个数为 A.4 B.5 C. 6 D. 7 [D ]10.设一个栈的输入序列为A,B,C,D,则借助一个栈所得到的输出序列不可能是 A.A,B,C,D B.D,C,B,A C. A,C,D,B D. D,A,B,C [ C]11.表达式a*(b+c)-d的后缀表达式是 A.abcd*+- B.abc*+d- C.abc+*d- D.-+*abcd [B ]12.某二叉树的先序序列和后序序列正好相反,则该二叉树的特点一定是 A. 空或只有一个结点 B.高度等于其结点数 C. 任一结点无左孩子 D.任一结点无右孩子 [ B]13.下面的说法中正确的是 (1)任何一棵二叉树的叶子结点在种遍历中的相对次序不变。 (2)按二叉树定义,具有三个结点的二叉树共有6种。 A.(1),(2) B.(1) C.(2) D.(1),(2)都错 [ B]14.树有先序遍历和后序遍历,树可以转化为对应的二叉树。下面的 说法正确的是 A.树的后序遍历与其对应的二叉树的先序遍历相同 B.树的后序遍历与其对应的二叉树的中序遍历相同 C.树的先序序遍历与其对应的二叉树的中序遍历相同 D.以上都不对 [D ]15.下列说法正确的是 (1)二又树按某种方式线索化后,任一结点均有前趋和后继的线索 (2)二叉树的先序遍历序列中,任意一个结点均处于其子孙结点前 (3)二叉排序树中任一结点的值大于其左孩子的值,小于右孩子的值 A.(1)(2)(3) B.(1)(2) C.(1)(3) D.都不对 [D ]16. 二叉树的第k层的结点数最多为 A.2k-1 B.2K+1

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期: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.完成用户界面的设计,对重要数据进行加密。

数据库应用开发实验报告

学生实验报告 (理工类) 课程名称:数据库应用开发专业班级: 学生学号:学生姓名: 所属院部:国际软件学院指导教师: 2013 ——2014 学年第 2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。 实验项目名称: SQL Server概述及体系架构实验学时: 3 实验地点: B407 实验日期: 2014.4.3 实验成绩: 批改教师:罗扬批改时间: 一、实验目的和要求 1、熟悉Microsoft SQL Server 2005系统环境,包括发展历史、版本与组件及新特性; 2、了解客户/服务器、浏览器/服务器体系结构; 3、掌握系统数据库对象及构成、SQL Server 2005的常用管理工具; 4、熟悉SQL Server 2005 Management Studio平台及组件。

东北大学软件学院数据库系统概论期末复习题

这是数据库期末复习题1 1.用SQL的有关语句定义 1)学生关系Student,包括学号Sno、姓名SN、年龄SA; 2)课程关系Course,包括课程号Cno、课程名CN、任课教师CT; 3)学生选课关系,包括Sno、Cno和成绩G。 注意:说明主键码和外键码(如果有的话),并在键码属性上建立索引。(12分) 1.参考答案 1) CREATE TABLE Student( Sno INT PRIMARY KEY, SN CHAR(30), SA INT ); 2) CREATE TABEL Course( Cno INT PRIMARY KEY, CN CHAR(30), CT CHAR(30) ); 3) CREATE TABEL SC( Sno INT, Cno INT, G INT, PRIMAYR KEY(Sno,Cno), FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) ); 1.按题1的学生关系模式,用SQL的有关语句 1)授予赵华对学生关系Student的插入和修改权限; 2)插入任意3个学生的完整信息; 3)修改所有学生的年龄(加1)。(12分) 2.参考答案 1) GRANT INSERT, UPDATE, ON Student TO 赵华; 2) INSERT INTO Student (TABLE (01001,’赵华’,19),

(01002,’李芳’,18), (01003,’刘红’,20), ); 3)UPDATE Student SET SA=SA+1; 2.结合题1定义的学生选课数据库,用SQL语句查询计算机系学生数据库课的成绩,输出学生姓名和成绩,按成绩排序(降序),若成绩相同,再按 学号排序(升序)。(6分) 3.参考答案 SELECT SN,G FROM Student,Course,SC WHERE = AND = AND =’数据库’ ORDER BY G DESC,Sno; 4.已知关系R、S如下所示,求域演算表达式的结果。 R A B C S D E F a c 5 4 d 8 b d 3 5 a 1 m e 4 3 e 2 (4分) 4参考答案 4. R1 X Y Z a c 5 b d 3 m e 4 4 d 8 5.按嵌入式SQL的格式插入任意一个学生的学号、姓名、系别和年龄。(6分)5.参考答案 1)说明: EXEC SQL BEGIN DECLARE SECTION; int sno; char sname[30]; int sage; char SQLSTATE[6]; EXEC SQL END DECLARE SECTION; 赋值: sno:=01001; sname:=’赵华’; sage:=19; 4)插入: EXEC SQL INSERT INTO Student

数据结构实验-互联网域名查询实验报告

实验报告 实验课程:数据结构 实验项目:实验三互联网域名查询 专业:计算机科学与技术 班级: 姓名: 学号: 指导教师:

目录一、问题定义及需求分析 (1)问题描述 (2)实验任务 (3)需求分析 二、概要设计: (1)抽象数据类型定义 (2)主程序流程 (3) 模块关系 三、详细设计 (1)数据类型及存储结构 (2)模块设计 四、调试分析 (1)调试分析 (2)算法时空分析 (3)经验体会 五、使用说明 (1)程序使用说明 六、测试结果 (1)运行测试结果截图 七、附录 (1)源代码

一、问题定义及需求分析 (1)实验目的 互联网域名查询 互联网域名系统是一个典型的树形层次结构。从根节点往下的第一层是顶层域,如cn、com等,最底层(第四层)是叶子结点,如www等。因此,域名搜索可以看成是树的遍历问题。 (2)实验任务 设计搜索互联网域名的程序。 (3)需求分析: 1)采用树的孩子兄弟链表等存储结构。 2)创建树形结构。 3)通过深度优先遍历搜索。 4)通过层次优先遍历搜索。 二、概要设计: 采用孩子兄弟链表存储结构完成二叉树的创建; 主程序流程: 创建根节点域名输入域名拆分根据孩子兄弟链表表示的树进行插入调用层次优先遍历输出遍历结果调用深度优先遍历输出遍历结果结束程序 模块关系: 输入域名 创建孩子兄弟树 层次优先遍历输出结果 深度优先遍历输出结果 结束 三、详细设计 孩子兄弟链表结构: typedef struct CSNode{ ElemType data[10]; struct CSNode *firstchild, *nextsibling; }*CSTree;

分布式系统导论实验报告

分布式系统导论 实验报告 实验(3)名称面向连接的流模式Socket 实验(4)名称三层C/S结构 实验人学号 1007XXX姓名 XXX 实验日期 2013年5月20日 报告完成日期 2013年5月21日 成绩指导教师签字 年月日

目录: 一、实验3面向连接的流模式Socket (2) 二、实验4三层C/S结构 (4) 2.1 任务一:通过无连接数据报socket实现C/S应用 (4) 2.2任务二:通过面向连接的流模式socket实现C/S应用 (6) 三、实验心得 (8)

一、实验3面向连接的流模式Socket 1、实验目标:尝试通过面向流模式的socket实现通信。 2、实验原理: 2.1、socket通常也称作"套接字",用于描述IP地址和端口,是一个 通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。Socket和ServerSocket类库位于https://www.doczj.com/doc/d015063827.html,包中。 ServerSocket用于服务器端,Socket是建立网络连接时使用的。 在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。 2.2、面向连接的操作使用TCP协议.一个这个模式下的socket必须 在发送数据之前与目的地的socket取得一个连接.一旦连接建立了,sockets就可以使用一个流接口:打开-读-写-关闭.所有的发送的信息都会在另一端以同样的顺序被接收.面向连接的操作比无连接的操作效率更低,但是数据的安全性更高. 3、实验内容: 创建一个服务端的程序,以接受一个连接并用流模式socket接受一个消息。创建一个名为客户端程序。此程序可以请求一个连接,并使用流模式socket。 实验所用到的基本函数解释: 1)serverSocket(int port)指定的IP和端口创建一ServerSocket 对象 2)socket accept()服务端和客户端握手

东北大学数据库应用程序设计实践报告

课程编号:B080109004 数据库应用程序设计实践 报告 东北大学软件学院

1.问题定义 银行代收费系统给电力公司开发的一套缴费系统,方便用户通过网银支付电费。 主要的用例图: 图1 银行代收费系统用例图 根据用例图得出主要的业务需求: (1)抄表 系统管理员把抄表记录录入系统,抄表记录包括当前电表数、抄表日期、抄表人等信息,根据抄表记录,系统自动计算每个计费设备当月的应收电费。每个计费设备有唯一编号。 (2)查询 用户随时查询欠费金额。一个用户名下可能多个计费设备,查询欠费时,将所有计费设备欠费总和输出。需要考虑设备的余额问题。如果余额大于欠费,则欠费为0,更新余额,修改receivable中flag标志。 (3)缴费 在当月电费清单生成完毕后,用户可进行电费缴纳,缴纳金额可是任意金额。系统将缴费金额存入设备余额中,再次查询则欠费应该减少。 (4)冲正 用户在缴费过程中如果给其他用户缴费了,在当日0点前可以冲正,即把钱收回,放入余额,向payfee表中添加一个负数金额、相同银行流水号的记录。并且修改设备余额,此时查询欠费应该有改变。 (5)对帐 每个银行每日凌晨给电力公司的代缴费系统发送对账信息,代缴费系统记录对账结果,对账明细,对账异常信息进行存储。错误信息为100银行没有此记录。101企业没有此流水号.102银行企业金额不等。 2.数据库设计

(1)ER图设计: 自己设计的ER图: 经过老师修正统一的ER图: (2)建表语句 -- Create table create table Bank ( id number(4), name varchar2(20), code char(2) )

东北大学数据结构上机实验报告3

实验三树和图应用 一、实验目的 光纤管道铺设施工问题 问题描述 设计校园内有N个教学楼及办公楼,要铺设校园光纤网,如何设计施工方案使得工程总的造价为最省。 二、实验要求 设计校园光纤网铺设的最小生成树模拟程序。 1)采用邻接表或邻接矩阵存储结构。 2)分别采用普利姆算法和克鲁斯卡尔算法实现。 输入形式 对应的教学楼、办公楼数目n,各边权值即每栋楼之间的距离 输出形式 最小生成树,即总路程最小的路 程序功能 设计校园光纤网铺设的最小生成树模拟程序 三、设计概要 流程图 抽象数据类型的定义 class prims { private:

int n; //节点的个数 int graph_edge[99][4]; //图的边 int g; //图中边的个数 int tree_edge[99][4]; //树的边 int t; //树的边的个数 int s; //源节点 int T1[50],t1; // 第一部分 int T2[50],t2; //第二部分 public: void input(); int findset(int); void algorithm(); void output(); }; 各程序模块之间的调用关系 四、详细设计 定义prims类 private中进行对图的创建 public: void input(); int findset(int); void algorithm();

void output(); 开始界面 实现prims类中图的初始化 分别输入图中的顶点个数、图的边及其权值 算法构造 t=0;//初始化边的个数为0 t1=1; T1[1]=1; //资源节点 t2=n-1; int i; for(i=1;i<=n-1;i++) T2[i]=i+1; cout<<"\n\n*****运算开始*****\n\n\n"; while(g!=0 && t!=n-1) { int min=99; int p; int u,v,w; for(i=1;i<=g;i++) { if(findset(graph_edge[i][1])!=findset(graph_edge[i][2])) //如果u和v在不同的部分{ if(min>graph_edge[i][3]) { min=graph_edge[i][3]; u=graph_edge[i][1]; v=graph_edge[i][2]; w=graph_edge[i][3]; p=i; } } } for(int l=p;l

东北大学数据库期末试卷样例

东北大学数据库期末试 卷样例 -CAL-FENGHAI.-(YICAI)-Company One1

2)R2 =σB > 2(R) 3)R3 = R S 4)R4 = Aɡsum(B)

4) Create a view BusyFaculty that records the ids and names of faculties who teach more than 3 classes. 5) Find the names of all students that enroll in a class where students meet in room R128 (i.e., Class.room = R128) or a class in which five or more than five students enroll. 6) Find the names of all students who are enrolled in two classes that meet at the same time

E→F}holds on R. 1) Give all candidate keys of this relation, motivate. (3 points) 2) Indicate all extraneous attributes in F, motivate. (3 points) 3) Is this relation in 3NF?If it is not, decompose it into relations in 3NF. (6 points)

数据结构实验二-

实 验 报 告 一、实验目的 1) 加深对图的表示法和图的基本操作的理解,并可初步使用及操作; 2) 掌握用图对实际问题进行抽象的方法,可以解决基本的问题; 3) 掌握利用邻接表求解非负权值、单源最短路径的方法,即利用Dijkstra 算法求最短 路径,同时掌握邻接表的建立以及使用方法,能够解决相关的问题; 4) 学会使用STL 中的map 抽象实际问题,掌握map ,List,,priority_queue 等的应 用。 二、实验内容与实验步骤 (1) 实验内容: 使用图这种抽象的数据结构存储模拟的欧洲铁路路线图,通过Dijkstra 算法求出欧洲旅行最少花费的路线。该实验应用Dijkstra 算法求得任意两个城市之间的最少路费,并给出路费最少的路径的长度和所经过的城市名。 (2) 抽象数据类型及设计函数描述 1) 抽象数据类型 class City : 维护一个城市的信息,包括城市名name ,是否被访问过的标记visted ,从某个城市到达该城市所需的总费用total_fee 和总路径长度total_distance ,求得最短路径后路径中到达该城市的城市名from_city 。 class RailSystem : 用邻接表模拟欧洲铁路系统,该邻接表使用数据结构map 实现,map 的key-value 课程名称:数据结构 班级: 实验成绩: 实验名称:欧洲旅行 学号: 批阅教师签字: 实验编号:实验二 姓名: 实验日期:2013 年6 月 18 日 指导教师: 组号: 实验时间:

值对的数据类型分别为string和list<*Service>,对应出发城市名和该城市与它能 够到达的城市之间的Service链表。 class Service: 为铁路系统模拟了两个城市之间的直接路线,包括两个城市之间直接到达的费用 fee,两城市之间的直接距离distance。 部分设计函数描述 ●RailSystem(const string& filename) 构造函数,调用load_services(string const &filename)函数读取数据 ●load_services(string const &filename) 读取传入的文件中的数据并建立上述两个map以模拟欧洲铁路路线图 ●reset(void) 遍历cities图,初始化所有城市的信息:visted未访问,total_distance最大 值,total_fee费用最大值,from_city为空 ●~RailSystem(void) 析构函数,用delete将两个map中所有使用new操作符开辟的空间删除 ●void output_cheapest_route(const string& from, const string& to, ostream& out); 输出两城市间的最少费用的路径,调用calc_route(string from, string to)函 数计算最少费用 ●calc_route(string from, string to) 使用Dijkstra算法计算from和to两个城市间的最少费用的路径 (3)采用的存储结构 1)map > outgoing_services 用来保存由一个城市出发可以直接到达的城市名及这两个城市之间的路径信息。 2)list 以service为指针的list表,保存两城市间的路径。 3)map cities 用来保存所有城市信息,通过城市名查找该城市有关信息。 4)priority_queue, Cheapest> candidates 存储候选的遍历城市,City*是优先队列存储的对象类型,vector是该对象的向量集合,Cheapest是比较规则。 三、实验环境 操作系统:Windows 8 调试软件:Microsoft visual studio 2012 上机地点:综合楼311 机器台号:笔记本

数据库实验报告4

数据库-实验报告4 学号:11122604 姓名:陆亮 第4周(第四章:数据更新、视图、嵌入式SQL部分自学) 一、实验课: 1.建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓名、性别、手机、所选 课程和成绩。 2.在E表中插入记录,把每个学生没学过的课程都插入到E表中,使得每个学生都选修每 门课。 3.求年龄大于所有女同学年龄的男学生姓名和年龄。 4.在E表中修改08305001课程的平时成绩,若成绩小于等于75分时提高5%,若成绩大于 75分时提高4%。 5.删除没有开课的学院。//删除记录而不是表。删除表要用其他。 6.查询优、良、中、及格、不及格学生人数 二,代码: create view student_fail(xh,xm,xb,sjhm,kh,zpcj)as(select distinct S.xh,S.xm,S.xb,S.sjhm,E.kh,E.zpcj from S,E where S.xh=E.xh and E.zpcj<'60'); insert into E select distinct S.xh,O.xq,O.kh,O.gh ,null,null,null from S,O where not exists(select*from E where E.xh =S.xh and E.kh =O.kh ); select S.xm,S.csrq from S where S.csrq<(select min(csrq)from S group by S.xb having xb ='女') update E set pscj = pscj*1.04 where pscj>75; update E set pscj = pscj*1.05 where pscj<75; delete from D where yxh not in(select yxh from T ,O where T.gh = O.gh)

电商实验报告

《电子商务》实验报告一 开课实验室:电子商务实验室 学院班级学号姓名成绩 课程名称电子商务 实验项目 名称 网络检索工具的使用指导教师 一、实验目的 掌握利用网络检索工具检索商务信息的基本方法 二、实验内容 1、通过搜索引擎实现网络商务信息的采集。 2、通过图书馆专业数据库检索电子商务研究文献 三、实验步骤及要求 1、登录主要搜索引擎网站,如谷歌、百度,使用其高级检索工具检索: B2B、B2C、C2C、B2B2B、B2B2C网站的主要功能、类型、代表网站、发展现状、最新资讯。 2、登录校图书馆的专业期刊数据库,如:清华同方数据库、维普数据库、万方数据库使用检索工具检索下列资料:“我国农业电子商务的模式”“电子商务的盈利模式”。要求每个题目检索资料不少于十篇,并根据检索文献回答:(要求原创、每题不少于400字),在观点之后列出参考文献(至少10篇)。 (1)我国农业电子商务的模式有哪些? (2)目前电子商务又有哪些新的盈利模式? 3、登录并熟悉以下网站:(专科生不用作此题) 工业和信息化部网站 中国互联网信息中心 中国行业研究网 艾瑞市场咨询网 通过以上网站,查找我国电子商务发展相关的最新统计数据。 中国调查网 问道调查网 调查网 通过以上三个网络了解开展网上调查问卷的方法 四、注意事项: 1、利用搜索引擎检索商务信息时,选择恰当的关键词和检索组合,有助于得到较好的检索结果。 2、检索文献前,请先在专业数据库网站上下载阅读器。 3、格式要求: 字体:宋体小四 行间据:单倍 参考文献格式:1、作者“文章名”期刊名 ****年第几期 五、实验报告内容: 『一』答: 一、B2B网站

东北大学数据结构实验报告

. / 实验报告 课程名称:数据结构班级:实验成绩: 实验名称:顺序表和链表的应用学号:批阅教师签字: 实验编号:实验一:实验日期:2017-11-25 指导教师:组号:实验时间:18:30~22:30 一、实验目的 (1)掌握线性表的基本操作(插入、删除、查找)以及线性表合并等运算在顺序存储结构、链式存储结构上的实现。重点掌握链式存储结构实现的各种操作。 (2)掌握线性表的链式存储结构的应用。 二、实验内容与实验步骤 (1)实验内容: 实现约瑟夫环,约瑟夫环(Joseph)问题的一种描述是:编号为1、2、3……n的n个人按照顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按照顺时针的方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。设计一个程序求出出列顺序。 (2)抽象数据类型和设计的函数描述,说明解决设想。 首先定义一个链表,用其中的data项存储每个人的编号,用password项存储每个人所持有的密码,并且声明一个指针。之后使用CreatList_CL函数来创建一个循环链表,在其中的data和password中存入编号和密码,最后使最后一个节点的next指向L,使其能够形成循环队列。定义了函数Display来显示链表当中的内容,以确定存储的数据没有错误。定义了函数Delete_L来实现约瑟夫环中依次删除的功能,依次比较,如果某个人所持的密码和m值相等,则删除这个结点,并且输出此时该结点的编号和密码,实现出列的功能。 (3)简短明确地写出实验所采用的存储结构,并加以说明。 该实验我主要采用的是线性表的链式存储结构,首先定义了链表的结构,其中包括data 项和password项,分别存储每个人的编号和所持密码,还声明了指向下一个结点的指针,该指针可以连接各个结点,并且将最后一个结点的指针指向第一个结点使之成为一个循环链表。 三、实验环境 操作系统:Windows 7 调试软件名称:Visio Studio2017 上机地点:信息楼B405 四、实验过程与分析 (1)主要的函数或操作内部的主要算法,分析这个算法的时、空复杂度,并说明设计的巧妙之处。

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

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

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)按要求完成实验报告。

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