数据库第二、三次实验
数据库实训报告实验总结

一、实验背景随着信息化时代的到来,数据库技术已成为当今社会的重要技术之一。
为了提高我国高校学生的实践能力,培养适应社会发展需求的数据库技术人才,我校组织了数据库实训课程。
通过本次实训,使学生们能够掌握数据库的基本原理、设计方法和应用技术,提高解决实际问题的能力。
二、实验目的1. 理解数据库的基本概念和原理;2. 掌握数据库的设计方法和步骤;3. 学会使用数据库管理系统进行数据库的创建、修改和查询;4. 培养学生分析问题、解决问题的能力;5. 提高学生的团队合作意识和沟通能力。
三、实验内容本次数据库实训主要包括以下内容:1. 数据库基本概念:数据库、数据库系统、数据库管理系统等;2. 关系数据库:关系模型、关系代数、关系运算等;3. SQL语言:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等;4. 数据库设计:需求分析、概念结构设计、逻辑结构设计、物理结构设计等;5. 数据库实现:使用数据库管理系统进行数据库的创建、修改和查询;6. 数据库应用:使用数据库技术解决实际问题。
四、实验过程1. 需求分析:根据实训要求,分析数据库所需解决的问题,确定数据库的功能和性能指标;2. 概念结构设计:根据需求分析,设计数据库的概念结构,包括实体、属性和实体间的关系;3. 逻辑结构设计:将概念结构转换为逻辑结构,包括确定表结构、字段类型、约束条件等;4. 物理结构设计:根据逻辑结构设计,确定数据库的物理存储方式,包括数据文件、索引文件等;5. 数据库创建:使用数据库管理系统创建数据库,包括创建表、索引、视图等;6. 数据操作:使用SQL语言进行数据插入、删除、更新和查询等操作;7. 数据库应用:使用数据库技术解决实际问题,如数据备份、恢复、安全等。
五、实验总结1. 理论与实践相结合:本次实训使我深刻认识到,数据库技术不仅包括理论知识,还需要将理论应用于实践,解决实际问题;2. 数据库设计的重要性:数据库设计是数据库应用的基础,一个良好的数据库设计可以提高数据库的性能和可用性;3. SQL语言的应用:SQL语言是数据库操作的核心,熟练掌握SQL语言可以提高数据库操作效率;4. 团队合作与沟通:在实训过程中,与团队成员密切配合,共同完成任务,提高了我的团队合作意识和沟通能力;5. 实验心得:通过本次实训,我对数据库技术有了更深入的了解,掌握了数据库的基本原理、设计方法和应用技术,为今后的学习和工作打下了坚实的基础。
UML实验(含答案)

