数据库复习

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:消除了非主属性对码的部分函数依赖

2NF→3NF:消除了非主属性对码的传递函数依赖

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值