SQL争霸赛试题及参考答案
1.某医院病房计算机管理中需要如下信息:(15分)
科室:科名,科地址,科电话
病房:病房号,所属科室名
医生:姓名,职称,所属科室名,年龄,工作证号
病人:病历号,姓名,性别,诊断,主管医生,病房号,入住日期
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个,一个病人可能在不同时间入住不同的病房,也是就说一个病人也许入住过多间病房,一间病房可以入住多名病人。
完成如下设计:
(1) 设计该计算机管理系统的E-R图(7分);
答案(实体上的属性描述及关系描述略)画出四个实体图,然后关系描述正确即可。
(2) 将该E-R图转换为数据库模型图(表名和字段名都可以用中文来写)(8分);
答案:
2. (75分)
表名
S
作用
存储学生信息
主键
SNO
序号
字段名称
字段说明
类型
属性
备注
1
SNO
主键,学号
Varchar(5)
非空
学号必须为数字
2
SName
学生姓名
Nvarchar(50)
非空
姓名唯一
3
Age
年龄
Int
非空
1~100
4
Sex
性别
Nvarchar(1)
非空
默认为男,只能填写男和女
表名
C
作用
存储课程信息
主键
CNO
序号
字段名称
字段说明
类型
属性
备注
1
CNO
主键,课程号
char(2)
非空
课程号长度必须为2
2
CName
课程名
Nvarchar(50)
非空
唯一
3
Teacher
老师姓名
Nvarchar(50)
非空
表名
SC
作用
存储成绩信息
主键
CNO,SNO
序号
字段名称
字段说明
类型
属性
备注
1
CNO
课程号,外键
char(2)
非空
课程号长度必须为2
2
SNO
学生号,外键
Varchar(5)
非空
学号必须为数字
3
Grade
成绩
Int
非空
0~100
2.1 写出SQL语句,建立学生数据库Student,并按以上要求建立表,约束(13分)(答案略);
2.2 插入一下测试数据:(2分)
INSERT [C] ([CNO],[CName],[Teacher]) VALUES ( 'k1','C语言','王华')
INSERT [C] ([CNO],[CName],[Teacher]) VALUES ( 'K5','数据库原理','程军')
INSERT [C] ([CNO],[CName],[Teacher]) VALUES ( 'K8','编译原理','程军')
INSERT [S] ([SNO],[SName],[Age],[sex]) VALUES ( '1','李强',23,'男')
INSERT [S] ([SNO],[SName],[Age],[sex]) VALUES ( '2','刘丽',22,
相关文档:
方法一:
DB1 tb1
DB2 tb2
选择DB1 到表的列表那里
选择tb1表 右键 所有任务 数据导出
下一步 选择你要导出的数据库DB1 下一步 选择你要导入的数据库DB2
下一步 选择你要导的表(前面画勾)tb1, 后面对应的是新数据库的表名tb2(默认是相同表名,可修改) 下一步 完了 ......
CREATE FUNCTION dbo.UF_GetInvoiceSerials( @bizCode VARCHAR(10))
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @ret AS VARCHAR(1000)
SELECT @ret=Coalesce(@ret + ', ','') +
CASE e.ID
......
方案1 适用于oracle9i以上!
select * from
(select row_number() over(order by sendid desc) rn,m.* from xxt_msgreceive m )
where rn <1010 and rn>=1000
方案2
SELECT * from (SELECT A.*, ROWNUM RN from (SELECT * from xxt_msg where sendstatus=1 order by msgid desc) A WHERE ROWNUM < ......
在存储过程或触发器中使用 Transact-SQL 游标的典型过程为:
声明 Transact-SQL 变量包含游标返回的数据。为每个结果集列声明一个变量。声明足够大的变量来保存列返回的值,并声明变量的类型为可从列数据类型隐式转换得到的数据类型。
使用 DECLARE CURSOR 语句将 Transact-SQL 游标与 SELECT 语句相关联。另外,D ......
存储过程中常用到的SQL事务处理语句格式可能会有如下几种:
第一种:
set xact_abort on
begin tran
insert ...
update ...
......