关系型数据库基础概念

关系模型:数据结构、操作集合、完整性约束

1.关系数据结构

二维表及其之间联系

2.关系操作集合

数据查询:选择、投影、连接、并、交、差、除

数据操作:增、删、改

3.关系完整性约束

实体完整性、参照完整性、用户定义完整性

SQL语言:一种结构化查询语言

模式结构:外模式、模式、内模式

1.外模式

也称为用户模式,是用户可以看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是某个应用相关的数据的逻辑表示。显然,一个数据库可以有多个外模式,外模式是保证数据安全性的一个有效措施,因为不同应用访问的数据是不同的。

2.模式

也称逻辑模式,是数据库中全体数据的结构特征和逻辑描述,是全体用户的公共视图。显然,一个数据库只有一个模式,它是数据库数据在逻辑上的视图,以某种数据模型为基础。定义模式时,需要定义逻辑结构,比如数据记录由哪些数据项构成,数据项的名字、类型、取值范围;还需要定义数据安全性、完整性,定义数据之间的联系

3.内模式

也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,例如,记录的存储方式可以是顺序、B-树、散列;索引按照什么方式组织、数据是否压缩,是否加密等。显然,一个数据库只有一个内模式,目的是为了减少冗余,实现数据共享、提升存储效率改善性能

表:数据库组织数据的基本单位,是二维表格,表中每一行称为记录

视图:是一个或多个表中导出的表,不进行实际存储,将视图称为虚表,物理存储的表称为基本表。数据库中只存储视图的定义,在对视图的数据进行操作的时候,根据视图定义操作和视图关联的基本表。注意,可以从视图导出视图,构成多级虚表。修改视图会修改关联的基本表,修改基本表也会反应在视图,可以控制只用来查询的视图,这样不能通过修改视图修改基本表

视图安全性的一个例子:在表中增加一个标记用户名的列,建立视图,稚嫩看见自己ID对应的表中的内容。

索引:对数据库中一列或者多列进行排序的结构,使用索引可以快速访问数据库表中的特定信息。与搜索所有行相比,索引有助于更快获取信息

索引的一个例子:如下sql语句:select * from table1 where id = 10000,若没有索引,那么遍历整个表,直到id = 10000这一行被找到,在id这一列上建立索引之后,就可以在索引中进行查找(比如索引按照二分进行,搜索时间被优化为对数)

索引种类:唯一索引、主键索引、聚集索引、索引列

1.唯一索引:是不允许两行具有相同索引值的索引

2.主键索引:主键是,一列或者多列的集合,其值唯一标识表中的每一行。在数据库关系图中为表定义主键将自动创建主键索引,显然,主键索引是唯一索引

3.聚集索引:表中行的物理顺序和索引顺序相同,一个表只能有一个聚集索引,和非聚集索引比,聚集索引通常访问速度更高,聚集索引的例子是字典目录

4.索引列:需要搜索多列的时候,比如名和姓

索引的代价:

1.增加了数据库的存储空间

2.插入和修改数据的时候,花费更多时间,因为索引也需要变化。这是一个算法的平衡问题,为了find性能牺牲add和del性能

适合建立索引的列:

1.经常需要搜索的列

2.主键所在的列

3.经常用在连接的列,主要是外键,可以加快连接速度

4.在进程使用where语句的列上,加快条件判断速度

不适合建立索引的列:

1.搜索很少的列

2.只有很少数据值的列,比如性别

3.定义为text,image,bit数据类型的列,这种列要么数据量很大,要么取值很少

4.对修改性能要求大于查询性能的要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值