上海大学数据库原理1实验报告

合集下载

数据库原理与应用-实验1

数据库原理与应用-实验1

武汉工程大学计算机科学与工程学院《数据库原理与应用》实验报告在SQL Server Management Studio中选择数据库JXGL,在JXGL上单击鼠标右键,新建表。

5.使用T-SQL语句创建表STUDENT1、COURSE1、和SC1表。

结构同STUDENT、COURSE、和SC表。

6.分别使用SQL Server Management Studio和T-SQL语句,向数据库JXGL的3个表student、course和sc中插入多行数据记录,然后修改和删除一些记录。

注意完整性约束的作用。

7.为所创建的JXGL数据库备份,并恢复。

8.在SQL Server和excel之间导入和导出数据。

实验总结该实验为数据库入门学者基础性实验,基于对数据库软件SSMS熟悉和表的创建、关系构建、语句、语法的实验,第一部分利用SSMS界面直接进行创建学生-课程数据库JXGL。

第二部分为利用T-SQL语句进行操作。

一.可视化界面操作创建数据库.1.创建数据库并命名,定义初始文件大小和日志文件大小,如图:2.创建表,右键JXGL数据库下的表进行创建,如图为已经创建完成的三张表dbo.COURSE、dbo.SC、dbo.STUDENT.如图:3.定义表的列名、数据类型、大小和完整性约束条件的创建,如图:4.对三张表进行关系的建立,设置主属性,主键和外键的参照关系的建立,如图,关系FK_SC_STUDENT中外键指向主键(被参照对象)(Sno(SC)->Sno(STUDENT)),关系FK_SC_COURSE中外键指向主键(被参照对象)(Cno(SC)->Cno(COURSE)),关系FK_COURSE_COURSE中Cpno->Cno.5.视图和数据库关系图,右键JXGL数据库下的视图和数据库关系图进行生成,对关系图中的关系链接进行指明,至此,学生-课程数据库表的建立完成,如图:二.利用T-SQL语句建立学生-课程数据库1.删除创建的数据库。

数据库原理实践报告书(2篇)

数据库原理实践报告书(2篇)

第1篇一、引言随着信息技术的飞速发展,数据库技术在各行各业中扮演着越来越重要的角色。

为了更好地掌握数据库原理及其在实际应用中的运用,我们进行了数据库原理的实践学习。

本文将详细阐述我们的实践过程、遇到的问题及解决方案,并对实践结果进行总结。

二、实践目的1. 理解数据库的基本概念、原理和设计方法。

2. 掌握数据库的创建、查询、更新和删除等基本操作。

3. 学会使用SQL语言进行数据库编程。

4. 培养实际操作数据库的能力。

三、实践环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench四、实践内容1. 数据库设计(1)需求分析:以学校教务系统为例,分析学生、课程、教师、成绩等实体及其关系。

(2)概念设计:根据需求分析,绘制E-R图,确定实体、属性和关系。

(3)逻辑设计:将E-R图转换为关系模式,定义主键、外键等约束。

(4)物理设计:选择合适的存储引擎,优化索引,设置合适的存储参数。

2. 数据库创建与操作(1)创建数据库:使用SQL语句创建数据库,如:```sqlCREATE DATABASE school;```(2)创建表:根据逻辑设计,创建表结构,如:```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT,class_id INT,FOREIGN KEY (class_id) REFERENCES classes(id));```(3)插入数据:向表中插入数据,如:```sqlINSERT INTO students (name, age, class_id) VALUES ('张三', 20, 1); ```(4)查询数据:使用SELECT语句查询数据,如:```sqlSELECT FROM students WHERE age > 18;```(5)更新数据:使用UPDATE语句更新数据,如:```sqlUPDATE students SET age = 21 WHERE name = '张三';```(6)删除数据:使用DELETE语句删除数据,如:```sqlDELETE FROM students WHERE name = '张三';```3. 视图与存储过程(1)创建视图:根据查询需求,创建视图,如:```sqlCREATE VIEW student_info ASSELECT name, age, class_name FROM students JOIN classes ON students.class_id = classes.id;```(2)创建存储过程:编写存储过程实现复杂的业务逻辑,如:```sqlDELIMITER //CREATE PROCEDURE add_student(IN s_name VARCHAR(50), IN s_age INT, IN c_id INT)BEGININSERT INTO students (name, age, class_id) VALUES (s_name, s_age, c_id);END //DELIMITER ;```4. 索引优化(1)创建索引:根据查询需求,为表创建索引,如:```sqlCREATE INDEX idx_age ON students(age);```(2)查询优化:通过分析查询执行计划,优化查询语句,提高查询效率。

