数据库入门知识论述(ppt 37页).ppt_第1页
数据库入门知识论述(ppt 37页).ppt_第2页
数据库入门知识论述(ppt 37页).ppt_第3页
数据库入门知识论述(ppt 37页).ppt_第4页
数据库入门知识论述(ppt 37页).ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章,数据库入门,本章目标,了解数据库Oracle的体系架构掌握创建用户分配权限掌握表空间的创建掌握模式对象的创建表视图索引,数据库范式概念,设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式,数据库的范式,第一范式第一范式(1NF)是指数据库表的每一列是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性例如:张三这个实体不能在性别这个属性上存在可男可女的情况.第二范式第二

2、范式(2NF)是在第一范式(1NF)的基础上建立起来的,要求数据库表中的每个实例或行必须可以被惟一地区分例如:张三这个实体必须有被唯一标识可用的属性(学号或者身份证号).第三范式满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息例如:张三的性别值没有必要在多个表重复出现.(可以允许主外键关联)一般设计只要求满足到3NF就可以了,DDL概述,DDL为数据定义语言以下为部分内容创建数据库创建用户创建表空间建表建视图建索引,体系架构,Oracle内存,ORACLE进程,Oracle数据库文件,Oracle数据库结

3、构,Oracle数据库,拥有者,N,模式,1,1,表,视图,1,2,3,序列,拥有者,物理文件,数据文件日志文件控制文件,表空间,逻辑结构,表,索引段,数据段,数据区间,数据块,数据块,.,.,物理块,物理结构,Oracle创建数据库,CREATEDATABASEdbnameDATAFILE/u01/oradata/system01.dbfsize200MLOGFILE/u02/oradata/redo01.dbfsize100M,/u02/oradata/redo02.dbfsize100MCHARACTERSETWE8ISO8859P1NATIONALCHARACTERSETUTF8EXT

4、ENTMANAGEMENTLOCALDEFAULTTEMPORARYTABLESPACEmytempTEMPFILEtemp.fSIZE1000MMAXDATAFILES=50MAXLOGFILES=5;,Oracle创建数据库,建议采用DatabaseConfigurationAssistant,表空间概念,Oracle使用表空间将相关的表/视图/索引等组合在一起.每个表空间由一或多个文件组成而一个文件只能属于一个表空间,表空间类型,数据字典管理表空间(oracle7,8,8i,9irelease9.0.1),本地化管理表空间(oracle8i,oracle9i),ExtentUniform

5、区大小相同,ExtentAutoallocate区大小动态管理,建表空间语法,CREATETABLESPACEtablespacenameNOLOGGING/LOGGINGDATAFILEFILESPECSIZEXXX-autoextendonnext10Mmaxsizeunlimited/100MEXTENTMANAGEMENTLOCALAUTOALLOCATE说明tablespacename为表空间名FILESPEC为数据文件名,包含路径XXXM为文件大小EXTENTMANAGEMENTLOCALAUTOALLOCATE指表空间类型为本地表空间区大小自动自动选择,建表空间,CREATETA

6、BLESPACEPosDataDATAFILEC:posdataposdata1.dbfSIZE256M,d:posdataposdata2.dbfSIZE256M,E:posdataposdata3.dbfSIZE256MEXTENTMANAGEMENTLOCALAUTOALLOCATE;,表空间查看,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/1

7、024)-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,数据库用户概念,数据库系统安全需要控制和存储以下内容用户名口令的组合用户是否授权可连接数据库用户创建实体集的可用的磁盘空间的大小用户资源的限制,是否启动了数据库审记功能用户可进行那些操作创建用户的时候系统自

8、动对该用户建立一个相应的模式,模式名和用户名相同,用户仅与一个同名的模式对应和用户相关的还包含用户默认表空间用户临时表空间用户资源文件PROFILE,系统默认用户,sys用户口令change_on_install,是系统数据字典的拥有者system用户口令manager,缺省的系统管理员帐号internal用户口令由安装者输入,是sys帐号的别名,密码文件是%ORACLE_HOME%ora81databasepwdSID.orascott用户口令tiger,只有connect权限,用户帐号锁定/解锁/密码失效,锁定ALTERUSERusernameACCOUNTLOCK;解锁ALTERUSER

