随笔分类 - 数据库设计
摘要:http://www.cnblogs.com/qq18795736/archive/2008/10/15/1311580.html最简单的例子,学生表和选课表。一个学生可以选择多门课程, 一门课程可以被多个学生选修。于是,增加中间表,学生选修课程情况表 。这个表的字段便是学生编号和课程编号。
阅读全文
摘要:类别表:BookSort_IDBookSort_name图书表:Book_IDBook_name BookSort_ID图书照片表:BookPhoto_IDBookPhoto_name Book_ID 类别表是1,图书表是n;图书表是1,图书照片表是n。可以看到,类别表不用添加字段,自顾自就行。图书表要加一个类别表的主键ID,实现关系一对多。
阅读全文
摘要:第一种思路:客房信息表只要有一个相册字段就行。该字段对应相册文件夹。查看相册时,程序根据相册字段找到相册文件夹,读取所有jpg文件,并显示。 弊端:不好分页。第二种思路:相册表,字段有: 相片ID,相片地址,上传时间。还要有个配置文件,指定专门文件夹。第一次上传,判断指定目录有无当日日期文件夹。无,则创建,有,上传图片。第三种思路:根据相片ID,来放文件夹。比如1000个图片放一个文件夹。
阅读全文
摘要:事务除了其ACID(原子性、一致性、隔离性和持久性)四个特征外。要掌握的是,什么情况用事务,什么情况可以不用。还有就是事务的并发控制。详情参考:http://www.cnblogs.com/boyldr/archive/2011/08/05/databaseshiwu.htmlhttp://www.cnblogs.com/xiaoyao2011/archive/2011/08/17/2143027.html
阅读全文
摘要:转自http://www.cnblogs.com/engine1984/archive/2009/12/02/1615274.html 当有多对多联系时,最好中间再加一个实体,使其成为多对一,一对多的联系。
阅读全文
摘要:数据库的生命周期主要分为四个阶段:a.需求分析、b.逻辑设计、c.物理设计、d.实现维护。a.其中需求分析可以与软件生命周期的需求分析相结合。b.逻辑设计又可以分为,数据模型(E-R图),提取业务规则,转换成SQL表,范式化。目的是,减少数据冗余。通俗来说就是,不要把所有字段放在一张表上。提取业务规则(也就是自定义完整性约束),举个例子:一本关于数据库设计的书籍卖出前5000本的版税为5%,5000本至10000本之间的版税为7%,超过10000本后的版税为10%,不同类型书籍的版税可能不同。我们把参数隔离到一张参数表中进行维护。创建的参数表为RoyaltyRates,并通过BookId与Bo
阅读全文
摘要:1.原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对 多或多对一的关系,即一张原始单据对应多个实体,或多张原始单据对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有 好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单据对应多个实体”的典型例子。 2.主键与外键 一般而言,一个实体不能既无主键又无外键。在E-R 图中,处于叶子部位的实体,可以定义主键,也...
阅读全文
摘要:第一范式:没有重复的列。第二范式:要有唯一标识。第三范式:不依赖非主键。实现了第三范式,说明已经实现了第一,第二范式。不符合第三范式,数据库表会有增删改异常,以及产生大量冗余数据。 更好理解三个范式的意义,请参考这个链接http://baike.baidu.com/view/26218.htm
阅读全文