数据库系统实验课实验报告
- 格式:doc
- 大小:84.00 KB
- 文档页数:11
数据库系统原理实验报告一、实验目的掌握数据库基本操作,熟悉数据库系统的结构和组成部分,了解数据库系统原理二、实验环境操作系统:Windows 10三、实验内容1.创建数据库首先通过命令行或图形界面方式登录数据库系统,创建一个新的数据库。
命令如下:CREATE DATABASE testdb;2.创建数据表在新创建的数据库中,创建一个新的数据表。
表名为student,包含字段id(学号)、name(姓名)、age(年龄)、gender(性别)。
命令如下:USE testdb;CREATE TABLE studentid INT PRIMARY KEY,name VARCHAR(20),age INT,gender VARCHAR(2)3.插入数据向数据表中插入若干条记录。
命令如下:INSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男');INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 22, '女');INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 21, '男');4.查询数据从数据表中查询记录。
命令如下:SELECT * FROM student;5.更新数据更新数据表中的条记录。
命令如下:UPDATE student SET age=23 WHERE id=1;6.删除数据删除数据表中的条记录。
DELETE FROM student WHERE id=2;四、实验结果1.创建数据库成功;2.创建数据表成功;3.插入数据成功;4.查询数据成功;5.更新数据成功;6.删除数据成功。
数据库系统实验报告一、实验目的通过本次实验,我们旨在进一步熟悉数据库系统的概念和原理,掌握数据库设计和查询的基本方法,提高数据库系统的实践能力。
二、实验内容1.数据库设计在本次实验中,我们设计了一个针对学生信息管理的数据库系统。
该系统包括以下实体和属性:- 学生(Student):学生ID、姓名、年龄、性别、班级- 课程(Course):课程ID、课程名称、学分、授课教师- 成绩(Score):学生ID、课程ID、成绩2.数据库查询我们按照以下要求进行了一系列的数据库查询:-查询所有学生的基本信息;-查询所有课程的详细信息;-查询每个学生的姓名、班级和平均成绩;-查询每门课程的平均分和最高分;-查询一些学生的所有课程成绩。
三、实验步骤1.数据库设计2.数据库查询我们使用SQL语言进行数据库查询,按照实验要求编写了相应的查询语句。
在MySQL Workbench中,我们启动了数据库服务,并打开一个查询窗口。
通过输入查询语句,我们获得了所需的查询结果。
同时,我们还使用了一些SQL函数和关键字,如COUNT、AVG、GROUP BY和JOIN,以实现更复杂的查询。
四、实验结果经过多次查询和测试,我们得到了如下的实验结果:-查询所有学生的基本信息:SELECT * FROM Student;-查询所有课程的详细信息:SELECT * FROM Course;-查询每个学生的姓名、班级和平均成绩:SELECT , Student.class, AVG(Score.score)FROM Student JOIN Score ON Student.studentID =Score.studentIDGROUP BY , Student.class;-查询每门课程的平均分和最高分:SELECT , AVG(Score.score), MAX(Score.score)FROM Course JOIN Score ON Course.courseID = Score.courseID GROUP BY ;-查询一些学生的所有课程成绩:SELECT , Score.scoreFROM Course JOIN Score ON Course.courseID = Score.courseID WHERE Score.studentID = "学生ID";五、实验总结通过本次实验,我们深入理解了数据库系统的设计和查询原理,并通过实际操作掌握了数据库系统的基本使用方法。
一、实验目的1. 掌握数据库的基本概念和原理;2. 熟悉数据库的创建、修改和删除操作;3. 掌握SQL语句的使用,包括数据查询、数据插入、数据更新和数据删除;4. 学会使用数据库管理系统进行数据管理。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:Visual Studio Code三、实验内容1. 创建数据库和表(1)创建数据库```sqlCREATE DATABASE testdb;```(2)选择数据库```sqlUSE testdb;```(3)创建表```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender CHAR(1),class VARCHAR(50));```2. 插入数据```sqlINSERT INTO students (name, age, gender, class) VALUES ('张三', 20, '男', '计算机科学与技术');INSERT INTO students (name, age, gender, class) VALUES ('李四', 21, '女', '软件工程');INSERT INTO students (name, age, gender, class) VALUES ('王五', 22, '男', '电子信息工程');```3. 查询数据(1)查询所有学生信息```sqlSELECT FROM students;```(2)查询年龄大于20岁的学生信息```sqlSELECT FROM students WHERE age > 20;```(3)查询性别为“男”的学生信息```sqlSELECT FROM students WHERE gender = '男';```4. 更新数据```sqlUPDATE students SET age = 21 WHERE name = '张三';```5. 删除数据```sqlDELETE FROM students WHERE name = '李四';```6. 删除表```sqlDROP TABLE students;```四、实验结果与分析1. 创建数据库和表:实验过程中成功创建了名为testdb的数据库,并在该数据库下创建了students表,包含id、name、age、gender和class五个字段。
一、实验目的1. 熟悉数据库的基本概念和结构。
2. 掌握数据库的创建、修改和删除操作。
3. 熟练运用SQL语言进行数据的查询、插入、更新和删除操作。
4. 了解数据库的安全性和备份与恢复。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建数据库2. 创建表3. 插入数据4. 查询数据5. 更新数据6. 删除数据7. 修改表结构8. 删除表9. 数据库备份与恢复四、实验步骤1. 创建数据库(1)打开MySQL Workbench,连接到本地MySQL服务器。
(2)在“查询”窗口中输入以下SQL语句创建数据库:```sqlCREATE DATABASE student;```(3)执行SQL语句,创建名为student的数据库。
2. 创建表(1)在“查询”窗口中输入以下SQL语句创建学生表:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```(2)执行SQL语句,创建名为student的表。
3. 插入数据(1)在“查询”窗口中输入以下SQL语句插入数据:```sqlINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男'); INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, '男'); INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, '女'); ```(2)执行SQL语句,向student表中插入三条数据。
数据库实验报告范本一、实验目的本次数据库实验的主要目的是深入了解数据库的基本操作和管理,掌握数据的存储、查询、更新和删除等功能,提高对数据库的实际应用能力和问题解决能力。
二、实验环境1、操作系统:Windows 102、数据库管理系统:MySQL 803、开发工具:Navicat Premium 12三、实验内容及步骤(一)数据库的创建1、打开 Navicat Premium 12 工具,连接到本地 MySQL 服务器。
2、在连接成功后,右键点击“连接”,选择“新建数据库”。
3、在弹出的“新建数据库”对话框中,输入数据库名称(例如:student_management),选择字符集和排序规则,点击“确定”按钮创建数据库。
(二)表的创建1、展开新建的数据库,右键点击“表”,选择“新建表”。
2、在“表设计器”中,依次添加表的字段,包括字段名、数据类型、长度、是否允许为空等属性。
以学生表(students)为例,字段包括:student_id(INT 主键,自增)、student_name(VARCHAR(50))、student_age(INT)、student_gender(VARCHAR(10))。
课程表(courses)字段:course_id(INT 主键,自增)、course_name(VARCHAR(50))、course_credit(INT)。
成绩表(scores)字段:score_id(INT 主键,自增)、student_id (INT 外键,关联 students 表的 student_id)、course_id(INT 外键,关联 courses 表的 course_id)、score(FLOAT)。
3、设置完字段属性后,点击“保存”按钮,输入表名(如 students、courses、scores)创建表。
(三)数据的插入1、打开创建好的表,点击“插入”按钮。
2、在弹出的“插入行”对话框中,按照字段顺序输入相应的数据。
数据库系统原理实验报告一、实验目的1.熟悉数据库系统的基本概念和原理;2.掌握数据库系统的基本操作;3.学会使用数据库系统进行数据管理和查询。
二、实验设备1.计算机;2.数据库管理系统软件。
三、实验过程1.创建数据库通过数据库管理系统软件,我们首先需要创建一个新的数据库。
在数据库管理系统软件的界面上,点击“新建数据库”按钮,输入数据库名称、用户名、密码等信息,并确定创建。
2.设计数据表在创建完数据库后,我们需要设计数据表结构。
点击数据库管理系统软件界面上的“表设计”按钮,弹出数据表设计界面。
根据实验需求,在数据表设计界面上添加字段、设置字段类型、设置主键等,最后确定设计。
3.插入数据数据表设计好后,我们需要将数据插入到数据表中。
通过数据库管理系统软件,点击“插入数据”按钮,弹出插入数据界面。
在插入数据界面上,输入要插入的数据信息,点击确定插入。
4.查询数据将数据插入到数据表中后,我们需要查询特定的数据。
通过数据库管理系统软件,点击“查询数据”按钮,弹出查询数据界面。
在查询数据界面上,输入查询条件,点击确定查询。
系统将会返回符合条件的数据。
五、实验结果通过以上实验步骤,我们成功地创建了一个新的数据库,设计了数据表结构,并将数据插入到数据库中。
同时,我们还可以通过数据库管理系统软件查询数据并获取到结果。
这些实验结果表明我们对数据库系统的基本操作具有熟练掌握的能力。
六、实验总结通过本次实验,我们深入了解了数据库系统的基本概念和原理,掌握了数据库系统的基本操作方法,并成功地应用到实际数据管理和查询中。
通过实验,我们意识到数据库系统在现代信息管理中的重要性,并且清楚地了解到数据库系统的优势和应用场景。
通过进一步的学习和实践,我们相信我们可以更加熟练地应用数据库系统,并将其应用到实际工作中。
《数据库实验》实验报告一、实验目的本实验旨在通过设计与实现一个简单的学生信息管理系统,来加深对数据库基本概念和SQL语言的理解,并掌握数据库的创建、表的设计、数据的增删改查等基本操作。
二、实验环境本次实验的开发环境为以下软件与工具:1. 数据库管理系统:MySQL2. 编程语言:Java3. 开发工具:Eclipse IDE4. Web服务器:Apache Tomcat三、实验内容及步骤1. 数据库的创建与连接首先,在MySQL中创建一个名为"student_system"的数据库,并通过JDBC连接该数据库。
在Java代码中,使用JDBC的API进行数据库连接操作,包括加载驱动、建立连接等步骤。
2. 数据表的设计与创建在student_system数据库中创建一个名为"student"的数据表,该表用于存储学生的基本信息。
表中应包含学号(id)、姓名(name)、性别(gender)和专业(major)等字段,并设置合适的数据类型和约束。
3. 数据的插入与修改通过SQL语句,在student表中插入若干条学生信息,包括学号、姓名、性别和专业。
同时,通过SQL的UPDATE语句,修改某些学生的信息。
4. 数据的查询编写SQL语句,实现对学生信息的查询。
可以根据学号或姓名等关键字进行查询,并返回符合条件的学生信息。
5. 数据的删除根据指定的学号或姓名,编写SQL语句实现对学生信息的删除操作。
删除后,该学生的信息将不再存在于数据库中。
四、实验结果经过以上实验步骤的设计与实现,在学生信息管理系统中,成功地创建了student表,并成功插入了若干学生信息。
通过SQL语句的查询和修改操作,可以准确地获取和修改学生的信息。
此外,删除操作也能够成功地从数据库中删除指定学生的信息。
五、实验总结通过本次实验,我进一步掌握了数据库的基本操作与SQL语言的应用。
在实验过程中,我理解到数据库的设计与搭建是一个关键步骤,合理的表结构和约束条件对于数据的管理和有效性有着重要的影响。
数据库管理系统实验报告数据库管理系统实验报告引言:数据库管理系统(Database Management System,简称DBMS)是一种用于管理和组织数据的软件系统。
它可以帮助用户存储、检索、更新和管理数据,提供高效的数据处理和数据访问功能。
在本次实验中,我们使用了一款名为MySQL的开源数据库管理系统,通过实际操作来深入了解数据库的基本原理和功能。
一、实验目的本次实验的目的是通过使用MySQL数据库管理系统,掌握数据库的创建、表的设计、数据的插入和查询等基本操作,进一步理解数据库的结构和运行机制。
二、实验环境本次实验使用的实验环境如下:1. 操作系统:Windows 102. 数据库管理系统:MySQL 8.03. 开发工具:MySQL Workbench三、实验过程1. 数据库的创建在MySQL Workbench中,我们首先创建了一个名为"mydb"的数据库。
通过SQL语句"CREATE DATABASE mydb;"实现数据库的创建。
在创建数据库时,我们可以指定数据库的名称、字符集、排序规则等参数。
2. 表的设计在数据库中,数据以表的形式进行组织和存储。
在本次实验中,我们创建了一个名为"students"的表,用于存储学生的信息。
表的设计包括了学生的学号、姓名、性别、年龄等字段。
通过SQL语句"CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(20), gender VARCHAR(10), age INT);"实现表的创建。
在创建表时,我们需要指定表的名称、字段的名称和类型、字段的约束等。
3. 数据的插入在表的设计完成后,我们可以向表中插入数据。
通过SQL语句"INSERT INTO students (id, name, gender, age) VALUES (1, '张三', '男', 20);"实现向表中插入一条学生记录。
数据库管理系统实验报告篇一:数据库_图书馆管理系统实验报告数据库课程设计报告专业:计算机科学与技术班级: 03 组长:张云60 组员:王冉28指导教师:袁道华成绩:XX年12月16日一、课程设计概述1. 课程设计背景课程需要开发一个图书管理系统,要求在读者登记处可以将读者的信息添加,信息系统中保存,当读者信息发生变化,对计算机内容进行修改,当读者办理退卡手续要删除此读者信息,图书管理负责图书和出版社的管理,读书借还处进行借书管理,还书管理,库存查询,图书排行榜,生成超期未还书的读者,进行通知.给不同用户设置不同权限,供用户访问数据库。
2. 编写目的熟练掌握mysql中的创建数据库、创建表、显示、查询、select语句、视图、存储过程、创建检索、对表的添加、删除、修改和用户权限的设置等基本运用,并通过编写这个图书管理系统来实际演练。
3. 软件定义Mysql是目前最流行的开源的中小型关系数据管理系统,目前被广泛的应用于internet上得中小型网站中,它由mysql AB公司开发、发布并支持。
本实验用的是mysql 5.1版本4. 开发环境本实验用的是mysql 5.1版本,windowsXX二、需求分析1. 问题的提出1:怎么通过mysql和信息之间的关系来创建图书管理系统的数据库及表? 2:怎样来实现对插入读者信息并保存、修改及删除? 3:怎么来实现对图书的管理?4:怎样实现对借书后在读书借还处添加读者借书信息和还书后删除读者借还处中的借书信息且更新图书管理处的图书数量?5:怎么实现对超期读者进行罚款操作和生成这些读者的名单,以方便通知? 6:怎样实现图书的借书排行榜和查看库存书量?7:怎么样来根据不同用户对数据库的等级的不同来设置这些用户的权限?2. 需要完成的功能及各部分功能概述1:读者登记建卡处的功能是对读者基本信息进行登记,读者信息发生变化对读者基本信息进行修改,读者要求退还借书卡时对读者信息进行删除等操作。
数据库系统实验班级姓名学号任课教师计算机学院实验一:基本SQL语言1.实验目标1.1.熟练掌握基本的SQL语言。
能够利用SQL定义语言(DDL)创建、删除和修改数据库的基本对象(表、视图、约束和索引等),利用SQL查询语言(Select)对数据中数据进行检索,利用SQL修改语言(Insert、Update、Delete)对数据中数据进行插入、修改和删除操作。
能够利用SQL控制语言(DCL)将数据库的基本对象(表和视图等)的各种权限授予其它用户。
1.2.熟悉SQL Server 2000的交互式SQL语言的操作环境。
能够利用查询分析器进行SQL语言的编辑和提交。
2.实验要求2.1.写出以下各个实验的SQL语句。
2.2.在SQL Server 2000的查询分析器环境中执行SQL语句,写出每次执行的结果。
2.3.对于错误的执行结果,分析产生错误的原因,并写出纠正错误的方案。
2.4.SQL语句的书写规范,要求每个查询子句独占一行,如:Select SNO, SNAMEFrom SWhere Sage>=20 ;注意:每次实验之后请作好数据库备份。
下次实验之前进行数据库恢复。
3.实验课时本次实验共计10课时。
4.实验数据本次实验中用到6个关系表(当前用户):COURSE(课程)、DEPT(系)、S(学生)、PROF(教师)、PC(授课)、SC(选修)。
4.1.关系模式。
4.2.6个关系表的定义。
⑵DEPT(系)4.3.6个关系表的元组数据。
5.实验步骤5.1.SQL Server 2000数据库的安装、启动和创建新的数据库。
SQL Server 2000已安装在本机,一般采用的是Windows认证方式。
因此当你以默认Windows用户administrator登陆进window操作系统之后,你就可以直接通过服务管理器启动SQL Server 2000。
启动成功之后的状态如下(启动成功之后,可以关闭服务管理器):之后可以通过打开查询分析器登陆到SQL Server 2000,建立和DBMS的会话。
数据库实验报告一、实验目的本次数据库实验的主要目的是通过实际操作和实践,深入理解数据库的基本概念、原理和技术,掌握数据库的设计、创建、管理和操作方法,提高对数据库的应用能力和解决实际问题的能力。
二、实验环境本次实验使用的数据库管理系统为 MySQL 80,操作系统为Windows 10。
实验工具包括 MySQL Workbench 80 和命令行终端。
三、实验内容(一)数据库设计1、需求分析根据给定的业务场景,对数据库的需求进行了详细的分析。
例如,对于一个学生管理系统,需要存储学生的基本信息(学号、姓名、性别、出生日期等)、课程信息(课程编号、课程名称、学分等)以及学生的选课信息(学号、课程编号、成绩等)。
2、概念模型设计使用 ER 图(实体关系图)对系统中的实体和关系进行了建模。
明确了各个实体的属性和实体之间的联系,为后续的逻辑设计奠定了基础。
3、逻辑模型设计将 ER 图转换为关系模型,确定了各个表的结构,包括表名、字段名、数据类型、约束条件等。
4、物理模型设计考虑了数据库的存储结构、索引、分区等物理存储方面的设计,以提高数据库的性能和存储空间的利用率。
(二)数据库创建1、使用 MySQL Workbench 创建数据库在 MySQL Workbench 中,通过图形界面操作,创建了指定名称的数据库,并设置了相应的字符集和校对规则。
2、使用 SQL 语句创建表使用 CREATE TABLE 语句,根据逻辑模型设计的结果,创建了各个数据表,并定义了主键、外键、唯一约束、非空约束等。
(三)数据操作1、数据插入使用 INSERT INTO 语句向表中插入了大量的测试数据,以验证数据库的功能和性能。
2、数据查询使用 SELECT 语句进行了各种复杂的查询操作,包括单表查询、多表连接查询、子查询、聚合函数的使用等。
3、数据更新使用 UPDATE 语句对表中的数据进行了修改操作,确保数据的准确性和完整性。
数据库实验报告一、实验目的本次数据库实验的主要目的是深入了解数据库的基本概念和操作,掌握数据库管理系统的使用方法,提高对数据的管理和处理能力。
通过实际操作,我们希望能够熟练运用SQL 语句进行数据的查询、插入、更新和删除,以及创建和管理数据库表、索引和视图等对象。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,操作系统为Windows 10。
实验在个人计算机上进行,使用 MySQL Workbench 作为数据库管理工具。
三、实验内容1、数据库创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。
2、表的创建在“student_management”数据库中,创建了以下几张表:“students”表,包含学生的学号(student_id)、姓名(name)、性别(gender)、年龄(age)等字段。
“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。
“enrolls”表,用于关联学生和课程,包含学生学号(student_id)、课程号(course_id)和成绩(grade)等字段。
3、数据插入使用 INSERT INTO 语句向上述表中插入了一些示例数据,以方便后续的查询和操作。
4、数据查询通过 SELECT 语句进行了多种查询操作,例如:查询所有学生的信息。
查询特定性别学生的信息。
查询选修了某门课程的学生名单及成绩。
5、数据更新使用 UPDATE 语句对部分学生的年龄或成绩进行了修改。
6、数据删除使用 DELETE 语句删除了一些不再需要的数据记录。
7、索引创建为“students”表的“student_id”字段和“courses”表的“course_id”字段创建了索引,以提高查询效率。
8、视图创建创建了一个名为“student_course_grade_view”的视图,用于展示学生的学号、姓名、课程名称和成绩。
《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
⼆、实验内容1、创建数据库和查看数据库属性。
2、创建表。
3、查看和修改表结构。
4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。
(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。
数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。
详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。
(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。
创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。
数据库实验报告(实验六)(合集五篇)第一篇:数据库实验报告(实验六)实验六SQL语言数据查询语言DQL一、实验内容了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。
启动Navicat for MySQL,用SELECT语句进行简单查询操作,具体实验步骤如下:(实验步骤里的内容)1启动Navicat for MySQL,登录到本地数据库服务器后,连接到test数据库上。
用Create Table建立Student表、Course表和Choose表:2.用INSERT语句分别向Student表中插入3个元组、Course表中插入3个元组、Choose表中插入7个元组:3.用SELECT语句,查询计算机学院学生的学号和姓名。
4.用SELECT语句的between…and…表示查询条件,查询年龄在20~23岁的学生信息。
5.用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。
6.分别用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose表中C1课程的最高分、最低分、总分、平均分。
7.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。
8.用SELECT语句的连接查询,查询学生的学号、姓名、选修的课程名及成绩。
9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。
10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成绩。
11.用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生学号。
12.用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修了C3课程的学生学号,并取消重复的数据。
数据库系统概论第五版实验报告今天咱们一起来探索一下数据库这个神奇的世界,看看通过这次数据库系统概论第五版的实验,我们都有哪些有趣的发现吧!一、实验目的。
你知道吗?数据库就像是一个超级大的“仓库”,里面可以存放好多好多的信息呢。
这次实验呀,就是想让我们学会怎么去管理这个“仓库”,怎么把东西整整齐齐地放进去,又能快速准确地找出来。
比如说,学校里有很多同学的信息,像姓名、年龄、班级这些,都可以放在数据库这个“仓库”里。
当老师想找某个同学的信息时,就能很轻松地找到啦。
二、实验内容。
1. 创建数据库。
这就好比是要先盖好咱们的“仓库”。
在实验里,我按照书上的步骤,一步一步地操作,给我的“仓库”取了个好听的名字。
就像你给自己的小房间取名字一样,这样以后找起来就方便啦。
我输入了一些指令,你猜怎么着?一下子,一个崭新的数据库就创建好啦,就像变魔术一样!2. 创建表格。
“仓库”有了,接下来就得在里面放东西啦。
但是东西不能乱放,得有一个个的“小格子”来装,这“小格子”就是表格。
我创建了一个存放学生信息的表格,给它设计了好多列,像“学号”“姓名”“性别”“成绩”这些。
想象一下,这就好像是给每个信息都找到了自己的“小房间”,它们住得舒舒服服的,以后找起来也不费劲。
3. 插入数据。
表格准备好了,现在该把信息放进去啦。
我把同学们的信息一个一个地输入到表格里,就像把小玩具放进一个个小盒子里一样。
每输入一条信息,我都感觉自己在给这个“仓库”增添一份宝藏呢。
看着表格里越来越多的数据,心里还挺有成就感的。
4. 查询数据。
这可是个很有趣的部分哦!当我想知道哪个同学的成绩最好时,我就可以通过查询来找到答案。
我输入一些查询的指令,就像给数据库这个“小管家”下命令一样。
不一会儿,它就乖乖地把成绩最好的同学的信息找出来给我看啦。
就像你在家里找自己最喜欢的玩具,一下子就找到了,多开心呀!三、实验结果。
通过这次实验呀,我成功地创建了数据库,还在里面创建了表格,插入了数据,并且能顺利地查询到我想要的信息。
数据库实验实验报告一、实验目的本次数据库实验的主要目的是通过实际操作和实践,深入理解数据库的基本概念、原理和技术,掌握数据库的设计、创建、管理和操作的方法和技能,提高解决实际问题的能力和综合素质。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,操作系统为Windows 10。
实验在个人计算机上进行,使用了 MySQL Workbench 作为数据库管理和开发工具。
三、实验内容(一)数据库设计1、需求分析根据给定的业务场景和需求,对数据库进行了详细的需求分析。
确定了需要存储的实体、属性和关系,绘制了 ER 图,为后续的数据库设计提供了清晰的蓝图。
2、概念结构设计基于需求分析的结果,进行了概念结构设计。
确定了实体、属性和实体之间的关系,使用 ER 图进行了直观的表示。
3、逻辑结构设计将概念结构设计转换为逻辑结构设计,确定了表的结构、字段的数据类型、主键和外键等。
创建了相应的数据表,并进行了完整性约束的定义。
(二)数据库创建1、使用 SQL 语句创建数据库和数据表在 MySQL 中,使用 CREATE DATABASE 语句创建了数据库,使用 CREATE TABLE 语句创建了数据表,并按照设计要求定义了表的结构和约束。
2、插入数据使用 INSERT INTO 语句向数据表中插入了大量的测试数据,以确保数据库的完整性和可用性。
(三)数据库管理1、数据查询使用 SELECT 语句进行了各种复杂的查询操作,包括单表查询、多表连接查询、子查询、聚合函数的使用等,掌握了不同查询方式的特点和应用场景。
2、数据更新使用 UPDATE 语句对数据表中的数据进行了更新操作,掌握了如何正确修改数据以满足业务需求。
3、数据删除使用 DELETE 语句对数据表中的数据进行了删除操作,了解了删除数据时需要注意的事项,以避免误删除重要数据。
(四)数据库优化1、索引优化在数据表的关键字段上创建了索引,提高了数据查询的效率。
实验一认识DBMS 一、实验目的熟悉对DNMS的安装,搭建今后实验的平台二、实验环境Win10,MS SQL Server 2008三、实验内容与完成情况安装及搭建过程:注意这里账户名要更改为注意这里要选择混合模式,并设定系统管理员账户,方便个人账户操作数据库,提高私密性已完成第一步,下一步安装管理工具安装完后显示如下即成功安装完毕四、出现的问题及解决方案安装过程没什么问题,网上找好教程然后一步步进行即可实验二交互式SQL 一、实验目的熟悉通过SQL对数据库进行操作。
二、实验环境Win10,MS SQL Server 2008三、实验内容与完成情况(一)数据定义(1)基本表的创建、修改、删除:1、创建SPJ数据库(举例,下图为P表)2、修改:插入新的成员信息(此处使用的数据库是新的学生数据库例子)3、删除:从供应商关系中删除S2的记录,并从供应商关系中删除相应的记录deletefrom swhere sno='s2'deletefrom SPJwhere SNO='s2'由上图结果看出,s2确实被删掉了,删除操作成功(2)视图的创建、查询:1、首先建立试图create view J_sanjian(Sno,Pno,Qty)asselect Sno,Pno,Qtyfrom j,spjwhere j.jno=spj.jno and JNAME='三建'2、找出三建工程项目使用的各种零件代码及其数量select pno,sum(qty)from J_sanjiangroup by pno3、找出供应商S1的供应情况select sno,pno,qtyfrom J_sanjianwhere sno='s1'(3)索引的建立:对STUDENT表的STUDENT_ID列建立索引,在查询分析器编辑窗口中输入下列程序并执行:(此处所用的数据库也是后续操作有涉及的学生数据库)(二)数据操作(1)各类查询操作(单表查询、连接查询、嵌套查询、集合查询):1、单表查询找出所有供应商的姓名和所在城市select sname,cityfrom S2、多表查询连接查询:找出上海厂商供应的所有零件号码select pnofrom S,SPJwhere S.SNO =SPJ .SNO and s.city='上海'group by pno嵌套查询:找出没有使用天津产的零件的工程号码Select jnamefrom Jwhere jno in (select jnofrom S,SPJwhere S.SNO =SPJ .SNO and s.city='上海'group by jno)(2)各类更新操作(修改、删除):1、修改(更新)更新成员信息(此处使用的数据库是学生数据库例子)2、删除:从供应商关系中删除S2的记录,并从供应商关系中删除相应的记录deletefrom swhere sno='s2'deletefrom SPJwhere SNO='s2'由上图结果看出,s2确实被删掉了,删除操作成功(三)视图的操作(1)创建视图:在STUDENT表中,为02班建立视图V1_STU,结果如下:(2)视图的查询:查找02班女生的学号和出生日期,结果如下:实验三数据控制(安全性)一、实验目的熟悉通过SQL对数据进行安全性控制。
学号 姓名 实验时间 实验名称 Oracle环境及数据库创建 实验学时 2 准备材料 1. Oracle 10G 介绍资料 2. SQL Plus命令手册 3. Oracle数据字典 扩展实验 1. 使用企业 管理器登录Oracle服务器,观察系统架构及数据库 2. 使用OEM创建、删除数据库 此部分内容不要求在实验室完成,不用写入实验报告。 实验环境 Oracle 9i(及以上版本)服务器 SQL Plus/ SQL Plus work sheet客户端 实验目的 1. 了解oracle系统架构 2. 熟悉SQL Plus环境 实验内容及步骤 1. 使用SQL Plus Worksheet登录数据库系统(用户名密码由教师指定) 2. 浏览SQL Plus环境设置命令,并完成下列操作: (1) 察看SQL Plus环境参数 (2) 设置输出页面的大小,每列字符数 120,每页行数100,观察设置结构 (3) 设置显示每个sql语句花费的执行时间,并观察实验结果
(4) 在SQL Plus中执行操作系统命令,例如copy文件、显示目录等,观察结果。 (5) 设置将系统输出数据写入文件c:\,执行多个命令后观察文件内容。
3. 显示系统信息 (1) 显示用户信息 (2) 显示数据库版本信息 (3) 显示数据库中所有表的名称 显示系统中某张表的结构信息(如EMP表) (4) 显示数据库中某张表的数据,如EMP表 4. 建立磁盘文本文件,文件内写入几条SQL命令,执行此文件,并观察执行结果。 出现问题
解决方案 (列出遇到的问题及其解决方法) 《数据库系统》实验报告二 学号 姓名 实验时间 实验名称 数据库模式管理 实验学时 4 准备材料 1. SQL Plus命令手册 2. Oracle数据字典 3. Oracle中的数据类型 扩展实验 1. 掌握在企业管理器(或其它图形界面的数据库操作工具)中进行表、索引的创建和管理的方法。 2. 利用企业管理器(或其它图形界面的数据库操作工具)观察数据库的物理模式。 (此部分内容不要求在实验室完成,不用写入实验报告。) 实验环境 Oracle 9i(及以上版本)服务器 SQL Plus/ SQL Plus work sheet客户端 实验目的 1. 掌握使用SQL语句进行表的创建和管理的方法 2. 加深对关系数据库结构和数据完整性等概念的理解
实验内容及步骤 1. 创建书上university数据库中所有的表(student, course, department, takes, instructor, advisor, prereq, teaches, classroom, section, timeslot),按书上要求设置每张表的主键、外键,表中每个字段的类型、长度由学生自己确定。 2. 使用命令完成下列扣作(1)查找用户所有表的表名(2)查看每张表的结构(要求把每张表的结构截图放到实验报告中)(3)查看表takes的约束信息 3. 修改表结构 (1) 在instructor表中增加列存储教师家庭地址,其地址包括省、市、区、街道、门牌号等列,列的数据类型自己给出,列允许为空。 (2) 对student表中的姓名字段长度都改为10,设置是否成功?原因是什么?将该字段长度改为50,能否成功?说明原因。 (3) 为student表中tot_cred列设置默认值 0,插入一个Comp. Sci.系的新学生,且不给其tot_cred列赋值,观察结果。 (4) student表中tot_cred列是对总学分的统计,现在数据库中没有记录哪些学生已选修课程学分已累加,哪些课程的学分还没有累加。设计一种方案记录已累加课程,防止出现重复累加的情况。或者设计一种方案简化总学分的计算过程。 (5) 删除takes表上对student表ID的外键约束,查看此约束已删除。添加一个不存在的学生(id=’0101’)选修course_id 为’CS001’的课程,并给他一个成绩(成绩值为:A, B, C, D, E 或F)。再添加takes表是对student表ID 的外键约束 ,观察并解释实验结果。 (6) 设置takes表ID, course_id,sec_id三个字段非空,是否能设置成功,对插入数据有没有影响? 删除takes表主键约束,增加某同学选同一门课程(id, couese_id, sec_id, semester, year, grade都相同)的信息,能否插入成功?解释原因。
4. 参照表student建立一张空表student1。要求用两种方法实现 (create table; create table as …)。 5. 增加section表上的约束条件,要求所输入section的年号不大于当前年号+1,且不小于当前年号-2。插入一条2009年秋CS-101 开设课的信息,观察并解释实验结果。 6. 选择某个约束,分别设置其有效、失效,观察区别。
出现问题 没有问题 解决方案 (列出遇到的问题及其解决方法)
《数据库系统》实验报告三 学号 姓名 实验时间 实验名称 数据查询 实验学时 4 准备材料 1. SQL Plus命令手册 2. Oracle数据字典 扩展实验 1. 利用企业管理器的图形界面构造查询语句,并察看查询结果 2. 利用企业管理器完成视图、索引的创建与使用。 3. 利用DBMS进行对第三章习题所设计SQL语句的检查 (此部分内容不要求在实验室完成,不用写入实验报告。) 实验环境 Oracle 9i(及以上版本)服务器 SQL Plus/ SQL Plus work sheet客户端 实验目的 1.掌握使用SQL语句进行数据查询的方法 2. 掌握视图的创建与使用方法 3. 观察索引的使用效果 实验内容及步骤 1. 执行文件ddl+,创建数据库University中所有表。执行文件 ,插入实验数据。
2. 使用University数据库的数据库结构和数据(smallRelations即可),完成下列查询: (1) Find the names of courses in Computer science department which have 3 credits (2) For the student with ID 12345 (or any other value), show all course_id and title of all courses registered for by the student. (3) As above, but show the total number of credits for such courses (taken by that student). Don't display the tot_creds value from the student table, you should use SQL aggregation on courses taken by the student. (4) As above, but display the total credits for each of the students, along with the ID of the student; don't bother about the name of the student. (Don't bother about students who have not registered for any course, they can be omitted) (5) Find the names of all students who have taken any Comp. Sci. course ever (there should be no duplicate names) (6) Display the IDs of all instructors who have never taught a couse (Notes 1) Oracle uses the keyword minus in place of except; 2) interpret "taught" as "taught or is scheduled to teach") (7) As above, but display the names of the instructors also, not just the IDs. (8) Find the maximum and minimum enrollment across all sections, considering only sections that had some enrollment, don't worry about those that had no students taking that section (9) As in Question (8), but now also include sections with no students taking them; the enrollment for such sections should be treated as 0. Do this in two different ways (and create require data for testing) 1). Using a scalar subquery 2). Using aggregation on a left outer join (use the SQL natural left outer join syntax) (10) Find all courses whose identifier starts with the string "CS-101" (11) Find instructors who have taught all the above courses 1). Using the "not exists ... except ..." structure 2). Using matching of counts which we covered in class (don't forget the distinct clause!)
3. The university rules allow an F grade to be overridden by any pass grade (A, B, C, D). Now, create a view that lists information about all fail grades that have not been overridden (the view should contain all attributes from the takes relation).