数据表的设计范式

在实际开发中最为常见的设计范式有三个:

第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式;

第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中;

第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。

原生的JDBC怎么连接数据库?

大家可以在脑海中脑补一下这些步骤对应的代码,估计框架用习惯了,都有点忘记了吧

关系数据库中连接池的机制是什么?

关系数据库中的主键和外键有什么关系?

Oracle 端口号?MySQL端口号?

test1表中有ABC三列,用SQL语句实现:当A列大于B列时,选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

select (CASE WHEN A>B THEN A ELSE B END) as A,(CASE WHEN B>C THEN B ELSE C END) as B
from test1

Long类型怎么设计的表结构?Boolean类型怎么设计的表结构?

请介绍下触发器的原理

存储过程里的语句是一条条按顺序执行的吗?

如何解决SQL注入的问题

使用预编译对象PreparedStatement

请说说内连接和外连接的区别

#内连接
select * from student s,classes c where s.c_id = c.id
select * from student s INNER JOIN classes c on s.c_id = c.id
#外连接
#左外连接
select * from student s LEFT JOIN classes c on s.c_id = c.id
#右外连接
select * from student s RIGHT JOIN classes c on s.c_id = c.id

谈谈对数据库事务的理解?事务的边界应该放在哪一层?为什么?

举例:

客户A和客户B的银行账户金额都是10000元人民币,客户A需要把自己帐户中的5000元人民币转到客户B的账户上。

这个过程看似简单,实际上涉及了一系列的数据库操作,可以简单地视为两步基本操作,即从客户A帐户的金额中扣除5000元人民币,以及将客户B帐户中金额添加5000元人民币。

假设第1步数据库操作成功,而第二步失败的话,将导致整个操作失败,并且客户A帐户金额将被扣除5000元人民币。

事务机制可以避免此类情况,以保证整个操作的完成,如果某步操作出错,之前所作的数据库操作将全部失效。

谈谈事务的特性ACID

原子性(ATOMICITY):

事务是数据库的逻辑工作单位,事务中包含的各操作要么都完成,要么都不完成

一致性(CONSISTENCY):

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。

如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。

隔离性(ISOLATION):

一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持久性(DURABILITY):

指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。

谈谈事务的隔离级别

存储过程是什么?

存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快

用过哪些数据库连接池,为什么要用数据库连接池?

转载于:https://www.cnblogs.com/javazhiyin/p/10062608.html

漫画|你还记得原生的JDBC怎么连接数据库吗?相关推荐

  1. 事务连接中断_漫画——你还记得原生的JDBC怎么连接数据库吗?

    原创: 阿音 数据表的设计范式 在实际开发中最为常见的设计范式有三个: 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式: 第二范式需要确保数据库 ...

  2. 建立数据库时连接出错_漫画——你还记得原生的JDBC怎么连接数据库吗?

    原创: 阿音数据表的设计范式 在实际开发中最为常见的设计范式有三个: 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式: 第二范式需要确保数据库表 ...

  3. 哨兵机器人钢力士_还记得秒杀X战警的哨兵机器人吗?在漫威原著里,X战警更憋屈...

    还记得<X战警:逆转未来>中的哨兵机器人吗?他们出现在这部电影的开场部分,哨兵机器人对X战警造成了非常大的困扰. 在漫威漫画原著里呢,哨兵机器人的历史也颇为复杂,他们的程序设定就是&quo ...

  4. 怀旧的外国经典卡通, 进来看看你还记得多少? —— 70.80年代的, 进来留个爪子印 ^_^

    原文地址为: 怀旧的外国经典卡通, 进来看看你还记得多少? -- 70.80年代的, 进来留个爪子印 ^_^ 小神龙俱乐部,虽然不是动画~不过应该有人记得吧~嘿嘿~ 布瑞斯塔警长布瑞斯塔警长有&quo ...

  5. 70、80后、90后,小时候开学的场景!你还记得吗?

    转眼又是一年开学季 角色转变,现在是目送孩子们去上学 还记得那些年, 我们开学的日子吗? 那时候的农村的学校 水泥地面很少 任何地方都适合杂草生长 一个暑假过完 教室前后.操场.... 全部被杂草占领 ...

  6. 星梦缘陈彦妃_还记得《星梦缘》的女主吗,她现在变成这样了

    如今<为了你我愿意热爱整个世界>.<扶摇>等偶像剧凭借男女主演的人气,每每有新看点出现都能上热搜,成为年轻一代谈论的话题.自始至终偶像剧都是一个很卖座的题材,但你还记得曾经经典 ...

  7. 你还记得当初为什么进入IT行业吗?

    2019独角兽企业重金招聘Python工程师标准>>> 说到这个问题,小编相信不少童鞋开始忆往昔峥嵘岁月,那个少年为了心中的改变世界的理想,进入了这个行业,但是呢,有一群人画风就不一 ...

  8. 如果你还记得我[转载]

    这是我在[飞雪连天]博客中看到的一篇文章,文章不错,借用一下. 最后一次见到方强是在他家搬离村庄的那天早上. 那天早上,我和母亲从菜地拔菜回来,还在路上,我就听见村子里的人跟母亲说,庆文嫂家要搬到市里 ...

  9. 还记得当年你是如何接触Python的吗?

    @图片自制byunsplash 阅读文本大概需要 3 分钟. 绘画:琪琪  |  作者:xiaoyu 要说目前什么语言最受欢迎,我想Python肯定是其中之一了吧.Python语言以其简单的操作.强大 ...

最新文章

  1. dev机上数据库中批量生成table
  2. Kubernetes 如何打赢容器之战?
  3. 151. 翻转字符串里的单词(思路+详解)
  4. 使用Guava CharMatcher和Apache Commons Lang StringUtils确定字符串中字符或整数的存在
  5. 动态规划:LIS优化
  6. java操作word文档,深度解析,值得收藏
  7. filewriter判断是否关闭_IO流详解
  8. 满满的一整篇,全是 JVM 核心知识点!
  9. git 远程仓库回滚
  10. 【HNOI2006】【Luogu2320】鬼谷子的钱袋(进制,玄学)
  11. python 抽签程序_抽签程序源码
  12. python全栈马哥_马哥2018python全栈视频
  13. c语言控制单片机38译码器,单片机+38译码器控制的数码管怎么点亮?
  14. LeetCode 781 森林中的兔子 题解
  15. TestNG 单元测试框架的使用
  16. 计算机启动蓝屏,电脑开机蓝屏详细解决方案
  17. 针对第2章习题6的SPJ数据库,为项目名称为“一汽”的工程项目建立一个供应情况的视图V_SPJ,视图中应包括供应商代码SNO,零件代码PNO,供应数量QTY,并针对该视图完成下列查询 (1)找出一汽
  18. pom 文件的project标签报错Failed to read artifact descriptor for xxx:jar
  19. 练习题之金融应用:比较不同利率下的贷款
  20. 什么情况下产品要做CQC认证

热门文章

  1. 从零开始编写自己的C#框架(18)——Web层后端权限模块——菜单管理
  2. MySql 扩展存储引擎
  3. Oracle的不完全恢复
  4. linux下挂载ntfs(windows)文件系统
  5. 重构,重构,重构--代码,程序,包括思想
  6. 2015 跨年博文总结
  7. 冲刺一阶段———个人总结04
  8. java 泛型--桥方法
  9. eclipse maven jetty启动修改默认端口
  10. 微软职位内部推荐-Software Engineer II-Web app