数据库4实验报告
数据库系统实验报告4(简单图书馆管理数据库的实现)

6
图书信息表:
2.还书后: 借阅信息表:
图书信息表:
备注: 1、表头及以下的栏目和内容,不得更改;其它栏目的位置可以适当调整,可以根据需要适当增加或减少 页。 2、本课程包含多次实验,请每次实验项目填写一份。
7
2
利用 sf_borrow,sf_return 进行借、还操作,并注意数据库中三个表的数据变化情况。 三、实验结果及分析 (一)创建数据库和数据表: 选择用企业管理器创建数据库、数据表
3
(二)数据相关操作: 1.查询:
2.删除:
4
删除后:
3.更新:
更新后:
(三)创建触发器、存储过程进行借还书操作: 1.针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 CREATE TRIGGER Insert_borrow ON dbo.借阅信息表 FOR INSERT AS begin update 图书信息表 set 状态=0 from Inserted i,图书信息表 t where t.书号=i.书号 end 2.针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。
作者 sql c++ ms java c# net
状态 1 1 1 1 1 1
借书证号 1 2 3
姓名 张三 李四 王五
住址 学三 学四 学五
并对这两个表进行删除、更新、和查询等操作 三、创建触发器、和存储过程进行借、还书操作 1) 针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 2) 针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。 3) 创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证 号,借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。 4) 创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号 作为参数。
数据库实验四

数据库实验四在学习数据库的过程中,实验是帮助我们深入理解和掌握相关知识的重要环节。
本次数据库实验四主要围绕着数据库的查询、更新以及数据完整性等方面展开。
实验的目的是让我们通过实际操作,更加熟练地运用 SQL 语句来处理数据库中的数据,同时加深对数据库原理和概念的理解。
在实验开始之前,我们首先需要准备好相关的数据库环境。
这包括安装数据库管理系统,如 MySQL 或 SQL Server 等,并创建好实验所需的数据库和数据表。
本次实验中,我们创建了一个名为“students”的数据库表,用于存储学生的基本信息,如学号、姓名、年龄、性别和所在班级等。
同时,还创建了一个名为“courses”的表,用于存储课程的信息,包括课程编号、课程名称和授课教师等。
接下来,就是实验的核心部分——数据查询操作。
通过使用 SQL 的 SELECT 语句,我们可以从数据库中获取所需的数据。
例如,要查询所有年龄大于 20 岁的学生信息,可以使用以下语句:```sqlSELECT FROM students WHERE age > 20;```除了简单的条件查询,我们还学习了如何进行多表连接查询。
比如,要获取同时选修了“数据库原理”和“操作系统”两门课程的学生信息,就需要将“students”表、“courses”表以及选课关系表进行连接查询。
数据更新操作也是实验中的重要内容。
通过使用 UPDATE 语句,我们可以对数据库中的数据进行修改。
但在进行数据更新时,一定要谨慎操作,确保更新的结果符合预期,避免造成数据的错误或丢失。
例如,如果要将某个学生的年龄增加一岁,可以使用以下语句:```sqlUPDATE students SET age = age + 1 WHERE student_id ='_____';```在实验过程中,数据完整性的维护也是至关重要的。
我们通过设置主键、外键以及各种约束条件,来确保数据的准确性和一致性。
数据库实验报告(通用3篇)

数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。
2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。
3,并且这次实习可以非常好的关心我完成将来的毕业论文。
四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。
然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。
同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。
使我们队公司有了更进一步的了解实习,就是在实践中学习。
经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。
当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。
还有发布了一些关于公司产品的博客,比如新浪,网易。
而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。
经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。
数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。
实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。
数据库应用课程实验报告4

