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,