文档库 最新最全的文档下载
当前位置:文档库 › 实验8 数据查询

实验8 数据查询

实验8   数据查询
实验8   数据查询

实验3 数据查询

1.实验目的

(1)掌握使用Transact-SQL的SELECT语句进行基本查询的方法。

(2)掌握使用SELECT语句进行条件查询的方法。

(3)掌握SELECT语句的GROUP BY、ORDER BY以及UNION子句的作用和使用方法。

(4)掌握嵌套查询的方法。

(5)掌握连接查询的操作方法。

2.实验内容及步骤

请先附加studentsdb数据库,然后完成以下实验。

简单查询:

(1)在studentsdb数据库中,使用下列SQL语句将输出什么?请用文字描述

SELECT COUNT(*) FROM grade

答:

SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE())

答:

(2)

①在student_info表中,查询每个学生的学号、姓名、出生日期信息。

答:

②查询学号为‘0001’的学生的姓名和家庭住址。

答:

③找出所有男同学的学号和姓名。

答:

(3)

①在grade表中查找分数在‘80~90’范围内的学生的学号和分数。

答:

②在grade表中查询课程编号为k003的学生的平均分。

答:

③在grade表中查询学习各门课程的人数。

答:

④将学生按出生日期由大到小排序。

答:

⑤查询所有姓“张”的学生的学号和姓名。

答:

(4)对student_info表,按性别顺序列出学生的学号、姓名、性别、出生日期及家庭住址,性别相同的按学号由小到大排序。

答:

(5)使用GROUP BY查询子句,列出各个学生的平均成绩。

答:

(6)使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与

curriculum表的课程编号、课程名称返回在一个表中,

且列名为u_编号、u_名称,

答:

图1-8 联合查询结果集

嵌套查询:

(7)

①在student_info表中查找与“刘卫平”性别相同的所有学生的姓名、出生日期。

--select * from student_info

答:

②使用IN子查询查找所修课程编号为k002、k005的学生学号、姓名、性别。

答:

③列出学号为’0001’的学生的分数比’0002’学号的学生的最低分数高的课程编号和分数。

答:

④列出学号为’0001’的学生的分数比学号为’0002’的学生的最高成绩还要高的课程编号和分数。

答:

连接查询。

(8)

①查询分数在80~90范围内的学生的学号、姓名、分数。[用WHERE连接查询]

答:

②查询学习“C语言程序设计”课程的学生的学号、姓名、分数。 [用INNER JOIN 连接查询]

答:

③查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。

答:

④查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程编号、分数。

答:

