Oracle数据库的相关的总结

数据data是数据库的基本对象,是描述事物的符号的记录
数据库
存放数据的苍鹭
关系型数据
基于关系模型的数据
数据库管理系统
是科学组织和存储数据,堆数据库进行统一的管理和控制,以保证数据库的那全兴,完整性
数据库管理系统:是科学的组织和存储数据,对数据库进行统一的管理和控制,以保证数据库的安全性,完整性
关系型数据库管理系统
他是通过数据,关系,堆数据的约束着三种组成的数据模型来存放和管理数据
关系模型当中数据的操作方式称为关系代数,主要是由一系列针对关系的运算组成的
选择:返回一个关系当中满足指定条件的元组构成的另一个关系,里选出表当中满足指定条件的行
映射:返回由一个关系当中的指定的列当中的值构成的另一个关系,即选择表当中指定的列
积,两个关系的即返回一个关系,这个关系当中的每一个元组由分别属于参与运算的两个关系的元组合并而成的,即两个表的行两两横向拼接
引用完整性:外键的值或者为空,或者匹配其引用的键值
实体完整性:主键属性不能允许空值,
候选键
关系当中能过够唯一的标识一个元组的最少的属性的构成的集合,候选键可以由多个
主键:选择为唯一的标识关系当中的元组的候选键称为主键,一个关系当中的主键只能有一个
外键:一个关系当中,属性值要匹配另一个关系当中的候选键的一个或者多个属性的集合
概念设计:
根据需求分析结构抽象出实际应用当中的实体以及练习
逻辑设计
把概念设计得到的er图转化成为表的结构,用到的知识主要是er图当中的练习转化成为表的基本谷子额以及范式理论
物理设计
概念设计,逻辑设计
物理设计
物理设计:把逻辑设计得到的表实现,包括物理存储规划和创建合适的索引等任务
联系的映射约束:
一对一
一对多
多对多
数据库规范化实质减少或者空值数据冗余即不必要的数据副本以及避免数据异常
减少或者空值数据冗余即不必要的数据副本,避免数据异常
第一范式1NF:
只有单个值的属性/列,表当中的每一列都应该是单指的,
存储在列当中的值应该属于同一个值域
在每列当中,
对应的列的属性和类型应该是相同的
每个列都应该有唯一的名称
数据的存储顺序无关紧要,
第二范式:没有部分依赖
表当中属性仅仅依赖主键的一部分,而不是整个组合的主键,这就是部分依赖的关系
第三范式:不应该具有传递依赖
非主键的属性依赖于其他的非主键的属性,而不是依赖于主键的属性,这就是传递yilai
第二章ORacle的概述
RDBMS美国甲骨文公司的一款关系型数据库管理系统
Oracle数据库系统是目前世界上最流行的关系数据库管理系统之一特点
完整的数据管理功能
晚辈的关系产品
分布式处理功能
可移植性
晚辈的数据管理功能
完备的关系产品
分布式处理功能
可移植性
分布式处理功能,可移植性
分布式处理功能,可移植性
分布式处理功能,可移植性,分完备的关系产品,完整的数据管理功能
完备的数据管理功能
大量型,持久性
共享性,可靠性
完备德国厝产品P;
喜喜准备
保证访问准则
视图更新准则
数据物理性和逻辑性独立准则
信息准则关系型DBMS的所有的信息都应该在逻辑上用一种方法即表当中的值的显示表示
保证访问的准则
视图更新的准则
数据的物理性和逻辑型独立准则
数据管理功能
分布式处理,可移植性
大量行,可靠性,持久性,共享性
大量行,持久性,共享性,可靠新房
大量性,持久性可靠性,共享性
大量性,持久性,可靠性,共享性
信息准则,保证访问准则,视图更新准则,数据的物理性和逻辑性独立住着呢
Oracle12c的新功能
增强PL/SQL功能
改善了default
增加了多种数据类型的长度
添加了对于TOPn的语句处理
行匹配
分优化
数据优化
Oracle Pluggable Database Oracle PDB体系结构是由一个容器数据库CDB和多种可组装时数据库PDB构成的,PDB包含独立的系统表空间和sYSAUC表空间等
数据优化ILM数据生命周期管理,分区优化:多个分区同时操
行匹配,分区优化,数据优化,行匹配
Oracle1的客户端的工具
SQLPLUS,OracleS QL DEVELOPER
SQL
PULS,ORACLE SQL DEVELOPER
ORACLE客户端的三种命令:
SQL语句
PL/SQL语句
SQL *plus语句
Database Configuration Assistant(DBCA)图形化工具
使用create database语句
建议使用dbca工具
DCA

