主键,外键,自然主键,代理主键,关系型数据库及非关系型数据库

关系型数据库

将复杂的数据结构转换为一个二维表格即利用关系模型把数据组织到一个二维数据表,通过SQL即结构化查询语句去操作数据:后期学习Jpa面向对象查询语句jpql语句操作数据


Oracle


Oracle(甲骨文/神域)


运行稳定,可移植性高,功能齐全,性能超群!适用于大型企业领域。对企业收费。


DB2


IBM


速度快、可靠性好,适于海量数据,恢复性极强。适用于大中型企业领域。


SQL SERVER


微软


全面,效率高,界面友好,操作容易,但是不跨平台。适用于于中小型企业领域。


MYSQL


AB-->SUN-->Oracle


开源免费,体积小,速度快。适用于于中小型企业领域。

非关系型数据库(Not Only SQL)

  是在关系型数据库上提升高性能、高并发而生;

① 键值存储(key-value): redis,Memcached  -- 内存数据库(快)

② 列存储:Hbase

③ 文档型数据库:mongodb

④ 图形数据库:Graph

主键:

关系型数据库一张表中唯一的且非空称之为主键 (比如id,用户名不重名那种)

  后期会称它用来保证记录(记录就是一张表一行数据,又称一个对象)的唯一性。简单来说,就是同一张数据库表中,不允许存在多条相同主键的记录。

外键:

  外键用于一张表与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。

比说有一张表一个字段是parent_id这字段是另外一张表的主键,parent_id字段叫外键

自然主键:

自然主键和代理主键就对主键的分类,主键他是标识一条记录的

自然主键就是该主键又特殊含义,比如说我们用户名作为id主键,他还代表这个用户,比如说省份证作为主键,标识你这个人,比说id卡这类

代表主键:

类似于 1,2,3。。。。n那种没含义;

oid:

Object id;就是一条记录(一条对象)的id;

原文地址:https://www.cnblogs.com/13438145925xiaozheng/p/11241624.html

时间: 2024-11-08 21:51:13

主键,外键,自然主键,代理主键,关系型数据库及非关系型数据库的相关文章

Sql Server 主键 外键约束

主键约束 表通常具有包含唯一标识表中每一行的值的一列或一组列. 这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性. 由于主键约束可保证数据的唯一性,因此经常对标识列定义这种约束. 如果为表指定了主键约束, 数据库引擎 将通过为主键列自动创建唯一索引来强制数据的唯一性. 当在查询中使用主键时,此索引还允许对数据进行快速访问. 如果对多列定义了主键约束,则一列中的值可能会重复,但来自主键约束定义中所有列的值的任何组合必须唯一. 如下图所示, Purchasing.ProductVend

数据库系统基础笔记(3)--主键/外键 索引

本文转载自:http://www.cnblogs.com/longyi1234/archive/2010/03/24/1693738.html 作者:蔚蓝色的天空 一.什么是主键.外键 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 :  学生表 (学号,姓名,性别,班级)  其中每个学生的学号是唯一的,学号就是一个主键  课程表(课程编号,课程名,学分)  其中课程编号是唯一的,课程编号就是一个主键  成绩表(学号,课

SQL主键&外键

SQL的主键和外键约束 SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除. (4)更新主键记录时,同样有级联更新和拒绝执行的选择. 简而言之,SQL的主键和外键就是起约束作用. 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键. 比如: 学

数据库基础(子查询、设置主键外键)

子查询,又叫做嵌套查询. 将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询. 子查询有两种类型: 一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数: 另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的数据表. 子查询示例: 练习一: 练习二: 练习三: 分页查询语句示例: 查看总共可以分为多少页: 主键        数据库主键是指表中一个列或列的组合,其值

笔记:oracle关于使用代理主键还是逻辑主键的好?

总结几点体会: 第一点:统一. 最近参与的项目,其公共模块(单位表.人员信息表等)全部使用的是代理主键,而集成进来的数据模型又使用的是逻辑主键.为了最大限度的使用已经写好的存储过程.函数等对象,公共模块的数据必须按照一定规则映射一份到集成进来的模块中,这就增加了数据库维护的工作量和难度:java程序使用的持久层是hibernate,在设计javabean的时候也要考虑这种情况,是的java程序员在处理单位信息的时候不得不建立2各javabean,还需要在java程序中进行手动转换,非常耗时. 针

数据库主从表、关系;主、外键关系和作用

从数据库是主数据库的备份,当主数据库变化时从数据库要更新,这些数据库软件可以设计更新周期.这是提高信息安全的手段.主从数据库服务器不在一个地理位置上,当发生意外时数据库可以保存.主外键的关系结构:1,一对一,不用引用主外键,把它们放一个表中即可例如:一个学生只能有一个卡号,那么学生跟卡号放在一个表中即可2,一对多,引用主外键,'一'相当于主键,'多'即是引用主键的外键.例如:一个班级可以有多个学生,并且一个学生只能属于一个班级,这就是一对多的关系:3,多对多关系,需要创建一个表,表中需要两个字段

主键外键建表格

create table Student ( Sno varchar(50)primary key not null, --学号(主码) Sname varchar(50) not null, --学生姓名 Ssex varchar(50)not null, --学生性别 Sbirthday datetime, --学生出生年月 Class varchar(50) --学生所在班级 ) go truncate table Student --此句是清除表中所有内容 不是清除表 insert in

通过 jdbc 分析数据库中的表结构和主键外键

文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hibernate 是 ORM 框架,他是有能力根据实体生成数据库表的.我们在单元测试的时候用到了 dbUnit ,dbUnit 可以帮助我们在测试前把数据库的测试数据准备好,然后我们就利用现成的数据库环境测试,测试完成后需将数据库中的所有数据清除(为了不影响其他的单元测试),然后接着下一个测试.虽然已经

MySQL主键 外键 索引

一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 用户表(用户名.密码.登录级别) 其中用户名是唯一的, 用户名就是一个主键 上机记录表(卡号,学号,姓名.序列号) 上机记录表中单一一个属性无法唯一标识一条记录,学号和姓名的组合才可以唯一标识一条记录,所以 学号和姓名的属性组是一个主键 上机记录表中的序列号不是成绩表的