⑤查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生的总成绩为空。[使用左外连接。

答:

⑤为grade表添加数据行:学号为'0004'、课程编号为K006、分数为‘76‘。查询所有课程的选

修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。[使用右外连接。]

答:

数据库实验3报告

实验三数据更新、视图、权限管理 实验3.1 数据更新 1 实验内容 (1) 使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。 (2) 使用SELECT INTO语句,产生一个新表并插入数据。 (3) 使用UPDATE语句可以修改制定表中满足WHERE子句条件的元组,有三种修改的方式:修改某个元组的值;修改多个元组的值;带子查询的修改语句。 (4) 使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子查询的删除语句。 2 实验步骤 在数据库School上按下列要求进行数据更新 可在SQL代码前加下面两句SQL语句,用于确保当前使用的是School数据库 Use School go (1)使用SQL语句向STUDENTS表中插入元组(编号:12345678 名字:LiMing EMAIL: LM@https://www.wendangku.net/doc/328022842.html,年级:2002)。 Insert into STUDENTS values('12345678','LiMing','LM@https://www.wendangku.net/doc/328022842.html,','2002') (2)对每个课程,求学生的选课人数和学生的最高成绩,并把结果存入数据库。使用SELECT INTO和INSERT INTO两种方法实现。 Insert into: create table Courses_maxScore(cid char(20),Count_courses int,maxScore int) insert into Courses_maxScore (cid,Count_courses,maxScore) select cid,count(*)as Count_courses,max(score)as maxScore from CHOICES group by cid select*from Courses_maxScore

数据库实验八

实验八 实验名称:游标的建立与使用(2课时) 一、实验目的 理解游标的概念、定义方法和使用方法。 二、实验环境 采用Client/Server模式,学生为客户端,是MS SQL SERVER 2000的中文客户端。登录用户名是:学号;密码为:****** 。用户名和密码以任课老师给出为准。 三、实验内容与步骤 1、利用游标查找所有女业务员的基本情况。 2、创建一游标,逐行显示表customer.的记录,并且用WHILE结构来测试游标的函数 @@FETCH_STA TUS的返回值 四、实验结果 1.利用游标查找所有女业务员的基本情况。 (1)说明游标 首先敲入语句: declare cu scroll cursor for select*from employee where sex='F'order by emp_no 实验结果为: (2)打开游标 再敲入语句: open cu select"cursor打开状态"=@@ERROR select"cursor内数据条数"=@@cursor_rows 实验结果为:

(3)推进游标指针并取当前记录 最后敲入语句: fetch next from cu while(@@FETCH_STATUS=0) begin fetch next from cu end select"cursor读取状态"=cursor_status('variable','@cu')

2.创建一游标,逐行显示表customer.的记录,并且用WHILE结构来测试游标的函数 @@FETCH_STA TUS的返回值 (1)说明游标 首先敲入语句: declare cust scroll cursor for select*from customer order by cust_id 实验结果为: (2)打开游标 再敲入语句: open cust select"cursor打开状态"=@@ERROR select"cursor内数据条数"=@@cursor_rows 实验结果为:

实验三:数据查询实验

实验三:数据查询实验 一、实验目的 了解在企业管理器或查询分析器中执行数据查询的方法;掌握SQL Server Query Analyzer中简单查询、连接查询、嵌套查询操作方法。 二、实验内容 1、使用企业管理器进行查询(验证性,了解部分) (1)查询数据表的全部数据 在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,这时将显示该表的全部数据。 (2)使用SELECT语句查询数据表的数据 在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,在打开返回表内容的子窗口中,单击工具栏按钮“显示/隐藏SQL窗格”,把子窗口分为上下两部分,上面部分能输入不同的SQL命令。执行时单击工具栏按钮“运行”即可。 (3)学习和使用QBE查询 在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,在打开返回表内容的子窗口中,单击工具栏按钮“显示/隐藏条件窗格”,把子窗口分为上下两部分,上面部分能选择QBE查询条件,执行时单击工具栏按钮“运行”即可。若单击工具栏按钮“显示/隐藏SQL窗格”,则在SQL窗格中会显示自动生成的对应SQL语句。 2、使用查询分析器进行查询(验证性) (1)查询Student表中所有学生的学号、姓名和性别。 SELECT Sno, Sname, Ssex FROM Student (2)可以用“*”来选取数据表的全部列 例如:查询Student表中所有学生的基本情况。 SELECT * FROM Student (3)在查询结果中增加计算列,还可修改数据列的显示名称。 例如:查询Student表中所有学生的学号、姓名、性别和出生年份。 SELECT Sno 学号, Sname 姓名, Ssex 性别, Year(GetDate()) - Sage 出生年份 FROM Student (4)使用WHERE子句,可以选择满足条件的部分记录 例如:查询成绩在85~90分之间的学生情况。

实验八 数据库的安全性

实验八数据库的安全 T9.1 数据库用户的管理 1、实验目的 (1)掌握Windows登录名的建立与删除方法。 (2)掌握SQL Server登录名的建立与删除方法。 (3)掌握数据库用户创建于管理的方法。 2、实验准备 (1)了解windows身份验证模式与SQL Server身份验证模式的原理。 (2)了解数据库用户的建立与删除方法。 3、实验步骤 (1)Windows登录名。 ①使用界面方式创建Windows身份模式的登录名。方法如下: 第一步以管理员身份登录到Windows,选择“开始”,打开“控制面板”中的“性能和维护”,选择其中的“管理工具”,双击“计算机管理”进入“计算机管理”窗口。 在该窗口中选择“本地用户和组”中的“用户”图标,右击,在弹出的快捷菜单中选择“新用户”菜单项,打开“新用户”窗口,新建一个用户zheng。 第二步一管理员身份登录到SQL Server Management Studio,在对象资源管理器中选择“安全性”,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中单击“搜索”按钮添加Windows用户名zheng。选择“Windows身份验证模式”,单击“确定”按钮完成。 ②使用命令方式创建Windows身份模式的登录名,语句如下: 【思考与练习】 使用用户zheng登录Windows,然后启动SQL Server Management Studio,以Windows 身份验证模式连接。看看与以系统管理员身份登录时有什么不同。 (2)SQL Server登录名。 ①使用界面方式创建SQL Server登录名。方法为:在对象资源管理器的“安全性”中,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中输入要创建的登录名“yan”,并选择“SQL Server 身份验证模式”,输入密码,取消选择“用户在下次登录时必须更改密码”选项,单击“确认”按钮。 ②以命令方式创建SQL Server登录名,语句如下:

实验三 数据保护

实验三数据保护 一、实验目的和要求 1.掌握简单数据库备份与还原; 2.掌握SQL的用户、角色和权限控制; 3.掌握SQL的完整性约束 二、实验内容 1、数据库还原 操作步骤: ①在“对象资源管理器”中右键单击“数据库”节点并在弹出菜单中选择“还原数据库” ②在“还原数据库”窗口中设置数据库的名称。 ③下一步,指定还原的源。此处,选择“源设备”。

2、创建登录用户 a)使用对象资源管理器创建通过SQL Server身份验证模式的登录,其中登录名为 Login01,密码为passwd01,默认数据库为CAP,其他保持默认值。 提示:进入对象资源管理器,展开“服务器”→“安全性”→“登录名”,右击“登录名” 项,在弹出的菜单中选择“新建登录名”选项。

b)使用系统存储过程sp_addlogin创建登录,其登录名称为Login03密码为passwd03, 默认数据库为CAP。在SQL编辑器窗口中输入和执行语句,并在对象资源管理器 中显示结果。 EXEC sp_addlogin'login03','passwd03','CAP' c)使用对象资源管理器删除登录用户Login01和Login02。 提示:进入对象资源管理器,展开“服务器”→“安全性”→“登录名”,右击欲删除的 登录帐号,在出现的快捷菜单中单击“删除” d)使用系统存储过程sp_droplogin从SQL Server中删除登录用户Login03。在SQL 编辑器窗口中输入和执行语句,并在对象资源管理器中显示结果。 EXEC sp_droplogin'login03' 3、创建和管理数据库用户 e)创建登录名为u01、密码为passwd01、默认数据库为CAP并能连接到CAP数据 库的用户。 EXEC sp_addlogin'u01','passwd01','CAP' USE CAP EXEC sp_grantdbaccess'u01','u01' f)创建一个新用户U02。

数据库实验报告8

. 西安科技大学 《数据库原理及应用》 课程设计报告 题目:寄宿学校管理信息系统的设计与实现 学院:计算机科学与技术学院 专业及班级:软件工程1202及1203班 学号: 1208010206 1208010207 1208010303 姓名:李倩魏楠楠王青枝 日期: 2014年7月9日 目录 1课程设计目的及意义 (2)

2设计内容及人员分工 (2) 3 需求分析 (2) 3.1 需求陈述 (2) 3.2 功能需求 (2) 3.3 数据需求 (3) 3.4 其它需求 (3) 4 数据库设计 (3) 4.1概念结构设计 (3) 4.2逻辑结构设计 (4) 4.3数据表结构设计 (4) 5 系统功能设计 (6) 6 系统实现 6.1 开发环境 (7) 6.2 数据库的创建与连接技术 (7) 4.3 主要功能的运行结果及代码 (9) 7 总结 (13) 参考文献 (13)

1、课程设计的目的和意义 课程设计目的:通过本课程设计,培养学生具有C/S模式的数据库应用软件系统的设计和开发能力;熟练掌握SQL Server数据库的使用,熟练掌握使用VC、VB或其它开发工具开发数据库应用的能力;为毕业设计打下坚实的基础。学生根据所学的数据库原理与程序设计的知识, 通过对一个实际问题的分析,设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。 课程设计的意义:通过对这个系统的设计,让我们更加熟悉SQL Sever 2008的相关操作,也巩固了这学期学习的数据库的一些知识,让我们更懂得数据库的重要性无论是在生活中,还是在软件的设计和制作过程中。让我们学会了数据库的设计,经历了数据库设计的几个阶段,比如需求分析,概念结构设计,逻辑结构的设计,都让我们努力的去想,去做,懂得数据库的优化,想想怎么做才是最好的。做出一个比较满意的数据库设计。 2、设计内容及人员分工 魏楠楠:数据库的需求分析,概念设计 王青枝:数据库逻辑设计,表结构设计 李倩:数据库触发器创建实现 3、需求分析 3.1 需求陈述: 某寄宿学校需要开发一个信息管理系统,通过该管理系统可以对学生的日常事务进行管理: 校长助理:可以对学生的档案进行管理,可以进行新增、删除、查询、修改等操作。 财务人员:进行每月的收费和退费工作,每个学生的每月费用包括住宿费,伙食费220,在6-8月收取空调费20,在11-2月收取取暖费20,每个学期的开学初(3月、9月)收取书本费(不定)。住宿费分三种情况:双职工的子女为60,单职工的子女80元,父母均不在本单位工作为100元。每个班的老师在每天要申报本班学生的出勤表,由校长助理完成各班的考勤录入,考勤情况决定上月的伙食退费,以每天10元计算。 学生家长:在对退费有疑问时,可以查询学生的出勤情况。校长助理可以对学生班级进行管理(新增、删除等),可以进行新学生的编班工作和调班工作,档案录入工作,查询班级名册等情况。 3.2功能需求: 3.2.1需求理解如下:

实验三 用户数据资料

