思路:
a.用户表和数据字典表
用户表:被用户创建和维护,包含用户的信息
数据字典: dictionary (包括表明和注释) dba_tab_coumns,dba_constraints,dba_tables,dba_indexes //对象信息 dba_segments,dba_extents //空间分配信息 dba_tablespaces,dba_data_files //数据库结构
b. 数据约束:
1、NOT NULL 非空 //唯一一个只能在列级定义的约束!!! 可以在外部将列修改为非空 alter table tableName modify 列名 not null
2、UNIQUE Key 唯一键 //可以包含一个或多个空值 每个唯一约束对应一个唯一索引
3、PRIMARY KEY 主键 //相当于非空且唯一约束,也对应一个唯一索引,一个表只能有一个主键.联合主键的应用:每个学生可以有多个课程成
4、FOREIGN KEY 外键 //只能为主键值或空
5、CHECK 检察
c.索引,视图,top-n语句,序列 //相当于存储过程
d.存储过程的使用
e.jdbc连接类图
修改表中的语句:
a. 向表中插入列 alter table tableName add 列名(varhchar2) default(‘p’) //列名和数据类型
b. 修改列 alter table tableName modify 列名 varchar2(45)
c. 删除列 alter table 表名 drop column 列名
d. 删除表 ALTER TABLE employee //ddl语句不可回滚,释放存储空间 DROP COLUMN sex; //不能回滚,所有数据和结构和索引都将被删除
e. 修改表名 rename 原表名 to 新表名
Oracle数据库的表:用户表和数据字典表
用户表:
被用户创建和维护,包含用户的信息
数据字典表 相当于mssql中的内置表,存储各种特殊信息
被Oracle数据库创建和维护的一些表
包括了数据库的信息
是每个Oracle数据库的核心
用于描述数据库和它的所有对象
包括了只读的表和视图
被 SYS用户拥有
被 Oracle server维护
用户可以使用 SELECT访问
数据约束:
Oracle使用SYS_Cn格式命名约束,也可以由用户命名
创建约束的时机
1、在建表的同时创建
2、建表后创建
a、约束条件可定义在列级或表级,相应的语法略有区别。
b、约束条件可以构建在单列或多列的组合上,如果约束条件构建在多列组合上,那么定义约束条件只能在表级定义
常用约束:
1、NOT NULL 非空 //唯一一个只能在列级定义的约束!!! 可以在外部将列修改为非空 alter table tableName modify 列名 not null
2、UNIQUE Key 唯一键 //可以包含一个或多个空值 每个唯一约束对应一个唯一索引
3、PRIMARY KEY 主键 //相当于非空且唯一约束,也对应一个唯一索引,一个表只能有一个主键.联合主键的应用:每个学生可以有多个课程成
4、FOREIGN KEY 外键 //只能为主键值或空
5、CHECK 检察
约束名:SYS_C[number]
约束类型:(unique,primary key,foreign key,check)
在内部表级定义的格式:
表(
constraint 约束名(自定) 约束类型(约束的字段名)
)
在外部定义的格式:
alter table 表名 add constraint 约束名(自定)约束类型(约束字段一,约束字段二)
定义组合约束:
alter table 表名 add constraint 约束名(自定)约束类型(约束字段一,约束字段二)
定义外键约束:
表(
constraint 约束名(自定) foreign key(约束的字段名) references 表名(列名)
)
定义检查约束:
表(
constain 约束名 check(值>600)
)
删除约束
alter table table_name drop constraint 约束名
删除主键约束及相关的外键约束
alter table 表名 drop primary key cascade;
索引 自定维护,提高查询效率
创建索引格式:
create index 索引名 on 表名 (列名1,列名2);
删除索引:
drop index 索引名
视图
创建视图:
Create view 视图名 as select * from user
查询视图:
Selectd * from 视图名
查询视图结构:
Desc 视图名 describe 视图名
创建一个复杂的视图 多表查寻
Create or replace view 视图名
As select ……
插入数据(一般不用)
Insert into 视图名 values(1,2,3)
禁止对视图进行操作
Create or replace view 视图名 as select ……
with read only //视图设置为只读
删除视图:
Drop view 视图名
TOP—N分析
用Top-N分析法可以得到某列上最什么的前n个值. 例如: 薪水最高的前5个员工
1、使用了rownum这个伪列,这个伪列将会返回行号,可以作为返回记录的序列号显示。
2、在from后面使用了子查询,这是标准的行内视图的使用。
3、在子查询中使用了order by进行排序,在前面的子查询中不需要使用。
4、在主查询中通过where条件中的rownum伪列定义过滤条件,只返回最什么的前几行数据。用between and不能查询到数据,因此可以考虑将rownum变为表中的列,在进行查询
同义词
创建同义词
Create synonym b for 词名
查询:
Select * from 词名
删除:
Drop synonym b
序列 //相当于自增长列
a.是一数据库对象,利用它可生成唯一的整数。b.一般使用序列自动地生成表主键值或唯一键值
c.不直接连接到数据库中的任何表
语法:
CREATE SEQUENCE [user.]sequence_name
[increment by n]
[start with n]
[maxvalue n|]
[minvalue n ];
[cache]
[NOCYCLE|CYCLE]
INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
MAXVALUE:指定序列可生成的最大值。
MINVALUE:指定序列的最小值
NOCYCLE:一直累加,不循环
CYCLE:累加到最大值循环
--currval :返回序列的当前值
--nextval 返回序列首次引用时的起始值,以后使用nextval的引用将使
Select 序列名.currval from dual
Select 序列名.nextVal from dual
创建一个序列
Create sequence 序列名
increment by 1 //步长
start with 1 //开始值
maxvalue 21 //最大值
minValue 1 //最小值
cycle(oncycle) //循环 不循环
cache 20 //设置缓冲值,最少为20,避免多次操作硬盘,提高速度
修改一个序列
alter sequence emp_seq
increment by 2
minvalue 3
maxvalue 99999
存储过程:用于完成特定操作或者任务procedures
创建一个带返回值的存储过程
--修改dept的表
create or replace procedure updatedept
(
v_deptno in number,
v_dname in varchar2,
v_loc in varchar2,
v_demo out varchar2
)
is
begin
update dept set dname=v_dname,loc=v_loc where deptno=v_deptno;
commit;
v_demo:='success';
end;
调用存储过程
declare
v_demo varchar2(34);
begin
updatedept(13,'789','678',v_demo);
dbms_output.put_line(v_out);
end
oracle总结:
1 select
* 简单的查询(distinct,is not null,where,like,in,between and)
* order by排序 asc desc
* oracle中的函数(数学函数,字符函数,日前函数,转换函数*,其他函数)--oracle的函数
* oralce中的聚合函数(avg count max min sum)
* where group by having的执行流程
* 多表查询
* oracle8i
* 等值连接
* 非等值连接
* 左外连接 右外连接
* 自连接
* oracle9i及以后的版本
* 自然连接
* 内连接 左外连接 右外连接 全外连接
* 子查询
2 dml
* insert update delete merge
3 事务
* 什么事事务
* commit
* rollback
4 DDl
* 创建(修改 删除)表 视图 同义词 序列
* 约束(非空唯一 主键 外键 检查)
* Top n分析方法
5 存储过程
Jdbc连接
Jdbc API 的接口
DriverManager:
Connection——》Statement——》ResultSet
Connection——》PreparedStatement——》ResultSet
Connection——》CallableStatement——》ResultSet
分享到:
相关推荐
在IT行业中,数据库设计是至关重要的一步,而数据字典在这一过程中扮演着核心角色。数据字典是对数据库中所有元素的详细描述,包括表、字段、数据类型、约束等,它提供了清晰的数据库结构视图。本话题将深入探讨如何...
数据字典是系统设计阶段的产物,它包含了系统中数据的描述性信息,包括数据项、数据结构、数据流、数据存储和处理过程等。在数据库管理中,数据字典通常用于记录表的结构(字段名、数据类型、长度、是否允许为空等)...
了解Oracle数据字典是数据库管理和维护工作的基础,因为它包含了数据库的元数据信息,比如用户表、视图、索引、触发器、存储过程和函数等对象的定义以及它们的权限设置等详细信息。 Oracle数据字典中的视图可以分为...
Oracle 数据字典是一种特殊的数据库表,存储了关于数据库对象的信息,如表、视图、索引、触发器、存储过程、函数等。这些信息是 Oracle 数据库管理系统的核心组件,可以帮助数据库管理员和开发人员更好地管理和维护...
### Oracle 数据字典介绍 #### 一、Oracle 数据字典概述 Oracle 数据字典是用于存储有关数据库结构信息的一种特殊数据库对象。...对于数据库管理员来说,熟练掌握如何使用数据字典是进行数据库管理和优化的关键之一。
- 数据字典定义:存储关于数据库本身的信息。 - 数据通信:支持不同用户和应用程序之间的数据交互。 3. 数据库系统组成: 包括数据库、操作系统、DBMS、开发工具、应用系统、DBA(数据库管理员)和最终用户。...
Oracle数据库是全球广泛使用的数据库系统之一,其对象管理涉及众多方面,包括但不限于数据表、索引、视图、存储过程、触发器、同义词等。下面我们将深入探讨这些知识点。 首先,**数据表** 是数据库中最基本的存储...
Oracle数据字典是Oracle数据库中存储元数据(即关于数据的数据)的一系列特殊表和视图,用于描述数据库对象及其属性。数据字典提供了数据库内部结构的详细信息,包括但不限于表、视图、索引、用户、权限等,是DBA和...
数据字典是数据库管理系统中的一个重要组成部分,它提供了关于数据库结构、表、字段和约束等元数据的详细信息。对于开发人员和数据库管理员来说,拥有一个能够自动生成数据字典的工具可以极大地提高工作效率。 ...
综上所述,Oracle数据字典是数据库管理的重要工具,通过学习和掌握如何查询和利用数据字典,用户可以更高效地管理和维护Oracle数据库。同时,提供的压缩包文件“数据字典”可以作为参考资料,帮助用户深入了解这一...
### ORACLE 数据字典与视图详解 ...通过这些详细的数据字典视图和动态性能表,Oracle 数据库管理员可以有效地管理数据库资源,监控性能,以及进行故障排除等工作。这些工具对于确保数据库的稳定运行至关重要。
数据字典是对数据库中各种对象的详细描述,包括表、列、索引、约束等,它为数据库管理员和开发人员提供了元数据信息。本文将深入探讨“静态视图之-常用数据字典及字典类别”,并结合SQL脚本文件`v_Dic.sql`,来阐述...
Oracle 数据库中的数据字典是一系列系统表和视图的集合,用于存储数据库元数据。这些元数据包括了数据库对象(如表、视图、索引等)的定义、权限信息、以及数据库的状态信息等。下面列举了一些常用的数据字典条目...
本篇文章将深入探讨“数据库生成数据字典工具”,特别是提及的“PdmReader”以及它如何帮助我们处理Oracle、MySQL和SQL Server等不同类型的数据库。 首先,数据字典的生成是数据库设计过程中的一个关键步骤。它提供...
利用数据字典生成工具,我们可以提取这些元数据,形成详细的报告,包括表结构、字段类型、约束条件、索引、触发器、存储过程和函数等。这对于理解和优化数据库性能、编写SQL查询、设计新表或升级现有表来说非常有...
1. **数据库字典**:数据库字典是数据库管理系统中一个重要的组成部分,它存储了关于数据库结构的所有元数据,如表、字段、索引、视图、约束等信息。生成数据库字典的目的在于提供一个清晰的数据模型概述,帮助...
数据字典是数据库管理系统中的一个重要组成部分,它存储了数据库中所有对象(如表、视图、索引、存储过程等)的定义、权限、约束、依赖关系等信息。对于开发者和DBA来说,数据字典是理解和维护数据库结构的关键。 ...
在Oracle数据库管理中,数据字典扮演着至关重要的角色,它是数据库系统内部元数据的集合,存储了关于数据库结构和内容的关键信息。对于数据库管理员(DBA)和开发人员而言,熟练掌握并有效利用Oracle的数据字典是提升...
数据库模式对象与数据字典是理解Oracle数据库架构和管理的核心概念。本文将深入解析这些概念,包括模式、各种模式对象(如表、视图、索引等)以及数据字典的作用。 ### 模式 模式在Oracle数据库中扮演着至关重要的...