`
october731
  • 浏览: 85789 次
  • 性别: 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中建立外键,以及如何使用不同的方法...

    Mysql增加外键的方法

    在数据库管理系统中,外键是用来建立和加强两个表数据之间链接的一类约束。在MySQL数据库中,可以通过特定的语法结构来增加外键,即便在建表时未设置外键也能在之后进行添加。本文详细介绍了在MySQL中增加外键的方法...

Global site tag (gtag.js) - Google Analytics