HTML与数据库知识点回顾
来源:互联网 发布:适合程序员的十款壁纸 编辑:程序博客网 时间:2024/06/10 01:38
数据库知识点:
完整性约束
第二范式是消除部分依赖
第三范式是消除传递依赖
三大重要知识点:
存储过程:--(1)创建存储过程(P6_1) ,给定老师姓名,删除学习该老师的选课记录。存储过程的参数为老师姓名,返回删除记录的个数。
go
CREATE PROCEDURE P6_1
@jsxm char(10), @rowcount char(10) OUTPUT --jsxm教师姓名,rowcount返回删除记录的个数
AS
BEGIN
declare @jsbh char(10)
select @jsbh = tno from teacher where tname=@jsxm
delete from score where cno IN(
select cno from course where tno=@jsbh )
set @rowcount=@@rowcount
END;
游标:
创建一个存储过程,打印给定学生姓名的选课信息,并计算其平均绩点。
说明:
(1)数据的查询处理用游标实现。
(2)绩点的计算方法如下:60-100分:1.0-5.0;60分以下:0。
(3)打印格式:
X X X同学的成绩表
课程名称 成绩
绩点
---------------------------------
XXX XX X.X
---------------------------------
平均绩点: X.X
use mydb06;
if exists(select * from sys.objects where name='P8')
drop PROCEDURE P8
GO
CREATE PROCEDURE P8
@pro_xm char(10)
AS
BEGIN
declare @xm nvarchar(20),@kcmc nvarchar(20),@cj int,@jd decimal(5,1),@avg_jd decimal(5,1)
,@kcsl decimal(5,1)
set @avg_jd=0
set @kcsl=0
--定义游标
declare retrive_grade cursor for
select sname,cname,grade from student,course,score
where student.sno=score.sno
and score.cno=course.cno
and student.sname=@pro_xm;//给定学生姓名
--打开游标
open retrive_grade
fetch next from retrive_grade into @xm,@kcmc,@cj
print convert(varchar(10),@xm)+'同学的成绩表'
print '课程名称 成绩 绩点'
print '--------------------------'
--提取数据
while @@fetch_status=0
begin
if @cj<60
set @jd=0
else
set @jd=convert(decimal(5,1),@cj)/10-5
set @avg_jd=@avg_jd+@jd
set @kcsl=@kcsl+1
print convert(varchar(10),@kcmc)+' '+convert(varchar(10),@cj)+' '+convert(varchar(10),@jd)
fetch next from retrive_grade into @xm,@kcmc,@cj
end
print '--------------------------'
print '平均绩点: '+convert(varchar(10),convert(decimal(5,1),@avg_jd/@kcsl))
CLOSE retrive_grade
DEALLOCATE retrive_grade
END;
3.触发器:--(1)定义一个点delete触发器,删除course表中的课程信息时,同时删除score表中相应的选课信息。
go
create trigger delete_course on course
instead of delete
as
begin
delete from score where cno =(select cno from deleted)
end;
--(2)定义一个update触发器,当更新course表中的课程标号cno时,修改score表中相应课程标号cno的信息。
go
create trigger update_course on course
instead of update
AS
BEGIN
declare @cno_new char(10), @cno_old char(10),@rows int
select @cno_new=cno from inserted --更新后的课程号
select @cno_old=cno from deleted --更新前的课程号
select @rows=count(*) from course where cno=@cno_new
if @rows = 0
insert into course
select * from inserted --在course中插入更新后的数据
insert into score(sno,cno)
select sno, @cno_new from score where cno=@cno_old --在score中插入新数据
delete from score where cno=@cno_old --删除旧数据
delete from course where cno=@cno_old
END
关于外键的说明:
如果 F是关系R的一个属性或者属性组,但不是关系R的主键;K是另一个关系S的主键。且F和K相对应。
那么 则称F是关系R的外码。(这是教材上对外码的定义)
从定义中不难看出F一定和另外一个表(S)的主键是对应的,也就是说一定是另外一个表(S)的主键。但是在此表(R)中外键的值可以为空,不应定非要取值。
比如这里有两张表:
学生选课表(学号,姓名,课程号)
课 程 表(课程号,任课教师)
可以看出“课程号”是表“学生选课表”的外键,同时也是表“课程表”的主键,
在这里它就可以取空值,表示有一个学生没选课。
从表中使用foreign key设置外码,参照主表中的主码,在foreign key的最后如果加上了on delete cascade,则在删除主表中的数据时,从表中对应的数据会被一起级联删除;在foreign key的最后如果加上了on delete set null,则在删除主表中的数据时,从表中对应的数据会被设置为null;在foreign key的最后什么也不加,则在删除主表中的数据时,如果从表中有对应数据参照它,主表中这些数据就无法删除,会报错。
HTML知识点:
1.<p> 段落标签</p>,<b>文字黑体标签</b>
2.空元素是指<br/>类元素标签, 空元素标签在开始标签中关闭
3.HTML 链接由 <a> 标签定义。链接的地址在 href 属性中指定:
5.CSS三种样式:
- HTML与数据库知识点回顾
- html与JavaScript回顾
- Http知识点回顾与总结
- 学习html前三天的知识点回顾
- 回顾php与html测试
- html与css基础知识回顾
- 知识点回顾
- 知识点回顾
- 知识点回顾
- 知识点回顾
- 数据库的学习和之前不熟悉的知识点回顾
- java知识点回顾(JavaSE、JavaWeb、数据库、JavaEE)
- HTML回顾
- SSIS控件使用大全,知识点回顾与整理
- 原生javascript基础知识点(2)复习与回顾
- Struts2知识点回顾(六)文件上传与下载
- C++笔试面试真题回顾与知识点总结
- Struts2知识点回顾(八)OGNL与ValueStack
- XPath Cookbook-Axes(轴)
- HDU 1754 I Hate It
- Leetcode-标签为Tree的easy题目列表
- pagination实现分页功能
- 什么样的工作是好工作?
- HTML与数据库知识点回顾
- 最简单的轮播图(JQuery)
- applicationContex.xml 和 *-servlet.xml 的区别
- Swift-字典(Dictionary)
- hdu1850-Being a Good Boy in Spring Festival(Nim博弈)
- 加分二叉树
- 【敏捷开发每日一贴】采用物理看板还是电子看板?
- L1-047. 装睡
- ANDROID webview解决视频无法播放问题