第三章

单行函数的简介
函数使用的基本的构
返回值 函数名称(列|数据)
字符串函数,实质函数,日期函数,转换函数
1.大小写转换函数
转大写函数字符串UPPER(数据列,特定的字符串)
转小写LOWER
select Distinct lower(‘Hello’)
from emp;
为了方便进行函数验证,往往需要虚拟表
SELECT LOWER(‘Hello’),UPPER(‘Hello’) FROM dual;
在这里插入图片描述
不区分大小写操作的项目的时候,保存数据需要堆数据提前处理
首字母大写
INITCAP(列|数据);
select initcap(‘HelloWorld’) from dual;
除了首字母变为大写之外,其余的字母都是小写
计算字符串的长度
selct
那么所有的单行函数都可以在s’q’l语句的任意位置上出现
查询雇员姓名长度5的全部雇员的信息
SELECT * from emp where Length(name)<5;
字符串的替换
replace(列|数据);
将所有的雇员姓名字符A替换为_
select replace (ename,UPPER(‘a’),’_’)
from emp;
replace可以取消掉字符串全部的空格的数据
select replace (‘hello world nihao zaijian’,’’,’) from dual;
在这里插入图片描述
字符串的截取
hellowolrdnihao
select substr(‘hellowolrdnihao’,11) from dual;
从指定位置到结尾
substr函数的下标从1开始的,设置时0也是按照1开始处理的
要求截取每一位雇员姓名的前三位
substr()可以设置负数索引

数据库:database
存取数据
txt
excel
优点:数据存储量大
存取方便
易于管理
安全性高
数据库分类:
Oracle中大型数据库
sql server:
mysql
中小型
开源免费
用于集群部署
db2:
处理海量数据
mongodb:
非关系型数据库
oracle的版本:
12c
11g
10g
grid网格技术
XE:10G的简化版
9i
服务端和客户端
服务端和客户端:
CS,BS
客户端:
sql plus
pl,sql developer
浏览器
java程序(jdbc)
服务端:
server
DBMS:数据库管理系统
内存
自动配置一个数据库(实例)ORCL
db文件
存放在硬盘里面

端口号:
oracle:1521
mysql:3306

常用的用户指令:
连接(切换)用户:
conn system;
显示当前账户:
show user;
用户级别
sys系统管理员
维护数据库的基本信息
登录的dba身份
system:普通管理
管理普通用户,设置普通用户权限
可以使用normal身份,也可以使用dba
scott:普通
更新用户密码:
alter user system identified by system;
查看当前数据库的信息
select * from v$database;
查看当前数据库下的用户:
select * from dba_users;
创建用户:
create user c##zhangsan identified bu zhangsan;
在这里插入图片描述
在12C版本当中,新创建用户要求加C##
授权和回收用户:
grant create session to c##zhangsan;
revoke create session from c##zhangsan;
grant create session to c##zhangsan;
revole create sessionnfrom c##zhangsan;
授予和回收角色:
grant resource to c##zhangsan;
revole resource grom c##zhangsan;
锁定账户
alter user c##lisi account lock;
解锁账户
alter user c##lisi account unlock;
常用的表的指令:
表:
数据管理的最基本的逻辑单元
列:column
字段

row记录(数据)
创建表:
create table stu(id number(3),name varchar2(5),sex char(1),addr varchar2(5));
查看表的结构:
desc stu;
添加数据:
insert into stu values(101,‘tom’,‘m’,‘机’);
create table stu(id number(3),name varchar2(5),sex char(1),addr varchar2(5));
insert into stu values(101,‘tom’,‘m’,‘ji’);
查询
select * from stu;
更新:
delete from stu where id=101;
CRUD:增删改查
查看当前用户下的表
select * from user_tables;

