Database principle
,
代码敲上天.
流水不争先,争一个滔滔不绝
展开
-
数据库join类型、hash join详解
hash join是一种数据库在进行多表连接时的处理算法,对于多表连接还有两种比较常用的方式:sort merge-join 和 nested loop。为了比较清楚的介绍hash join的使用场景以及为何要引入这样一种连接算法,这里也会顺带简单介绍一下上面提到的两种join方式。连接方式是一个什么样的概念,或者说我们为何要有而且有好几种,对于不太了解数据库的人来讲可能这些是开头的疑惑。原创 2024-01-18 13:53:28 · 1413 阅读 · 0 评论 -
Oracle/DM序列基本使用
序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。序列是一个计数器,它并不会与特定的表关联。通过创建Oracle序列和触发器实现表的主键自增。序列的用途一般用来填充主键和计数。序列用于生成唯一、连续序号的对象、序列是可以升序、降序的。原创 2024-01-16 11:49:15 · 788 阅读 · 0 评论 -
聚簇索引、非聚簇索引、联合索引、唯一索引
也就是说,聚簇索引的叶子节点中,包含了一个完整的记录行。非聚簇索引也叫辅助索引、普通索引,它的叶子节点只包含一个主键值,通过非聚簇索引查找记录要先找到主键,然后通过主键再到聚簇索引中找到对应的记录行,这个过程被称为回表。新版本的MySQL(5.6以上)中引入了索引下推的机制:可以在索引遍历过程中,对索引中包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数。联合索引指的是同时对多列创建的索引,创建联合索引后,叶子节点会同时包含每个索引列的值,并且同时根据多列排序,这个排序和我们所理解的字典序类似。原创 2024-01-10 09:16:44 · 2114 阅读 · 1 评论 -
数据库的导入与导出
数据库导入导出原创 2023-02-26 19:45:51 · 97 阅读 · 0 评论 -
数据库的事务机制
数据库事务原创 2023-02-26 19:34:12 · 58 阅读 · 0 评论 -
MYSQL常用函数
`原创 2023-02-26 17:14:59 · 46 阅读 · 0 评论 -
数据库之高级查询
注意:虽然之前说过的单个个体不能和分组函数和聚合函数一起用,但是这里引出新方法,把满足的一组的所有个题,通过函数全部体现出来,就不会冲突.总结:多个表之间的连接,三张表应该一个一个的加入,可以最后写SELECT,并且每次加入设置加入条件,因此这样写更清楚。HAVING子句:相当于先确定分组,然后再确定出每组应该满足的条件,符合的留下,不符合的剔除。注意:相当于,按照分组属性,求出每个组的聚合函数值,所以肯定不能放单个属性有冲突。注意:第二句是错的,聚合函数不能出现在where中。原创 2023-02-26 13:35:07 · 554 阅读 · 0 评论 -
数据库的基本查询
·原创 2023-02-25 20:08:22 · 635 阅读 · 0 评论 -
数据库索引的简单使用
/原创 2023-02-25 18:49:29 · 56 阅读 · 0 评论 -
数据库的字段约束
·原创 2023-02-25 18:33:34 · 59 阅读 · 0 评论 -
Mysql、navicat、SQL server 的关系
MYsql是一个DBMS可以通过创建数据库并放入数据、但是要用命令行操作、所以我们用navicat,而SQL server也是一样的,但是它自身集成了,SSMS可视化操作工具,当然你也可以用navicat操作。1、数据库:数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。数据库有很多种类型,从最简单的存储有各种数据的表到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。2、数据库管理系统:数据库管理系统(Database Management Syste原创 2021-12-07 14:39:43 · 4210 阅读 · 0 评论 -
select count(*)和select count(1)的区别
一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的假如表沒有主键(Primary key), 那么count(1)比count(*)快,如果有主键的話,那主键作为count的条件时候count(主键)最快如果你的表只有一个字段的话那count(*)就是最快的count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计1、select 1 与...转载 2021-11-24 09:13:08 · 178 阅读 · 0 评论 -
SQL Server 中 GO 的用法
本科里学了那么多年SQL Server一直看到书上各种SQL语句中间夹杂着那么几个看似毫无意义的GO,看着就让人莫名,问老师,老师一般只会告诉你,不要理他,这个东西没用的。但是个性纠结并且有轻微强迫症的博主我是不能容忍这种事情的发生的啊!所以终于在若干年后的今天,博主我经过一番研究之后终于知道了这个传说中可以忽略的GO究竟是干嘛的了。官方说法是:GO只是SQL Server管理器(SSMS)中用来提交T-SQL语句的一个标志我的理解是:GO相当于一个.sql文件的结束标记我这么说大家可能不是很清转载 2021-11-24 09:06:15 · 2930 阅读 · 0 评论 -
数据库中索引原理及填充因子
SQL SERVER索引原理及填充因子在SQL Server中,索引是按B树(平衡树)结构进行组织的,索引B树中的每一页称为一个索引节点,B树的顶端节点称为根节点,索引中的底层节点称为叶节点,根节点与叶节点之间的任何索引级别统称为中间级,当加入新的数据时,为了保证需要相同次数的读取来找到每个页,中间级页会进行拆分生成新的层,如图所示。每个层的宽度增加为上一层能够记录的页数,当现有的树不能记录更多的页时,则会创建一个新的层,索引记录的大小受到编入索引列的大小影响,因此编入索引列越窄,则可以放到一个转载 2021-11-08 09:34:13 · 1868 阅读 · 0 评论 -
使用Power Designer(PD)创建数据库模型、数据库表
1.什么是PD PowerDesigner是设计数据库使用的,直接画图,连接好各个图表之间的关系,它可以自动生成相应的SQL语句,然后你把这些sql语句直接放到数据库中去执行就OK了,用PD设计的数据库可读性很高,开发人员可根据PD的图表很容易理解各个表之间的逻辑关系。特别是对新入职的员工如果没有PD的图表,而是直接告诉新员工那个表是干什么的,谁是谁的子表,谁是外键主键,别人肯定一脸懵逼。2.下载安装PDPowerDesigner安装教程:1、解压PowerDesigner安装文件..原创 2021-08-12 13:27:27 · 4629 阅读 · 0 评论 -
关系,关系模式,关系模型区别和联系
关系:一个关系对应通常说的一张表关系模式:关系的描述关系模型:关系模型由关系数据结构,关系操作集合,关系完整性约束三部分组成.关系和关系模式的区别关系模式是型,关系是值,关系模式是对关系的描述关系是关系模式在某一个时刻的状态或者内容,关系模式是静态的,稳定的,而关系是动态的,随时间不断变化的,因为关系操作在不断地更新着数据库中的数据类似于面向对象程序设计中”类“与”对象“的区别。”关系“是”关系模式“的一个实例,可以把”关系”理解为一张带数据的表,而“关系模式”是这张数据表的表...转载 2021-06-24 09:19:30 · 5772 阅读 · 1 评论 -
数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别
要讲清楚范式,就先讲讲几个名词的含义吧:部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖与(学号,身份证号);完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完原创 2021-06-21 20:47:37 · 5750 阅读 · 1 评论 -
平凡函数依赖是什么?
定义: 在Y函数依赖于X函数的基础上,即X → Y X\to YX→Y时,如果Y ⊂ X Y \subset XY⊂X,那么称X → Y X\to YX→Y是平凡的函数依赖,如果有Y ⊂ X Y \subset XY⊂X,那么X → Y X\to YX→Y一定成立原因:因为Y ⊂ X Y \subset XY⊂X,那么Y必然是X中的一部分,因为X确定了,那么自然其子集也确定了,整体可以决定部分...原创 2021-06-21 13:43:35 · 12752 阅读 · 0 评论 -
数据库字段与属性的关系是什么?
字段、属性都是列的意思一列的第一个 比如属性是:民族 分量是:汉族 苗族等可以说 民族是字段名、属性名,都可以汉族 苗族就是属性值字段指的是一列。叫字段是从数据库角度的名字,也可以称为属性,属性是从面向对象角度的名字。属性与字段是对同一个元素不同的称呼。在关系代数中称实体的特性为属性,在关系模型中称实体的特性为字段。它们是二个世界里的概念,有高度的对应关系:概念世界 计算机世界实体-------------→记录实体集-----------→文件属性-----------原创 2021-06-20 16:53:58 · 2070 阅读 · 0 评论 -
数据库中主键、主码、主属性、关键字、候选关键字、码的区别
主码=主键=主关键字,关键字=候选码 候选关键字=候选码中除去主码的其他候选码码:唯一标识实体的属性或属性组合称为码候选码(关键字):某一属性组的值能唯一标识一个元组而其子集不能(去掉任意一个属性都不能标识该元组),则称该属性组为候选码(补充元组:表中的一行即为一个元组)主属性:候选码包含的属性(一个或多个属性)主码(主键、主关键字):若一个关系有多个候选码,选择其中一个为主码...转载 2021-06-20 16:16:49 · 4580 阅读 · 1 评论 -
范式的判断
虽然不知道考试会不考到什么是第几范式的题目,但是我觉得特意的解释下相信对大家还是有帮助的。首先,以我的解释来定义第N范式的概念,但是大家必须自己明白一些基本的定义,比如说,什么是函数依赖,什么是传递函数依赖。1.第一范式:若R的所有属性都是不可分的基本数据项,则R属于1NF。我的解释:这里,只要题目是给出的,一般而言,最起码它都是第一范式,这个大家必须知道。2.第二范式:若R属于第一范式,且每一个非主属性完全依赖于码,则R属于第二范式。我的解释:不能存在部分函数依赖,若存在,那...原创 2021-06-19 15:47:51 · 6380 阅读 · 0 评论 -
如何判断候选码是什么?
设有关系模式 R(B,C,M,T,A,G),根据语义有如下函数依赖集,F={B->C, (M,T)->B,(M,C)->T,(M,A)->T,(A,B)->G }则求关系的候选码?-----------------------------------------------------------------------------------------------------------求候选码的规则:(1)如果有属性不在函数依赖集中出现...原创 2021-06-19 15:22:02 · 5886 阅读 · 3 评论 -
数据库题库选择题
单项选择题第1题SQL中的视图机制提高了数据库系统的( )。A 完整性B 并发控制C 隔离性D 安全性 (答案)得分: /1.0第2题下述( )不是DBA数据库管理员的职责。A 完整性约束说明B 定义数据库模式C 数据库安全D 数据库管理系统设计 (答案)得分: /1.0第3题下列四项中,不属于数据库系统特点的是( ) 。A 数据共享B 数据完整性C 数据冗余度高 (答案)D 数据独立性高得分: /1.0第4题设有关系模式R(S,D,M),其函数依赖集:F原创 2021-06-14 11:54:46 · 8869 阅读 · 2 评论 -
ERROR 1048 (23000): Column ‘courseno‘ cannot be null
非空约束的应用。主键字段值不允许为null,输入空值观察结果。原创 2021-05-31 21:09:23 · 782 阅读 · 0 评论 -
ERROR 1064 (42000): ; check the manual that corresponds to y
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘c05188’,’此错误是重复插入导致,检查插入语句是否正确、原创 2021-05-31 21:01:07 · 245 阅读 · 0 评论 -
ERROR1045(28000): AccessforuserODBC‘@‘ (using password: YES)
数据库报错,这种错误这里提供两种解决方法。①语句出错,检查语句对不对?C:\Users\Administrator>mysql -u root -p②错误的解决方法https://blog.csdn.net/weixin_44537194/article/details/88261364原创 2021-05-31 20:39:43 · 85 阅读 · 0 评论 -
运用范式的规范数据库设计的好处
①要设计合适的关系模式,使其逻辑结构更加符合要求,出现了规范化理论。而三大范式即第一、第二和第三范式就是规范化理论重要部分。② 范式是为了在设计中更好的解决数据冗余,数据有效性检查,提高存储效率。③ 每当设计数据库的时候,往往会具有较大的数据库体系,也就是每个表之间的关系,不同表中某些属性都具有一定的关系,因为具有关联,所以数据在存储的时候逻辑会比较复杂,如果不按照一定的规则来存储数据就会有乱子,就像你开车一样,没有交通规则不就混乱了么?因此,在数据库设计的时候满足范式要求可以很大限度的合理的处理数据,原创 2021-05-10 16:39:44 · 1466 阅读 · 0 评论 -
数据库完整性概念和数据库安全性概念之间的区别与联系
① 数据库的完整性是为了在数据的添加、删除、修改等操作中不出现数据的破坏或多个表数据不一致,是指存储在数据库中的数据正确无误并且相关数据具有一致性,数据在逻辑上的一致性、正确性、有效性和相容性。② 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。③ 数据的完整性和安全性是两个不同概念,数据库的完整性是指数据的正确性和相容性。数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更玫或破坏。其相同点是两者都是对数据库中的数据进行控制,各自所实现的功能目标不同。..原创 2021-05-10 16:30:00 · 18517 阅读 · 1 评论