实验三用户数据 一、目的 学习完本节,你将能掌握: 1.如何放号 2.如何进行号码分析 3.如何修改用户属性 4.如何进行用户线改号和用户号改线 二、准备工作 5.完成了系统的物理配置 6.掌握了号码分析在交换机系统中的作用 ZXJ10交换机的一个重要功能就是网络寻址,电话网中用户网络的地址就是电话号码。号码分析主要用来确定某个号码流对应网络寻址和业务处理方式。 ZXJ10交换机系统提供7种号码分析器:新业务号码分析器、CENTREX号码分析器、专网分析器、特服号码分析器、本地网号码分析器、国内长途业务号码分析器和国际长途业务号码分析器。 对于某一指定的号码分析选择子,号码按固定的顺序经过选择子规定的各种分析器。各种分析器严格按照顺序进行号码分析。 7.已做好数据备份。方法如下: 选择数据管理/数据备份/数据备份,进入数据备份与恢复页面,可进行备份与恢复。平常用得比较多的备份方式是“生成备份数据库的SQL文件”,即将数据库中的表备份成数据库文件*.SQL,存放在硬盘上的指定目录下:和“从SQL文件中恢复备份的数据库”,是“生成备份数据库的SQL文件”的逆过程,即将硬盘上某个目录下的数据库备份文件*.SQL倒回到数据库里,覆盖数据库中原有的表。 三、步骤 1.号码管理 选择数据管理/基本数据管理/号码管理/号码管理菜单,在号码管理截面中首先进入局号和百号组子页面。 1)增加局号 选择“网络类型”,一般为公众电信网;点击增加局号钮,进入增加局号窗口, 键入“局号索引”,一般从1开始编号; “局号(PQR)”,即局码,如可设为666;和 “号码长度”,一般为7或8,表示本局号码流长为7位或8位。 “描述”没有实际意义,为方便记忆。 点击确定钮,回到号码管理界面。则“局号属性”框中显示出刚刚创建的局号属性。 2)分配百号 点击分配百号钮,进入分配百号组窗口,选择刚才创建的“局号”666和“模块号”2,则左侧“可以分配的百号组:”框中列示出该局号可分配的若干百号组。以转移键将其中的一个百号组如00转移到右侧“可以释放的百号组:”框中。点击返回钮回到号码管理界面。选中“局号属性:”中的一项,则对应的百号组信息在“百号组:”框中列示出来。 注意此时该百号组的“使用情况”为空闲。 3)放号 在号码管理界面中进入用户号码子页面,点击放号钮,进入号码分配窗口。在“号码范围:”域选择“局号”如666,“百号”如00,则“可用的号码:”框中列示出该6660000

实验三 数据通路(总线)实验

实验三数据通路(总线)实验 一、实验目的 (1)将双端口通用寄存器堆和双端口存储器模块联机; (2)进一步熟悉计算机的数据通路; (3)掌握数字逻辑电路中故障的一般规律,以及排除故障的一般原则和方法; (4)锻炼分析问题与解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。 二、实验电路 图8示出了数据通路实验电路图,它是将双端口存储器实验模块和一个双端口通用寄存器堆模块(RF)连接在一起形成的。双端口存储器的指令端口不参与本次实验。通用寄存器堆连接运算器模块,本实验涉及其中的操作数寄存器DR2。 由于双端口存储器RAM是三态输出,因而可以将它直接连接到数据总线DBUS上。此外,DBUS上还连接着双端口通用寄存器堆。这样,写入存储器的数据可由通用寄存器提供,而从存储器RAM读出的数据也可送到通用寄存器堆保存。 双端口存储器RAM已在存储器原理实验中做过介绍,DR2运算器实验中使用过。通用寄存器堆RF(U32)由一个ISP1016实现,功能上与两个4位的 MC14580并联构成的寄存器堆类似。RF内含四个8位的通用寄存器R0、RI、R2、R3,带有一个写入端口和两个输出端口,从而可以同时写入一路数据,读出两路数据。写入端口取名为WR端口,连接一个8位的暂存寄存器(U14)ER,这是一个74HC374。输出端口取名为RS端口(B端口)、RD端口(A端口),连接运算器模块的两个操作数寄存器DR1、DR2。RS端口(B端口)的数据输出还可通过一个8位的三态门RS0(U15)直接向DBUS输出。 双端口通用寄存器堆模块的控制信号中,RS1、RS0用于选择从RS端口(B 端口)读出的通用寄存器,RD1、RD0用于选择从RD端口(A端口)读出的通用寄存器。而WR1、WR0则用于选择从WR端口写入的通用寄存器。WRD是写入控制信号,当WRD=1时,在T2上升沿的时刻,将暂存寄存器ER中的数据写入通用寄存器堆中由WR1、WR0选中的寄存器;当WRD=0时,ER中的数据不写入通用寄存器中。LDER信号控制ER从DBUS写入数据,当LDER=1时,在T4的上升沿,DBUS上的数据写入ER。RS_BUS#信号则控制RS端口到DBUS的输出三态门,是一个低电平有效信号。以上控制信号各自连接一个二进制开关K0—Kl5。

数据库实验八综合性实验报告

华南农业大学综合性设计性 实验报告 实验名称:数据库设计 项目性质:综合性设计性实验 所属课程:数据库系统概念 开设时间:2015-2016学年第1学期学生班级: 指导教师: 2015年12月12日

华南农业大学数学与信息学院 综合性、设计性实验成绩单 开设时间:2015-2016学第一学期

