第4章 数据库常用对象对象分析
Oracle数据库数据对象分析_张达宇

Oracle数据库数据对象分析日期:2006-01-18 08:00 点击:Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。
对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。
表和视图Oracle中表是数据存储的基本结构。
ORACLE8引入了分区表和对象表,ORACLE8i引入了临时表,使表的功能更强大。
视图是一个或多个表中数据的逻辑表达式。
本文我们将讨论怎样创建和管理简单的表和视图。
管理表表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。
用CREATE TABLE语句建立表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。
例如:这样我们就建立了一个名为products的表,关键词CREATE TABLE后紧跟的表名,然后定义了三列,同时规定了列的数据类型和大小。
在创建表的同时你可以规定表的完整性约束,也可以规定列的完整性约束,在列上普通的约束是NOT NULL,关于约束的讨论我们在以后进行。
在建立或更改表时,可以给表一个缺省值。
缺省值是在增加行时,增加的数据行中某一项值为null时,oracle即认为该值为缺省值。
下列数据字典视图提供表和表的列的信息:. DBA_TABLES. DBA_ALL_TABLES. USER_TABLES. USER_ALL_TABLES. ALL_TABLES. ALL_ALL_TABLES. DBA_TAB_COLUMNS. USER_TAB_COLUMNS. ALL_TAB_COLUMNS表的命名规则表名标识一个表,所以应尽可能在表名中描述表,oracle中表名或列名最长可以达30个字符串。
表名应该以字母开始,可以在表名中包含数字、下划线、#、$等。
从其它表中建立表可以使用查询从基于一个或多个表中建立表,表的列的数据类型和大小有查询结果决定。
数据库应用技术教程数据库对象课件

数据库应用技术教程ቤተ መጻሕፍቲ ባይዱ四章数据库对象
24
B-Tree Index的作用
Root
Index entry
Branch
Index entry header
Leaf
Key column length
Key column value
ROWID
数据库应用技术教程第四章数据库对象
25
Bitmap Index的作用
数据库应用技术教程第四章数据库对象
21
4.5 索引
ß 索引是这样一种数据库对象,它占据一定的存 储空间,能够在查询时被自动使用,从而提高 查询性能。
ß 基于一个表中某个字段或字段的联合 ß 索引的使用
Þ 不影响语句的正确性和结果 Þ 避免全表扫描 Þ 由查询优化器自动使用,并非所有查询都能获益 Þ 通过某些额外选项可以提示查询优化器利用索引 Þ 可能会加快DQL速度,但对DML速度的影响是双重
义的修改,不允许。无则返错。 Þ 如省略字段列表则用子查询返回的字段名定义
ß 删除视图
Þ DROP VIEW 视图名
数据库应用技术教程第四章数据库对象
15
视图上的DML
ß 简单视图可以直接执行 ß 复杂视图
Þ 表的数目多于1个 Þ 有字段表达式作为视图的列 Þ 有聚组函数作为视图的列
ß 复杂视图的DML不一定能够正确执行 ß 带有CHECK OPTION的视图的DML,不能违
Updates on keys relatively inexpensive
Inefficient for queries using OR predicates
Useful for OLTP
Bitmap
Oracle数据库的常用对象介绍

Oracle数据库的常用对象介绍Oracle数据库常用对象介绍oracle数据的常用对象有user,table,sequence,index,view,procedure和function,trigger,接下来将一一介绍。
一、user用户此处将oracle与mysql进行对比说明1 oracle用户1.1 基本语法create user test01 identified by test01;-- 创建用户grant connect,resource to test01;-- 授权revoke connect from test01;-- 撤销权限alter user test01 identified by 123456;-- 修改密码drop user test01 cascade; -- 加上cascade则将用户连同其创建的东西全部删除1.2 权限1.2.1 权限分类:1)系统权限–对用户而言connect:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
resource:RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
dba:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
2) 实体权限–针对表或视图而言的select, update, insert, alter, index, delete, all //all包括所有权限,execute //执行存储过程权限2 Mysql用户1.1 基本语法grant all privileges on *.* to jack@'localhost' identified by "jack" with grant option;•ALL PRIVILEGES 是表示所有权限,你也可以使用select、update等权限。
数据库对象课件