《数据库原理及应用》实验报告

《数据库原理及应用》实验报告

《数据库原理及应用》实验报告实验报告:《数据库原理及应用》一、实验目的通过本次实验,掌握数据库原理及应用的相关知识,并能够熟练运用数据库软件进行数据的存储、查询和管理。

二、实验内容1.数据库的概念和基本原理的学习2.数据库设计和规范化的理解和实践3.数据库的建立和配置4.数据的插入、查询和删除操作5.数据库的备份和恢复操作三、实验步骤及结果1.数据库的概念和基本原理的学习根据教材和相关资料,了解数据库的概念和基本原理,并能够用自己的语言进行简单的表述。

2.数据库设计和规范化的理解和实践根据所学知识,对给定的需求进行数据库设计和规范化的实践,包括实体、属性和关系的定义,并通过ER图进行可视化展示。

3.数据库的建立和配置使用数据库软件,如MySQL或Oracle,按照设计要求建立数据库并进行相应的配置。

4.数据的插入、查询和删除操作通过SQL语句,将设计好的数据插入到数据库中,并进行相关的查询和删除操作,验证数据的正确性和完整性。

5.数据库的备份和恢复操作学习数据库的备份和恢复操作方法,并进行实践,保证数据库的安全性和可靠性。

四、实验结果分析根据实验步骤进行数据库的建立、数据插入和查询操作,并比对预期结果,可以得出实验结果的正确性和可行性。

五、实验总结通过本次实验,我对数据库原理及应用有了更深入的了解和掌握,熟练运用相关数据库软件进行数据的存储、查询和管理。

同时,我也发现了在实际操作中可能出现的问题和解决方法,在数据库的设计和维护方面有了更深入的认识和思考。

六、实验心得本次实验让我对数据库有了更直观和深入的认识,通过实际操作和实践,我逐渐掌握了数据库的设计和管理方法,并学会了利用SQL语句进行数据的插入、查询和删除操作。

通过对数据库的备份和恢复操作的实践,我也认识到了数据库的安全性和可靠性的重要性。

总之,本次实验让我收获颇丰,通过实际操作和实践,我对数据库原理及应用有了更深入的了解和掌握,也提高了自己的实际操作能力和问题解决能力。

数据库原理及应用实验报告

数据库原理及应用实验报告

数据库原理及应用实验报告数据库原理及应用实验报告一、引言数据库是计算机科学中的重要概念,它是用于存储、管理和检索大量有组织数据的系统。

数据库的应用广泛,从个人电脑上的简单数据文件到大型企业级数据仓库,都离不开数据库的支持。

本实验报告将介绍数据库的原理和应用,并通过实际实验来验证其有效性。

二、数据库原理1. 数据库的定义和特点数据库是一个有组织的数据集合,它具有持久性、共享性、独立性和可变性等特点。

持久性指数据可以长期保存;共享性指多个用户可以同时访问和使用数据库;独立性指数据库的逻辑结构和物理结构相互独立;可变性指数据库可以随时更新和修改。

2. 数据库管理系统(DBMS)数据库管理系统是用于管理数据库的软件,它提供了数据定义、数据操纵、数据控制和数据查询等功能。

常见的DBMS有MySQL、Oracle和SQL Server等。

3. 数据库模型数据库模型是用于描述数据库的结构和组织方式的概念模型。

常见的数据库模型有层次模型、网络模型和关系模型等。

其中,关系模型是最为常用的模型,它使用表格来表示数据,表格中的每一行表示一个记录,每一列表示一个属性。

