![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
NJU_SE_WaterWan
这个作者很懒,什么都没留下…
展开
-
规范化设计的范式的个人理解
5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF 第一范式:每一个分量必须是不可分的数据项。这里的不可分可以理解为不允许有多值属性。例如有一张Student表,假设每个学生可以有多个爱好,那么这里的爱好是多值属性,因此不能以一个集合的形式存在Student表里面。 对象关系数据库系统不满足第一范式。关系型数据库满足第一范式。 第二范式:若R∈1NF,且每个非主属性完全函数依赖于任何一个候选码,则R原创 2017-07-19 15:42:42 · 417 阅读 · 0 评论 -
数据库开发技术 课堂笔记6 查询优化器和SQL优化
本文主要来源课堂笔记和PPT为什么会有SQL优化? 因为SQL基于关系代数,可以进行等价变换 SQL的优化与所写的SQL语句有关,有时为了优化SQL,需要重写SQL。在某查询中,条件A可以保留10%的结果,条件B可以保留80%的结果,出于减少查询的中间状态数的目的,此时我们称A条件是好条件。假设有100条记录。先A后B: 100→10→8100 \to 10 \to 8先B后A: 100→80→原创 2017-10-13 18:32:50 · 13867 阅读 · 0 评论 -
数据库开发技术 课堂笔记5
为什么使用系统生成键? 因为系统做的好。 如果自己来管理键: 根据并发情况,生成一系列id,并随机选取id使用,并锁住或删除。 解决方案: 反向键索引或叫逆向索引 哈希索引 搜索引擎为什么给你一种很厉害的感觉? 以估算值而不是实际查找数量告诉用户找到了多少条搜索结果。 如,在0.1秒内实际找到了400条(假设20条每页,也就有20页了,够用了),但是告诉你找原创 2017-10-12 00:06:29 · 10683 阅读 · 0 评论 -
数据库开发技术 数据库层次设计之层次结构
数据库设计中,树通常三种模型: 邻接模型:id, parent_id。parent_id指向父节点的id。 物化路径模型:记录完整的路径,与文件路径相似,需要id字段。 嵌套集合模型:从根开始给每个节点编号,对每条记录需要left_num,right_num字段。某节点的后代的left_num和right_num都会在该节点的left_num和right_num范围内。原创 2017-10-19 18:28:30 · 3621 阅读 · 0 评论 -
数据库开发技术 目录
本文按时间顺序,整理自己的笔记 课堂笔记1 课堂笔记2 课堂笔记3 课堂笔记4原创 2017-09-20 20:04:40 · 1619 阅读 · 0 评论 -
数据库开发技术 课堂笔记8 处理并发
这堂课我没有记住很多有关处理并发的内容,但是记下来一些刘嘉老师讲的故事。对待数据库的并发问题,中国人和外国人的思路是不一样的,有人想把并行改成串行,有人就不这么想。故事会时间1: 我们如果买个东西86块钱,我有100元,给人家106,人家只要找20。这是减法的思想:106-86=20。 虽然现在大家都是用微信/支付宝,你扫我还是我扫你。 我99年去英国,给106英镑,人家说不原创 2017-10-27 00:35:28 · 1280 阅读 · 0 评论 -
数据库开发技术 课堂笔记7
本人由于去北京比赛缺了几天课,因此无法记笔记,只能找同学要来一份笔记充数。首先感谢这位同学。。。原创 2017-10-27 00:25:05 · 653 阅读 · 0 评论 -
数据库开发技术 大数据产业和产品链条
本文源自南京大学软件学院著名的刘嘉老师上课内容。前言首先说一说鹿晗的事情。 背景 马云知道11.11,而新浪不知道鹿晗何时表白。 担心中国明星有攀比心理。 有大量的写操作,不害怕读操作。 Part 1 大数据是否能改善你的产品大数据——数据是所有工作的资产、基础人工智能——人工智能是大脑产品——产品是业务人工智能以前是一个专家系统,是由人遍历所有可能性。这样的好处是一旦命中,正确率就极高,不好的地方原创 2017-10-09 11:31:07 · 10362 阅读 · 0 评论 -
数据库开发技术 课堂笔记4
这是一篇可能不是很正经的文章,并且笔记也不是很全哈希索引哈希索引无法做首字母比对,但是B-树索引可以。如果知道哈希索引是怎么工作的,以及B-树索引是怎么工作的,那么就很容易明白上面这句话。下面是刘老师的故事环节: 我们搞数据库的比较害怕冲突,我就劝陈老师,给他的孩子取名叫:陈 各种形态的 雨,陈 好大的 雨。 我本来给女儿想的名字是:刘鼻涕,我老婆不同意,刘蔻水,不同意,又想,刘妍蕾,原创 2017-09-19 21:58:15 · 1812 阅读 · 0 评论 -
数据库开发技术 课堂笔记3
本文以上课笔记为主,只是截取了上课很少的一部分内容开发环境切换到生产环境是一场战役保持数据库连接稳定 连接稳定 减少交互 在开发环境中,测试数据往往是连续的,也就是比较好的数据,因此性能会比较高,而生产环境中,会有各种增删改查,数据会变得比较不好先定义问题,再解决问题一知半解是危险的。一个feature要从头到尾看完,要看结构。 刘老师讲了他当时的故事。当时他还是一个年轻的小伙子,有一天利用bi原创 2017-09-15 16:42:08 · 341 阅读 · 0 评论 -
数据库开发技术 课堂笔记1
这篇文章可能是一些杂乱的句子。 数据库程序员往往不用考虑数据是如何存储的,是因为有数据库引擎的优化,而数据库引擎优化的基础是关系代数,因此,学数据库的时候往往都是要学关系代数的。 视图的用法: ①用于主表的重构: 假设以前有表结构:A:a, b, c, d;现在表结构变成了A':a, b, d, e、B':c, f, g。此时我们可以create view A以供以前的程序原创 2017-09-06 19:02:50 · 651 阅读 · 0 评论 -
遇到的Mysql的一个坑
自己写的Java代码怎么也无法操作MySQL的写操作,打印SQL语句没有问题,检查连接也没有问题,最后手动写了一条记录,发现主键重复了,但是当时表是空的!所以就很震惊,于是选择删表重新来一次,这回成功了,我怀疑是因为之前的清空操作并没有完成。原创 2017-07-19 15:41:34 · 934 阅读 · 0 评论 -
关于数据库中除法的一个小问题
在看PPT的时候遇到了这么一条题目,我发现其中的关系代数与SQL语句的对应差距有点大,主要体现在customers这张表。 查询的含义是这样的,选择所有的cid,在订单记录中,不存在某个不是纽约的代理商。 我从一种奇怪的角度分析了一下,首先,这是三层查询,也就是说需要有三个select,如果按照关系代数直接映射,可能会出现表重复的现象,如果不在乎表重复的情况,那么不用customers表也是可以的原创 2017-07-19 15:42:09 · 1072 阅读 · 0 评论 -
数据库开发技术 课堂笔记2
本文主要来源是课堂笔记有两种情况是比较头疼的: 数据库重构 数据库迁移(不同的数据库差异巨大) 空 == 空这个判断的返回值,每个数据库的设计都不一样 返回值 数据库类型 false MySQL Oracle 空 true SQL Server 由于空值可能导致无法预料的错误,因此尽量要避免空值的使用Boolean类型数据中没有boolean类型,是因为不希望使用标识原创 2017-09-12 23:43:33 · 489 阅读 · 0 评论