网站首页 > 技术文章 正文
原创: 阿音
数据表的设计范式
在实际开发中最为常见的设计范式有三个:
第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式;
第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中;
第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。
原生的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语句快
用过哪些数据库连接池,为什么要用数据库连接池?
最后,我自己是一名从事了多年开发的Java老程序员,辞职目前在做自己的Java私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的Java学习干货,可以送给每一位喜欢Java的小伙伴,想要获取的可以关注我的头条号并在后台私信我:01,即可免费获取。
猜你喜欢
- 2025-07-14 网络安全工程师必知的75个网络端口
- 2025-07-14 零基础也能实现外网访问到内网的数据库,选对了工具一点也不难
- 2025-07-14 Linux: SSH隧道 (端口转发)(ssh隧道详细使用教程)
- 2025-07-14 危!这些高危端口再不知道问题就大了
- 2025-07-14 风险突出的高危端口汇总 一网打尽 !
- 2024-10-21 Docker安装部署Oracle/Sql Server
- 2024-10-21 Ubuntu 系统上使用docker安装Oracle
- 2024-10-21 超详细的各种数据库默认驱动、URL、端口总结
- 2024-10-21 Jsp九大内置对象,三大指令,七大动作的具体功能——你都知道吗
- 2024-10-21 详解Oracle 网络服务 oracle网络服务名配置
你 发表评论:
欢迎- 607℃几个Oracle空值处理函数 oracle处理null值的函数
- 600℃Oracle分析函数之Lag和Lead()使用
- 587℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 583℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 580℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 572℃【数据统计分析】详解Oracle分组函数之CUBE
- 561℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 552℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)