1.触发器就是在对数据库进行插入、删除、更新的时候一并执行的一段SQL语句。包括后触发器和替代触发器。具体你自己看看定义。
2.外键就是表中的这样一个列,此列参照到另外一个表的主键或这UNIQUE列,插入到外键列中的数据必须在其参照的主键列或者UNIQUE列中存在。另外关于级联的问题你自己看看帮助。
3.至于存储过程和用户函数的执行速度谁快我不大清楚。
4.不怕你笑话,我到现在都不知道宽表和窄表是什么,来听停课。

解决方案 »

  1.   

    1、比如说需要当数据库打开、某个用户登陆、对表修改时,引起另外某些的
    工作,就利用触发器
    2、本表中设置了外键的字段要遵循另外一张表或本表的其他字段的约束。
    3、存储过程是在数据库端运行,然后返回给客户端;函数是从数据库端拉数据到客户端,在客户端运行。存储过程是对记录集的封装,比较方便,但从原理来说,应该函数快一些,因为在本地运行总比在服务器端运行好一些
    4、对SQLSERVER不懂,是不是和ORACLE中分区表的意思一样?
      

  2.   

    to:e_gaojie(木头) 
    只限于技术讨论。
    从表面看,利用存储过程很快,确实,它是经过预编译并经常缓存在缓存中,所以会改善性能。但当客户端需要大量的数据时,依然要涉及两次网络传输,所以无论怎样处理数据,在本地要比远程快。所以这就是ADO以及COM存在的理由。
      

  3.   

    至于宽表和窄表应视具体情况而定,不要拘泥于理论,在sql优化里有时利用多表连接比一个大表要快
      

  4.   

    1、对SQL SERVER 来说,触发器并不能做到数据库打开、某个用户登陆时触发,
    同意mars884813(一帆)的回答。
    2、也同意mars884813(一帆)的回答。
    3、存储过程和用户函数都是在服务器端执行的,本质上是一样的,但是他们的调用方式和返回值不一样。
    4、宽表好,还是用很多窄表好,这是个见仁见智的问题,一般多窄表更符合范式,而好多时候宽表又非常方便,要看具体问题来决定取舍,同意 webcat,不要拘泥于理论。