联接视图 2-1
Stud_details
Sub_details
Studn Studnam Submrk Subn
o
e
s
o
1
Rob
45
2
2
James 33
4
3
Jesica 40
4
Subn o 联接视图2
4
5
Subnam e English Maths Science
CREATE VIEW Stud_sub_view AS
Subn o
Subnam e
1 Rob
45
2
English
2
James
33 Stu因d_为deSta4tiulsdn中o旳既主是M键at,hs
也是联接成果中旳主键
3 Jesica 40
4
Maths
19
视图中旳函数
• 视图中能够使用单行函数、分组函数和体 现式 CREATE VIEW item_view AS
14
创建视图 3
使用 WITH CHECK OPTION 选项创 C建R视EA图TE OR REPLACE VIEW pause_view AS
SELECT * FROM order_master WHERE ostatus = 'p' WITH CHECK OPTION CONSTRAINT chk_pv;
SQL> INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, ’MAGIC PENCIL’, 75);
指定序列旳下一种值
SQL> SELECT toys_seq.CURRVAL FROM dual;
第四章 数据分析

6、数据导出
• (1)导出CSV文件: to_csv(file_path,sep=",",index=True,header=True) • (2)导出Excel文件: to_excel(file_path,index=True,header=True) • (3)导出到MySQL库: to_sql(tableName,con=数据库链接)
7、数据处理
• 在数据分析前需要对数据进行处理,剔除其中噪声、恢复数据的完整性和一致性后 才能进行数据分析
数据 数据 数据 数据 清洗 合并 计算 分组
8、数据的清洗
• 1.重复数据的处理:
• 使用duplicated( )可以获取哪些是重复的元素,使用drop_duplicates( )能够删除重复元素。
• 2.缺失数据的处理:
• 缺失值的处理包括两个步骤,即缺失数据的识别和缺失值处理,缺失值处理常用的方法有 删除法、替换法、插补法等。
• 3.噪声数据的处理:
• 在实际操作中常用分箱(binning)、回归(regression)、聚类(clustering)、计算机与人工检查 相结合等方法“光滑”数据,去掉数据中的噪声。
3、数据分析的工具
• 数据分析的工具数量众多,根据分析数据层次结构的不同,常用数据分析软件可分 为四类
4、PYTHON的PANDAS数据分析包
• Numpy科学计算模块 • Matplotlib绘图模块。
数据导入
数据导出
5、数据导入
• (1)导入TXT文件:read_table(file,names=[列名1,列名2,...],sep="",...) • (2)导入CSV文件:read_csv(file,names=[列名1,列名2,...],sep="",...) • (3)导入excel文件:read_excel(file,sheetname,header=0) • (4)导入MySQL库:read_sql(sql,con=数据库)
Oracle-数据库对象

访问序列
通过序列的伪列来访问序列的值
NEXTVAL 返回序列的下一个值 CURRVAL 返回序列的当前值
SQL> INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, ‘TWENTY’, 25);
SQL> INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, ’MAGIC PENCIL’, 75);
同义词名称
6
同义词 3-3
创建或替换现有的同义词
CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp;
替换现有的同义词
删除同义词
SQL> DROP SYNONYM emp; SQL> DROP PUBLIC SYNONYM emp_syn;
7
序列
序列是用于生成唯一、连续序号的对象 序列可以是升序的,也可以是降序的 使用CREATE SEQUENCE语句创建序列
视图上的DML语句有如下限制:
只能修改一个底层的基表 如果修改违反了基表的约束条件,则无法更新视图 如果视图包含连接操作符、DISTINCT 关键字、集合
操作符、聚合函数或 GROUP BY 子句,则将无法更 新视图 如果视图包含伪列或表达式,则将无法更新视图
17
键保留表
Stud_details
11
创建视图 3-1
studno 1 2 3
studname Rob James Jesica
studmarks 45 33 40
subno 2 4 5
第4章数据库安全性数据库知识点整理

