代码改变世界

随笔分类 -  数据库

数据库中的几组概念

2012-08-19 16:33 by coodoing, 693 阅读, 收藏, 编辑
摘要: 1、mysql中内存表和临时表 在介绍内存表和临时表之前,必须明确的一点就是: mysql中临时表的表建在内存里,数据在内存里 ;内存表的表建在磁盘里,数据在内存里 。两种表结构的创建方式1.临时表:表建在内存里,数据在内存里; 2.内存表:表建在磁盘里,数据在内存里。临时表 mysql> create temporary table tmp1(id int not null); Query OK, 0 rows affected (0.00 sec) mysql> show create table tmp1; +-------+-----------... 阅读全文

存储过程与函数的区别

2012-08-19 11:23 by coodoing, 4158 阅读, 收藏, 编辑
摘要: 这两天一直在研究一个问题,所以对sql中dynamic sql 做了部分了解,不过最终都归结到存储过程和函数的区别这个问题上。 本质上没区别。只是函数只能返回一个变量的限制;而存储过程可以返回多个。函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。函数限制比较多,如不能用临时表,只能用表变量等,而存储过程的限制相对就比较少。 1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 2. 当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一.. 阅读全文

数据库一、二、三及BCNF范式

2012-08-18 08:50 by coodoing, 902 阅读, 收藏, 编辑
摘要: 举例说明数据库一、二、三及BCNF范式 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应... 阅读全文