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

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

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

相关推荐

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

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

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

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

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

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

    sql数据库建表建议

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

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

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

    quartz各种数据库的建表语句

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

    PUB数据库建表SQL

    PUB数据库建表SQL

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

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

    达梦数据库批量建表

    国产数据库达梦数据库,利用存储函数可以方便快捷建立大量测试用表

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

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

    dataexplore数据库建表工具

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

    条码系统数据库建表.xlsx

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

    SQL数据库建表

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

    SQL数据库建表建库语句

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

    数据库建表代码

    数据库建表代码,包括学生表、选课表、课程表等

    SpringBatch数据库建表语句.txt

    SpringBatch数据库建表语句,存储springBatch批处理过程中需要保存的数据和步骤信息

    JS动态树分组的实现,数据库建表,JSP页面展示

    在IT领域,动态树结构是一种常见的数据展示方式,尤其在管理界面中,它能清晰地组织和层次化信息。本项目主要涉及JavaScript(JS)实现动态树分组、数据库建表以及JSP页面的展示。以下将详细阐述这些知识点。 **...

    数据库的建表并设置权限

    1.创建一个名为DAVID的用户,口令为davidpass,并授予其连接数据库和创建表对象的权限。同时授予其访问另一用户SCOTT的表EMP的权限. [注]作业要求

    贷款系统数据库建表.doc

    贷款系统数据库建表.doc该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~

    测试数据库快速建表sql语句

    "百万级数据库测试建表"可能是指包含大量测试数据的建表脚本,用于测试大数据量下的性能和稳定性。这种脚本通常会包含大量的INSERT语句,用于填充测试表以达到指定数量的数据行。测试数据应尽可能模拟真实世界的分布...

Global site tag (gtag.js) - Google Analytics