stringsql =string.Format("update Student set Name='{0}',Phone='{1}',Email='{2}',QQ='{3}',WorkUnit='{4}',OfficePhone='{5}',HomeAddress='{6}',
三、程序设计说明:(实现步骤、算法设计思路等)
步骤:先设计毕业生登录之后的主界面,进入之后就有“学生信息管理”的菜单栏,此外在主界面窗体下的状态栏设计时,将用户登录时的用户名带到进进了,并且显示当前的日期。之后就是对菜单栏中的菜单项进行具体操作(显示班级列表,并且可以增加、删除、修改班级信息)的实现。
txtNewPwdAgain.Focus();
return; }
using(SqlConnectionconnn =newSqlConnection(connStr))
{stringsql =string.Format("update [User] set Password='{0}' where UserName='{1}'", txtNewPwd.Text.Trim(),erName);
2、进一步熟练掌握SqlCommand对象的ExecuteNonQuery方法。
二、实验内容:
1、完成“毕业生实习与就业跟踪系统”的用户密码修改功能
2、完成“毕业生实习与就业跟踪系统”的学生实习信息管理,即在DataGridView控件中显示学生实习信息,并且可以增加、删除、修改、查询学生实习信息。
数据库实验报告(实验四)

沈阳工程学院学生实验报告(课程名称:数据库系统原理)实验题目:数据查询(二)班级学号姓名日期年月日地点指导教师一、实验目的掌握SQL查询命令:包括连接查询、嵌套查询和集合查询。
二、实验环境Oracle10g数据库系统。
三、实验内容与要求使用Select命令完成下列数据查询。
一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称。
⑵查询“沈阳市”顾客,购买“01”商品的顾客信息。
⑶查询“沈阳市”且购买了商品的顾客信息。
⑷查询购买“01”商品,且购买数量在2以上的顾客姓名。
⑸查询每个顾客购买商品的名称及购买数量和日期。
⑹查询购买商品单价超过100的顾客姓名。
二、嵌套查询⑴查询与“rose”在同一城市的顾客信息。
⑵查询购买商品名称为“面包”的顾客编号和姓名。
三、EXISTS查询⑴查询没有购买“0001”商品的顾客姓名。
⑵查询购买了全部商品类别的顾客的姓名。
四、实验过程及结果分析一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称,如图1-1所示。
select guest.*,guestname,goodsnamefrom guest,goods,purchasewhere guest.guestid=purchase.guestidand goods.goodsid=purchase.goodsid;图1-1⑵查询“沈阳市”顾客,购买“01”商品的顾客信息,如图1-2所示。
select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳'and purchase.goodsid='01';图1-2⑶查询“沈阳市”且购买了商品的顾客信息,如图1-3所示。
select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳';图1-3⑷查询购买“01”商品,且购买数量在2以上的顾客姓名,如图1-4所示。
数据库原理与应用实验报告四

计算机工程系实验报告学生信息系别计算机学院专业计算机科学与技术班级17计科2+2 姓名徐浩俊学号2017031601025实验信息课程名称数据库原理与应用实验名称实验4 数据操作实验时间指导教师文琦批改情况成绩评阅教师文琦实验目标:1.掌握各种录入数据至数据库表的方法。
2.掌握修改数据库表中数据的方法。
3.掌握删除数据库表中数据的方法。
4.掌握复制数据库表的方法。
实验结果:利用shiyan4.sql文件中的脚本生成相应的数据库及数据表。
1.根据实验3.1步骤完成从Eecel工作表(非SQL Server数据源数据)导入SQL Server数据库表的方法(注意学生表S结构已存在),回答以下问题。
①请从素材中选择自己班级的Excel表格,若表格不满足数据库中的关系则需要稍加修改,再将表里的数据导入学生表S中。
导入是否会遇到问题?如何解决?无法直接映射,需要修改表格。
只保留一行名称。
②请将最后导入在数据库的数据截图。
③有无更简单的方法?有,直接在编辑表中粘贴数据。
2.将数据库表T的数据交互式录入并截图说明。
(P46)3.请使用SQL语句完成数据库表C的数据录入,将相应的SQL语句及最终存储的数据截图说明。
可否用一条insert into语句一次插入多行数据,如有,请描述相应的SQL语句。
USE jxskGOINSERT INTO C VALUES('C1','程序设计','60')GOUSE jxskGOINSERT INTO C VALUES('C1','课程1','60'),('C1','课程2','80'),('C1','课程3','100')GO4.完成实验3.2后,思考利用SQL语句完成以下问题。
①现将信息系归为计算机系,数据表T中哪些数据需要修改,请使用SQL 语句完成,并将最终修改后的数据截图。
数据库与实验报告4

一.实验内容、步骤以及结果1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1986年出生的学生的视图,视图中包括学号,性别,成绩三个信息。
2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)方法一:create view V_SPasselect sno,pno,qtyfrom spjwhere spj.jno in(select jno from j where j.jname='三建')方法二:create view V_SPJasselect sno,pno,qty from spj,jwhere j.jno=spj.jno and j.jname='三建'3.用SQL语句完成第五版教材第三章第11题中的视图查询(1)找出三建工程项目使用的各种零件代码及其数量。
SELECT PNO,QTY FROM V_SP(2)找出供应商S1的供应情况。
SELECT *FROM V_SPJ WHERE SNO='S1'4.用SQL语句完成视图的数据更新。
(1)给视图V_SPJ中增加一条数据。
INSERTINTO V_SPJ(SNO,PNO,QTY)VALUES( 's5','p3',900)提示:-SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO为NULL,所以视图中没有该条数据。
-SPJ表中JNO不能为空时,可以使用instead of触发器实现。
(2)修改视图V_SPJ中的任意一条数据的供应数量。
updateV_SPJ set qty=111where sno='s1' and pno='p1'(3)删除视图V_SPJ中的任意一条数据(注意所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用instead of触发器实现)。
国开学习网电大数据库应用技术第四次形考作业实验结果

