




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章数据库入门第一章数据库入门1本章目标了解数据库Oracle的体系架构掌握创建用户分配权限掌握表空间的创建掌握模式对象的创建 表视图 索引本章目标了解数据库2数据库范式概念设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式数据库范式概念设计范式(范式,数据库设计范式,数据库的设计范3数据库的范式第一范式
第一范式(1NF)是指数据库表的每一列是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性 例如:张三这个实体不能在性别这个属性上存在可男可女的情况.第二范式
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,要求数据库表中的每个实例或行必须可以被惟一地区分
例如:张三这个实体必须有被唯一标识可用的属性(学号或者身份证号).第三范式
满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息 例如:张三的性别值没有必要在多个表重复出现.(可以允许主外键关联) 一般设计只要求满足到3NF就可以了数据库的范式第一范式4DDL概述DDL为数据定义语言以下为部分内容创建数据库创建用户创建表空间建表建视图建索引DDL概述DDL为数据定义语言以下为部分内容5体系架构Oracle内存ORACLE进程Oracle数据库文件体系架构OracleORACLE进程Oracle6Oracle数据库结构Oracle数据库拥有者N模式11表视图123序列………拥有者物理文件数据文件日志文件控制文件表空间
逻辑结构
表索引段数据段数据区间
数据块
数据块…..…..物理块物理结构Oracle数据库结构Oracle数据库拥有者N模式17Oracle创建数据库CREATEDATABASEdbnameDATAFILE'/u01/oradata/system01.dbf'size200MLOGFILE'/u02/oradata/redo01.dbf'size100M,'/u02/oradata/redo02.dbf'size100MCHARACTERSET"WE8ISO8859P1"NATIONALCHARACTERSET"UTF8"EXTENTMANAGEMENTLOCALDEFAULTTEMPORARYTABLESPACEmytempTEMPFILE'temp.f'SIZE1000MMAXDATAFILES=50MAXLOGFILES=5;Oracle创建数据库CREATEDATABASEdbn8Oracle创建数据库建议采用DatabaseConfigurationAssistantOracle创建数据库建议采用DatabaseConfig9表空间概念Oracle使用表空间将相关的表/视图/索引等组合在一起.
每个表空间由一或多个文件组成而一个文件只能属于一个表空间表空间类型数据字典管理表空间(oracle7,8,8i,9irelease9.0.1)本地化管理表空间(oracle8i,oracle9i)ExtentUniform区大小相同ExtentAutoallocate区大小动态管理表空间概念Oracle使用表空间将相关的表/视图/索引等组合10建表空间语法CREATETABLESPACEtablespacename
[NOLOGGING/LOGGING]DATAFILEFILESPECSIZEXXX--autoextendonnext
10Mmaxsizeunlimited/100MEXTENT
MANAGEMENT
LOCAL
AUTOALLOCATE说明
tablespacename为表空间名 FILESPEC为数据文件名,包含路径 XXXM为文件大小
EXTENT
MANAGEMENT
LOCAL
AUTOALLOCATE指表空间类型为本地表空间区大小自动自动选择建表空间语法CREATETABLESPACEtables11建表空间CREATE
TABLESPACEPosData
DATAFILE
‘C:\posdata\posdata1.dbf'
SIZE
256M,
'd:\posdata\posdata2.dbf'
SIZE
256M,
‘E:\posdata\posdata3.dbf'
SIZE
256M
EXTENT
MANAGEMENT
LOCALAUTOALLOCATE;建表空间CREATETABLESPACEPosData
12表空间查看selectsubstr(a.tablespace_name,1,10)TablespaceName,sum(a.bytes/1024/1024)totle_size,sum(nvl(b.free_space1/1024/1024,0))free_space,sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0))used_spacefromdba_data_filesa,(selectsum(nvl(bytes,0))free_space1,file_idfromdba_free_spacegroupbyfile_id)bwherea.file_id=b.file_id(+)groupbya.tablespace_name表空间查看selectsubstr(a.tablespac13数据库用户概念数据库系统安全需要控制和存储以下内容用户名口令的组合用户是否授权可连接数据库用户创建实体集的可用的磁盘空间的大小用户资源的限制,是否启动了数据库审记功能用户可进行那些操作创建用户的时候系统自动对该用户建立一个相应的模式,模式名和用户名相同,用户仅与一个同名的模式对应和用户相关的还包含用户默认表空间用户临时表空间用户资源文件PROFILE数据库用户概念数据库系统安全需要控制和存储以下内容14系统默认用户sys用户口令change_on_install,是系统数据字典的拥有者system用户口令manager,缺省的系统管理员帐号internal用户口令由安装者输入,是sys帐号的别名,密码文件是%ORACLE_HOME%\ora81\database\pwdSID.orascott用户口令tiger,只有connect权限系统默认用户sys用户15用户帐号锁定/解锁/密码失效锁定ALTERUSERusernameACCOUNTLOCK;解锁ALTERUSERusernameACCOUNTUNLOCK;密码失效ALTERUSERusernamePASSWORDexpire;用户帐号锁定/解锁/密码失效锁定16建用户语法create
user用户名
identified
by“密码”
default
tablespace默认表空间名
temporary
tablespace临时表空名
profile
DEFAULT资源文件QUOTA
INTEGEK[M][UNLIMITED]
ONposdata;建用户语法createuser用户名
identif17建用户CREATE
USER“POS”IDENTIFIED
BY“pos”
DEFAULT
TABLESPACEposdata
TEMPORARY
TABLESPACEpostmp
PROFILE
DEFAULT
QUOTA
100mONposdata说明
POS用户密码是pos默认表空间是posdata,临时表空间是postmp此用户只能使用posdata上的100M空间建用户CREATEUSER“POS”IDENTIFIE18数据库权限概述数据库系统通过安全措施防止非法用户对数据进行存储,以保证数据 库安全运行,Oracle的安全机制主要是通过权限进行设置的,通过权限设置防止非权限的数据库存取,非权限的对模式实体的存取,只有通过权限的人证才可以存取数据库中数据。ORACLE根据系统管理方式不同,可以将权限分为两类系统权限实体权限。数据库权限概述数据库系统通过安全措施防止非法用户对数据进行存19权限管理系统权限
系统权限是执行某一类或者在某一用户中执行某种操作的权限,每一种系统权限允许用户执行一种特殊的数据库操作或者某一类数据库操作。比如建表空间建用户修改数据库结构修改用户权限修改数据库结构修改任何用户的实体,创建基表,视图,同义,创建数据库链路等权限。实体权限
实体权限是指某一用户对其他用户的表,视图,序列,存储过程,函数,包的操作权限,不同类型的实体具有不同的实体权限。对于某些 模式实体,比如聚簇,索引,触发器,数据库链路等没有相应的实体 权限,这些权限由系统权限进行管理。权限管理系统权限20Oracle常见角色及权限Connect角色resource角色DBA角色Oracle常见角色及权限Connect角色resource21分配/回收权限语法分配权限
GRANT权限TO回收权限用户名角色名publicRevoke权限FROM用户名角色名public分配/回收权限语法分配权限用户名角色名publicRevok22分配/回收系统权限授权 SQL>GRANTcreatesession,createtabletoJAME,JACK SQL>GRANTcreatesession,createtabletoJAME,JACKWITHADMINOPTION回收权限
SQL>REVOKEcreatesession,createtableFROMJAME,JACK 说明:权限回收并没有回收由回收者已经分配出去的权限,这点和SQLSERVER的revoke权限fromusercascade不同
分配/回收系统权限授权23分配/回收实体权限授权
SQL>GRANTSELECT,UPDATE,DELETEONordersTOJACK回收权限
SQL>REVOKESELECT,UPDATEONordersFROMJACK分配/回收实体权限授权24表的创建CREATETABLE[schema.]table({columndatatype[DEFAULTexpr][column_constraint]...|table_constraint})
[INITRANSinteger][MAXTRANSinteger][TABLESPACEtablespace]
[STORAGEstorage_clause]说明:1、TABLESPACE指定了该表使用的表空间2、如果需要指定schema,即为其他用户创建表,则需要有CreateanyTable的系统权限表的创建CREATETABLE[schema.]tabl25示例-表创建(1)createtabletab_student
(snochar(11)primarykey,
snamevarchar2(30)notnull,
sbirthdate,
sageintdefault0,
ssexchar(2)notnull,
remarkvarchar2(60),
constraintck_tab_student_sagecheck(ssexin('男','女'))
)tablespacets_stock说明:1、表创建时,就跟约束一起创建,该例中使用到的约束有:primarykey,notnull,default,check(未出现的还有foreignkey,unique等)2、思考建表后是如何建立约束呢?示例-表创建(1)createtabletab_stud26示例-表创建(2)1、建表和外键约束createtabletab_score
(snochar(11)primarykey,
scnochar(3)notnull,
scorenumber(8,3)default0,
constraintfk_tab_score_tab_student_snoforeignkey(sno)
referencestab_student(sno)
)2、用as子句建表createtabletab_dup(aa,bb)asselectsno,snamefromtab_student示例-表创建(2)1、建表和外键约束2、用as子句建表27示例-表变动1、增加/改动/删除列altertabletab_studentadd(col1varchar2(10)notnull,col2int);altertabletab_studentmodify(ssexchar(1)notnull,remarkvarchar2(100))altertabletab_studentdrop(remark)2、启用/禁止/删除表约束altertabletab_studentdisableconstraintck_tab_student_sage
altertabletab_studentdisableprimarykey;altertabletab_studentenableprimarykey;altertabletab_studentdropconstraintck_tab_student_sage;示例-表变动1、增加/改动/删除列28示例-表删除Droptabletab_studentcascadeconstraints说明:
当表中建立了完整性约束,则需要使用cascadeconstraints选项,表示在删除表时,将表中的所有约束一起删除;表改名:renametab_studenttonew_student示例-表删除Droptabletab_studentc29表/列注释COMMENTON{TABLE[schema.]{table|view|snapshot}|COLUMN[schema.]{table|view|snapshot}.column}IS'text‘示例如下:commentontabletab_studentis‘学生表’;commentoncolumntab_student.snois‘学号’表/列注释COMMENTON{TABLE[sche30视图的概念视图可以认为是虚拟的表隔离了用户对表的访问避免重复的编写同一SQL语句视图的概念视图可以认为是虚拟的表31建视图语法create[or
replace]
view视图名as
select*
from表1,表2,表N建视图语法create[orreplace]view32建视图CREATE
OR
REPLACE
VIEWv_usrRoleAS
SELECTF.fno,F.fname,F.ffather,F.flevel,F.fpageFROMTUSERU,tuserroleUR,TROLER,
TROLEFUNCTIONRF,TFUNCTIONF
WHEREUR.rno=R.rno
ANDR.rno=RF.rno
ANDRF.fno=F.fno建视图CREATEORREPLACEVIEWv_us33索引的概念索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能索引的优缺点
加快了查找的速度降低了插入的速度索引的概念索引是若干数据行的关键字的列表,查询数据时,通过索34创建索引的语法create[bitmap]index索引名on表名字(列1,..列N)
tablespace存储索引的表空间名
storage
(
initial128K
next128K
minextents1
maxextents4096
pctincrease10
)创建索引的语法create[bitmap]index索引35索引创建示例Createindexidx_student_noontab_student(sno);索引创建示例Createindexidx_student36第一章数据库入门第一章数据库入门37本章目标了解数据库Oracle的体系架构掌握创建用户分配权限掌握表空间的创建掌握模式对象的创建 表视图 索引本章目标了解数据库38数据库范式概念设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式数据库范式概念设计范式(范式,数据库设计范式,数据库的设计范39数据库的范式第一范式
第一范式(1NF)是指数据库表的每一列是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性 例如:张三这个实体不能在性别这个属性上存在可男可女的情况.第二范式
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,要求数据库表中的每个实例或行必须可以被惟一地区分
例如:张三这个实体必须有被唯一标识可用的属性(学号或者身份证号).第三范式
满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息 例如:张三的性别值没有必要在多个表重复出现.(可以允许主外键关联) 一般设计只要求满足到3NF就可以了数据库的范式第一范式40DDL概述DDL为数据定义语言以下为部分内容创建数据库创建用户创建表空间建表建视图建索引DDL概述DDL为数据定义语言以下为部分内容41体系架构Oracle内存ORACLE进程Oracle数据库文件体系架构OracleORACLE进程Oracle42Oracle数据库结构Oracle数据库拥有者N模式11表视图123序列………拥有者物理文件数据文件日志文件控制文件表空间
逻辑结构
表索引段数据段数据区间
数据块
数据块…..…..物理块物理结构Oracle数据库结构Oracle数据库拥有者N模式143Oracle创建数据库CREATEDATABASEdbnameDATAFILE'/u01/oradata/system01.dbf'size200MLOGFILE'/u02/oradata/redo01.dbf'size100M,'/u02/oradata/redo02.dbf'size100MCHARACTERSET"WE8ISO8859P1"NATIONALCHARACTERSET"UTF8"EXTENTMANAGEMENTLOCALDEFAULTTEMPORARYTABLESPACEmytempTEMPFILE'temp.f'SIZE1000MMAXDATAFILES=50MAXLOGFILES=5;Oracle创建数据库CREATEDATABASEdbn44Oracle创建数据库建议采用DatabaseConfigurationAssistantOracle创建数据库建议采用DatabaseConfig45表空间概念Oracle使用表空间将相关的表/视图/索引等组合在一起.
每个表空间由一或多个文件组成而一个文件只能属于一个表空间表空间类型数据字典管理表空间(oracle7,8,8i,9irelease9.0.1)本地化管理表空间(oracle8i,oracle9i)ExtentUniform区大小相同ExtentAutoallocate区大小动态管理表空间概念Oracle使用表空间将相关的表/视图/索引等组合46建表空间语法CREATETABLESPACEtablespacename
[NOLOGGING/LOGGING]DATAFILEFILESPECSIZEXXX--autoextendonnext
10Mmaxsizeunlimited/100MEXTENT
MANAGEMENT
LOCAL
AUTOALLOCATE说明
tablespacename为表空间名 FILESPEC为数据文件名,包含路径 XXXM为文件大小
EXTENT
MANAGEMENT
LOCAL
AUTOALLOCATE指表空间类型为本地表空间区大小自动自动选择建表空间语法CREATETABLESPACEtables47建表空间CREATE
TABLESPACEPosData
DATAFILE
‘C:\posdata\posdata1.dbf'
SIZE
256M,
'd:\posdata\posdata2.dbf'
SIZE
256M,
‘E:\posdata\posdata3.dbf'
SIZE
256M
EXTENT
MANAGEMENT
LOCALAUTOALLOCATE;建表空间CREATETABLESPACEPosData
48表空间查看selectsubstr(a.tablespace_name,1,10)TablespaceName,sum(a.bytes/1024/1024)totle_size,sum(nvl(b.free_space1/1024/1024,0))free_space,sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0))used_spacefromdba_data_filesa,(selectsum(nvl(bytes,0))free_space1,file_idfromdba_free_spacegroupbyfile_id)bwherea.file_id=b.file_id(+)groupbya.tablespace_name表空间查看selectsubstr(a.tablespac49数据库用户概念数据库系统安全需要控制和存储以下内容用户名口令的组合用户是否授权可连接数据库用户创建实体集的可用的磁盘空间的大小用户资源的限制,是否启动了数据库审记功能用户可进行那些操作创建用户的时候系统自动对该用户建立一个相应的模式,模式名和用户名相同,用户仅与一个同名的模式对应和用户相关的还包含用户默认表空间用户临时表空间用户资源文件PROFILE数据库用户概念数据库系统安全需要控制和存储以下内容50系统默认用户sys用户口令change_on_install,是系统数据字典的拥有者system用户口令manager,缺省的系统管理员帐号internal用户口令由安装者输入,是sys帐号的别名,密码文件是%ORACLE_HOME%\ora81\database\pwdSID.orascott用户口令tiger,只有connect权限系统默认用户sys用户51用户帐号锁定/解锁/密码失效锁定ALTERUSERusernameACCOUNTLOCK;解锁ALTERUSERusernameACCOUNTUNLOCK;密码失效ALTERUSERusernamePASSWORDexpire;用户帐号锁定/解锁/密码失效锁定52建用户语法create
user用户名
identified
by“密码”
default
tablespace默认表空间名
temporary
tablespace临时表空名
profile
DEFAULT资源文件QUOTA
INTEGEK[M][UNLIMITED]
ONposdata;建用户语法createuser用户名
identif53建用户CREATE
USER“POS”IDENTIFIED
BY“pos”
DEFAULT
TABLESPACEposdata
TEMPORARY
TABLESPACEpostmp
PROFILE
DEFAULT
QUOTA
100mONposdata说明
POS用户密码是pos默认表空间是posdata,临时表空间是postmp此用户只能使用posdata上的100M空间建用户CREATEUSER“POS”IDENTIFIE54数据库权限概述数据库系统通过安全措施防止非法用户对数据进行存储,以保证数据 库安全运行,Oracle的安全机制主要是通过权限进行设置的,通过权限设置防止非权限的数据库存取,非权限的对模式实体的存取,只有通过权限的人证才可以存取数据库中数据。ORACLE根据系统管理方式不同,可以将权限分为两类系统权限实体权限。数据库权限概述数据库系统通过安全措施防止非法用户对数据进行存55权限管理系统权限
系统权限是执行某一类或者在某一用户中执行某种操作的权限,每一种系统权限允许用户执行一种特殊的数据库操作或者某一类数据库操作。比如建表空间建用户修改数据库结构修改用户权限修改数据库结构修改任何用户的实体,创建基表,视图,同义,创建数据库链路等权限。实体权限
实体权限是指某一用户对其他用户的表,视图,序列,存储过程,函数,包的操作权限,不同类型的实体具有不同的实体权限。对于某些 模式实体,比如聚簇,索引,触发器,数据库链路等没有相应的实体 权限,这些权限由系统权限进行管理。权限管理系统权限56Oracle常见角色及权限Connect角色resource角色DBA角色Oracle常见角色及权限Connect角色resource57分配/回收权限语法分配权限
GRANT权限TO回收权限用户名角色名publicRevoke权限FROM用户名角色名public分配/回收权限语法分配权限用户名角色名publicRevok58分配/回收系统权限授权 SQL>GRANTcreatesession,createtabletoJAME,JACK SQL>GRANTcreatesession,createtabletoJAME,JACKWITHADMINOPTION回收权限
SQL>REVOKEcreatesession,createtableFROMJAME,JACK 说明:权限回收并没有回收由回收者已经分配出去的权限,这点和SQLSERVER的revoke权限fromusercascade不同
分配/回收系统权限授权59分配/回收实体权限授权
SQL>GRANTSELECT,UPDATE,DELETEONordersTOJACK回收权限
SQL>REVOKESELECT,UPDATEONordersFROMJACK分配/回收实体权限授权60表的创建CREATETABLE[schema.]table({columndatatype[DEFAULTexpr][column_constraint]...|table_constraint})
[INITRANSinteger][MAXTRANSinteger][TABLESPACEtablespace]
[STORAGEstorage_clause]说明:1、TABLESPACE指定了该表使用的表空间2、如果需要指定schema,即为其他用户创建表,则需要有CreateanyTable的系统权限表的创建CREATETABLE[schema.]tabl61示例-表创建(1)createtabletab_student
(snochar(11)primarykey,
snamevarchar2(30)notnull,
sbirthdate,
sageintdefault0,
ssexchar(2)notnull,
remarkvarchar2(60),
constraintck_tab_student_sagecheck(ssexin('男','女'))
)tablespacets_stock说明:1、表创建时,就跟约束一起创建,该例中使用到的约束有:primarykey,notnull,default,check(未出现的还有foreignkey,unique等)2、思考建表后是如何建立约束呢?示例-表创建(1)createtabletab_stud62示例-表创建(2)1、建表和外键约束createtabletab_score
(snochar(11)primarykey,
scnochar(3)notnull,
scorenumber(8,3)default0,
constraintfk_tab_score_tab_student_snoforeignkey(sno)
referencestab_student(sno)
)2、用as子句建表createtabletab_dup(aa,bb)asselectsno,snamefromtab_student示例-表创建(2)1、建表和外键约束2、用as子句建表63示例-表变动1、增加/改动/删除列altertabletab_studentadd(col1varchar2(10)notnull,col2int);altertabletab_studentmodify(ssexchar(1)notnull,remarkvarchar2(100))altertabletab_studentdrop(remark)2、启用/禁止/删除表约束altertabletab_studentdisableconstraintck_tab_student_sage
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计提岗考试题及答案
- 山西省大同市浑源县第七中学校2023-2024学年高一下学期期末考试 数学试题(含解析)
- 催奶师考试试题及答案
- 员工趣味考试题及答案解析
- java多态实现原理面试题及答案
- 泵站运营考试题及答案
- 工程管理试题及答案
- 自我评测工具2025年信息系统项目管理师试题及答案
- 西方社会运动影响试题及答案
- 西方政治制度与社会基本权利的关系试题及答案
- 社区居民积分制管理实施方案
- 高中生物教材易错易混概念辨析(新人教版2019)
- 《创新创意设计》课件
- 初高中物理衔接讲座(初高中物理对比)
- 宠物酒店商业计划书创新创业计划书2024年
- 2024年徐州市小学六年级毕业抽测语文模拟试卷
- 《电力建设安全工作规程 第2部分:电力线路》
- 模板工程风险辨识及防范措施
- 房建工程监理大纲范本(内容全面)
- 300立方米柴油储罐设计
- 2024年湖北新华书店有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论