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,
相关文档:
在存储过程或触发器中使用 Transact-SQL 游标的典型过程为:
声明 Transact-SQL 变量包含游标返回的数据。为每个结果集列声明一个变量。声明足够大的变量来保存列返回的值,并声明变量的类型为可从列数据类型隐式转换得到的数据类型。
使用 DECLARE CURSOR 语句将 Transact-SQL 游标与 SELECT 语句相关联。另外,D ......
select d.code,d.name, sum(w.weight) weight,round(avg(w.price),2) price,sum(w.money) money
from weight_info w left outer join t_dict d on w.productcode=d.code left outer join t_balancecode b on w.balancecode=b.balancecode where 1=1 and w.operdate>TO_TIMESTAMP('2009-11-2 04:12:32.0', ' ......
存储过程中常用到的SQL事务处理语句格式可能会有如下几种:
第一种:
set xact_abort on
begin tran
insert ...
update ...
  ......
1。版本:Sql2008/2005
2。目的:导出指定的表中所有数据,导出格式为 insert 语句
3。具体操作:
1)找到需要导出的数据库,右键菜单,任务--〉生成脚本
2)进入向导,一路下一步,注意选择生成脚本选项的时候,将“编写数据的脚本”设置为“True”即可
3)保存生成的Sql文件 ......
成员名称说明
BigInt
Int64。64 位的有符号整数。
Binary
Byte 类型的 Array。二进制数据的固定长度流,范围在 1 到 8,000 个字节之间。
Bit
Boolean。无符号数值,可以是 0、1 或 空引用(在 Visual Basic 中为 Nothing)。
Char
String。非 Unicode 字符的固定长度流,范围在 1 ......