1.dictionary 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。
- 静态数据字典-->主要是在用户访问数据字典时不会发生改变的, --例如某用户创建的表
- 动态数据字典-->是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。
数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。
- user_* 该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
- all_* 该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)
- dba_* 该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
--所有的字典都保存在dictionary里面 select * from dictionary; -- 查当前用户里有哪些表 select table_name from user_tables; --查询当前用户下面有哪些视图? select view_name from user_views; --查询当前用户下面的约束在哪些表上面? select constraint_name, table_name from user_constraints; --查询该用户拥有哪些索引 select index_name from user_indexes; --查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等。 select object_name from user_objects; --主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、表空间名、创建时间等。 select * from user_users;
2. Index 索引就相当于我们小时候查字典里那个索引
索引的作用:你为某个字段建立索引,别人访问这个字段的时候效率会更高。注意:是读的时候效率会更高。索引的建立是读起来更快,修改起来更慢了(附加修改索引表)。
你访问这个字段,访问量特别大的时候,而且觉得效率比较低的时候,这个时候可以考虑建立索引,但是记住一点:不要轻易的建立索引。
--创建索引 注意:当你给表里某个字段加约束的时候,比如主键约束,或者唯一约束,这个时候Oracle会帮你建立 --对应的这个字段的一个索引,如果你的主键是两个字段的组合,它会帮你建立两个字段组合的一个索引 create index idx_stu_email on stu (email); --删除索引 drop index idx_stu_email; --忘记索引怎么查 select index_name from user_indexes;
3.sequence 这是Oracle里面独特的东西,即特有的东西,一般用来做主键。每次取的时候它会自动增加。sequence与表没有关系。
CREATE SEQUENCE seqTest INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXvalue -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE --得到当前值 CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。 SELECT seqTest.currVal FROM DUAL; --得到下个值 第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。 select seqtest.NextVal from dual; --修改 拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数. --如果想要改变start值,必须 drop sequence 再 re-create。 alter sequence SEQTEST maxvalue 9999999; --删除 DROP SEQUENCE SEQTEST;
4.数据库三范式
三范式所追寻的原则是:不存在冗余数据
第一范式:确保每列保持原子性 ----> 1.要有主键(设计任何表都要有主键) 2.列不可分
第二范式:确保表中的每列都和主键相关 ---> 当一张表里面有多个字段作为主键的时候,非主键的这些字段,不能依赖于部分主键(只能依赖整个组合的主键,不能依赖部分)
第三范式:确保数据表中的每一列数据都和主键直接相关,而不能间接相关。----->(不能存在传递依赖,除了主键之外的任何其他字段必须直接依赖于主键)
相关推荐
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
李兴华Oracle全部笔记是一份详细记录了Oracle相关知识的学习资料,涵盖了从基础概念到高级特性的全面讲解。这些笔记可能是李兴华在深入研究Oracle后的心得体会,对于想要学习或提升Oracle技能的人来说是一份宝贵的...
Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...
在"Oracle培训笔记2"中,我们可以看到一系列的课程涵盖了XML基础和多行函数的应用,这些都是Oracle数据库管理和开发中的关键知识点。 XML(可扩展标记语言)在Oracle中的应用非常广泛,特别是在数据交换和存储非...
通过《韩顺平Oracle课堂笔记》,学习者可以系统地学习Oracle数据库,从基础到高级,从理论到实践,逐步提升自己的数据库管理能力。无论是初学者还是经验丰富的开发者,这份笔记都将提供宝贵的参考和指导。
总结来说,Oracle基础学习笔记涵盖了数据库管理的核心要素,从基本的SQL语法到复杂的存储过程和触发器,再到权限控制和递归查询,都是数据库管理员和开发人员必备的知识点。深入理解和熟练运用这些概念,将有助于你...
本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是Oracle用于标识表中每一行的一个特殊数据类型,它是一个64位的编码,包含了数据对象编号、文件号、块号...
在Oracle学习笔记中,对安装卸载和配置的详尽讲解,不仅为学习者提供了操作指导,而且还涉及到了数据库管理的一些基础知识点。这些内容对于数据库管理员和开发人员来说都是十分重要的,因为它们是操作Oracle数据库的...
### Oracle基础知识与分类 #### DDL (Data Definition Language) 数据定义语言 - **DDL** 主要用于创建、修改或删除数据库对象,如表、索引等。 #### DML (Data Manipulation Language) 数据操作语言 - **DML** ...
Oracle教程笔记涵盖了数据库管理系统Oracle的核心概念、安装配置、SQL语言基础、PL/SQL编程以及数据库管理等多个方面。这篇笔记旨在帮助初学者系统地理解和掌握Oracle技术。 首先,Oracle是全球最大的企业级数据库...
Oracle数据库是世界上最流行的关系型数据库管理系统之一,...理解这些基本概念和操作是成为Oracle数据库管理员或开发人员的基础。通过不断学习和实践,可以更好地掌握Oracle数据库的精髓,满足各种复杂的企业级需求。
这篇笔记主要涵盖了Oracle SQL的基础知识、高级特性和实际应用技巧。 一、基础SQL语法 Oracle SQL遵循标准的SQL语法,包括SELECT、INSERT、UPDATE、DELETE四大语句。用于查询数据的基本结构是SELECT字段列表FROM...
### Oracle 学习笔记概览 在Oracle学习过程中,掌握基础的命令与权限管理是至关重要的。以下内容将围绕Oracle数据库的基础操作、用户管理以及权限控制等方面展开。 ### 基础操作 1. **连接与断开** - 使用`conn...
1. **Oracle基础知识**:首先,笔记可能会介绍Oracle的基本概念,如数据库架构、表空间、数据块等。这包括数据库的创建、启动和关闭,以及如何管理和维护数据库实例。 2. **SQL语言**:Oracle支持结构化查询语言...
3. Oracle数据库的架构和存储结构,例如表空间、段、数据块等概念,对这些基础概念的深入理解对于数据迁移和性能优化至关重要。 4. Oracle的数据备份和恢复技术,因为数据迁移往往需要确保数据的安全性和完整性,...
以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...
《Oracle经典笔记》是一份深度探讨Oracle数据库管理系统的综合学习资料。这份笔记涵盖了从Oracle PL/SQL编程到SQL查询语言的广泛主题,旨在帮助读者深入理解Oracle数据库的运作机制和应用技巧。 首先,我们来看看...
超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。
这种笔记通常包括了课程中的重点概念、Oracle数据库基础知识、实际操作案例以及配合视频教程的习题和答案。对于初学者来说,这是一个很好的学习资源,因为它能够帮助他们通过观看视频和阅读笔记的方式来加深理解。 ...