数据库实验-sql存储过程

数据库实验-sql存储过程,第1张

CREATE PROCEDURE P1

@XH VARCHAR(10) AS

IF @XH NOT IN(SELECT 学号 FROM 选课) INSERT 选课 VALUES(@XH,'1',0)

ELSE IF NOT EXISTS(SELECT FROM 选课 WHERE 学号=@XH AND 成绩>=60)

DELETE FROM 选课 WHERE 学号=@XH

ELSE SELECT FROM 选课 WHERE 学号=@XH

(1)select top 6 from goods ---top和6中间该有个空格

(2)select 进货价 from goods order by 进货价 DESC--人家要求返回的只是进货价,所以把商品名去掉了,还有,你逗号应该用英文格式的,不要用中文的

(3)好像一个表查询不了,你最好把你两个表结构列出来,要不我也没法给你写

(4)select avg(零售价格) from sell

(5)selct 商品名称,进货数量,销售时间 from sells where 销售时间 between '2004-1-1' and '2005-1-1'---日期上要带引号,而且你逗号还是用的中文的

(6)貌似还是要列表结构,不可能是你写的那么简单

(7)同上

(8)同上

第一步:把三张表inner join关联,查询出所有学生的所有课程的所有得分。

第二步:把第一步的结果,进行“行->列”的转换,此时有group by和聚合函数的使用。

第三步:把第二部的结果进行筛选,筛选的条件是:数据数据结构的得分都不为空,表示既选择了数据库课程又选择了数据结构课程,数据库的得分要 大于 数据结构的得分。

(1)SELECT sno,sname FROM student where sage>20

(2)select cno from course where cname='物理'

(3)select sno,cno from sc where score is null

(4)select sno,cno from sc where score between 80 and 90

(5)select distinct sno from sc

(6)select from sc order by cno,sno desc

一种情况可能是你的sql的最大连接数有问题 去看看是否没设置好

另外这个提示是当你的电脑连接数据库时候,连接不上就会出现,可能是你的电脑连接网络有问题,也可能服务器网络问题

提供一个方法参考

1默认ADOConnection1的Connected为False;

2连接服务器的时候做判断:

try

adoconnection1Connected := true;

ADOQuery1Active := True;

except

showmessage('连接数据库错误!');

//连接其他数据库

end;

看不下去了,决定帮你了!

1、SQL Server 2000是一种关系型的数据库管理系统

//正确

2、数据库,数据库管理员,数据库管理系统的对应英文缩写

//数据库DB、数据库管理员DBA、数据库管理系统DBMS

3、什么是第一范式,第二范式,第三范式的含义

//构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。

//所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。

//第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如

员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。

第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。

//第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。

4、在E-R图对信息模型的描述中,矩形框表示什么,椭圆表示什么??

//矩形表示实体性,矩形框内写明实体名。

//椭圆表示属性,用无向边将其与相应的实体性连接起来。

5、触发器,视图,存储过程的功能和含义

//触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改 *** 作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。

//视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。

//存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。可保证数据的安全性和完整性。可以降低网络的通信量。

6、数据库的含义,数据库中包括主数据文件,次要数据文件,日志文件,三者的含义。

//数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。

//主要数据文件由主文件组中的初始数据文件组成。文件组是经过命名的数据文件集合。包含所有数据库系统表,以及没有赋给自定义文件组的对象和数据。主要数据文件是数据库的起始点,它指向数据库中的其他文件。每一个数据库都有一个主要数据文件和一个主文件组,主要数据文件的扩展名是mdf 。

//一些数据库可能因为太大而需要很多次要数据文件,也可能在多个独立的磁盘驱动器上使用次要数据文件,以把数据分布在多个磁盘上。次要数据文件可以放在主文件组中,也可以放在自定义文件组中。次要数据文件的扩展名是ndf 。

//在数据库中用事务日志文件记录数据的修改 *** 作,其中的每条日志记录或者记录所执行的逻辑 *** 作,或者记录已修改数据的前像和后像。前像是 *** 作执行前的数据复本;后像是 *** 作执行后的数据复本。

7、删除数据库,创建数据库的命令,创建表的命令,创建视图

//删除数据库: drop database 数据库名

//创建数据库:create database 数据库名

//创建表: create table <表名>(<列名><数据类型>[列级完整性约束条件]

[,<列名><数据类型>[列级完整性约束条件]]

[,<表级完整性约束条件>]);

//创建视图:create view <视图名>[(<列名>[,<列名>])]

as <子查询>

[with check option];

8、SQL中两个范例数据库是是什么?

//pubs和northwind

9、参照完整性规则是什么含义。

//参照完整性属于表间规则。对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一不改其二,就会影响数据的完整性:例如修改父表中关键字值后,子表关键字值未做相应改变;删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录;对于子表插入的记录,父表中没有相应关键字值的记录;等等。对于这些设计表间数据的完整性,统称为参照完整性。

10、数据库的发展过程,哪三个阶段。

//人工管理阶段、文件系统阶段、数据库系统阶段。

11、SQL中的含义 SELECT

//SELECT 将从零个或更多表中返回记录行。

FROM //指定基本表或视图

WHERE 表示筛选条件

GROUP BY 分组,见到“每”,“各”就要分组

HAVING 分组后的筛选条件

ORDER BY 排序,ASC是升序,DESC是降序

12、有表结构 学生(学号,姓名)

检索课程名以“王”字开头的所有信息

SELECT FROM 课程表

where 姓名 like “王%”

GO

设置默认值的关键字为: default,设置主键的关键字是primary key。

1、有一个学生成绩数据库(库名XSCJ),数据库中包括三个表:

学生情况表(表名XS)由七个属性组成,可记为:

XS(学号、姓名、专业名、性别、出生时间、总学分、备注) 其中学号为主键。

课程表(表名KC)由五个属性组成,可记为:

KC(课程号、课程名、开课学期、学时、总分) 其中课程号为主键。

学生成绩表(表名CJ)由四个属性组成,可记为:

CJ(学号、课程号、成绩、总分)其中学号、课程号为主键。

完成下列 *** 作:

( 1 )在XS表中查询出所有学生年龄在18~20之间的学生信息,要求输出字段为学生的学号、姓名、性别、年龄。

select 学号,姓名,性别,年龄

from XS

where 年龄 between 18 and 20;

( 2 )在XS表中查询出不在1983年出生的所有学生情况。

select from XS

where 出生时间 !=1983;

(3)在XS表中查询专业名为“艺术” 或“网络”或“文秘”的所有学生情况,并按学生的学号降序排列。

select from XS

where 专业名 in ('艺术','网络','文秘')

order by 学号 desc;

(4)在XS表中查找出姓“张”的所有学生信息,并按学号升序排列。

select from XS

where 姓名 like '张%'

order by 学号 asc;

(5)在CJ表中查询成绩大于80分的所有学生信息。

select from CJ

where 成绩>80;

(6)在KC表中查询学时小于6的所有信息。

select from KC

where 学时<6;

(7)在XS表中查询所有性别为“女”的学生信息

select from XS

where 性别='女';

以上就是关于数据库实验-sql存储过程全部的内容,包括:数据库实验-sql存储过程、SQL sever 2000 数据库 这道习题的答案是是什么、求一个SQL语句的答案等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10195924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存