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

下载本文档

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

文档简介

第一章数据库入门本章目标了解数据库Oracle的体系架构掌握创建用户分配权限掌握表空间的创建掌握模式对象的创建 表视图 索引数据库范式概念设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式数据库的范式第一范式

第一范式(1NF)是指数据库表的每一列是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性 例如:张三这个实体不能在性别这个属性上存在可男可女的情况.第二范式

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,要求数据库表中的每个实例或行必须可以被惟一地区分

例如:张三这个实体必须有被唯一标识可用的属性(学号或者身份证号).第三范式

满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息 例如:张三的性别值没有必要在多个表重复出现.(可以允许主外键关联)

一般设计只要求满足到3NF就可以了DDL概述DDL为数据定义语言以下为部分内容创建数据库创建用户创建表空间建表建视图建索引体系架构Oracle内存ORACLE进程Oracle数据库文件Oracle数据库结构Oracle数据库拥有者N模式11表视图123序列………拥有者物理文件数据文件日志文件控制文件表空间

逻辑结构

索引段

数据段数据区间

数据块

数据块…..…..物理块

物理结构Oracle创建数据库CREATEDATABASEdbname

DATAFILE'/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创建数据库建议采用DatabaseConfigurationAssistant表空间概念Oracle使用表空间将相关的表/视图/索引等组合在一起.

每个表空间由一或多个文件组成而一个文件只能属于一个表空间表空间类型数据字典管理表空间(oracle7,8,8i,9irelease9.0.1)本地化管理表空间(oracle8i,oracle9i)ExtentUniform区大小相同ExtentAutoallocate区大小动态管理建表空间语法CREATETABLESPACEtablespacename

[NOLOGGING/LOGGING]DATAFILEFILESPECSIZEXXX--autoextendonnext

10Mmaxsizeunlimited/100MEXTENT

MANAGEMENT

LOCAL

AUTOALLOCATE说明

tablespacename

为表空间名

FILESPEC为数据文件名,包含路径

XXXM为文件大小

EXTENT

MANAGEMENT

LOCAL

AUTOALLOCATE

指表空间类型为本地表空间区大小自动自动选择建表空间CREATE

TABLESPACE

PosData

DATAFILE

‘C:\posdata\posdata1.dbf'

SIZE

256M,

'd:\posdata\posdata2.dbf'

SIZE

256M,

‘E:\posdata\posdata3.dbf'

SIZE

256M

EXTENT

MANAGEMENT

LOCALAUTOALLOCATE;表空间查看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数据库用户概念数据库系统安全需要控制和存储以下内容用户名口令的组合用户是否授权可连接数据库用户创建实体集的可用的磁盘空间的大小用户资源的限制,是否启动了数据库审记功能用户可进行那些操作创建用户的时候系统自动对该用户建立一个相应的模式,模式名和用户名相同,用户仅与一个同名的模式对应和用户相关的还包含用户默认表空间用户临时表空间用户资源文件PROFILE系统默认用户sys用户口令change_on_install,是系统数据字典的拥有者

system用户口令manager,缺省的系统管理员帐号

internal用户口令由安装者输入,是sys帐号的别名,密码文件是%ORACLE_HOME%\ora81\database\pwdSID.ora

scott用户口令tiger,只有connect权限用户帐号锁定/解锁/密码失效

锁定

ALTERUSERusernameACCOUNTLOCK;

解锁

ALTERUSERusernameACCOUNTUNLOCK;

密码失效

ALTERUSERusernamePASSWORDexpire;建用户语法create

user

用户名

identified

by“密码”

default

tablespace

默认表空间名

temporary

tablespace

临时表空名

profile

DEFAULT资源文件

QUOTA

INTEGEK[M][UNLIMITED]

ON

posdata;建用户CREATE

USER“POS”IDENTIFIED

BY“pos”

DEFAULT

TABLESPACE

posdata

TEMPORARY

TABLESPACE

postmp

PROFILE

DEFAULT

QUOTA

100mON

