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

新到公司,发现数据库表建立的时候没有主键与表与表之间没有外键?

阅读更多
是这样的,新到公司,才入职第二天,发现公司系统运行的数据库竟然没有主键与外键,我问我们的主管,他说是因为为了后期的扩展,如果加上键,则会有很多限制。但是我觉得在最初的时候,最好还是有主键外键比较好吧,这毕竟都是良性的约束。而现在正式库和测试库的表结构和表与表之间的关系都是一样的——没有键,而且系统已经在上面开发了很长时间了,数据量也很大了,我觉得已经到了这个时候,就算谁想往里面添加约束,估计也不是那么简单的事情了,肯定会丢失很多实际重要的数据。我的想问的问题是,在数据库建立之初就形成的这种不需要主键和外键的作法,是否在很多项目中都是这样的?小弟目前见识比较短浅,只碰到三个项目,而没有主键外键约束的数据库表实例这是第一个。希望能和大家探讨一下。
0
0
分享到:
评论
2 楼 jmu 2009-08-01  
没有主键不能保证数据有唯一标识  也就是不保证符合第一范式
没有外键就没有约束  

你说的没有主外键应该是说数据库里面没有加   但是逻辑上 设计上应该有的

按我的理解就是数据约束都用人工约束了,这个当然没有数据库约束来的有保证

但是索引要加,提高性能, 否则会出现其他问题, 数据破坏,死锁什么的
1 楼 Blithe 2009-08-01  
没外键见过
在写sql语句的时候用连接就行了
加上where语句 where a.name = b.id
选出条件符合的

没主键? hibernate?


相关推荐

    数据库表排序,主表子表放置外键约束

    在数据库设计中,正确处理主表与子表之间的关系至关重要,因为这直接影响到数据的一致性和完整性。"数据库表排序,主表子表放置外键约束"这一主题涉及到数据库规范化、外键约束、数据导入以及程序化解决方案。下面将...

    java获取数据库主外键

    在Java开发中,有时我们需要动态地获取数据库的元数据信息,比如表结构、主键、外键等。本文将详细介绍如何使用Eclipse和JDBC API来获取MySQL数据库中的表结构以及主外键信息。 #### 一、准备工作 在开始之前,请...

    删除数据库的所有表、存储过程、主键、外键、索引等

    4. 外键:外键是表中的字段,引用另一个表的主键,用于建立两个表之间的关系。外键约束确保了数据的一致性和参照完整性。 5. 索引:索引是数据库为了加速查询而创建的一种数据结构。它使得数据检索更快,但会占用...

    关于关系型数据库基本知识(主键、外键、一对一、一对多、多对一等).docx

    例如,成绩表中的学号和课程号可以是外键,分别引用学生表和课程表的主键,这样就建立了表之间的关联,实现了数据的一致性。 索引是提高查询速度的手段,它创建在表的特定列上,可以是主键或非主键字段。索引没有...

    主键与外键的创建

    **外键(Foreign Key)**是表中一个或多个字段,它们的值来自另一个表的主键,用于建立和维护两个表之间的关联。外键的作用在于确保数据的参照完整性,即防止删除或更新可能导致引用错误的数据。 以下是一个示例,...

    如何区分SQL数据库中的主键与外键

    总之,理解并正确使用主键和外键是数据库设计的基础,它们不仅确保了数据的唯一性,还通过外键建立了表间的关系,从而保证了数据的一致性。良好的主键和外键设计对于数据库性能和数据完整性至关重要,因此在设计...

    数据主键和外键的错误总结

    外键是用来建立不同表之间关系的一种方式。正确地使用外键可以帮助维护数据的参照完整性,但在实践中也容易出现各种问题。 1. **悬挂外键**:当外键所引用的主键不存在时,这种外键就称为悬挂外键。这种情况会导致...

    数据库技术与应用 设置成绩表主键和外键约束-A学习任务书.doc

    而外键则是连接不同表之间的桥梁,它引用了另一个表的主键,以建立数据间的关联。 一、主键(Primary Key) 主键是数据库表中的一个或一组字段,其值在全表中必须是唯一的,并且不能为NULL。主键的主要作用是保证...

    在powerdesigen中建立主外键关联表

    外键(Foreign Key)则是引用另一个表的主键,用于建立两个表之间的关系,确保数据的一致性和参照完整性。 步骤1:创建概念数据模型(Conceptual Data Model,CDM) 打开PowerDesigner,选择“文件”>“新建”>...

    oracle表主键和外键的区别

    **外键**则是参照另一个表的主键,用于建立两个表之间的关联。外键的特性包括: 1. 参照完整性:外键的值必须存在于被参照表的主键中,确保数据的一致性。 2. 防止错误:通过外键约束,可以避免在关联表中插入不存在...

    oracle建表练习(主键外键)

    总结来说,通过本次练习,初学者不仅能够掌握Oracle数据库中创建表的基本语句,还能够了解到主键和外键在关系型数据库中的重要性,并且通过具体的实例,学会如何在实际操作中应用这些知识。这对于未来进行更复杂的...

    数据库主外键详解

    数据库外键(Foreign Key)是表中的一个字段,它用于引用另一个表中的主键,用于建立表之间的关系。外键的目的是为了维护数据的一致性和完整性,避免数据中的不一致和错误。 创建外键约束时,需要指定引用哪个表的...

    数据表的关联关系图-父表与子表的关联关系

    本话题主要讨论的是“数据表的关联关系图”,特别是父表与子表的关联关系,涉及到的核心概念包括主键、外键、父表和子表,以及多对一关联。 首先,我们来理解什么是主键和外键。主键(Primary Key)是表中的一个或...

    如何处理数据库中的外键

    它建立了一个表与另一个表之间的引用关系,确保数据的准确性和一致性。 2. **外键类型**:外键可以是简单外键,即只包含一个字段,也可以是复合外键,由多个字段组成,每个字段都参照主键的一个部分。 3. **约束...

    oracle创建表空间、表、主键、外键、序列

    外键用于在两个表之间建立关系,确保引用完整性。创建外键的语法如下: ```sql ALTER TABLE 参照表 ADD CONSTRAINT 外键约束名 FOREIGN KEY (参照列) REFERENCES 被参照表 (被参照列); ``` 假设有一个`DEPARTMENTS`...

    mysql数据库设置外键应该注意的几点

    外键是用来建立两个表之间的关联,通常是主表(父表)的一个或多个字段与从表(子表)的相应字段相匹配。定义外键约束时,需要指定父表的引用字段和子表的关联字段。例如: ```sql CREATE TABLE Orders ( ...

    Access中如何建立外键关系

    在数据库设计中,外键(Foreign Key)是一种关键机制,用于在两个表之间建立关联,确保数据的一致性和完整性。在Microsoft Access中,通过外键关系可以实现表之间的链接,使得一个表的数据能够引用另一个表的数据。...

    sql外键的建立文档

    在SQL数据库设计中,外键(Foreign Key)是实现数据完整性和引用完整性的关键机制,它使得不同表之间的数据能够建立关联,确保了数据的一致性。本文将深入讲解如何在SQL Server中建立外键,以及如何使用不同的方法...

    sqlserver 2005 主外键-复合主键

    在SQL Server 2005中,主键与外键是数据库设计中非常重要的概念,它们主要用于确保数据的完整性和一致性。特别是在复杂的数据关系管理中,复合主键的应用更是能够帮助我们有效地处理多对多的关系或者是更为复杂的...

Global site tag (gtag.js) - Google Analytics