一、设计部分 1.需求分析 1.1 用户需求概述 本系统为图书管理系统数据库,该系统开发的主要目的是对大学图书馆的图书信息进行记录统计管理。具体完成录入图书信息,录入借还书记录,录入读者信息等功能。需要完成的主要功能有: 1)学生信息录入 该功能供图书馆管理员使用,学生首次借阅图书前,必须登记并录入个人身份信息,内容包括:学号、姓名、联系电话。 2)图书信息录入 该功能供图书馆管理员使用,对于首次入库的新书,必须录入图书目录资料,内容包括:图书编号、书名、作者、出版社、简介。 3)借书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理借书手续,由图书馆管理人员录入借书记录,内容包括:日期、学号、图书编号。 对读者借阅图书的限制条件包括: ①读者一次可借阅1-3本图书, ②借出未还的图书,累计不得超出5本; ③没有逾期未归还的图书,从借出之日开始计算,超过90天尚未归还则视为逾期。 4)还书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理归还借书手续,由图书馆管理人员录入还书记录,内容包括:日期、学号、图书编号。学生可以一次归还1至多册所借阅的图书。 5)图书信息查询 该功能供学生使用,学生自行输入书名、作者、出版社等信息作为查询条件,

系统列出满足查询条件的图书目录。 6)学生信息查询 该功能供图书馆管理人员使用,操作人员输入学生学号,系统列出该学生的个人信息、以及历次的借阅/归还图书记录。 1.2 数据需求

数据库上机实验8实验报告

上机实验八——完整性约束的实现 一、实习目的: 掌握SQL中实现数据完整性的方法,加深理解关系数据模型的三类完整性约束。 二、实习准备: 1.复习“完整性约束SQL定义” 2.完成习题四第10题中的各项操作的SQL语句。 3.了解SQL Server 中实体完整性、参照完整性和用户自定义完整性的实现手段 三、实习内容: 1.验证习题四第10题四个表结构的SQL语句。 表一:Sstudent CREATE TABLE Sstudent (Sno char(7) NOT NULL PRIMARY KEY, Sname VarChar(20) NOT NULL, Ssex Char(2) NOT NULL DEFAULT('男') check(Ssex IN('男','女')), Sage smallint check(Sage >14 AND Sage<65), Clno Char(5) NOT NULL REFERENCES Cclass(Clno) ON UPDATE CASCADE); 表二:Ccourse CREATE TABLE Ccourse (Cno Char(1) NOT NULL PRIMARY KEY, Cname VarChar(20) NOT NULL, Credit Smallint CHECK(Credit IN(1,2,3,4,5,6)));

表三:Cclass CREATE TABLE Cclass (Clno Char(5) NOT NULL PRIMARY KEY, Speciality VarChar(20) NOT NULL, Inyear Char(4) NOT NULL, Number Integer CHECK(Number>1 AND Number<100), Mointor Char(7) REFERENCES Student(Sno) ); 表四:Ggrade CREATE TABLE Ggrade (Sno Char(7) NOT NULL REFERENCES Student(Sno) ON DELETE CASCADE ON UPDATE CASCADE, Cno Char(1) NOT NULL REFERENCES Course(Cno) ON DELETE CASCADE ON UPDATE CASCADE, Gmark Numeric(4,1) CHECK(Gmark>0 AND Gmark<100), PRIMARY KEY(Sno,Cno)); 2. SQL Server中提供了那些方法实现实体完整性、参照完整体和用户自定义完整性 答:实体完整性:是通过主码的定义(PRIMARY KEY)来实现的; 参照完整性:是利用外部码(REFERENCES)的说明,以限制相关表中某些属性的取值,当用户违反规则时,提供三种:RESTRICT(限制策略),CASCADE(级联策略),SET NULL(置空策略); 用户自定义完整性:check约束,对元组的CHECK约束

数据库实验总结

数据库实验总结 数据库实验总结【一】试验内容 1、数据表的建立 基本表《简单的》带有主键 带有外码约束的(外码来自其他表或者本表) 2、数据表的修改 添加删除列 修改列属性类型 添加删除约束(约束名) 元组的添加,修改,删除 删除数据表 试验过程 1、create table student ( sno char(9) primary key , /*sno是主码列级完整性约束条件*/ sname char(20) unique, /*sname取唯一值*/ ssex char(2), sage smallint, /*类型为smallint*/ sdept char(20) /*所在系*/ ); create table course