posdata说明

POS用户密码是pos默认表空间是posdata,临时表空间是postmp

此用户只能使用posdata上的100M空间数据库权限概述数据库系统通过安全措施防止非法用户对数据进行存储,以保证数据 库安全运行,Oracle的安全机制主要是通过权限进行设置的,通过权限设置防止非权限的数据库存取,非权限的对模式实体的存取,只有通过权限的人证才可以存取数据库中数据。ORACLE根据系统管理方式不同,可以将权限分为两类系统权限实体权限。权限管理系统权限

系统权限是执行某一类或者在某一用户中执行某种操作的权限,每一种系统权限允许用户执行一种特殊的数据库操作或者某一类数据库操作。比如建表空间建用户修改数据库结构修改用户权限修改数据库结构修改任何用户的实体,创建基表,视图,同义,创建数据库链路等权限。实体权限

实体权限是指某一用户对其他用户的表,视图,序列,存储过程,函数,包的操作权限,不同类型的实体具有不同的实体权限。对于某些 模式实体,比如聚簇,索引,触发器,数据库链路等没有相应的实体 权限,这些权限由系统权限进行管理。Oracle常见角色及权限Connect角色resource角色DBA角色分配/回收权限语法分配权限

GRANT权限TO回收权限用户名角色名publicRevoke权限FROM用户名角色名public分配/回收系统权限授权

SQL>GRANTcreatesession,createtabletoJAME,JACK SQL>GRANTcreatesession,createtabletoJAME,JACKWITHADMINOPTION回收权限

SQL>REVOKEcreatesession,createtableFROMJAME,JACK

说明:权限回收并没有回收由回收者已经分配出去的权限,这点和SQLSERVER的revoke权限fromusercascade不同

分配/回收实体权限授权

SQL>GRANTSELECT,UPDATE,DELETEONordersTOJACK回收权限

SQL>REVOKESELECT,UPDATEONordersFROMJACK表的创建CREATETABLE[schema.]table

({columndatatype[DEFAULTexpr][column_constraint]...|table_constraint})

[INITRANSinteger][MAXTRANSinteger][TABLESPACEtablespace]

[STORAGEstorage_clause]说明:

1、TABLESPACE指定了该表使用的表空间

2、如果需要指定schema,即为其他用户创建表,则需要有CreateanyTable的系统权限示例-表创建(1)createtabletab_student

(snochar(11)primarykey,

snamevarchar2(30)notnull,

sbirthdate,

sageintdefault0,

ssexchar(2)notnull,

remarkvarchar2(60),

constraintck_tab_student_sage

check(ssexin('男','女'))

)tablespace

ts_stock说明:

1、表创建时,就跟约束一起创建,该例中使用到的约束有:primary

key,not

null,default,check(未出现的还有foreignkey,unique等)2、思考建表后是如何建立约束呢?示例-表创建(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示例-表变动1、增加/改动/删除列

altertabletab_studentadd(col1varchar2(10)notnull,col2int);altertabletab_student

modify(ssexchar(1)notnull,remarkvarchar2(100))altertabletab_student

drop(remark)2、启用/禁止/删除表约束

altertabletab_studentdisableconstraintck_tab_student_sage

altertabletab_studentdisableprimarykey;altertabletab_studentenableprimarykey;altertabletab_studentdropconstraintck_tab_student_sage;示例-表删除Droptabletab_studentcascadeconstraints说明:

当表中建立了完整性约束,则需要使用cascadeconstraints选项,表示在删除表时,将表中的所有约束一起删除;表改名:renametab_studenttonew_student表/列注释COMMENTON{TABLE[schema.]{table|view|snapshot}|COLUMN[schema.]{table|view|snapshot}.column}IS'text‘示例如下:commentontabletab_studentis‘学生表’;commentoncolumntab_student.snois‘学号’视图的概念视图可以认为是虚拟的表隔离了用户对表的访问避免重复的编写同一SQL语句建视图语法

温馨提示

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

评论

0/150

提交评论