
数据库
文章平均质量分 69
modi000
这个作者很懒,什么都没留下…
展开
-
【数据库】关系型数据库与非关系型数据库解析
不只有使用SQL语句作为操作指令,可以使用其他类型的查询语言,也被称为NoSQL(Not only SQL)数据库, 不需要预先定义关键数据的模式,比SQL数据库更加灵活。不只有使用SQL语句作为操作指令,可以使用其他类型的查询语言,也被称为NoSQL(Not only SQL)数据库, 不需要预先定义关键数据的模式,比SQL数据库更加灵活。关系数据库以行和列的方式存储数据,就像电子表格一样,而非关系数据库则不以行和列的方式存储数据,使用最适合它所存储的数据类型的存储模型(四种存储模型之一)。转载 2024-08-20 14:22:47 · 83 阅读 · 0 评论 -
数据字典的解释
由两张表组成,分别是字典类型表和字典数据表。原创 2024-07-22 10:26:35 · 289 阅读 · 0 评论 -
Qt中使用数据库
qDebug()转载 2024-06-20 15:12:53 · 137 阅读 · 0 评论 -
Navicat+sqlite操作数据
使用navicat操作数据库(比如sqlite数据库)可以实现与access()一样的操作,可以导入导出excel等格式的文件,如下图所示。两种方式的sql语句的语法也基本一样。原创 2024-06-05 14:39:55 · 519 阅读 · 0 评论 -
MySQL基础:什么是主键和外键?它们之间有什么区别?外键有什么问题?
在设计和使用外键时,需要权衡数据完整性和性能等因素,并根据具体情况采取适当的措施和优化策略,以最大程度地减少问题的发生,并确保数据库的正常运行。在上述示例中,学生表(Students)中的CourseID字段作为外键,引用了课程表(Courses)中的CourseID字段。总体而言,主键和外键在数据库设计中起着不同的作用,主键用于标识和访问数据,而外键用于建立关系和维护数据的完整性。通过主键和外键的使用,我们可以在关系数据库中建立表与表之间的关联,并通过外键确保数据的一致性和完整性。转载 2024-02-20 11:52:51 · 7995 阅读 · 0 评论 -
数据库三种范式的理解
1、第一范式:数据库每一列必须是单一列,而不能是复合列。3、第三范式:其他列必须且仅依赖主关键列(组)2、第二范式:其他列必须都依赖主关键列(组)原创 2022-10-25 16:52:00 · 600 阅读 · 0 评论 -
三种范式的最通俗理解
所谓依赖,有些类似于数学中的函数,我们都知道很多函数,X值是自变量,Y值是因变量,一个X值唯一对应一个Y值,而反过来,一个Y值就不一定只对应一个X值,这当中,Y就是依赖X的。所以利用第二范式自查,可以发现上图的表明显是不符合的,在上图中,姓名、系名、系主任、都是依赖于学号,而学科和分数并不依赖于学号,所以这个表设计是不合理的,解决方法就是:将符合第二范式的列合并进一个表中,将不符合的列重新建表,直到每一个表都符合第二范式的要求。上表为成绩表,下表为学生表,这样就满足了第二范式。转载 2022-10-25 16:38:44 · 1395 阅读 · 1 评论 -
第一范式、第二范式、第三范式、BCNF范式通俗理解
按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。很晦涩吧?实际上你可以把它粗略地理解为一张数据表的表结构所符合的某种设计标准的级别。就像家里装修买建材,最环保的是E0级,其次是E1级,还有E2级等等。数据库范式也分为1NF,2NF,3NF,BCNF,4NF,5NF。一般在我们设计关系型数据库的时候,最多考虑到BCNF就够。符合高一级范式的设计,必定符合低一级范式,例如符合2NF的关系模式,必定符合1NF。接下来就对每一级范式进行一下解释。转载 2022-10-24 09:42:08 · 2598 阅读 · 0 评论 -
范式通俗理解:1NF、2NF、3NF和BNCF
候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。其中,学生表中的候选键为:(学号)、(身份证号),主属性就是学号、身份证号。此时,候选键(城市名,街道名)非主属性邮政编码完全依赖于候选键,且无传递依赖,属于3NF。对于决定因素(城市名,街道名),它包含键(城市名,街道名),其实它本身就是键了,没问题;换言之,对于关系模式R,如果每一个函数依赖的决定因素都包含键,则R属于BCNF范式。换言之,对于关系模式R,如果每一个函数依赖的决定因素都包含键,则R属于BCNF范式。转载 2022-10-14 10:31:59 · 1303 阅读 · 0 评论 -
理解-1NF,2NF,3NF
再简单点,我的学号可以唯一的确定我的年级,我的年级又可以唯一的确定一个年级主任,那么年级和年级主任之间就传递依赖了。注 : 这里可以不用看,看了也不白看,看了一些大佬的文章中的晦涩难懂的名词你就可以理解了。比如 一个表中有身份证号,学生id,学生姓名,学生年龄,那身份证号,学生id就是候选码。{A,B,C}唯一的确定D,但是ABC子集不能确定D,那也就称D完全依赖{A,B,C}{A,B,C}唯一的确定D,但是ABC子集能确定D,那也就称部分依赖{A,B,C}表2 : 年级(主键),年级主任。转载 2022-10-14 10:01:09 · 422 阅读 · 0 评论 -
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)
设有课程关系模式如下:R(C#, Cn, T, Ta)(其中C#为课程号,Cn为课程名,T为教师名,Ta为教师地址),并且假定不同的课程号可以有相同的课程名,每门课程只有一位任课教师,但每名教师可以有多门课程。列2: 商品这样的关系模式不符合第一范式。“课程号”是无重复的,所以“课程号”是主键,“课程名”、“教师名”、“教师地址”均是可重复的,所以它们都是非主键列并完全依赖于主键“课程号”,所以符合第二范式;列1唯一确定列2, 列3, 列4, ...,即列2, 列3, 列4, ...不能再分裂出其它列。转载 2022-10-14 09:44:01 · 2600 阅读 · 1 评论 -
字段前半部分中文正常,后半部分显示为方框,但是插入不到数据库中
我们在这篇文章中已经分析了,数据库中中文字段后半部分是乱码的情形。本文分析插入数据库字段长度超过表中定义的字段的长度的情形:结果:无法插入到数据库表中。原因:原创 2020-08-30 21:18:58 · 426 阅读 · 0 评论 -
数据库中插入的字段的前半部分中文显示正常,后半部分显示方框
我们在这篇文章中已经分析了在Qt界面程序运行后,中文是乱码的解决方法。此处我们再分析数据库中,插入中文是乱码的情况:遇到情况:在Qt中工程中.cpp和.h文件都已经另存为了跟系统编码保持一致的文件,同时在main函数中也指定了如下的编码格式:int main(int argc, char *argv[]){ QApplication a(argc, argv); QTextCodec *gbk = QTextCodec::codecForName("gb18030");...原创 2020-08-26 22:00:13 · 381 阅读 · 0 评论 -
Qt程序中文乱码
情形:Qt程序在支持utf8的centos系统上编写,编译;Qt程序运行在gb18030的麒麟系统上运行,中文都是乱码;解决方法:1、麒麟系统上:输入命令 locale 查看操作系统使用的的编码是 gb180302、将Qt中的.cpp和.h文件用kwrite打开,首先使用utf8编码使中文正常显示3、将.cpp和.h另存为 ,此时编码使用gb18030另存为。注意:第2步在有中文的时候,一定要执行,无中文可以不必执行,否则,在中文是乱码的情况下,直接另存为gb18030时,gb1原创 2020-07-22 23:21:01 · 2018 阅读 · 0 评论 -
金仓数据库新增字段
情形:金仓数据库中已存在数据,但是想添加一个新的字段解决方法:1、建表的时候,留有备用的字段可以使用,只是字段名不是想要的那个名,例如,reserved12、通过程序导出所有记录的insert语句,在这上面进行修改3、金仓数据库有增加字段的方法:但是在表尾添加字段,不方便select * ....因为有备用字段的存在 金仓数据库有 查询管理器: kingbaseES/bin目录下----->使用命令 javatools.sh JSQL 企业管理器:k...原创 2020-07-29 00:30:01 · 4127 阅读 · 0 评论 -
数据库中单条语句能执行成功,多条语句执行不成功
原因:语句与语句之间需要添加;当只有一条语句的时候,末尾添不添加分号都可以,但是当同时执行多条语句的时候,语句与语句之间需要添加分号。原创 2020-07-23 22:04:19 · 838 阅读 · 0 评论 -
使用数据库客户端查看中文乱码
使用数据库中的终端程序打开数据库,查看表此时中文可以正常显示注意:终端中的命令后面都是由;作为结束标志比如:SELECT * FROM "test_table"; ------------>数据库表名需要添加引号\h 查看数据库中的各种命令(待确认。。?)...原创 2020-07-22 23:37:39 · 265 阅读 · 0 评论