`
october731
  • 浏览: 87968 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

讨论 数据库建表中存在数据的互相包含情况,这样合理吗?

 
阅读更多
    做酒店信息系统管理的,之前的程序员在设计客人信息表和会员信息表的时候,采用的是这样的方法:客人信息表主键:GuestNo,表中有一个字段CardNo用来表示会员卡号;会员信息表主键CardNo,而表中又有一个字段GuestNo用来表示这个会员卡号表示的客人编号。我从一开始接触到这个的时候就觉得这个不合理了,但是她们一直都认为这个必须要这样做。我认为只需要在一张表中包含另外的一个表的主键信息就够了,没有必要这样互相包含,也没有意义。比如,直接在会员卡信息表里面包含客人编号就行了,那么客人信息表就只记录客人的基本信息(如地址、姓名等等之类);或者在客人信息表里面包含会员卡号就行了,那么会员信息表就只包含会员卡的基本信息(比如会员卡积分、开卡酒店等等)。我的想法是这样,我实在是想不通之前的那种表的设计方法到底为什么要这么做,有什么必要?
分享到:
评论
1 楼 shevliu 2009-12-08  
出于性能等方面的考虑,适当的冗余是合适的。
实际项目中会有很多看似不满足某某规范的地方,一般总是出于其他方面的考虑,不必太教条化,合适就行。

相关推荐

    数据库建表工具EZDML

    在数据库开发过程中,建表是至关重要的一步,它涉及到数据模型的构建,关系的定义以及数据存储的逻辑设计。 数据库建表的基本概念包括以下几点: 1. **数据表**:数据表是数据库中的核心元素,由一系列行和列组成...

    达梦数据库建表操作SQL语句大全.pdf

    达梦数据库是国产数据库产品中的佼佼者,它提供了完整的SQL语言支持,让用户可以方便地进行数据库的建表、数据操作以及维护等操作。以下是根据提供的文件内容,对达梦数据库建表操作SQL语句所涉及知识点的详细解析:...

    数据库建表原则-设计思想-查询优化

    ### 数据库建表原则详解 #### 一、原始单据与实体之间的关系 在数据库设计过程中,原始单据与实体之间的关系是理解数据结构的基础。根据业务需求的不同,这种关系可以表现为一对一、一对多或者多对多的形式。最...

    (精品word)数据库系统概论学生数据库建表.doc

    数据存储是指学生数据库中的数据存储方式,包括关系型数据库、面向对象数据库、Nosql数据库等。数据查询是指学生数据库中的数据查询方式,包括SQL语言、查询优化等。数据安全是指学生数据库中的数据安全机制,包括...

    sql数据库建表建议

    特别是在进行SQL数据库建表的过程中,合理的设计尤为关键。本文将细致探讨SQL数据库建表的一系列建议,旨在帮助读者在设计过程中避免常见错误,从而构建出高效、可扩展且符合业务需求的数据库表。 首先,对单据与...

    syncd数据库建表的sql语句

    linux 部署 syncd部署服务,这个文件就是syncd数据库建表的sql语句

    达梦数据库建表失败的经历

    在IT领域,数据库管理是至关重要的,特别是在国产数据库如达梦数据库中。本文将深入探讨在达梦数据库中创建表空间遇到的问题以及解决方案,重点在于理解表空间的创建规则和参数设置。 首先,表空间(Tablespace)是...

    quartz各种数据库的建表语句

    Quartz是一款广泛使用的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Quartz中,任务和调度信息存储在数据库中,...同时,不要忘记在生产环境中备份数据,以免在执行建表脚本时出现意外情况。

    PUB数据库建表SQL

    PUB数据库建表SQL

    quartz集群各种数据库建表脚本

    "quartz集群各种数据库建表脚本" 提供了在不同类型的数据库中创建Quartz集群所需的表结构。基于quartz2.2.1版本,这个脚本应该包含了创建必要的调度表,如QRTZ_JOB_DETAILS、QRTZ_TRIGGERS、QRTZ_SIMPLE_TRIGGERS等...

    Java操作Oracle数据库(建表,插数据,删除)

    在本文中,我们将探讨如何使用 Java 操作 Oracle 数据库,包括建表、插入数据和删除数据等操作。 Java 操作 Oracle 数据库的必要条件 在使用 Java 操作 Oracle 数据库之前,需要满足以下几个条件: 1. 安装 ...

    GP数据库建表模板.xlsx

    GP数据库建表模板,通过excel拷贝数据字典,即可生成对应的gp数据库建表语句脚本,简单易用

    数据库建表-建约束-建外键.doc

    数据库建表是数据库设计中最基础且重要的一步。在实际应用中,建表的正确性将直接影响到后续的数据存储和查询效率。本文将从建表的角度出发,介绍了建表、约束、外键三者的关系和实现方法。 一、数据库建表 数据库...

    Oracle数据库建表空间

    oracle数据库建表空间 用户名 密码 需要在sys用户下建

    sql数据库建表优质资料.doc

    SQL 数据库建表优质资料是一份关于 SQL 数据库建表的优质资料,包括创建三张表的 SQL 语句、添加约束、删除列、修改列类型等操作。同时,还包括了 E-R 图的设计、关系模型的转换、表的创建、查询语句的编写等内容。 ...

    dataexplore数据库建表工具

    dataexplore 数据库语句生成工具 Create、Update、Delete、Insert等等自动生成

    数据库建表增加或删除字段

    在Oracle数据库中,如果一个表中存在某个字段已经不再被使用或者该字段需要被替换,那么可以通过`ALTER TABLE`语句来删除该字段。这一操作会永久地从表中移除指定的列,因此在执行之前需要确保该字段的数据确实不再...

    条码系统数据库建表.xlsx

    关于条码的数据库建表,条码系统用于扫描来完成仓库的上架下架收发货盘点追溯等功能,用户操作员分配权限。

    SQL数据库建表

    在IT行业中,数据库是存储和管理数据的核心工具,而SQL(Structured Query Language)则是与数据库交互的语言。T-SQL(Transact-SQL)是SQL的一个扩展,主要用于Microsoft SQL Server。本教程聚焦于“SQL数据库建表...

    SQL数据库建表建库语句

    SQL数据库建表建库语句 SQL SEREVER入门必备的第一个教学代码 仅供学习参考

Global site tag (gtag.js) - Google Analytics