三、数据库应用实验为了验证数据库的应用效果,我们进行了以下实验。

1. 数据库设计首先,我们根据实际需求设计了一个简单的学生信息管理系统。

该系统包含了学生的基本信息、课程信息和成绩信息。

2. 数据库创建在MySQL数据库中,我们创建了一个名为"student"的数据库,并在其中创建了三张表格,分别是"student_info"、"course_info"和"score_info"。

3. 数据库插入通过SQL语句,我们向数据库中插入了一些样本数据,包括学生的姓名、学号、课程名称和成绩等信息。

4. 数据库查询为了验证数据库的查询功能,我们编写了一些SQL查询语句,如查询某个学生的所有成绩、查询某门课程的平均成绩等。

数据库原理及应用实验报告 1

数据库原理及应用实验报告 1

实验成绩《数据库系统原理及应用》实验报告一专业班级: 计算机科学与技术学号: 3姓名: 范晓曈指导教师: 苏小玲2013年10 月10 日实验一名称:数据库设计一、实验内容及要求1.构建学生选课数据库画出E-R图2.写出每张表的关系模式关系模式满足第三范式二、实验目的熟练掌握E-R模型,熟练掌握E-R模型向关系模型的转换,掌握关系规范化的方法。

三、实验步骤及运行结果1.构建学生选课数据库E-R图:数据流图是描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,这种表示法中用矩形表示源点和终点,用椭圆表示数据加工,用箭头表示数据流。

本学生管理系统的数据流图如下。

2.写出每张表的关系模式,关系模式满足第三范式。

(1)学生实体E-R图学生:学号、姓名、性别、地址。

其中,学号为主键。

(2)教师实体E-R图教师:教师编号、教师姓名、系编号、办公室号。

其中,教师编号为主键。

(3)课程实体E-R图课程:课程号、系编号、教师编号、课程名称、开课时间。

其中,课程号为主键。

(4)选课实体E-R图选课:学号、课程号、选课日期、实践成绩、考试成绩。

其中,学号、课程号为主键。

(5)系实体E-R图系:系编号、系名、教师编号、位置。

其中,系编号为主键。

(6)用户实体E-R图用户:用户名、用户密码。

其中,用户名、用户密码为主键。

四、实验体会或实验中遇到的问题在本次课程设计中,该学生选课管理系统允许用户进行登录查看相关的信息。

拥有不同权限的用户可以执行不同的操作,这和实际相符合,特别是在数据库管理这方面。

在建立数据库表的时候,为数据库中的表建立了关系和相关约束,保证了数据库中的实体完整性和参照性完整性。

然而,由于时间和自身能力的不足,仍有几个操作功能没能和需求分析中要求的相匹配,实现的功能不完善,实用性不强。

是这次数据库中的不足处之一。

通过这次数据库的设计,使我加深了对数据库知道的进一步了解,为了做好这次课程设计,我又学习了跟题目相关的数据库知识和VB编程语言, 除此之外,还有上网查询一些相关的资料,和一些实际问题实现的例子,通过理解别人实现的过程,学习实现的一些基本思路。

数据库实验一实验报告总结

数据库实验一实验报告总结

数据库实验一实验报告总结Introduction本实验主要目的是通过实际操作,了解和掌握数据库的基本概念、数据模型和SQL语言的应用。

通过实验,我深入学习了数据库的设计原理、规范化以及数据查询等知识,提高了自己的数据库操作技能。

实验内容本次实验主要包括以下几个方面的内容:1. 数据库的创建和连接在实验中,我使用MySQL数据库管理系统,首先进行了数据库的创建和连接。

通过学习相关知识,我了解到数据库是一个包含多个表的容器,而表则是由多个字段组成的数据结构。

因此,在创建数据库时,我首先设置了数据库的名称,并指定了字符集和排序规则等参数。

随后,通过命令行或图形界面工具,我成功连接了数据库。

2. 表的创建和插入数据在数据库中,表是用于组织和存储数据的基本单元。

为了进行数据的有效管理和查询,我根据需求创建了若干个表,并定义了表的字段和属性。