9、usernameACCOUNTUNLOCK;密码失效ALTERUSERusernamePASSWORDexpire;,建用户语法,createuser用户名identifiedby“密码”defaulttablespace默认表空间名temporarytablespace临时表空名profileDEFAULT资源文件QUOTAINTEGEKMUNLIMITEDONposdata;,建用户,CREATEUSER“POS”IDENTIFIEDBY“pos”DEFAULTTABLESPACEposdataTEMPORARYTABLESPACEpostmpPROFILEDEFAULTQUOTA100m

10、ONposdata说明POS用户密码是pos默认表空间是posdata,临时表空间是postmp此用户只能使用posdata上的100M空间,数据库权限概述,数据库系统通过安全措施防止非法用户对数据进行存储,以保证数据库安全运行,Oracle的安全机制主要是通过权限进行设置的,通过权限设置防止非权限的数据库存取,非权限的对模式实体的存取,只有通过权限的人证才可以存取数据库中数据。ORACLE根据系统管理方式不同,可以将权限分为两类系统权限实体权限。,权限管理,系统权限系统权限是执行某一类或者在某一用户中执行某种操作的权限,每一种系统权限允许用户执行一种特殊的数据库操作或者某一类数据库操作。比如

11、建表空间建用户修改数据库结构修改用户权限修改数据库结构修改任何用户的实体,创建基表,视图,同义,创建数据库链路等权限。实体权限实体权限是指某一用户对其他用户的表,视图,序列,存储过程,函数,包的操作权限,不同类型的实体具有不同的实体权限。对于某些模式实体,比如聚簇,索引,触发器,数据库链路等没有相应的实体权限,这些权限由系统权限进行管理。,Oracle常见角色及权限,Connect角色,resource角色,DBA角色,分配/回收权限语法,分配权限GRANT权限TO回收权限,用户名,角色名,public,Revoke权限FROM,用户名,角色名,public,分配/回收系统权限,授权SQLGR

12、ANTcreatesession,createtabletoJAME,JACKSQLGRANTcreatesession,createtabletoJAME,JACKWITHADMINOPTION回收权限SQLREVOKEcreatesession,createtableFROMJAME,JACK说明:权限回收并没有回收由回收者已经分配出去的权限,这点和SQLSERVER的revoke权限fromusercascade不同,分配/回收实体权限,授权SQLGRANTSELECT,UPDATE,DELETEONordersTOJACK回收权限SQLREVOKESELECT,UPDATEONorde

13、rsFROMJACK,表的创建,CREATETABLEschema.table(columndatatypeDEFAULTexprcolumn_constraint.|table_constraint)INITRANSintegerMAXTRANSintegerTABLESPACEtablespaceSTORAGEstorage_clause,说明:1、TABLESPACE指定了该表使用的表空间2、如果需要指定schema,即为其他用户创建表,则需要有CreateanyTable的系统权限,示例-表创建(1),createtabletab_student(snochar(11)primaryk

14、ey,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、思考建表后是如何建立约束呢?,示例-表创建(2),1、建表和外键约束createtabletab_sco

15、re(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,示例-表变动,1、增加/改动/删除列altertabletab_studentadd(col1varchar2(10)notnull,col2int);altertab

16、letab_studentmodify(ssexchar(1)notnull,remarkvarchar2(100)altertabletab_studentdrop(remark)2、启用/禁止/删除表约束altertabletab_studentdisableconstraintck_tab_student_sagealtertabletab_studentdisableprimarykey;altertabletab_studentenableprimarykey;altertabletab_studentdropconstraintck_tab_student_sage;,示例-表删除

17、,Droptabletab_studentcascadeconstraints,说明:当表中建立了完整性约束,则需要使用cascadeconstraints选项,表示在删除表时,将表中的所有约束一起删除;,表改名:renametab_studenttonew_student,表/列注释,COMMENTONTABLEschema.table|view|snapshot|COLUMNschema.table|view|snapshot.columnIStext示例如下:commentontabletab_studentis学生表;commentoncolumntab_student.snois学号,视图的概念,视图可以认为是虚拟的表隔离了用户对表的访问避免重复的编写同一SQL语句,建视图语法,createorreplaceview视图名asselect*from表1,表2,表N,建视图,CREATEORREPLACEVIEWv_usrRoleASSELECTF.fno,F.fname,F.ffather,F.flevel,F.fpageFROMTUSERU,tuserroleUR,TROLER,TROLEFUNCTIONRF,TFUNCTIONFWHEREUR.rno=R.rnoANDR.rno=RF.rnoANDRF.fno=F.fno,索引的概

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论