1、图书借阅数据库中包含以下关系模式(附关系模式中各属性的数据类型):
图书:书号(char)、书名(char)、作者(char)、出版社(char)、出版日期(date);
学生:学号(char)、姓名(char)、性别(char)、年龄(smallint)、专业(char);
借阅:学号(char)、书号(char)、借阅时间(date)、归还时间(date);
(1)创建存储过程proc1,定义输入变量,输入学生姓名,查询并显示该学生借阅图书的数量,如果输入“*”,查询全部学生的借书数量。
create procedure proc1 @n char(20)
as
if @n='*' select count(*) from 图书借阅表
else
begin
select 姓名,count(*) 借书数量 from 学生表,图书借阅表 where 姓名=@n and 学生表.学号=图书借阅表.学号
group by 姓名
end;
(2)添加“通信工程”专业只能为男生的约束条件ck1。
Alter table 学生表
ADD Constraint ck1 check(性别='男' or 专业<>'信息工程');
用and无法实现
2、范式
(1)符合高一级的范式必定符合低一级的范式,例如符合2NF必定符合1NF
(2)1NF:符合1NF中的每个属性不可再分
1NF→2NF:消除了非主属性对码的部分函数依赖
本文复习了数据库相关知识,包括创建存储过程proc1以查询学生借阅图书数量,其中涉及对输入参数的处理和特定专业约束的设定。此外,讨论了数据库的范式理论,强调了符合更高范式的表必定满足较低范式,并解释了1NF到2NF及2NF到3NF的转换条件,即消除部分和传递函数依赖。
订阅专栏 解锁全文
7739

被折叠的 条评论
为什么被折叠?