通过SQL语句,我插入了一些测试数据,验证了表的创建和数据插入的正确性。

3. 数据查询和更新数据库的一个重要功能就是查询和更新数据。

为了熟悉这些功能,我学习了SQL的基本语法和常用查询操作。

通过编写SQL语句,我实现了对数据库中的数据进行条件查询、排序和分组等操作,并对查询结果进行了更新。

这些操作帮助我更好地理解了数据库的查询逻辑和数据处理过程。

4. 数据库的备份和恢复为了防止数据丢失或数据库损坏,数据库的备份和恢复是非常重要的一项工作。

在本次实验中,我学习了如何对数据库进行备份和恢复操作。

通过命令行或者数据库管理工具,我成功备份了数据库,并在需要时将备份文件进行了恢复。

实验心得通过这次实验,我对数据库的概念和应用有了更深入的了解。

通过实际操作,我掌握了如何创建和连接数据库,以及如何创建表、插入数据、查询数据和更新数据。

同时,我也了解到了数据库备份和恢复的重要性。

在实践中,我发现了数据库设计的重要性。

合理的数据库设计可以提高数据的存储效率和查询效率,减少数据冗余。

合适的数据模型可以更好地反映实际业务需求,并提供更好的数据管理和查询功能。

数据库实验一实验报告总结

数据库实验一实验报告总结

数据库实验一实验报告总结【实验目的】该实验的主要目的是让学生通过实际的操作和实践,了解并掌握数据库的基本操作,熟悉数据库的设计原理和方法,学会使用SQL语言进行数据查询和管理,并能够根据实际需求对数据库进行优化和改进。

本次实验主要分为三个部分:1. 熟悉SQL语言通过实验的学习,大家学习了SQL语言的基础操作,如SELECT、FROM、WHERE、GROUP BY、ORDER BY等关键字,了解了SQL语言的执行顺序和语法结构,掌握了数据的添加、删除、修改和查询操作。

2. 数据库设计与应用在本次实验中,我们使用MySQL数据库,并通过实际操作学习了数据库的设计与应用,掌握了数据库的设计过程,包括数据结构的设计、表的分类和关系的建立等。

通过数据的导入和导出,我们能够实现数据的备份和恢复,确保数据的安全和完整性。

3. 数据库优化与管理在实验的最后一部分,我们学习了数据库的优化与管理,了解了索引的作用和创建方法,以及优化查询语句的技巧,提升了数据库的性能和效率。

1. 掌握了SQL语言的基本语法和常见操作,能够熟练使用SQL语言进行数据查询、添加、修改和删除等操作。

2. 学习了数据库的设计原理和方法,了解了数据结构的设计和表的关系建立,能够根据实际需求设计出适合的数据库。

4. 加深了对数据库的理解,提高了数据管理和处理的能力,为以后的学习和工作打下了坚实的基础。

1. 建议增加实验的复杂度,让学生面对更加综合的应用场景,更好地锻炼他们的独立思考和实际操作能力。

2. 建议增加操作的实践环节,引导学生自己动手操作,更好地理解和掌握知识点。

3. 建议加强实验的理论讲解,让学生更好地理解和掌握理论知识,为以后的工作和研究打下坚实的基础。

【总结】本次实验内容丰富,实践性强,让我深刻地体会到了数据库的重要性和实用性。

通过实际操作,我掌握了SQL语言的基本语法和常用操作,并了解了数据库的设计原理和方法,能够根据实际需求设计和维护数据库。

数据库原理及应用实验报告

数据库原理及应用实验报告

数据库原理及应用实验报告一、实验目的通过本次实验,深入理解数据库的原理与应用,掌握数据库的基本操作和常见应用场景。

二、实验内容1.数据库的基本概念与原理:关系型数据库与非关系型数据库的区别,数据库的组成要素,关键概念解释等。

2. 数据库的设计与建模:根据需求设计数据库的ER图,熟悉数据库建模工具的使用,如Eclipse、PowerDesigner等。

3.数据库语言与操作:学习SQL语言,包括数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)等,通过SQL语句对数据库进行增删改查操作。

