牛腩老师讲B/S开发小结 触发器 主键 外键

截止此文发表时,我刚刚对牛腩老师的新闻发布系统的视频教程,有了一个初步了解。后面对于如何美化WEB界面,如何使用其他工具修整网站页面,我还尚未接触。

我想只针对这个新闻发布系统的功能实现,来说一说自己的理解。

从架构上来说,这个系统应用的是三层(设计模式),在老师的视频中,总共分为DAL 、BLL 、Modal ,很自然的想到,牛腩老师在系统设计上并没有涉及灵活更换数据库的解决方案。不过,过后在我实现新闻发布系统的时候可以帮牛腩老师弥补这个缺陷。

在视频中,老师的功能实现手法确是让我耳目一新,以前做过的几个数据库操作系统,都是直接使用简单的sql语句,并且还是简陋、危险地字符串拼接方法。时效性、安全性定是很低了。

而在视频中,老师在创建数据库的时候,涉及了相关表的主键、外键。(表的主键,说白了就是在一个表里边唯一的行标示字段,自然在这个表中,主键是不会重复的;表的外键,简单地说就是本表相对外表之间的有关联关系的字段(两表相同的属性/字段),表述的是表与表之间的关系,自然成为了子表。)

对于原本sql语句实现的功能,基本上都是由存储过程来实现的,这样省去我们在代码中编写具体的sql语句了,直接在数据库中编写代码就能实现功能。

存储过程优点:

ü 由一系列T-SQL语句组成,可作为一个整体被程序多次调用。

ü 修改容易,可移植性好。

ü 存储过程是预编译的,执行速度快。

ü 在网络中调用存储过程时,只需要传递调用过程的语句,因此可减少网络流量。

ü 可通过对执行存储过程的权限控制来保证系统数据的安全。

ü 存储过程可嵌套调用,即在一个存储过程中调用另一个存储过程

还有,触发器。在视频中,老师简单的讲述了一下触发器的使用。而触发器,顾名思义可以理解成事件过程,当该表的某个操作事件发生了,则会触发某个过程操作,其与存储过程不是一个操作层次的。每个触发器,都有两张特殊的临时表.

其实,使用存储过程或触发器,都是将编码过程写在了数据库管理系统中,而不是以往的写在类中、模块中了。我认为,这样做效率提高了,省去了不少中间过程,但复用性、扩展性也却降低了,并且占用服务器端太多资源,调试排错比较困难 维护起来不方便。(希望路过打酱油的童鞋们拍砖哈~ )。

你可能感兴趣的:(设计模式,sql,应用服务器,Web,网络应用)