
数据库
Oracle
WKP9418
愿有一天开怀大笑
展开
-
ER图转为关系模式(超详细,超简单)
通过本文你可以了解ER图如何转为关系模式原创 2020-04-04 15:43:24 · 36293 阅读 · 3 评论 -
mysql cast和concat函数性能比较
最后发现,inner join aa on aa.business_id = cast(bb.id as char)太慢了,aa表的另一个唯一的字段 business_id存的是varchar类型,bb表的id是主键,自然保存的是int类型。有一段sql,最里层的子查询aa才4千多条,用时就2s多。改为concat(bb.id, ‘’)就快了很多。所以实际情况实际考虑。原创 2023-07-29 10:23:00 · 365 阅读 · 0 评论 -
spring boot+oracle数据库配置成功
第一次配这个,网上找数据库不是oracle ,实验了2天。那啥,第一次接触,里面的东西几乎不懂。文章目录maven依赖类baseBean类user1类userController类CommonDaoUserDaouserServiceuserServiceImplAppindex.htmlapplication.properties演示maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven原创 2020-11-03 17:20:01 · 1829 阅读 · 0 评论 -
java 连接oracle数据库(最简单的使用)
对小白友好的一篇文章。让你快速了解使用jdbc实现Java与oracle的连接原创 2020-11-02 21:43:04 · 12695 阅读 · 1 评论 -
oracle bulk collect
碰到的问题,有一个员工表,存储着员工的各种信息。我要写一个过程,传进去员工的名字,打印该员工的信息。create or replace procedure getInfo(name emp.ename%type) as-- ei 相当于empInfomation ei emp%rowtype;begin select * into ei from emp where emp.ename=name; dbms_output.put_line(ei.empno||','||e原创 2020-10-28 20:43:28 · 1042 阅读 · 0 评论 -
oracle dbms_output.put不输出
用dbms_output.put没有输出。原因:dbms_output.put后必须再调用dbms_output.put_line才能将结果显示,因为put是没有输出回车,也就是说这一行还没结束,所以看不见。原创 2020-10-27 19:26:51 · 1640 阅读 · 0 评论 -
oracle 数组
转自http://blog.chinaunix.net/uid-23072872-id-3436393.htmlSQL> -- 一维固定数据SQL> DECLARE 2 TYPE type_array IS VARRAY(3) OF VARCHAR2(10); 3 v_array type_array:=type_array('abc','bcd','def'); 4 BEGIN 5 FOR i IN 1..v_array.count LOOP 6 dbms_outpu原创 2020-10-27 18:54:00 · 373 阅读 · 2 评论 -
oracle trunc()截断函数
了解并使用trunc.原创 2020-10-27 17:04:16 · 1135 阅读 · 0 评论 -
sql%notfound与exception
create or replace procedure obj2_06(no number) as job emp1.job%type; unconsistent exception;begin select job into job from emp where empno=no; if sql%notfound then dbms_output.put_line('11'); end if; exception when no_data原创 2020-10-24 14:01:15 · 590 阅读 · 0 评论 -
Analytic Functions 分析函数(rank over)
此篇文章是为了学会rank() over()所写。官方文档(DENSE_)RANK( ) OVER ([ query_partition_clause ] order_by_clause)rank():跳跃式,两个第1,下一个就是第3dense_rank():非跳跃式,两个第1,下一个是第2目录基础analytic_functionanalytic_clausequery_partition_clauseorder_by_clausewindowing_clause应用1.对选修C13课程的学生原创 2020-09-28 22:25:17 · 765 阅读 · 1 评论 -
查询用户和权限信息
神马?你还不知道user_role_privs, user_sys_privs , user_tab_privs , dba_users, session_privs是干嘛的?还不快来学习~~原创 2020-09-28 20:08:07 · 2584 阅读 · 0 评论 -
oracle scott用户
原文:https://blog.youkuaiyun.com/u013292160/article/details/452872271.建立scott.sql Rem Copyright (c) 1990 by Oracle Corporation Rem NAME REM UTLSAMPL.SQL Rem FUNCTION Rem NOTES Rem MODIFIED Rem gdudey 06/28/95 - Modified for d原创 2020-09-27 22:55:27 · 277 阅读 · 0 评论 -
查询出每个部门比本部门平均工资高的职工人数
这句话,我裂开了。1.找出本部门内,工资高于平均工资的员工2.找出别的部门比本部门平均工资高的员工数我理解不了啊!!!!原创 2020-06-03 22:12:52 · 5127 阅读 · 1 评论 -
oracle exists语句
前言书上这么写的,先看from,再看where,最后选出满足的行select * from A where exists (select * from A where Code=1111)等同于select * from A where exists (select 1 from A where Code=1111)因爲exits是返回true和false,所以選不選具體的列是沒有關係的。自然就是:如果A表中存在code=1111的话,则返回A表中的所有行。按书上理解有点不灵光。但依然原创 2020-05-28 10:23:54 · 3516 阅读 · 1 评论 -
SQL DEVELOPER 打不开了
今天就突然打不开了。双击exe图标没有任何反应。哎,不知道咋回事。但好得能用了。找到解决办法在更新。然后进入bin文件夹,选择如下就可以打开了。原创 2020-05-26 10:55:11 · 3896 阅读 · 0 评论 -
Oracle update 多表关联更新
需求有一个部门的表(dept),部门编号(deptno)部门员工数(emps)部门员工的总工资(income)还有一个员工表(emp)员工编号(empid)所属部门(deptno)工资(sal)现在部门表只有部门编号,其他列为null要求填充部门员工数和总工资数。代码利用另外一张表更新本表:update 表1 set 列名=(select 列名 from 表2 where 表1.列名=表2.列名) where exists (select 1 from 表2原创 2020-05-21 17:05:56 · 8459 阅读 · 0 评论 -
Oracle什么时候需要Commit?
在sqlplus下进行insert操作,在developer里面怎么看不到更新??dos下commit;,在developer刷新,看到了新添加的一行。用户退出时自动提交什么时候需要commit图片来源杜小白zero原创 2020-05-20 13:41:16 · 303 阅读 · 0 评论 -
关于group by的理解
原文主要是建立一个过渡表。比如对左边的使用group by name之后,生成右边的表。它根据id不同,分成不同的分组。select * from xx group by name,错误的原因,id和number中有的单元格里面的内容是多个值的,而关系数据库就是基于关系的,单元格中是不允许有多个值的,所以你看,执行select * 语句就报错了。而select name from xxx group by name 就没有问题。可以把name和number 看成一个整体字段,以他们整体来进行分组原创 2020-05-20 11:21:49 · 560 阅读 · 0 评论 -
Oracle IMP-00403
出现问题创建用户以后,授予dba权限。进行imp命令,出现以下问题:最后显示:成功导入,但出现警告自行查看数据,中文英文都没有乱码。但不知道有没有未知的错误。解决办法通过查错误文档显示如下:原因:因为DDL没有足够权限,导入失败操作:以sysdba身份连接并且运行SQL文件所以我们应该在运行一下生产的SQL文件。在文件中搜索即可,一般是在C盘。分析原因从Oracle Database 12c第2版(12.2)开始,出于安全原因,导入实用程序(imp)将不再以用户SY原创 2020-05-19 20:47:01 · 8264 阅读 · 0 评论 -
Visio如何画数据库里的双线
当初是电气里面的双总线,但是不能够连接实体。现在发现了一种新的方法,可以连接实体:拖动关系连接线右击-》设计形状格式。点击复合类型,找到双线。这时根据自己需要再调整透明度和宽度。效果图...原创 2020-05-09 09:58:44 · 6114 阅读 · 6 评论 -
创建新的用户以及一系列的操作
建立用户,指定空间大小,授予权限等原创 2020-05-08 20:17:33 · 320 阅读 · 1 评论 -
无损分解和保持依赖
(注:在准备软考过程中,遇到一道判断无损分解和保持依赖的试题,于是找到了这篇很通俗的文章,特收藏并学习之。微笑)大部分是对一个关系模式分解成两个模式的考察,分解为三个以上模式时无损分解和保持依赖的判断比较复杂,考的可能性不大,因此我们只对“一个关系模式分解成两个模式”这种类型的题的相关判断做一个总结。以下的论述都基于这样一个前提:R是具有函数依赖集F的关系模式,(R1 ,R2)是R的一个分解...转载 2020-04-23 14:01:40 · 20285 阅读 · 9 评论 -
3NF分解与BCNF分解
1.3NF分解先求出正则覆盖Fc对于Fc里面的所有函数依赖a->b,均转化为Ri=ab对于所有的模式Ri如果包含候选码,进行第4如果都不包含候选码, 将任意一个候选码添加到模式Ri里面如果一个模式被另一个模式包含,则去掉此被包含的模式。例子:...原创 2020-04-18 14:43:43 · 31910 阅读 · 28 评论 -
几种范式
1.第一范式(1NF)第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。即要满足原子性没有组合属性即使一个属性包含多个信息,也要把它作为一个整体。比如学号201805550101,包含入学年份,专业班级信息等,但是不能从学号提取这些信息。每个元组在每个属性上只能有一个值2.第二范式(2NF)R为第一范式,且每个非主属性都完全函数依赖候选...原创 2020-04-16 22:19:34 · 3113 阅读 · 0 评论 -
正则覆盖与候选码
正则覆盖结果不唯一。其中的一个方法:把右部分化为单属性去掉左部分的冗余属性比如AB->C假设A冗余,那么看是否能由B的闭包包含C假设B冗余,…去掉冗余的函数依赖合并函数依赖简单例子:模式(A,B,C)上的函数依赖集F:A->BCB->CA->BAB->C1.把右部分化为单属性后A->BA->CB...原创 2020-04-16 20:17:51 · 8560 阅读 · 6 评论 -
函数依赖与 Armstrong公理
函数依赖的定义:如果存在模式(id,name),其中id是主码。那么函数依赖可以写为id->name满足函数依赖(a->b)的条件对实例中的所有元组对t1和t2,如果t1[a]=t2[a],则t1[b]=t2[b]函数依赖的好处可以表示不能用超码表示的约束。如stu(id,name,sex,apartment),其中id是主码,假设apartment只有两座(男女)。...原创 2020-04-16 17:20:07 · 955 阅读 · 0 评论 -
超码、主码、候选码
超码:是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。所有包含超码的集合也是超码候选码:最小的超码主码:选择一个候选码所有码都是一个集合。例子:学生(学号,身份证号,性别,年龄,名字)学号或身份证号可以唯一的标识一个学生。所以(学号),(身份证号)是超码。故因此(学号,性别,年龄,名字)和(身份证号,性别)等也都是超码候选码是(学号)和(身份证号)...原创 2020-04-14 09:47:36 · 1694 阅读 · 0 评论 -
如何设计ER图(弱实体集)
弱实体集的定义:没有足够的属性形成主码的实体集。强实体集:有主码的实体集弱实体集依赖于强实体集而存在。之间的联系叫做标识性联系考虑两个实体集,我们发现属性会冗余,贷款编号是贷款的主码,也是还款的外码和主码。为了消除冗余,我们只能消除还款的贷款编号属性。但这样会出现一个问题,还款是还的谁的款??为了解决这个问题,我们设置一个特殊的联系集 还贷,它还能够给还款实体集提供一个额外的属性...原创 2020-04-04 14:18:17 · 18534 阅读 · 4 评论 -
如何设计ER图(映射基数)
映射基数第一种1一对一:一个导师最多指导一个学生,一个学生最多被一个导师指导。说明导师可以不指导学生,学生也可以单干。2.多对多:一个导师可以指导任意学生,一个学生可以被任意多个导师指导。说明导师可以不指导学生,也可以指导好些个。学生可以单干,也可以多拜几个师傅3.一对多:一个导师可以指导任意多个学生,一个学生至多被一个导师指导。多对一:一个导师至多指导一个学生,一个学...原创 2020-04-04 13:14:45 · 6577 阅读 · 9 评论 -
数据库系统概念 第六版 大学数据库代码
create table classroom (building varchar(15), room_number varchar(7), capacity numeric(4,0), primary key (building, room_number) );create table department (dept_name varchar(20), bui...原创 2020-03-09 09:54:47 · 1384 阅读 · 0 评论 -
ORA-25155: NATURAL 联接中使用的列不能有限定词
ORA-25155: NATURAL 联接中使用的列不能有限定词报错代码select distinct student.id,student.name,count(course_id)from student natural left outer join takes group by student.id,student.name;原因:使用natural join时,会把属性名相...原创 2020-03-25 10:16:41 · 1454 阅读 · 0 评论 -
基本聚集和分组聚集
一个代码引发的学案。。select course_id,count(distinct id)from takeswhere year=2009 and semester='Fall' group by course_id;//正确select course_id,count(distinct id)from takeswhere year=2009 and semester='Fal...原创 2020-03-10 23:42:31 · 543 阅读 · 0 评论 -
from name as id为啥报错
select T.name, S.course_idfrom instructor as T, teaches as Swhere T.ID= S.ID;报错ORA-00933: SQL 命令未正确结束00933. 00000 - "SQL command not properly ended"原因是:oracle 目前不支持此操作,应改为select T.name, S...原创 2020-03-09 15:48:51 · 270 阅读 · 0 评论 -
Oracle数据库以及Oracle SQL Developer初体验
首先进入SQL PLUS,这里输入 sys/as sysdba,回车。(貌似是超级管理员权限)。之后也可以在里面建表插入等。接下来讲讲如何用Oracle SQL Developer建表等操作。先进入SQL PLUS,首先创建一个新的用户输入:create user username identified by password;创建用户名和密码。此时我们的用户只是创建并没有任何权限,接...原创 2020-03-08 23:12:43 · 419 阅读 · 0 评论 -
在线oracle
在网页上模拟数据库操作。oracle live SQL原创 2020-03-06 11:54:43 · 3336 阅读 · 0 评论