UML实验(含答案)实验:设计一个网上选课系统的各种UML图网上选课系统的产生是因为目前高校扩招后,在校学生日益增多。
如果仍然通过传统的纸上方式选课,既浪费大量的人力物力,又浪费时间。
同时,在人为的统计过程中不可避免出现的错误。
因此,通过借助网络系统,让学生只要在电脑中输入自己的个人选课信息来替代有纸化的手工操作成为高校管理的必然趋势。
该信息系统能够为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。
要求:1. 上课前必须带草图去,否则记为缺课。
2. 对于每个图要求必须按照书中绘制相关图的过程来撰写实验报告,不可只摆出几个图。
3. 第二次实验课做用例图、类图。
其中需要对每个用例实例撰写用例描述。
4. 第三次实验课做剩下的顺序图、活动图、状态图、构件图、部署图。
需求分析网上选课系统的功能性需求包括以下内容:(1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。
(2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。
满足上述需求的系统主要包括以下几个小的系统模块:(1)基本业务处理模块。
基本业务处理模块主要用于实现学生通过合法认证登录到该系统中进行网上课程的选择和确定。
(2)信息查询模块。
信息查询模块主要用于实现学生对选课信息的查询和自身信息的查询。
(3)系统维护模块。
系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括学生信息、课程信息等信息的维护。
数据库的维护包括数据库的备份、恢复等数据库管理操作。
系统建模在系统建模以前,我们首先需要在Rational Rose 2021中创建一个模型。
并命名为“网上选课系统”,该名称将会在Rational Rose 2021的顶端出现。
1创建系统用例模型创建系统用例的第一步是确定系统的参与者。
数据库原理实验报告-实验三-数据完整性与安全性控制

《数据库原理》实验报告题目:实验三数据完整性与安全性控制学号班级日期2016.10.18一、实验容、步骤以及结果1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)(1)非空约束:为出生日期添加非空约束。
非空约束:取消表S中sbirth的勾。
可能需要重建表。
(2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。
设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存(3)唯一约束:为(sname)添加唯一约束(唯一键),约束名为uk_sname。
唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加-->是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。
设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno,fk_cno。
2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint)删除约束:单击数据库Student-->表-->单击S-->展开键、约束。
数据库上机实验报告

数据库实验(第三次)题目1 实验内容:1. 检索上海产的零件的工程名称;2. 检索供应工程J1零件P1的供应商号SNO;3. 检索供应工程J1零件为红色的供应商号SNO;4. 检索没有使用天津生产的红色零件的工程号JNO;5. 检索至少用了供应商S1所供应的全部零件的工程号JNO;6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数量QTY降序排列。
1select jnamefrom jwhere jno in(select jnofrom spjwhere sno in(select snofrom swhere city ='上海'));2select snofrom spjwhere jno ='j1'and pno ='p1'3selectdistinct snofrom spjwhere pno in(select pnofrom pwhere color='红'and pno in (select pnofrom spjwhere jno ='j1'));4selectdistinct jnofrom spjwhere pno notin(select pnofrom pwhere color ='红'and pno in (select pnofrom spjwhere sno in(select snofrom swhere city ='天津')))5select jnofrom spjwhere sno ='s1'6select jno,qtyfrom spjwhere pno ='p1'orderby qty desc四﹑思考题1. 如何提高数据查询和连接速度。
建立视图2. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。
数据库原理实验2数据查询

课程名称数据库原理实验序号 2实验项目数据查询实验地点实验学时实验类型验证性指导教师实验员专业班级学号姓名年月日成绩:A教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。
四、实验过程(实验步骤、记录、数据、分析)实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。
一、简单的选择与投影查询1、无条件查询1.1查询全体学生的详细记录。
这是一个无条件的选择查询,其命令为:其命令为:select * from students运行结果如右图,显示整张表的内容。
1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(dno)。
这是一个无条件的投影查询,其命令为:select sname,ssexfrom students运行结果如右图,显示了表中的三列。
1.3查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
其命令为:select sno,sname,2017-sage as birth from students运行结果如右图,显示了三列内容。
1.4查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
其命令为:select sname,'birth:' title,YEAR(GETDATE())-sagebirthyear,LOWER(sno) lsnofrom students运行结果如右图,显示了四列内容。
1.5查询选修了课程的学生学号。
其命令为:select distinct snofrom reports运行结果如右图,distinct短语是为了消去查询结果中的重复值。
2、条件查询(1)比较条件1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。
其命令为:select sno,snamefrom studentswhere dno='d03'运行结果如右图,显示了d03系的全体学生姓名与学号。
数据库实验报告全

数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
《数据库技术》第三次实验内容

数据库技术实验创建库和表1.在'D:\SQL2000\DataBase\路径下创建数据库xscj,要求:主数据文件逻辑名为xscj_Data,物理名为xscj_Data.MDF,初始大小为10MB,最大允许为300MB,文件以5MB递增。
事务日志文件逻辑名为xscj_Log,物理名为xscj_Log.LDF,初始大小为10MB,最大允许为200MB,文件以2MB递增。
2.创建表参见教材附录A的要求:CREATE TABLE xs()CREATE TABLE kc()CREATE TABLE xs_kc()上面的SQL代码调试正确之后,请将xscj数据库整个删除,再进行下面的操作。
带完整数据的XSCJ数据库的还原:先下载我课件中的homework备份。
点击后找到你下载下来的homework 的备份(我课件中XSCJ数据库的备份)所在的位置然后一直“确定”下去,就可以还原XSCJ 数据库了,下面的操作都在这个数据库上进行。
如果报错,把第二幅图中的选项改为计算机上正确的文件路径即可。
学生成绩数据的简单和复杂查询实验步骤以xscj数据库为例,使用查询分析器完成以下的查询语句:(1) 查询xs表中的所有学生的信息以及仅查询学生姓名。
(2) 查询出XS表中的前10个或前面10%的学生信息。
(3) 查询总学分<50的所有学生的学号,姓名,专业名。
(4) 将XS_KC表中的学生学号,课程号及成绩输出,其中成绩按70%的分数显示,并且将成绩列名改为‘考试所占分数’。
(5) 查询XS表中的学生相关信息,并以学生姓名,所学专业,出生时间作为列名。
(6) 查询XS_KC表,显示学生成绩在80到89之间的学生选课信息。
(7) 从KC表中找出学时大于60的课程信息,并按照升序和降序显示。
(8) 找出姓王的所有学生。
(9) 查询总学分大于50的所有学生的姓名,性别,专业和选修课程号和成绩(10)查询计算机专业的学分大于50的学生的姓名及所选课程名和成绩。
软件工程实验报告

连接图形元素.
③使用“数据流”连接线将“接口”、“进程”和“数据存储”等形状互相连接起来。
逻辑连接:将数据流起点、终点拖拽到进程或接口中央位置,进程或接口被红色框包围时松开鼠标,这时可看到数据流符号相应端点为红色方框。拖动进程或接口,可看到流据流的端点随着进程或接口的移动而移动.
教师批阅:分数/等级:
评语:
教师签名(手写):
批阅日期:年月日
第三次实验实验项目名称:数据库设计-ER图
时间:年月日
实验环境及原理说明:
(一)实验环境
1.硬件环境P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。
2.软件环境操作系统:Windows XP
3。数据库: Sql Server 2000以上 或 Access 2003以上
1.静态模型图
①将类、对象形状拖到绘图页上,代表要在类静态结构图或概念模型中包
含的类或对象.
②双击每个形状,打开其“UML属性”对话框,可以在其中添加特性、操作和其他属性。
③右击每个类或对象形状,单击“形状显示选项",选择要在形状上显示的属性以及要隐藏的形状部分(如特性、操作和模板参数)
④使用“关联”、“链接"、“依赖关系"、“泛化"或“复合”形状,指示类和对象之间的关系.
第一次实验实验项目名称:熟悉Visio
时间:年月日
实验环境及原理说明:
(一)实验环境
1.硬件环境P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。
2。软件环境操作系统:Windows XP
3。数据库: Sql Server 2000以上 或 Access 2003以上
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械工业出版社
张建平
计算机应用
20
1003
计算机
电子工业出版社
王敏
数据库技术
15
1004
计算机
电子工业出版社
谭浩强
C 语言
25
1005
英语
中国人民大学出版社
张锦芯
应用文写作
25
1006
管理
高等教育出版社
Robison
管理学
15
1007
管理
机械工业出版社
Fayol
工业管理
70
1008
数学
机械工业出版社
②工程表:工程代码为主码
③零件表:零件代码为主码
④供应零件表:供应商代码、工程代码、零件代码为联合主码;
供应商代码为外码,参照表、列是供应商表的供应商代码列;
工程代码为外码,参照表、列是工程表的工程代码列;
零件代码为外码,参照表、列是零件表的零件代码列
实验数据如下:
供应商:
供应商代码
姓名
所在城市
联系电话
3.熟悉查询分析器的运行环境。
三.实验要求
1.在实验之前做好准备。
2.完成实验,并验收实验结果提交实验报告。
四.实验内容
所有查询都全部用SQL语句实现
1.在数据库EDUC中实现如下查询
1)求学生的总人数。
selectcount(*)'总人数'fromstudent
2)求选修了课程的学生人数。
selectcount(distinctsno)'选修了课程的人数'fromstudent_course
selectstudent.sno,student.sname,scorefromstudent,student_course
wherestudent.sno=student_course.snoandscore>=90
④查询每一门课的间接先行课。
o,ame,c2.pcno'间接先行课号',ameas'间接先行课'
一.实验目的
1.掌握子查询的表示。
2.进一步掌握SQL Server 查询分析器的使用方法,加深对SQL 语言的嵌套查询语句的理解
二.实验准备
2.掌握SQL语句的基本语法,并熟悉查询分析器的工作环境。
3.完成了实验四,创建了数据库EDUC及各个基本表。
4.了解子查询的表示方法,熟悉IN 比较符、ANY、EXISTS操作符的用法。
fromcoursec1,coursec2,coursec3
wherec1.pcno=oandc2.pcno=oandc2.pcnoisnotnull
o,c2.pcnofromcoursec1leftouterjoincoursec2on(c1.pcno=o)
4求选修课程C1 且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;
and cno=’c1’
⑤求计算机系和数学系的姓张的学生的信息;
⑥求缺少了成绩的学生的学号和课程号。
2.连接查询操作
对EDUC数据库实现以下查询:
① 查询每个学生的情况以及他(她)所选修的课程;
②求学生的学号、姓名、选修的课程名及成绩;
60000
J3
工程3
张三
70000
J4
工程4
李四
80000
J5
工程5
王五
150000
零件:
零件代码
零件名
规格
产地
颜色
P1
螺丝
中
济南
红色
P2
主板
集成
深圳
绿色
P3
显卡
独立
香港
蓝色
P4
声卡
集成
天津
红色
P5
网卡
100M
上海
黑色
P6
鼠标
无线
上海
黑色
供应零件:
供应商代码
工程代码
零件代码
数量
S1
J2
P4
50
S1
J3
实验七 简单SELECT语句
一.实验目的
1.观察查询结果, 体会SELECT语句实际应用;
2.要求学生能够在查询分析器中使用SELECT语句进行简单查询。
3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
二.实验准备
1.完成实验四,成功建立了基本表。
2.了解简单SELECT语句的用法。
P5
100
S2
J2
P6
500
S4
J1
P3
150
S4
J5
P1
200
S5
J4
P6
100
S6
J4
P2
90
3)求课程的课程号和选修该课程的人数。
selectcno,COUNT(*)'选修该课程的人数'fromstudent_coursegroupbycno
4)求选修课超过3 门课的学生学号
selectsnofromstudent_coursegroupbysnohaving(count(cno)>3)
2.提高操作实验
selectstudent.sno,student.sname,cname,scorefromstudent,course,student_course
wherestudent.sno=student_o=student_o
③求选修C1 课程且成绩在90 分以上的学生学号、姓名及成绩;
03
1003
1008
1998-6-18
04
1004
1003
1997-12-8
05
1005
1010
2001-5-4
06
1006
1001
2005-7-25
07
1007
1010
1997-11-3
08
1008
1009
2004-2-1
09
1009
1004
1996-9-1
10
1010
1008
2000-6-4
实验九 子查询
char
50
作者
char
20
是
书名
char
50
定价
money
8
是
读者:
列名
类型
长度
是否可为空
编号
char
10
姓名
char
8
单位
char
50
是
性别
char
2
是
电话
char
15
是
借阅:
列名
类型
长度
是否可为空
串号
char
10
书号
char
10
读者编号
char
10
借阅日期
datetime
8
要求:
①图书表:书号为主码
3.比较熟悉查询分析器中的SQL脚本运行环境。
三.实验要求
1.完成简单查询和连接查询操作,并验收实验结果提交实验报告
四.实验内容
所有的查询全部用Transact-SQL语句实现
1.简单查询操作
对EDUC数据库实现以下查询:
1求计算机系的学生学号和姓名;
selectsno,snamefromstudentwheredno='信息院'
wherestudent.sno=student_o=student_oandcname='高等数学'
2)求C1 课程的成绩高于张三的学生学号和成绩;
3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);
女
85234567
1006
孙六
物理学院
男
86234567
1007
周七
生命科学院
女
87234567
1008
徐八
化学院
男
88234567
1009
宋九
信息学院
女
89234567
1010
刘十
计算机学院
女
80234567
借阅:
串号
书号
读者编号
借阅日期
01
1001
1003
2000-1-1
02
1002
1005
2002-3-5
三.实验要求
2.在实验开始之前做好准备工作。
3.完成实验,并验收实验结果提交实验报告。
四.实验内容
1.在数据库EDUC中实现一下查询:
1)求选修了高等数学的学生学号和姓名;
selectstudent.sno,student.snamefromstudent,course,student_course
实验八 使用子句的SELECT语句
一.实验目的
1. 熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
2. 进一步掌握SQL Server 查询分析器的使用,加深对SQL 语言的嵌套查询语句的理解。
二.实验准备
1.了解SELECT语句的GROUP BY和ORDER BY子句的作用。
2.了解统计函数和分组统计函数的使用方法。
李平
线性代数
50
1009
管理
机械工业出版社
Durark
公司的概念
14
1010
数学
机械工业出版社
徐新国
统计学
15
读者:
编号
姓名