3.数据类型
data type 强数据类型
字符串
char(size)
定长,不会自动回收
size:1-2000个字节
varchar2(size)
变长
DBMS在合适的实际回收剩余的字节空间
size:1-4000字节
create table stu2(name varchar2(30),sex char(1),pid char(18),adr varchar2(100));
编解码;
查看数据库的编码格式
select userenv(‘language’) from dual;
–dual;虚表
编译:字符-》字节码
UTF-8一个中文占用3个字符
解码:字节码-》字符
GBK:1个中文占用2个字节
nchar(size):size代表字符长度
create table t4(name nchar(5));
long最多方2G字节
clob最多放4G字节
数值类型
number(p,s)
number§
不超过p位整数
小数位:四舍五入
number(p,s)
p>s>0
整数位:不超过p-s位
小数位s位
超过四舍五入
不足:用0补齐
s<0<p:整数位不超过p-s位
对小数点左侧s位清零四舍五入
小数位:
没有小数位
直接清零
number整数小数自适应
较少使用
numberic(size)
等同于numer(size)
int整数
select sysdate from dual;格式:dual:虚表
insert into t3 values(to_date(‘1999-09-07’,‘yyy-mm-dd’));
selecr to_char(birthday,‘yyyy-mm-dd’) from t3;
select to_char(birthday,‘yyyy-mm-dd hh:mi:ss’) from t4;
二进制数据(图片,影音)
raw(size)
size:2000字节
long raw
blob
sql结构化查询语言
structured query language
dcl:数据控制语句用户命令相关
DDL:数据定义
对表的结构操作
DML:数据操作语句
对记录(数据)的操作(增删改)
ddl:数据定义:对表的结构的操作
DQL:数据查询语句:占用dbms 7成以上的时间
TCL:事务操作
DDL:
创建表
create table emp{
id number(5),
nmae varrchar2(60),
sex char(1),
birthday date,
photo varchar2(100),
salary nunmber(7,2),
);
alter table emp add(dept varchar2(30));
重命名字段:
alter table emp rename column dept to department;
修改字段类型
later table emp mpdify department varchar2(70);
删除字段

later table emp add(dept barchar2(30));
alter table emp rename column dept to department;
alter table emp modify department varchar2(60)l
alter table emo drop column photo;
重命名表:
rename emp to employee;
删除表
:drop table employee;
DML:添加记录:
insert into emp values(101,‘zhangsan’,‘f’,sysdate’,‘abc’,'3000);
insert into emp values(101,‘zhangsan’,‘f’;,nu;ll,null,null);
insert into emp(id,name,sex)values(101,‘zhangsan’,‘f’);
修改记录
uodate emp set birday=to_date(‘1999-0-0-’);
insert into emp(id,name,sex) valeus(101,‘zhangsan’,‘f’);
update emp set birthday=to_date(‘1999-0-9-07’,‘yyyy-mm-dd’);
update emp set sex-;lml,id=102;
updatemp set sex=‘f’,id=193 where phoioti=‘abc.jpg’;
create table stus{
id number(5),
narm varchar2(30,
sex char(1),
score number(5,2),
birthday date);
insert into stus vaelus(101,‘tom’m’,560,to_date(‘1998-6-15’,‘yyyy-mm-dd’));
inserytinto stus(id,name) values(104,‘李四’);
insert into stus(id,name) values(105,‘王五’);
select * from stus where sex is null;
select * from stus where sex is not null;
select * from stus where score between 560 adn 660;
算数运算
加减乘除
select * from stus where id=101+!;
select score+10 from stus where id=101;
关键词:in
select * from stus where id in(101,103,107);
like模糊查询
select * from stus where name like '张%;转义:%代表0个或者多个字符
distinct过滤重复数据
select distinct sex from stus;
as列的别名
select score1.1 as ns from stus;
select * from stus where name like ‘zhang%’;
select * from stus order by id;
select
fromstus where score=(select max(score) from stus);
查询成绩最高的同学的所有的信息
单行子查询(单行单列
select * from stus where id in(elect id from stus where id>1=03);
多行子查询(多行单列)
select temp.* grom(select name,score from stus) templ;
临时表的子查询多行多列
分页查询

完全笛卡尔积
select /8 from stus cross join cla;
select * from stus,cla;
内连接
select * from stus inner join cla on stus.cid=cla.id;
外连接,左连接,右外连接
了解
合并查询:合并后的数据都会自动过滤重复的值
select id from stus union select id from cla;
select * from stus inner join cla ont stus.cid=cla.id inner join college on cla.college.id=college.id;
合并查询:
合并后的数据都会自动过滤重复值
select id from stus union select id from cla;
并集
select cid from stus intersect select id from cla;
TCL:
transaction事务(tx)
一组DML语句(增删改)
commit:提交:告知DBMS,根据指令,修改数据文件
rollback:回退,回到上次提交的时间点
事物处理:
一组DML语句,同时完成(一起提交),或者同时不完成(已完成的指令要回退)

猜你喜欢

转载自blog.csdn.net/weixin_43428283/article/details/111404900
今日推荐