4.索引的使用与优化:了解数据库索引的原理和作用,学习索引的创建、使用和优化技巧,提高数据库查询性能。

5.数据库的备份与恢复:掌握数据库的备份与恢复的方法,学会使用数据库备份工具进行数据的完整备份和恢复操作。

三、实验步骤1.确定数据库需求,设计ER图。

2.使用数据库建模工具创建数据库表,定义字段和关系。

3.使用SQL语句创建数据库和表结构。

4.插入数据并进行增删改查操作,验证数据库的正常使用。

5.创建索引并对查询语句进行优化,提高查询性能。

6.使用数据库备份工具进行数据备份,测试数据的完整恢复。

四、实验结果与分析本次实验中,我选择了一个简单的学生管理系统作为实验的对象。

首先,根据需求设计了ER图,确定了数据库表的结构和关系。

然后使用数据库建模工具创建了对应的数据库表。

接下来,使用SQL语句对数据库进行了初始化和插入数据,并通过增删改查操作验证了数据库的正常使用。

在插入大量数据后,使用索引对查询语句进行了优化,提高了查询性能。

最后,使用数据库备份工具对数据进行了完整备份,并进行了测试恢复操作,确保数据的可靠性和完整性。

通过本次实验,我深入了解了数据库的基本概念与原理,掌握了数据库的设计与建模技巧。

同时,我也学会了使用SQL语言进行数据库的增删改查操作,并掌握了索引的使用和优化方法。

数据库的备份与恢复操作也让我加深了对数据库安全性的认识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库原理》
实验报告(一)
院(系) 计算机工程与科学
年级专业计算机科学与技术
教师
姓名
报告日期:
第1周(第四章:SQL体系结构、组成、建库建表,索引自学)
一、实验课:
1.建立school数据库
2.在school下建立如下数据库表,根据表中数据选取合适的数据类
型及宽度,设置各表的主键及表间外键联系:
3.在学生表中建立索引idx1:院系号升序,姓名降序
在课程表中建立索引idx2:课名
实验小结:
这次实验就是我学习数据库课程的第一次上机,本来我还以为会很难,但就是实际上机下来却让我对学好数据库更加有信心了。

可能就是因为老师给了我们类似的代码,书上也讲的挺详细的缘故吧。

不过一开始,我还就是不知道怎么用SQL sever 用编程的方式建立数据库,我就人工手动的建表与录入数据,设置外键等,不过后面通过仿照老师给的实例代码与教科书,我又试着用代码建立了数据库,效果还不错。

总之,通过这次上机,对数据库有了初步的认识与体验,也熟悉了SQL sever这个工具。

第2周(第四章:投影、选择、多表连接与嵌套,排序自学)
一、实验课:
1.查询2011年进校年龄大于20岁的男学生的学号与姓名。

2.检索刘晓明不学的课程的课程号。

3.检索马小红老师所授课程的学年,学期,课程号,上课时间。

4.查询计算机学院男生总评成绩及格、教授开设的课程的课程号、
课名、开课教师姓名,按开课教师升序,课程号降序排序。

5.检索学号比张颖同学大,年龄比张颖同学小的同学学号、姓名。

6.检索同时选修了“”与“”的学生学号与姓名。

实验小结:
这次老师上课的内容就是关于select用法的初步学习,在这次实验中很喜欢用嵌套语句,因为觉得很好理解,有逻辑清晰,可就是做到最后一小题实在觉得嵌套不合适,于就是用了将三张表连接的方法,
其实发现这种方法思维清晰的话还就是很好用的,理解了感觉比嵌套更容易与舒服,总的来说,学会了一些简单的select语言,查处结果的时候还蛮有成就感的。

第3周(第四章:除法、聚合函数、分组、集合操作,外连接自学)
一、实验课:
1.验证在1000万个以上记录时在索引与不索引时的查询时间区别。