( cno char(4) primary key, /*列级完整性约束条件,cno是主码*/ cname char(40), cpno char(4), /*cpno的含义是先行课*/ ccredit smallint, foreign key (cpno) references course(cno) /*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/ ); create table sc ( sno char(9), cno char(4), grade smallint, primary key (sno,cno), /*主码有两个属性构成,必须作为表级完整性进行定义*/ foreign key (sno) references student(sno), /*表级完整性约束条件,sno是外码,被参照表是student*/ foreign key (cno) references course(cno), /*表级完整性约束条件,cno是外码,被参照表示course*/ ); 例1、create table s (

实验三 交互式SQL:数据查询

实验三交互式SQL(二):数据查询 【实验目的】 1.掌握SELECT语句的基本语法。 2.掌握集合函数的作用及使用方法。 3.熟悉普通连接、外连接和自身连接的概念。 4.能够熟练使用连接查询从多个表中查询数据。 5.能够熟练地使用子查询查询数据。 【实验学时】 2学时 【实验内容】 以下题目均在STUxxxx(学生管理)数据库中完成。 一、简单查询 1.查询年龄最小的前3个同学的姓名、专业和年龄 2.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name 和mark。 3.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。 4.查询XS表中专业为“计算机”的同学的情况。 5.查询XS表中1992年出生的学生姓名和专业情况。 6.查询XS表中姓“张”或“王”或“李”且单名的学生的情况。 7.查询XS表中专业为“计算机”且总学分尚未确定的学生情况。 8.从XS表中查询学生的基本信息,要求按照总学分从高到低排序,学分相同时,按学号 由低到高排序。。 二、数据汇总 1.求选修了“101”课程的学生的平均成绩。 2.求选修了“102”课程的学生的最高分和最低分。 3.求学号为“4102101”学生的总成绩。 4.求专业为“计算机”的学生的总人数。 5.求选修了“101”课程的学生的人数。 6.求选修了任意一门课程的学生的人数。 7.统计各个专业的学生数。(按专业分组) 8.统计各个专业的男女生人数。格式如下: 专业性别人数 ……………… 9.查找平均成绩在80分以上的学生的学号和平均成绩。 10.查找选修的课程中超过2门成绩在80分以上的学生的学号和成绩高于80分的门数。 格式如下:

mysql数据库实验答案

实验一创建、修改数据库和表结构 1、用create建立教学数据库的五个基本表: (1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址), T(Tno,Tname,ssex,birthday,dept,title,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj); Create Database Student default character set utf8 default COLLATE utf8_bin;

Use Student; Create Table Student( SNo c har(20) primary key, SName char(20) , SSex char(4) default '男', SAge int ) ENGINE=InnoDB; Create Table Course( CNo c har(20) primary key, CName char(20) NOT NULL,

CRedit f loat ) ENGINE=InnoDB; Create Table SC( SNo c har(20) NOT NULL, CNo c har(20) NOT NULL, Grade float, Primary Key(SNo, CNo), Foreign Key(SNo) References Student(SNo) On Delete Cascade, Foreign Key(CNo) References Course(CNo) )ENGINE=InnoD B;

数据库 实验三答案

实验3 SQL语言 一、实验目的 1、掌握SQL中运算符和表达式的使用。 2、掌握实用SQL语言查询数据库。 二、实验要求 1、所有的实验过程请严格按照实验内容的步骤进行。 2、对关键步骤截屏并复制到实验报告的相应位置。 三、实验设备、环境 设备:计算机 环境:WINDOWS XP、SQL SERVER 2000中文版 四、实验原理、方法 上机操作 五、实验内容 准备工作:还原学生成绩管理数据库; 注意:写SQL语句时,注意学生成绩管理数据库中表名称和字段名称的对应。 1、使用SQL查询分析器,对学生成绩管理数据库完成如下查询操作: 1)简单查询 (1)求数学系学生的学号和姓名。 (2)求选修了课程的学生学号。

(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。 (4)求选修课程0001且成绩在80~90之间的学生学号和成绩,并将成绩乘以系数0.8输出。 (5)求数学系或计算机应用系姓王的学生的信息。 (6)求缺少了成绩的学生的学号和课程号。

2)连接查询 (1)查询每个学生的情况以及他(她)所选修的课程。 (2)求学生的学号、姓名、选修的课程名及成绩。 (3)求选修0001课程且成绩为90分以上的学生学号、姓名及成绩。

3)嵌套查询 (1)求选修了0003的学生学号和姓名。 (2)求0001课程的成绩高于王军的学生的学号和成绩。

(3)求其他系中比计算机系某一学生年龄小的学生。 4)使用分组和函数查询 (1)求学生的总人数。 (2)求选修了课程的学生人数。

(3)求课程和选修0001的人数。 (4)求选修课超过3门课的学生学号。

实验三数据管理

实验三地理信息系统数据管理 一、实验目的 掌握数据组织、管理与维护方法,理解数据库连接技术,辨析MapInfo的数据管理模式 二、实验分组 每人一组,独立完成 三、实验内容 文件格式 数据结构 文件组织 表管理 ODBC接口 集成管理实现方式 远程数据库访问 MapInfo的数据管理模式 地理信息系统数据管理模式 四、方案设计(要求) (一)表及其数据组织 1. 阅读材料 地理信息系统将数据按逻辑模型组织,并编码为文件。 MapInfo中数据库称为表(标准表),表又分数据表和栅格表两大类。数据表又分为包含图形信息对象的数据表和不包含图形信息对象的数据表,包含图形信息对象的数据表涵盖空间数据与属性数据。数据表由行(元组、记录)记录对象,列(字段)是要素的属性分类。栅格表与数据表不同,它没有记录、字段、索引等表结构,它只是一种可以在地图窗口中可以显示的对象。 MapInfo通过表的形式将数据与地图有机地结合在一起。打开或输入数据时,将创建一个表,产生一系列文件。一个典型的MapInfo表将主要由*.tab、*.dat、*.map、*.id、*.ind以及*.wks、*.dbf、*.xls等文件格式组成。 *.tab:属性数据结构文件,定义要素属性数据的表结构,包括字段数、字段名称、字段类型和字段宽度,索引字段以及相应图层(layer)的一些关健空间