国开学习网电大数据库应用技术第四次形考作业实验结果一、实验目的1. 加深对数据库原理与技术的理解。
2. 巩固数据库设计、建立及查询的基本技能。
3. 提高学生运用大数据库技术解决实际问题的能力。
二、实验要求1. 独立完成实验,确保实验数据的准确性与合理性。
2. 按照实验指导书要求,完成实验报告的撰写。
3. 实验报告需包含实验目的、实验环境、实验步骤、实验结果及实验总结。
三、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 8.03. 编程语言:Python 3.84. 开发工具:Visual Studio Code四、实验步骤1. 数据库设计:根据实验要求,设计合适的数据库表结构。
- 创建学生表(student),包含学号(id)、姓名(name)、性别(gender)、年龄(age)等字段。
- 创建课程表(course),包含课程编号(id)、课程名称(name)、学分(credit)等字段。
- 创建选课表(elective),包含学生编号(student_id)、课程编号(course_id)、成绩(score)等字段。
2. 数据库建立:在MySQL中执行SQL语句,创建实验所需的数据库及表。
CREATE DATABASE IF NOT EXISTS education;USE education;CREATE TABLE IF NOT EXISTS student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),gender ENUM('男', '女'),age INT);CREATE TABLE IF NOT EXISTS course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100),credit INT);CREATE TABLE IF NOT EXISTS elective (student_id INT,course_id INT,score INT,PRIMARY KEY (student_id, course_id),FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id));3. 数据查询:运用SQL语句进行数据查询。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太原理工大学学生实验报告(1)了解SQL Serer数据库系统中数据完整性控制的基本方法(2)熟练掌握常用CREATE 或ALTER 在创建或修改表时设置约束(3)了解触发器的机制和使用(4)验证数据库系统数据完整性控制二、实验内容和原理结合school 数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯一约束、检查约束、非空约束等,掌握各约束的定义方法。
设置一个触发器,实现学生选课总学分的完整性控制,了解触发器的工作机制。
设计一些示例数据,验证完整性检查机制。
3.1要求包括如下方面的内容:使用 SQL 语句设置约束使用 CREATE 或 ALTER 语句完成如下的操作,包括:1.设置各表的主键约束2.设置相关表的外键3.设置相关属性的非空约束、默认值约束、唯一约束4.设置相关属性的 CHECK 约束3.2使用触发器创建一个触发器,实现如下的完整性约束:(1)当向 SC 表中插入一行数据时,自动将学分累加到总学分中。
(2)记录修改学分的操作。
3.3检查约束和触发器分别向相关表插入若干条记录,检查你设置的完整性约束是否有效:1.插入若干条包含正确数据的记录,检查插入情况2.分别针对设置的各个约束,插入违反约束的数据,检查操作能否进行3.向 SC 表插入若干行数据,检查触发器能否实现其数据一致性功能。
三、主要仪器设备(必填)HP6460 SQL SERVER2008四、方法与实验步骤(可选)一、声明完整性约束创建学生选课数据库 TEST,包括三个基本表,其中 Student 表保存学生基本信息,Course 表保存课程信息,SC 表保存学生选课信息,其结构如下表:表 1. Student 表结构表 2. Course 表结构表 3. SC 表结构1.创建基本表及约束(1)创建 Student 表CREATE TABLE Student( Sno CHAR(8) PRIMARY KEY,Sname CHAR(8) NOT NULL,Ssex CHAR(2) CHECK( Ssex in ('男','女')),Sage SMALLINT,Sdept CHAR(20),Sclass CHAR(4) NOT NULL,Stotal smallint DEFAULT 0);掌握主键约束、非空约束、CHECK约束、默认值的定义格式。
(2)创建 Course 表CREATE TABLE Course( Cno CHAR(4) CONSTRAINT FK_Course PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4) ,Ccredit SMALLINT);(3)创建 SC 表CREATE TABLE SC( Sno CHAR(8) FOREIGN KEY (Sno) REFERENCES Student(Sno), Cno CHAR(4),Grade SMALLINT CONSTRAINT SC_CHECK CHECK(Grade >0 AND Grade<100), PRIMARY KEY (Sno,Cno),CONSTRAINT FK_SC FOREIGN KEY (Cno) REFERENCES Course(Cno) );1.掌握多个属性的主键约束、外键约束、CHECK 约束的定义格式。
2.掌握约束的命名方式。
(4)检查表是否创建成功。
2.插入数据将如下表格中的数据分别插入到数据库相应的表中:表 4.学生基本信息表表 5.课程信息表(1)插入学生信息到Student表INSERT INTO Student VALUES('20100001','李勇','男',20,'CS','1001',0) INSERT INTO Student VALUES('20100002','刘晨','女',19,'CS','1001',0) INSERT INTO Student VALUES('20100021','王敏','女',18,'MA','1002',0) INSERT INTO Student VALUES('20100031','张立','男',19,'IS','1003',0) INSERT INTO Student VALUES('20100003','刘洋','女','1001',0) INSERT INTO Student VALUES('20100010','赵斌','男',19,'IS','1005',0)INSERT INTO Student VALUES('20100022','张明明','男',19,'CS','1002',0请写出插入其余行的插入语句,并插入数据。
(2)插入到课程信息到Course表INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('1','数据库系统原理', '5',4) INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('2','高等数学', null,2)INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('3','管理信息系统', '1',4)INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('4','操作系统原理', '6',3)INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('5','数据结构', '7',4)INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('6','数据处理', NULL,2)INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('7','C语言', NULL,4)请写出插入其余行的插入语句,并插入数据。
(3)插入到SC表INSERT INTO SC VALUES('20100001','1',92) INSERT INTO SCVALUES('20100001','2',85)INSERT INTO SC VALUES('20100001','3',88)INSERT INTO SC VALUES('20100002','1',90)INSERT INTO SC VALUES('20100002','2',80)INSERT INTO SC VALUES('20100003','1',NULL)INSERT INTO SC VALUES('20100010','3',NULL)(4)检查插入到表中的数据3.修改约束对数据库中已经存在的表,可对其增加约束或修改已存在的约束:(1)添加约束ALTER TABLE Course ADD UNIQUE(Cname)ALTER TABLE Course ADD FOREIGN KEY (Cpno) REFERENCES Course(Cno)(1)掌握如何添加约束(2)掌握如何声明唯一约束(2)修改约束ALTER TABLE SC DROP CONSTRAINT SC_CHECKALTER TABLE SC ADD CONSTRAINT SC_CHECK CHECK(Grade >=0 AND Grade<=100)(1)掌握如何修改约束(2)理解命名约束的优点二、检查完整性约束通过修改数据库中的数据检查完整性约束条件的作用。
1.检查主键约束(1)执行下面的语句修改Student表,观察语句能否正确运行,解释为什么?INSERT INTO Student VALUES('20100101','李斌','男',20,'CS','1001',0) INSERT INTO Student VALUES('20100001','李斌','男',20,'CS','1001',0) UPDATE Student SET Sno='20100021' WHERE Sname = '张立'(2)执行下面的语句修改SC表,观察语句能否正确运行,解释为什么?INSERT INTO SC VALUES('20100001','1',78)INSERT INTO SC VALUES('20100001',null,78)2.检查唯一约执行下面的语句修改Course表,观察语句能否正确运行,解释为什么?INSERT INTO Course VALUES('8','JAVA',7, 3) INSERT INTO Course VALUES('9','数据结',7,3)3.检查默认值、允许空值列运行如下的语句:INSERT INTO Student(Sno,Sname,Ssex,Sclass) VALUES('20100102','张盛','男','1008') 观察插入数据行的数值SELECT * FROM Student WHere Sno='20100102'4.检查非空约束下面的语句包含空值,检查运行结果,解释为什么?INSERT INTO Student(Sno,Sname,Ssex,Sclass) VALUES('20100103','张盛','男',NULL) INSERT INTO Student(Sno,Sname,Ssex) VALUES('20100104','张盛','男')5.检查 CHECK 约束执行下面的语句,解释其运行结果。