1)建立30W条记录
declare
@i int
set @i=1
while @i<300000
begin
insert into Table_1
values(@i)
set @i=@i+1
end
2)未建立索引前查询
set statistics time on
select id
from Table_1
where id=200000
set statistics time off
3)以降序建立id索引后查询
set statistics time on
select id
from Table_1
where id=200000
set statistics time off
2.查询每个学生选课情况(包括没有选修课程的学生)。

3.检索所有课程都选修的的学生的学号与姓名。

注:(为检查出结果,有修改表中数据)
4.检索选修课程包含1106同学所学全部课程的学生学号与姓名。

5.查询每门课程中分数最高的学生学号与学生姓名。

6.查询年龄小于本学院平均年龄,所有课程总评成绩都高于所选课
程平均总评成绩的学生学号、姓名与平均总评成绩,按年龄排序。

实验小结:
这次实验比之前的实验难度有所增加,写起来也遇到了不少麻烦,第一题就是借助了别班老师的代码写的,让我明白建立索引会使速度增快很多。

这次学习了外连接,存在量词的用法以及分组的概念,初上手还就是很不适应,还好老师上课有讲一些模版,有好好记录,套上去还就是很好用的,存在量词的理解确实有所难度,用两个not exists 表示双重否定,真的很棒呢。

不过第六题实在难以解决想了很多方案,还就是不行,后来问过老师,说就是题目有点问题,有点无语,不过倒就是锻炼了大脑,就是自己对select的用法有了更深入的理解。

第4周(第四章:数据更新、视图、嵌入式SQL 部分自学)
一、实验课:
1.建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓
名、性别、手机、所选课程与成绩。

2.在E表中插入记录,把每个学生没学过的课程都插入到E表中,使
得每个学生都选修每门课。

3.求年龄大于所有女同学年龄的男学生姓名与年龄。

4.在E表中修改08305001课程的平时成绩,若成绩小于等于75分时
提高5%,若成绩大于75分时提高4%。

5.删除没有开课的学院。

6.查询优、良、中、及格、不及格学生人数
实验小结:
这次的实验主要就是学习了如何建立视图,从而更有效的找到自己想要寻找的数据,然后就就是学习了如何更新与删除数据表中的内容,总的来说比上次简单,遇到的一点问题就就是在更新成绩时,要注意先更新分数低于75的,再更新分数高于75的,一面把一些分数接近75的人变成高于75的,多做一次提分,造成结果错误,在做数据库查询操作一定要谨慎并全面的思考,以免发生不必要的错误。

第五周 poewrbuilder
创建“学生选课”主窗口
学生信息窗口
激活Open窗口
课程信息窗口
学生成绩单
成绩管理主窗口
创建系统登录窗口
测试运行
登陆界面
选课(选C1)
选号结果如下图
退课(退掉C2)
退掉C1
建立下拉菜单
新增记录
实验小结:
这次实验算就是最麻烦的耗时最长的实验了,当然老师也给我们了很宽泛的时间,做的时候书上虽然有很详细的介绍并且有绝大部分代码,当然也有一些打印错误比如窗口名与后来的代码中有点差异,但就是除了那些明显错误之后还就是比较直接机械式的做了之后,结果并没有预期所示,第一个问题就就是报错未连接数据库,检查了数
据源并没有什么问题,于就是开始debug,然后发现居然忘记修改书上的代码,哎,敲代码没有太走心于就是出现这种错误,书上的connectstring里的id与密码根本与我自己设置的不相符合,解决了这个以后发现还就是有问题存在,就就是点击成绩分布后没有图片显示,后来发现其实在open这个窗口时应该写一段代码可就是书上没写清楚,so、、、又折腾了一下,不过也算顺利解决了。

其实做的途中还有有一些问题,比如少敲一行代码,或者少一个符号,就会出现很多严重的错误,然后要一行一行对着找错误,所以后面在做的时候就比较细心了,错误的地方也自然就少了。

总而言之,做完这个对如何做一个选课系统有了一定程度的了解,对sql语言的操作也有了一定的了解,感觉学到了不少,虽然大部分就是照葫芦画瓢做出来的,但就是还就是很有收获的,相信对下学期数据库的学习会有一定帮助。

相关文档
最新文档