信息描述。.tab文件实际上是个文本文件。 *.dat:属性数据文件,存放要素的属性数据。在文件头之后为表结构描述,其后首尾相接地记录各要素的属性数据。 *.map:空间数据文件,具体包含了各要素的空间点、线、面数据(类型与坐标)及其样式信息,还描述了与该空间对象对应的属性数据记录在属性数据文件(.dat)中的记录号。 *.id:图形对象文件(*.map)的索引文件。用于把表中的图形对象与数据连接起来。 *.ind:表格文件(*.dat)的索引文件。使得用户能够使用查找命名查找图形对象。 *.wks:LOTUS 1-2-3格式的表格数据文件; *.dbf:dBASE/FoxBASE格式的表格数据文件; *.xls:Microsoft Excel格式的表格数据文件; *.txt:用于存贮SACII格式的表格数据; *.mid:用于表格数据的MapInfo转入/转出; *.mif:用于图形数据的MapInfo转入/转出; *.wor:工作空间文件,用于保存有关在某次MapInfo交互中所使用的表和窗口的信息。 *当打开.tab文件时,即可打开MapInfo表,就是同时打开相关的所有文件。 MapInfo又按图层组织地图,每个图层对应一个可地图化的表。创建一个图层时都要建立一张表。 在地图窗口最上面的是空白透明装饰图层,它总是被显示。 文字注记也是特殊的图层。 MapInfo采用空间实体加空间索引的拓扑数据模型。采用R-Tree将空间实体的最小外接矩形存储在索引表中,并由大到小索引。 分别选择实验二结果的一个点、线、面图形对象(先打开表),双击查看返回的空间索引,截图插入结果1。 思考空间索引的作用写入体会1。

数据库实验八综合试验

淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:综合实验 班级:D计算机101 学号: 姓名:

实验报告要求 1.目的与要求 初步掌握数据库设计的基本方法,进一步提高同学分析与解决问题的综合能力。 2.实验内容 (1)需求分析 (2)概念结构设计 (3)关系模式设计 (4)数据库的物理设计与实现 (5)数据库是实施与运行 3.实验步骤 1、需求分析 通过对数据库用户(教务办老师)的调查,对用户的需求进行分析得知: 学生成绩管理系统包含的信息有:学生信息,教师信息,成绩信息,教师上课信息和课程信息。 学生信息有学号、姓名、性别,出生日期,班级,系别。 教师信息有编号,教师姓名,部门,性别,职称,讲授的课程。一个教师可以讲授多门课,一门课可有多个老师讲授。 成绩信息有选该门课学生学号、课程号和成绩等。一个学生可以选多门课,一门课可以让多个学生选。 课程信息应包括课程号,对应的课程名称。 教师上课信息有某个教师上哪些课,或哪门课被哪些教师讲授。 2、概念结构设计 概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。 E-R图如下:

3、关系模式设计 根据前面设计的概念模型,按照E-R概念模型想关系模型转换的规则,课有如下的关系模式(其中带下划线的为主键,斜体字为外键): 课程(课程编号,课程名称) 学生(学号,姓名,性别,出生日期,班级,系别) 成绩(学号,课程编号,成绩) 教师(教师编号,姓名,性别,部门,讲授课程,职称) 1、约束关系 (1)实体完整性 (2)参照完整性 (3)用户的自定义完整性 要求如下: 成绩在0到100之间 性别只能是男或女 2、关系结构描述 Student表

同济大学数据库实验八

一、实验目的 1.掌握https://www.wendangku.net/doc/328022842.html,的数据库访问方法。 2.学习绑定对象的操作方法。 二、实验内容 (实验题目+运行界面截图+实现代码) 方法一代码:(注:红色字体为输入的代码) Imports System.Data.SqlClient Public Class Form1 Inherits System.Windows.Forms.Form Public mybind As BindingManagerBase Private Sub StudentBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StudentBindingNavigatorSaveItem.Click Me.Validate() Me.StudentBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.UniversityDataSet) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: 这行代码将数据加载到表“UniversityDataSet.student”中。您可以根据需要移动或移除它。 Me.StudentTableAdapter.Fill(Me.UniversityDataSet.student) mybind = Me.BindingContext(StudentBindingSource) End Sub

实验分析报告三数据的表示

实验报告三数据的表示

————————————————————————————————作者:————————————————————————————————日期:

计算机系统基础实验报告 学院信电学院专业计算机科学与技术班级计算机1401 学号140210110 姓名段登赢实验时间: 一、实验名称:数据的表示2 二、实验目的和要求: (1)实验目的:熟悉数值数据在计算机内部的表示方式,掌握相关的处理语句。 (2)实验要求:说明你做实验的过程(重要步骤用屏幕截图表示);提交源程序;分析并回答问题。 三、实验环境(软、硬件): 要求:详细描述实验用的操作系统,源代码编辑软件,相关硬件环境及所使用的GCC 编译器的信息。 四、实验内容: (1)请说明下列赋值语句执行后,各个变量对应的机器数和真值各是多少?编写一段程序代码并进行编译,观察默认情况下,编译器是否报warning。如果有warning信息的话,分析为何会出现这种warning信息。 int a = 2147483648; int b = -2147483648; int c = 2147483649; unsigned short d = 65539; short e = -32790; (2)完成书上第二章习题中第40题,提交代码,并在程序中以十六进制形式打印变量u 的机器数。 (3)编译运行以下程序,并至少重复运行3次。 void main() { double x=23.001, y=24.001, z=1.0; for (int i=0; i<10; i++) { if ((y-x)==z)

数据库实验报告八

数据库实验报告八

肇庆学院计算机学院/软件学院 实验报告 专业软件工程班级软件2班姓名陈焕荣学号201524133232 课程名称数据库原理与设计 学年2016—2017 学期1□/ 2 课程类别专业必修 限选□任选□实践□ 评分:批阅老师:2017年月日 实验八数据更新 ●实验目的 (1)加深对数据更新(插入、修改、删除)语句语法的理解。 (2)加深对更新操作时数据库中数据一致性问题的理解。 (3)加深对约束条件在数据更新操作中所起作用问题的理解。 (4)掌握单个和多个元组插入操作的实现方法。 (5)掌握单个和多个元组修改操作的实现方法。 (6)掌握单个和多个元组删除操作的实现方法。 ●实验内容 针对实验数据库ShiYan,完成下列数据更新操作。 (1)在S表中插入元组“S6,华誉,40,广州,020*******”。 (2)在J表中插入元组“J8,传感器厂”。 (3)对每一个供应商,求它为各种工程供应零件的总数量,并将此结果存入数据库。(4)将P表中PNO值为P6的元组的COLOR属性值改为绿,WEIGHT属性值改为60。(5)将SPJ表中前4个元组的QTY属性值统一修改为300。 (6)将S表中CITY属性名含有“京”或“津”的响应STATU属性值增加100。 (7)将供应商S2为“一汽”工程项目所供应的零件数量修改为800。 (8)将全部红色零件的颜色修改为浅红色。 (9)由S5供给J4的零件P6改为由S3供应,请在数据库中作必要的数据修改。 (10)在SPJ表中新增一列属性名为SDATE的属性列,对该表中的每一元组在SDATE属性列上填上实验当时的日期和时间。 (11)*删除所在城市为“广州”的供应商记录。 (12)*删除所有零件名称中第一个字为“螺”字的零件记录,并在供应情况表中删除响应的

实验三 数据查询

实验三数据查询 【实验目的】 1.学会使用企业管理器查询数据 2.掌握使用SQL语句查询数据 【实验内容】 1.使用企业管理器进行数据查询 2.在查询分析器内使用SQL语句进行数据查询 【实验准备】 1.复习与本次实验内容相关知识 2.复习查询分析器的使用 3.对本次实验中要求自己完成的部分做好准备(第二部分,请预先写出来) 【实验步骤】 1.用企业管理器进行数据查询 o启动企业管理器,注册连接。 o展开服务器-->展开数据库-->展开自己的数据库-->单击表。 o在需要查询的表上单击右键,在弹出的快捷菜单中选择"打开表(O)",其下级菜单即为查询命令: ?返回所有行(A) --该命令以网格方式显示指定表的所有 记录 ?返回首行(T)... --该命令以交互方式输入要返回的行数 ?查询(Q) --打开查询窗口,以图形方式设计查询

o o请从学生表(U_STUDENTS)上右击,使用"查询(Q)"命令建立一个查询,请选中学号(ID)、姓名(NAME)两个字段,再单击上面的执行按钮(!按钮)执行查询,查看结果。 o o再在关系图窗格内右击鼠标在弹出菜单中选择添加表,添加班级表(U_CLASSES),在班级表的ID字段上按下鼠标左键,拖至学生表的CLASS_ID上建立关联,在班级表上选中班级(CLASS)、系 (DEPARTMENT)字段,再在网格窗格上选择姓名(NAME)行上选择

排序类型为"升序"。执行该查询,查看结果。结果如下图所示。 (注意查看SQL窗格内的SQL查询语句) o o该操作实现了从班级表、学生表中查询出所有学生的学号(ID)、姓名(NAME)、班级(CLASS_ID)、所在系(DEPARTMENT)的记录 数据。 o关闭企业管理器 2.用SQL语句查询数据 o启动查询分析器 o在查询分析器中分别执行下列查询语句(有的语句请自己写出),体会或说明各语句的功能(请将下面的语句复制到查询分析器,逐条 执行--要执行一条语句请选中该语句再按F5或单击执行铵钮,如 下图所示)。

相关文档