第4章数据库安全性数据库知识点整理第4章数据库安全性了解计算机系统安全性问题数据库安全性问题威胁数据库安全性因素掌握TCSEC和CC标准的主要内容C2级DBMS、B1级DBMS的主要特征DBMS提供的安全措施⽤户⾝份鉴别、⾃主存取控制、强制存取控制技术视图技术和审计技术数据加密存储和加密传输使⽤SQL语⾔中的GRANT语句和REVOKE语句来实现⾃主存取控制知识点什么是数据库的安全性数据库的安全性是指保护数据库以防⽌不合法的使⽤所造成的数据泄露、更改或破坏举例说明对数据库安全性产⽣威胁的因素⾮授权⽤户对数据库的恶意存取和破坏数据库中重要或敏感的数据被泄露安全环境的脆弱性信息安全标准的发展历史,CC评估保证级划分的基本内容TCSEC/TDI 安全级别划分安全级别定义A1 验证设计(verified design)B3 安全域(security domains)B2 结构化保护(structural protection)B1 标记安全保护(labeled security protection)C2 受控的存取保护(controlled access protection)C1 ⾃主安全保护(discretionary security protection)D 最⼩保护(minimal protection)CC评估保证级(EAL)的划分评估保证级定义 TCSEC安全级别(近似相当)EAL1 功能测试(functionally tested)EAL2 结构测试(structurally tested) C1EAL3 系统地测试和检查(methodically tested and checked) C2EAL4 系统地设计、测试和复查(methodically designed,tested and reviewed) B1EAL5 半形式化设计和测试(semiformally designed and tested) B2EAL6 半形式化验证的设计和测试(semiformally verified design and tested) B3EAL7 形式化验证的设计和测试(formally verified design and tested) A1实现数据库安全性控制的常⽤⽅法和技术⽤户⾝份鉴别该⽅法由系统提供⼀定的⽅式让⽤户标识⾃⼰的名字或⾝份。
第四章数据库建模习题

