您的位置:首页 > 数据库

牛腩新闻发布系统中的数据库知识总结

2012-12-01 15:48 323 查看
        1、外键(详细总结地址:数据库总结之外键再学习点击打开链接

            例子:新闻表的ID是主键,评论表的newsID 是外键

            此例子的含义:评论表中的newsid代表新闻表中的id,即这个字段必须是新闻id中已经存在的。反之,要想删除新闻id,必须保证评论表中不存在对应的newsid,否则,newsid就会孤立。

        2、关系图 :表示各表直接的关系,直观

            尝试了两种建立关系的方法:

           (1)、通过可视化工具完成,这个方法虽然简单,但是有些功能不如使用T-SQL更完善,更稳定,所以,有的时候如果你发现建立关系的过程没有错,可就是提示错误,那你不妨试试是T-SQL。

           (2)、当然是T-SQL语句建立了,这个时候呢,虽然麻烦了一点(初学者可能会觉得麻烦),但是比较稳定,同时要求你的很好的T-SQL基础!

        3、命名规范:

            数据库命名规范:(JAVA命名)第一个单词首字母小写,其他单词首字母大写.

            操作类命名规范:(JAVA)***DAO,如:CategoryDAO,DAO:Data Access Objects,数据访问对象。

            C# 规范:每一个单词首字母都大写。

        4、触发器

            删除的时候会首先放在一张临时表中(deleted)

            Instead of :是代替,即在删除的时候不执行删除,而是执行Instead of 后的语句。

            After :是之后,即在删除之后进行的操作。

            当查到的内容是多条的时候是不能使用= 号的,应该使用IN。

            疑问(已解决):
                     

   
                      这里的代替,那岂不是不管删除什么都会触发一系列操作?那要是更新呢?

                (当初的疑问是:这里只是制定了删除规则,也就是只要执行删除操作,就会触发,那就是不管删除什么都会触发。就想到了更新,是不是不管更新什么,只要更新就会触发?后来,才明白,更新触发器是可以规定更新那个字段的时候才触发的!)

        6、存储过程

            (1)、存储过程比sql语句执行效率高。

            (2)、内连接 外连接 inner join(实例学习SQL内连接与外连接。)

                        


                   上述语句解析:首先top10就很简单了,是只查出最近的10条,

                    news n = news as n 是给表起的别名 同样category c 也是。

                    Inner join 是内连接

                    Order by   desc 降序(倒序)排列。 Asc 是升序(正序)

这篇博客只是牛腩新闻发布系统中数据库总结部分的一部分,两外两大部分在其他文章中,请移步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: