一.实验目的
要求学生熟练掌握和使用Transact-SQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作。要求学生按要求实现基本表数据更新,并在数据更新过程中,验证各类数据完整性约束条件,即实体完整性、参照完整性及用户定义完整性约束条件。
二.实验软件环境
SQL Server 2000
三.实验内容
(一)实验要求:
1)使用SQL Server 2000查询分析器,并用INSERT、UPDATE、DELETE语句进行基本表数据更新,要求在进行数据的更新时,所修改的记录不仅满足数据完整性约束条件,并注意各个数据表之间的关联性。
2)在数据更新过程中,通过分析SQL命令执行后数据的差异,来验证SQL命令的正确性,并通过查看运行结果的合法性,来验证各类完整性约束条件正确性。
3)熟练使用企业管理器进行数据库的建立和维护操作,并掌握利用查询分析器进行数据维护的方法。
(二)具体实验步骤:
1)数据输入分别向Book、Card、Borrow三个基本表中输入10条数据,其次输入的数据满足数据完整性约束条件及表与表之间的关联性的要求。
2)修改数据修改Book、Card、Borrow三个基本表的数据,并要求将Book表中price属性的值全部打8折、“清华大学出版社”的书籍总藏书量增加100本等,同时满足数据完整性约束条件。
3)删除操作删除Book、Card、Borrow三个数据表中的某些数据,并注意数据完整性约束条件的限制。要求删除Book表中借书日期为1年前的数据,以及要求删除“电子工业出版社”
的书籍。
四.实验的结果及分析
1)数据输入
INSERT INTO Book V ALUES('0001','计算机','数据库系统','电子工业出版社','2004','蔡延光','28','4') INSERT INTO Book V ALUES('0002','计算机','Java编程思想','清华大学出版社','2000','布鲁斯','35','13')
INSERT INTO Book V ALUES('0003','计算机','数据结构','机械工业出版社','1999','唐平','15','10') INSERT INTO Book V ALUES('0004','计算机','计算机网络','电子工业出版社','200','谢希仁','90','15') INSERT INTO Book V ALUES('0005','数学','线性代数','清华大学出版社','2012','黄学为','20','12') INSERT INTO Book V ALUES('0006','数学','高等数学','电子工业出版社','2012','吴赣昌','30','30')
INSERT INTO Book V ALUES('0007','计算机','C++程序设计','电子工业出版社','2012','潭浩强','40','10')
INSERT INTO Book V ALUES('0008','计算机','网络安全','机械工业出版社','2012','胡建伟','110','10') INSERT INTO Book V ALUES('0009','计算机','软件工程','清华大学出版社','2012','李燕翔','120','10') INSERT INTO Book V ALUES('0010','英语','大学英语','电子工业出版社','2012','杜鲁','60','10')
INSERT INTO Card V ALUES('3110001','赖同学,'老师','T')
INSERT INTO Card V ALUES('3110002','何同学','计算机学院','G')
INSERT INTO Card V ALUES('3110003','陈同学','外国语学院','U')
INSERT INTO Card V ALUES('3110004','冯同学','土木工程学院','T')
INSERT INTO Card V ALUES('3110005','雷同学','物理学院','O')
INSERT INTO Card V ALUES('3110006','李同学','化学学院','U')
INSERT INTO Card V ALUES('3110007','黎同学','数学学院','T')
INSERT INTO Card V ALUES('3110008','刘同学','生物学院','G')
INSERT INTO Card V ALUES('3110009','史同学','历史学院','O')
INSERT INTO Card V ALUES('3110010','张同学','研究生学院','O')
INSERT INTO Borrow V ALUES('3110001','0001','2004-9-1')
INSERT INTO Borrow V ALUES('3110001','0002','2010-1-1','2012-2-3')
INSERT INTO Borrow V ALUES('3110002','0010','2012-1-1','2013-2-3')
INSERT INTO Borrow V ALUES('3110003','0001','2013-2-1','2013-4-3')
INSERT INTO Borrow V ALUES('3110004','0003','2013-1-5','2013-2-3')
INSERT INTO Borrow V ALUES('3110005','0008','2013-2-1')
INSERT INTO Borrow V ALUES('3110006','0006','2013-1-2','2013-4-3')
INSERT INTO Borrow V ALUES('3110006','0008','2013-1-11','2013-3-3')
INSERT INTO Borrow V ALUES('3110010','0007','2013-1-11','2013-2-14')
INSERT INTO Borrow V ALUES('3110005','0007','2013-3-1','2013-4-3')
SELECT *FROM Book--运行可以查看Book表
SELECT *FROM Card--运行可以查看Card表
SELECT *FROM Borrow --运行可以查看Borrow表
2)修改数据
UPDATE Book SET price=0.8*price
UPDATE Book SET book_total=book_total+100 WHERE press='清华大学出版社'
3)删除数据
DELETE FROM Borrow WHERE Borrow_date<=GETDATE()-365
DELETE FROM Borrow WHERE bno IN(SELECT bno FROM Book WHERE press='电子工业出版社')
DELETE FROM Book WHERE press='电子工业出版社'
五. 实验心得体会
录入数据时,有可能插入无效或重复的数据。删除数据时系统没提示有可能残留一些待删除的数据,导致其他表数据不完整不能用。通过本实验基本学会掌握和使用Transact-SQL及SQL server 企业管理器向数据库中输入数据、修改数据和删除数据的操作,实现带参照完整性的数据操作。
课程设计报告题目:数据库实验上机实验报告 专业班级:计算机科学与技术1210班 学号: U9 姓名:候宝峰 指导教师: 报告日期: 2015-06-04 计算机科学与技术学院
目录 一、基本SQL操作(部分选做)............. 错误!未定义书签。 1)数据定义........................... 错误!未定义书签。 2)数据更新........................... 错误!未定义书签。 3)用SQL语句完成下述查询需求:....... 错误!未定义书签。 二、DBMS综合运用(部分选做)............. 错误!未定义书签。 1)学习sqlserver的两种完全备份方式:数据和日志文件的脱机备份、系统的备份功能(选做)。......... 错误!未定义书签。 2)学习系统的身份、权限配置操作....... 错误!未定义书签。 3)了解SQLSERVER的存储过程、触发器、函数实现过程错误!未定义书签。 三、实验总结............................. 错误!未定义书签。 1)实验问题及解决..................... 错误!未定义书签。 2)实验心得........................... 错误!未定义书签。
一、基本SQL操作(部分选做) 1)数据定义 参照下面的内容建立自己实验所需的关系数据 创建三个关系: 商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10)】 主关键字为(商品名称)。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20),PAREA char(20)】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】 SALE【GNAME char(20),PNAME char(20),PRICE FLOAT,ATYPE char(10)】主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。 create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname)); 图1 goods表 图2 plaza表 图3 sale表 2)数据更新 (1)向上述表格中用sql语句完成增、删、个、改的操作;
合肥工业大学实验报告一 课程名称:数据库系统原理及应用学号: 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表:
数据库实验报告
武汉理工大学 学 生 实 验 报 告 书 实验课程名称 数据库系统概论 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 学生学号 实验课成绩
2013 — 2014 学年第二学期实验课程名称:数据库系统概论 实验项目名称SQL SEVER 2000的系 统工具及用户管理 实验 成绩 实验者专业班 级 组别 同组者实验 日期 2014年4 月24日
第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000工具创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 二、实验基本原理与设计(包括实验方案设计,实 验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (2)创建数据库和查看数据库属性。 (3)创建表、确定表的主码和约束条件。 (4)查看和修改表的结构。 (5)向数据库输入数据,观察违反列级约束时出现的情况。 (6)修改数据。 (7)删除数据,观察违反表级约束时出现的情况。 三、主要仪器设备及耗材 Windows XP SQL SERVER 2000
第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录, 实验现象记录,实验过程发现的问题等) 没有错误 错误:未能建立与WORKEPLACE\XUMENGXING的链接SQL Server 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:
华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期: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.完成用户界面的设计,对重要数据进行加密。
数据库实验报告(四) 姓名:学号:班级: 1.简单查询: (1) 查询“数据库开发技术”课程的学分; SQL语句: select credit from course where course_name='SQL Server数据库开发技术'; 或者模糊查询: select credit from course where course_name like'%数据库开发技术'; 执行结果: (2) 查询选修了课程编号为“dep04_s004”的学生的学号和成绩,并将成绩按降序输出; SQL语句: select student_id,grade from student_course where course_id='dep04_s003' order by grade desc; 执行结果:
(3) 查询学号为“g9940205”的学生选修的课程编号和成绩; SQL语句: select course_id,grade from student_course where student_id='g9940205'; 执行结果: (4) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。 SQL语句: select student_id,grade from student_course where course_id='dep04_s001'and grade>'85'; 执行结果:
2.在多表连接的查询实验中,用Transact SQL语句完成以下查询操作: (1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩; SQL语句: select student.student_id,student_name,grade from student,student_course where student.student_id=student_course.student_id and student_course.course_id='dep04_s002' and student_course.grade>'85'; 执行结果: (2)查询所有学生的学号、姓名、选修的课程名称和成绩; SQL语句: select student.student_id,student_name,course_name,grade from student,course,student_course where student.student_id=student_course.student_id and student_course.course_id=course.course_id; 执行结果:
滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日
实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.
福建农林大学计算机与信息学院 实验报告 课程名称:数据库原理及应用 姓 名: 系: 专业:计算机科学与技术 年级: 学号: 指导教师:李金铭 副教授 职 称: 2015年月日
实验目录:
福建农林大学计算机与信息学院实验报告 实验名称:数据库得定义实验 一、实验目得与要求 (1)要求学生熟练掌握与使用SQL、Transact-SQL、SQL Server企业管理器创建数据库、表、索引与修改表结构. (2)学会使用SQL Server查询分析器接收Transact-SQL语句与进行结果分析。 二、实验内容与原理 1、基本操作实验 (1)使用企业管理器按教材中得内容建立图书—读者数据库。 (2)在企业管理器中查瞧图书读者数据库得属性,并进行修改,使之符合要求. (3)通过企业管理器,在建好得图书借阅数据库中建立图书、读者与借阅3个表,其结构为; 图书(书号,类别,出版社,作者,书名,定价); 读者(编号,姓名,单位,性别,电话); 借阅(书号,读者编号,借阅日期) 要求为属性选择合适得数据类型,定义每个表得主码,就是否允许空值与默认值等列级数据约束。 (4)在企业管理器中建立图书、读者与借阅3个表得表级约束:每个表得主码约束;借阅表与图书表间、借阅表与读者表之间得外码约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表得书号与读者编号得惟一性约束:实现读者性别只能就是“男”或“女”得Check(检查)约束. 三、实验环境 硬件:计算机 软件:Windows 2000与SQL Server 2000 四、算法描述及实验步骤 l.通过企业管理器,建立图书借阅数据库 在数据库图标上右击,选择“新建数据库”,输入“图书_读者",单击“确定”按钮,关闭对话框。在企业管理器窗口中出现“图书-读者”数据库标志,这表明建库工作已经完成。2.在建好得图书借阅数据库中建立图书、读者与借阅3个表 (1)建立“图书”表。 选中图书_读者数据库中得表文件夹,单由鼠标右键,在弹出得菜单中选择“新建表”,如图2所示。 (2)输入结构 书号:char长度10,不允许空值。并设置为主键。 类别:char长度12,允许空值。 出版社:varchar 长度50,不允许空值。 作者:varchar长度50,允许空值。 名称:varchar 长度50,不允许空值。 定价:char长度10,允许空值。 建立表格如图3所示。 (3)建立“读者"表与“借阅"表。 与建立“图书"表得形式一致,如表2。
一实验题目 .索引的建立和删除操作 .视图的创建、修改、更新和查询操作 二实验目的 .掌握数据库索引建立与删除操作,掌握数据库索引的分类,并了解建立数据库索引的意义、作用。 .掌握视图的创建和查询操作,理解视图的使用,理解实图在数据库安全性中的作用。 三实验内容 1.索引的建立和删除操作 (1)在表中,建立按照升序的惟一性索引。 (2)在表中,建立按照学号升序和课程号降序的唯一性索引。 (3)在表中,按照生日建立一个非聚簇索引。 (4)在表中,建立一个按照课程名升序的聚簇索引。 (5)删除索引。 2.视图的创建、修改、更新和查询操作 (1)建立一个关于所有女生信息的视图。 (2)将各系学生人数,平均年龄定义为视图 (3)建立一个视图反映学生所选课程的总学分情况。 (4)建立一个所有学生课程成绩的视图,包括基本学生信息,课程信息和成绩。 (5)在视图基础之上,建立一个两门课以上成绩不及格的学生情况视图。 (6)建立一个至少选修了门课及门课以上的学生信息的视图。 (7)修改视图,要求只显示年以前出生的女生信息。 (8)在视图查询不及格超过门课的学生信息。 (9)删除视图。 (10)通过视图,将“王丹”的名字修改为“汪丹”,并查询结果。 (11)通过视图,新增一个学生信息(“刘兰兰”,“女”,“计算机学院”,),并查询结果。 (12)通过视图,删除年出生的女生信息,并查询结果。 (13)通过视图,将“汪丹”的名字修改为“王丹”,是否可以实现,请说明原因。 (14)通过视图,将“”学生的平均分改为分,是否可以实现,请说明原因。 四实验要求 .要求掌握索引的类型,以及创建索引时的注意事项,例如每个表只能创建一个聚集索引,可以创建非聚集索引最多为个,等等。 .理解创建视图的目的和意义。掌握创建视图时需要考虑的原则:只能在当前数据库中创建视图、视图名不得与该用户的表名相同、可在视图上建立视图、定义视图不能包括等关键字、不能建立临时视图,等等。 .报告中由同学写明具体的操作意图(文字描述)、操作命令(语句)、和执行结果(文字描述适当截图)。
1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'
(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;
数据库上机实验报告 4 学号:姓名:日期:年月日 实验目的:(1)练习连接查询;(2)练习视图的创建与使用;(3)学习使用ODBC的方法;(4)体验T-SQL的功能;体验存储过程的功能;体验表值函数、标量值函数的作用;体验ranking等功能。 1 练习视图及连接查询。 (1)创建一个视图,视图名为viNF,视图内容为select id,count(*) as nf from friends group by id。执行成功后,将SQL语句复制到下方。 (2)基于viNF视图,查找拥有最多好友的用户、最少好友的用户。执行成功后,将SQL语句复制到下方。 (3)基于users表和viNF视图进行连接查询。分别进行内连接、全外连接、左外连接、右外连接四种操作。执行成功后,将SQL语句复制到下方,并回答:四种结果表,哪两个的结果是一致的,为什么? (4)将题(3)中全外连接保存为一个新的视图viUAF。 2 通过ODBC用Excel打开users表。 3 体验T-SQL。 回顾实验2中的题目: 定义最低价格为成本价;依据此成本价做如下计算: 连接Goods,Goods_Extent,Sellers表,按照总利润,输出前10名;要求输出表的格式为(商品名称,卖家名称,商品价格,运费,卖家信誉,卖家好评率,历史销量,历史利润,期内销量,期内利润,总销量,总利润) 利用如下语句进行查询,体会和之前有什么不同。如感兴趣,自己可以仿照写一个变量定义、赋值及应用的例子。 declare @cost as float; select @cost=min(good_price)from goods; select top 10 good_name as商品名称, goods.seller_name as卖家名称, good_price as商品价格, good_shipping as运费,
北京邮电大学国际学院 _11-12_学年第_二_学期实验报告 课程名称:数据库技术与应用 项目名称:基本SOL语句的用法 项目完成人: 姓名:武学超学号: 指导教师:____ ____韩祥斌_____________ 日期: 2012 年 3 月 16 日
目录 一、实验目的............................................. 错误!未定义书签。 1. 结合数据库技术与应用教学的基本知识,理解并掌握基本SQL语句的用法。错误! 未定义书签。 二、实验内容............................................. 错误!未定义书签。 1. 回顾基本SQL语句的语法............................... 错误!未定义书签。 2. 回顾MySQL的基本用法................................. 错误!未定义书签。 3. 初始化数据库,将文件中的内容复制并粘贴到MySQL-Front 的SQL编辑器中,然 后点击“运行”........................................... 错误!未定义书签。 4. 了解实验用例的背景,并进行如下SQL语句的训练:....... 错误!未定义书签。 三、实验环境............................................. 错误!未定义书签。 1. 32位Xp系统下 Mysql 程序(命令行).................. 错误!未定义书签。 四、实验结果............................................. 错误!未定义书签。 1. 问题讨论............................................. 错误!未定义书签。 2. 试验心得............................................. 错误!未定义书签。
实验名称课时实验报告成绩实验(一)——数据库基本操作 2 实验(二)——SQL语句 6 实验(三)——数据库完整性与 4 安全性实验 实验(四)——数据库编程 4 备注:
实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行 基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、 关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材) A.新建STU数据库
单击STU数据库,选择表,然后新建,依次用相同的步骤建立STU、COURSES 和SC表,见图B B.新建表 数据录入:
数据库实验报告4
《数据库原理》实验报告 题目:实验四视图与索引学号姓名班级日期Xxxx Xx xxxxx 2016.10.20 一. 实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是 1986年出生的学生的视图,视图中包括学号,性别,成绩三个信息。 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ) 方法一: create view V_SP as select sno,pno,qty from spj where spj.jno in (select jno from j where j.jname='
三建') 方法二: create view V_SPJ as select sno,pno,qty from spj,j where j.jno=spj.jno and j.jname='三建'
INTO V_SPJ(SNO,PNO,QTY) VALUES( 's5','p3',900) 提示: -SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由 于JNO为NULL,所以视图中没有该 条数据。 -SPJ表中JNO不能为空时,可以使用instead of触发器实现。 (1)修改视图V_SPJ中的任意一条数据的供 应数量。 update V_SPJ set qty=111 where sno='s1' and pno='p1'
(2)删除视图V_SPJ中的任意一条数据(注意 所创建视图可以视图消解时,才能正常删除,否则会删除失败;也可以考虑用 instead of触发器实现)。 DELETE V_SPJ where sno='s1' and pno='p1' and qty=111 用instead of触发器实现 CREATE TRIGGER trdV_SPJ ON V_SPJ INSTEAD OF DELETE AS BEGIN Delete from V_SPJ WHERE sno='s1' and pno='p1' and qty=111 END
数据库-实验报告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)
实验一 SQL Server基本使用与数据定义一.实验目的 1.掌握“服务管理器”、“企业管理器”及“查询分析器”基本使用方法;2.熟悉数据库建模及E/R图的画法; 3.掌握SQL Server 中数据库、及数据表的建立与管理方法; 4.掌握数据的导入/导出及数据库备份/还原方法。 二.实验内容 一、SQL Server 基本使用 1.启动SQL SERVER。 2.注册服务器 3.企业管理器属性 4.查询分析器介绍 5.查看数据库及浏览表中记录 二、数据库的建立与管理 1.数据库建模 2.启动、并打开SQL Server 3.使用图形界面创建数据库和表 4.使用查询分析器创建表 5.数据库的备份与还原
实验二 SQL查询 一.实验目的: 1.掌握SQL语言中SELECT语句的多种查询方式。 2.掌握对表建立与删除索引的方法。 3.掌握聚焦函数的使用方法。 4.掌握集合查询方法。 二.实验内容: 1.建立与删除[索引]的方法。 在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。 CREATE INDEX 代理商No ON 代理商(代理商编号) CREATE INDEX 客户No ON 客户(客户编号) CREATEINDEX产品No ON产品(产品编号) CREATEINDEX订单No ON订单(订单编号) 2.单表查询, ①从产品表中查询现有产品的库存量。 SELECT COUNT(*) FROM产品 ②从客户表中查询“王五”的地址及代理商编号。 SELECT地址,代理商编号 FROM客户 WHERE姓名='王五' ③从代理商表中查询代理商“惠普”的提成金额。 SELECT提成金额 FROM代理商 WHERE姓名='惠普' ④从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。 SELECT产品编号,订购数量 FROM订货项目 WHERE订单编号='444' ⑤分别求代理商和客户的总数。 SELECT COUNT(*)代理商数 FROM代理商 SELECT COUNT(*)客户数 FROM客户 ⑥从订货项目表中,查询编号为0033的产品定货总数量。 SELECT COUNT(*)订货总数量 FROM订货项目 WHERE订单编号='0033' 3.多表查询 ①查询编号为300的客户通过的代理商的姓名和地址。 SELECT代理商.姓名,代理商.地址
南京晓庄学院 《数据库原理与应用》课程实验报告 实验四查询设计实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:
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)按要求完成实验报告。
合肥师范学院实验报告册 2014 / 2015 学年第1 学期 系别计算机学院 实验课程数据库原理 专业 班级 姓名 学号 指导教师李宜兵
实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COURSE(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材)2)分析并建立各表的主码,用下划线在上面表结构中标出主码。 create table stu (sno char(9) primary key, sname varchar(50),ssex char(2),sage int,sdept char(2) ); select* from course create table course ( cno char(3) primary key,cname varchar(50),cpno char(3),credit int , foreign key (cpno) references course(cno) ); create table sc (sno char(9),cno char(3),grade int, primary key(sno,cno), foreign key (sno) references stu(sno), foreign key (cno) references course(cno) ); insert into stu values('95001','李勇','男','20','cs'); Stu表:
太原理工大学学生实验报告 (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 表结构
数据库实验报告姓名学号
目录 一.实验标题:2 二.实验目的:2 三.实验内容:2 四.上机软件:3 五.实验步骤:3 (一)SQL Server 2016简介3(二)创建数据库 4 (三)创建数据库表 7(四)添加数据17 六.分析与讨论: 19
一.实验标题: 创建数据库和数据表 二.实验目的: 1.理解数据库、数据表、约束等相关概念; 2.掌握创建数据库的T-SQL命令; 3.掌握创建和修改数据表的T-SQL命令; 4.掌握创建数据表中约束的T-SQL命令和方法; 5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容: 1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹; 2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义; 3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度; 4.添加具体数据;
四.上机软件: SQL Server 2016 五.实验步骤: (一)SQL Server 2016简介 1.SQL Server 2016的界面 2.启动和退出SQL Server 2016 1)双击图标,即出现SQL Server2016的初始界 2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可 注意事项: 1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存, 2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作
实验成绩 《数据库系统原理及应用》实验报告 实验一 SQL Server数据库和表 专业班级:软件1402 姓名魏振方学号201416920306 完成时间:2016.10.17_ 一、实验目的 熟悉SQL Server Management Studio(SSMS)的工作环境;掌握图形化和命令建立数据库的两种方法;熟练掌握T-SQL语句创建、修改和删除表;熟练掌握T-SQL语句插入、修改和删除表数据 二、实验内容及要求 1. 采用图形化方式创建学生—课程数据库,要求: 1) 使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值。 2.以下操作全部采用命令即T-SQL语句进行 1)用T-SQL语句删除创建的数据库test。 2) 用T-SQL语句创建数据库stu,所有选项取默认值。 3)在stu数据库中创建三个表,关系模式如下所示: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit),其中Cpno为外码 学生选课表:SC(Sno,Cno,Grade),其中Sno为外码,Cno为外码 3.用图形化的方式向student、course和sc表添加记录,每个表至少5条记录 4.用T-SQL语句分别对三张表执行增删改操作,操作例子自己设计 三、实验步骤和结果
1、使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB 增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值 图 1 2、用T-SQL语句删除创建的数据库test。 T-SQL语句: USE master GO drop database test; 图 2 3、用T-SQL语句创建数据库stu,所有选项取默认值。 T-SQL语句:create database stu;