5.下图所示的E-R图转换成关系模型,可以转 换为____个关系模式。 A.1个 B.2个 C.3个 D . 4个
6.在数据库设计中,将E-R图转换成关系数据 模型的过程属于____ 。 A. 需求分析阶段 B. 概念设计阶段 C. 逻辑设计阶段 D. 物理设计阶段
7.关系模型中实现实体间 N:M 联系是通过增 加一个____ 。 A. 关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现
2. 设计学生管理系统。包括学生的学籍管 理子系统和课程管理子系统两个系统。
(1)学籍管理子系统包括学生、宿舍、班级、 教室、辅导员。这些实体之间的联系有:一个 宿舍可以住多个学生,一个学生只能住在一个 宿舍中。 ① 一个班级有若干学生,一个学生只能属于 一个班。 ② 一个辅导员带若干个学生,一个学生只属 于一个辅导员。一个辅导员带多个班级。 ③ 一个班级在多个教室上课,一个教室有多 个班级来上课。
及联系本身的属性均转换为关系的属
性,而关系的码为n端实体的码。
一个1:1联系可以转换为一个独立的关系 模式,也可以与任意一端对应的关系模 式合并。
如果转换为一个独立的关系模式,则与 该关系相连的各实体的码以及联系本身 的属性均转换为关系的属性,每个实体 的码均是该关系的候选码。 如果与某一端对应的关系模式合并,则 需要在该关系模式的属性中加入另一个 关系模式的码和联系本身的属性。
二.填空
1.数据库设计的几个步骤是 ____,____,____,____,____,____。 答:需求分析,概念设计,逻辑设计,模式求精, 物理设计,应用与安全设计。 2.在数据库设计中,把数据需求写成文档,它是各 类数据描述的集合,包括数据项、数据结构、数 据流、数据存储和数据加工过程等的描述,通常 称为____。 答:数据字典
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2 表
在Oracle系统中,表是主要的模式对象,也是基本 的数据存储结构。一个表通常由多个列(字段)组成, 并且每个列都具有名称,表中的每一行存放一条信 息。
8
4.2.1 创建表
• 用户必须具备 :
¯ CREATE TABLE的权限 ¯ 一定的存贮空间
CREATE TABLE [schema.]table (column datatype [DEFAULT expr];
生成数字序列,用于在插入时自动填充 表的字段
为简化和便于记忆,给对象起的别名
DATABASELINK
STOREDPROCEDURE 、FUNCTION PACKAGE、 PACKAGEBODY
数据库链接 存储过程和函数
包和包体
为访问远程对象创建的通道 存储于数据库中的可调用的程序和函数
将存储过程、函数及变量按功能和类别 进行捆绑
TRIGGER
触发器
由DML操作或数据库事件触发的事件
Oracle非模式对象
• • • • 表空间 用户 角色 模式和用户一一对应关系,模式是对象 集合,用户可以管理创建模式对象,有 时可以替换使用,对应的名称是一致的 。但概念是完全不同的。比如创建表时 可以指定创建到某个模式,也可以说成 用户。
2
4.1.1 用户和模式
在Oracle中,用户不能直接操作物理结构。用 户可以直接操作的是表、索引和视图这样的逻 辑对象。 在Oracle数据库中,逻辑对象不是随意保存在 数据库中的,Oracle是通过“模式”来组织和 管理这些数据库对象。 一个模式下对象不能重名,但是两个不同模式 下可以存在同名的对象。一个模式对象可能被 存于多个数据文件中(因为存于某一个表空间 ,而表空间包含多个数据文件)
… hiredate DATE DEFAULT SYSDATE, …
合法的值可以是字面值、表达式或SQL 函数 非法的值是另一个列的名称或虚拟列 默认的数据类型必须和列的类型匹配
数据类型
类型 VARCHAR2(size) CHAR(size) 描述 变长字符串 固定长度字符串
NUMBER(p,s)
验证是否创建成功
Type --------NUMBER(2) VARCHAR2(14) VARCHAR2(13)
SQL> DESCRIBE dept1 Name Null? --------------------------- -------DEPTNO NOT NULL DNAME LOC
表特性
4.1.2 用户
• 用户的创建和授权(必须具有connect或create session权限) • 创建表必须有create table和unlimited tablespace 权限,resource权限比较大,包含了创建表等的 权限。 • 默认用户创建对应的用户表空间是users,除非 显式指定,临时表空间temp • 还可以给用户指定使用的空间配额 quota关键字 • 账户的锁定和解除锁定方法 • 删除用户,如果用户中有对象必须指定cascade 选项
• 需要指定:
¯ 表名 ¯ 列名、列的类型及列的宽度
命名规则
• • • • 必须以字母开头 长度为1–30 个字符 只能包含 A–Z, a–z, 0–9, _, $和 # 对于同一个用户不能使用和其他对象相同的名 字 • 不能是Oracle的保留字Βιβλιοθήκη DEFAULT 选项
指定在插入数据时,列的默认值
第4章 数据库对象
从数据库用户的角度看,数据库中的数据是 以表、视图等方式存储的。此外,用户还可以通 过为表创建索引,以提高查询的执行速度。在 Oracle系统中,对表、视图和索引的创建、维护 是通过模式实现的。在本章中,我们将初步介绍 Oracle中的模式概念,并重点介绍如何在模式中 创建基本对象——基本表、索引以及其他数据库 常用对象
建议使用固定长度类型,nchar表示uncode类型,一个字符占两个字节位置, rowid和rownum的使用。
创建表
创建表
SQL> CREATE TABLE dept1 2 (deptno NUMBER(2), 3 dname VARCHAR2(14), 4 loc VARCHAR2(13)); Table created.
DATE,timestamp LONG
变长数值
日期和时间值,date用户转换 可存放高达2GB的变长字符数据
CLOB
可存放高达4GB的变长单字节数据
可存放高达4GB二进制数据
RAW and LONG RAW 二进制数据 BLOB
BFILE Binary data stored in an external file; up to 4 gigabytes
3
概述
• Oracle模式(方案)是逻辑结构与对象的集合 • 模式包含相关的数据库对象,与物理存储无 关。 • 一个模式对应一个数据库用户,且跟用户同 名。用户可以创建模式对象,用于包含或引 用数据。 • 模式对象的创建:
• OEM工具 • 语句
表1 Oracle数据库模式对象
对象 TABLE VIEW INDEX CLUSTER SEQUENCE SYNONYM 表 视图 索引 聚簇 序列 同义词 名称 作用 用于存储数据的基本结构 以不同的侧面反映表的数据,是一种逻 辑上的表 加快表的查询速度 将不同表的字段并用的一种特殊结构的 表集合
• Tablespace子句指定表创建在哪个表空间,可以 用user_tables查看表空间 • Storage子句,指定表如何使用存储空间,可以根 据不同表进行设置 • 设置数据块子句,主要减少行迁移 • 重做子句,指定对表的操作是否记录到日志 • Cache子句可以指定将某个常用的表数据常驻内 存的数据库高速缓存中。
1
本章学习目标:
• • • • • • • 理解什么是模式 了解模式对象与非模式对象之间的区别 初步掌握如何创建用户账户,并进行基本的管理 了解在创建表时Oracle允许使用的数据类型 掌握如何在SQL*Plus环境中创建、修改基本的表 了解其他索引的的创建和管理 了解索引组织表、临时表、视图、同义词、序列的 创建和基本使用