版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章
数据库创建2.1Oracle数据库基本概念2.2界面方式创建数据库2.3命令方式创建数据库2.1Oracle数据库基本概念2.1.1内部结构1.表空间(TABLESPACE)(1)EXAMPLE表空间。EXAMPLE表空间是示例表空间,用于存放示例数据库的方案对象信息及其培训资料。(2)SYSTEM表空间。SYSTEM表空间是系统表空间,用于存放Oracle系统内部表和数据字典的数据,如表名、列名和用户名等。一般不赞成将用户创建的表、索引等存放在SYSTEM表空间中。(3)SYSAUX表空间。SYSAUX表空间是辅助系统表空间,主要存放Oracle系统内部的常用样例用户的对象,如存放CMR用户的表和索引等,从而减少系统表空间的负荷。SYSAUX表空间一般不存储用户的数据,由Oracle系统内部自动维护。(4)TEMP表空间。TEMP表空间是临时表空间,存放临时表和临时数据,用于排序和汇总等。2.1.1内部结构(5)UNDOTBS1表空间。UNDOTBSI表空间是重做表空间,存放数据库中有关重做的相关信息和数据。当用户对数据库表进行修改(包括INSERT、UPDATE和DELETE操作)时,Oracle系统自动使用重做表空间来临时存放修改前的数据。当所作的修改完成并提交后,系统根据需要保留修改前数据的时间长短来释放重做表空间的部分空间。(6)USERS表空间。USERS表空间是用户表空间,存放永久性用户对象的数据和私有信息,因此也被称为数据表空间。每个数据库都应该有一个用户表空间,以便在创建用户时将其分配给用户。2.1.1内部结构2.表(TABLE)表是数据库中存放用户数据的对象。它包含一组固定的列。表中的列描述该表所跟踪的实体的属性,每个列都有一个名字和若干个属性。表结构的一个样例如图2.1所示。2.1.1内部结构3.约束条件(CONSTRAINT)(1)主键(PRIMARYKEY)。主键是表中的一列或多个列。为表定义主键有如下几个作用:主键包含的列不能输入重复的值,以此来保证一个表的所有行的唯一性;主键也不允许定义此约束的列为NULL值;主键在定义此约束的列中创建了唯一性的索引,利用这个索引可更快地检索表中的行。(2)默认(DEFAULT)约束条件。在表中插入一行数据但没有为列指定值时生成一个在定义表时预先指定的值。(3)检查(CHECK)约束条件。检查约束条件确保指定列中的值符合一定的条件。CHECK列约束条件不能引用一个独立表。非空值约束条件被数据库看做一个CHECK约束条件。(4)唯一性(UNIQUE)约束条件。唯一性约束条件用于保证应具有唯一性而又不是主键的一部分的那些列的唯一性。(5)外键(FOREIGNKEY)约束条件。外键约束条件规定表间的关系性质。一个外键使一个表的一列或多列与已定义为主键的表中的一批相同的列相关联。当在已定义主键约束的表中更新列值时,其他表中定义有外键约束的列会被自动更新。2.1.1内部结构4.分区(PARTITION)在非常大的数据库中,可以通过把一个大表的数据分成多个小表来简化数据库的管理,这些小表称做分区。除了对表分区外,还可以对索引进行分区。分区不仅简化了数据库的管理还改善了其应用性能。在Oracle中,能够细分分区,创建子分区。例如,可以根据一组值分割一个表,然后再根据另一种分割方法分割分区。5.索引(INDEX)在关系数据库表中,一个行数据的物理位置无关紧要。为了能够找到数据,表中的每一行都用一个RowID来标识。RowID告诉数据库这一行的准确位置,包括所在的文件、该文件中的块和该块中行地址。索引是帮助用户在表中快速地找到记录的数据库结构。它既可以提高数据库性能,又能够保证列值的唯一性。当CREATETABLE命令中规定有UNIQUE或PRIMARYKEY约束条件子句时,Oracle就会自动创建一个索引。也可以通过CREATEINDEX命令来手工创建自己的索引。2.1.1内部结构6.用户(USER)用户账号虽然不是数据库中的一个物理结构,但它与数据库中的对象有着重要的关系,这是因为用户拥有数据库的对象。例如,用户SYS拥有数据字典表,这些表中存储了数据库中其他对象的所有信息;用户SYSTEM拥有访问数据字典表的视图,这些视图供数据库其他用户使用。为数据库创建对象(例如表)必须在用户账号下进行。可以对每一个用户账号进行自定义,以便将一个特定的表空间作为它的默认表空间。7.方案(SCHEMA)用户账号拥有的对象集称为用户的方案(SCHEMA),可以创建不能注册到数据库的用户账号。这样的用户账号提供一种方案,这种方案可以用来保存一组其他用户方案分开的数据库对象。8.同义词为了给不同的用户使用数据库对象时提供一个简单的、唯一标识数据库对象的名称,可以为数据库对象创建同义词。同义词有公用同义词和私有同义词两种。2.1.1内部结构9.权限及角色(ROLE)为了访问其他账号所有的对象,必须首先被授予访问这个对象的权限。权限可以授予某个用户或PUBLIC,PUBLIC把权限授予数据库中的全体用户。可以创建角色即权限组来简化权限的管理。可以把一些权限授予一个角色,而这个角色又可以被授予多个用户。在应用程序中角色可以被动态地启用或禁用。10.段(SEGMENT)、盘区(EXTENT)和数据块(DATABLOCK)依照不同的数据处理性质,可能需要在数据表空间内划分出不同区域,以存放不同数据,将这些区域称之为“段”(SEGMENT)。例如,存放数据的区域称为“数据区段”、存放索引的区域称为“索引区段”。2.1.1内部结构数据块是最小的储存单元,Oracle数据库是操作系统块的倍数。图2.2说明了段、盘区和数据块之间的关系。2.1.2外部结构1.数据文件(DATAFILE)每一个Oracle数据库都有一个或多个数据文件,而一个数据文件只能属于一个表空间。数据文件创建后可改变大小,创建新的表空间需要创建新的数据文件。数据文件一旦加入到表空间,就不能从这个表空间中移走,也不能和其他表空间发生联系。如果数据库对象存储在多个表空间中,可以通过把它们各自的数据文件存放在不同的磁盘上来对其进行物理分割。数据库、表空间和数据文件之间的关系如图2.3所示。2.1.2外部结构2.重做日志文件(REDOLOGFILES)除了数据文件外,最重要的Oracle数据库实体档案就是重做日志文件(RedoLogFiles)。Oracle保存所有数据库事务的日志。这些事务被记录在联机重做日志文件(OnlineRedoLogFile)中。当数据库中的数据遭到破坏时,可以用这些日志来恢复数据库。一个数据库至少需要两个重做日志文件。Oracle以循环方式向重做日志文件写入。第一个日志被填满后,就向第二个日志文件写入,然后依次类推。当所有日志文件都被写满时,就又回到第一个日志文件,用新事务的数据对其进行重写。3.控制文件(CONTROLFILES)每个Oracle数据库都有一个控制文件,用以记录与描述数据库的外部结构。它们包括:(1)Oracle数据库名称与建立时间;(2)数据文件与重置日志文件名称及其所在位置;(3)日志记录序列码(logsequencenumber)。2.1.3实例数据库实例(instance)也称作服务器(server),是指用来访问数据库文件集的存储结构(系统全局区,SystemGlobalArea,简称SGA)及后台进程的集合。一个数据库可以被多个实例访问,这是Oracle的并行服务器选项。实例与数据库之间的关系如图2.4所示。2.1.3实例1.系统全局区当激活Oracle数据库时,系统会先在内存内规划一个固定区域,用来存储每位使用者所需存取的数据以及Oracle运作时必备的系统信息。这个区域就称为系统全局区(SGA)。SGA又包含数个重要区域,分别是数据块缓存区(DataBlockBufferCache)、字典缓存区(DictionaryCache)、重做日志缓冲区(RedoLogBuffer)和共享池(SharedSQLPool)。图2.5给出了SGA各重要区域之间的关系。(1)数据块缓存区。(2)字典缓存区。(3)重做日志缓冲区。(4)SQL共享池。2.1.3实例2.后台进程数据库的物理结构和存储结构之间的关系是由后台进程来维持的。数据库拥有多个后台进程,其数量取决于数据库的配置。这些进程由数据库管理,它们只需要进行很少的管理。每个进程在数据库中执行不同的任务。图2.6显示了后台进程在数据库外部结构、SGA中作用和地位。下面介绍几个常用的后台进程。(1)DBWR(数据库写入进程)。(2)LGWR(日志写入进程)。(3)SMON(系统监控进程)。(4)PMON(进程监控进程)。(5)CKPT(检查点进程)。(6)RECO(恢复进程)。(7)ARCH(归档进程)。(8)LCKn(锁进程)。(9)Dnnn(调度进程)。2.2界面方式创建数据库2.2.1数据库的创建与删除【例2.1】使用DBCA创建学生成绩管理数据库XSCJ。由于本书在安装Oracle服务器时已经创建了一个数据库XSCJ,所以为了演示如何创建数据库XSCJ,这里要先将原来的XSCJ数据库删除,删除数据库也使用DBCA,步骤如下。(1)单击“开始”→“所有程序”→“Oracle-OraDB11g_home1”→“配置和移植工具”→“DatabaseConfigurationAssistant”,启动DBCA,将DBCA激活并初始化,如图2.7所示。初始化完成后自动进入“欢迎”窗口,如图2.8所示。
2.2.1数据库的创建与删除(2)单击“下一步”按钮进入“操作”窗口,用户可以选择要进行的操作,这里选择“删除数据库”选项,如图2.9所示。2.2.1数据库的创建与删除(3)单击“下一步”按钮进入“数据库”窗口,“数据库”栏将显示Oracle服务器中的所有数据库,选择“XSCJ”数据库,如图2.10所示,单击“完成”按钮,弹出确认对话框,单击“是”按钮。之后会显示正在删除数据库的过程,如图2.11所示,删除完成后在弹出的提示框中单击“是”按钮完成删除工作。图2.10“数据库”窗口
图2.11删除数据库2.2.1数据库的创建与删除接下来,使用DBCA创建XSCJ数据库的主要步骤如下。(1)启动DBCA,进入“操作”窗口,选择“创建数据库”选项,如图2.12所示。2.2.1数据库的创建与删除(2)单击“下一步”按钮进入“数据库模板”窗口,选择相应选项后单击“显示详细资料”按钮可以查看该数据库模板的各种信息。这里选择“一般用途或事务处理”选项,如图2.13所示。2.2.1数据库的创建与删除(3)单击“下一步”按钮进入“数据库标识”窗口,输入“全局数据库名”和“SID”,如图2.14所示。2.2.1数据库的创建与删除(4)单击“下一步”按钮进入“管理选项”窗口,可以选择配置EnterpriseManager企业管理器或者配置DatabaseControl管理数据库,这里保持默认设置,如图2.15所示。2.2.1数据库的创建与删除(5)单击“下一步”按钮进入“数据库身份证明”窗口,这里将所有账户设置为同一管理口令,如图2.16所示。单击“下一步”按钮进入“存储选项”窗口,使用“文件系统”进行数据库的存储,如图2.17所示。图2.16“数据库身份证明”窗口图2.17“存储选项”窗口2.2.1数据库的创建与删除(6)单击“下一步”按钮进入“数据库文件所在位置”窗口,如图2.18所示。为了提高系统的性能,建议将数据文件、控制文件和日志文件存放在不同的路径。这里选择“使用模板中的数据库文件位置”选项。2.2.1数据库的创建与删除(7)单击“下一步”按钮进入“恢复配置”窗口,如图2.19所示。“指定快速恹复区”可以用于恢复数据库数据,以免系统发生故障时丢失数据;选中“启用归档”后数据库将归档其重做日志。这里不选择归档,按照默认设置单击“下一步”按钮。2.2.1数据库的创建与删除(8)在“数据库内容”窗口中选择“没有要运行的脚本”选项,如图2.20所示。单击“下一步”按钮进入“初始化参数”窗口,在该窗口中可以设置数据库的各项信息。这里保持默认设置,如图2.21所示。图2.20“数据库内容”窗口图2.21“初始化参数”窗口2.2.1数据库的创建与删除(9)单击“下一步”按钮进入“安全设置”窗口,这里选择“保留增强的11g默认安全设置(建议)”选项。单击“下一步”按钮进入“自动维护任务”窗口,选择“启用自动维护任务”选项后,设置自动管理维护任务,如图2.22所示。2.2.1数据库的创建与删除(10)单击“下一步”按钮进入“数据库存储”窗口,在该窗口中可以指定数据库的存储参数,数据库文件以树列表和概要视图的形式显示,并允许更改这些对象。这里保持默认设置,如图2.23所示。2.2.1数据库的创建与删除(11)单击“下一步”按钮,进入“创建选项”窗口,选择“创建数据库”选项,如图2.24所示,单击“完成”按钮,之后会弹出确认创建的对话框,单击“确定”按钮开始创建数据库。2.2.2数据库的修改在数据库创建后,数据文件和日志文件名一般就不再改变了。对已存在的数据库可以进行的修改主要有以下几个方面。
增加或删除数据文件。
改变数据文件的大小和增长方式。
改变日志文件的大小和增长方式。2.2.2数据库的修改在“开始”菜单中启动XSCJ数据库的OEM,使用system用户登录,显示如图2.25所示的主目录。Oracle企业管理的“主目录”界面显示预警以及信息的几个类别。每隔60秒实时收集一次数据。“主目录”界面显示信息类别包括一般信息、主机CPU、活动会话数、SQL响应时间、诊断概要、空间概要、高可用性和作业活动。2.2.2数据库的修改(1)改变数据文件的大小和增长方式。在图2.25所示的界面中,单击“服务器”选项页面,出现如图2.26所示的管理页面,在“存储”类别中选择“数据文件”,进入如图2.27所示的“数据文件”页面,直接选择或通过搜索功能查找要修改的数据文件,例如,数据库中的用户对象(表、视图、过程等)都存放在USERS表空间中。2.2.2数据库的修改【例2.2】将XSCJ数据库的users01.dbf的最大文件大小改为无限制。每个表空间由一个或多个文件组成,这些文件叫数据文件(datafile)。创建新的表空间需要创建新的数据文件。修改users01数据文件的步骤如下。在图2.27所示的页面中,选中“USERS01.DBF”文件的单选按钮,单击“编辑”按钮,进入数据文件USERS01.DBF的编辑界面。2.2.2数据库的修改在“存储”类别中“最大文件大小”选项选择“无限制”单选按钮,如图2.28所示,然后单击“应用”按钮,保存设置。2.2.2数据库的修改(2)增加数据文件。当原有数据库的存储空间不够时,除了可以采用扩大原有数据文件的存储量的方法之外,还可以增加新的数据文件。或者从系统管理的需求出发,采用多个数据文件来存储数据,以避免数据文件过大。【例2.3】在XSCJ数据库增加数据文件users02,其属性均取系统默认值。①在“数据库文件”项中增加数据文件。在图2.27所示的界面中单击“创建”按钮,进入“创建数据文件”界面。首先在“文件名”文本框输入数据文件名称users02.dbf,然后为表新增的数据文件选择表空间。单击“手电筒”形状的图标,出现表空间选择界面,选择“USERS”单选按钮,如图2.29所示,单击“选择”按钮,返回到“创建数据文件”页面,为新增数据文件选择了USERS表空间。2.2.2数据库的修改勾选数据文件的自动扩展属性并设置增量大小为1MB,设置最大文件大小为“无限制”,如图2.30所示,单击“确定”按钮,系统执行创建工作。创建完成后,系统返回到如图2.27所示界面,在界面上方出现“确认:已成功创建对象”的提示信息并在“结果”栏最后会出现新增的数据文件。2.2.2数据库的修改②在相应的表空间中增加数据文件。在如图2.26所示的“服务器”选项页面中,单击“表空间”,进入“表空间”页面,如图2.31所示。2.3命令方式创建数据库2.3.1创建数据库(1)评估数据表与索引的存放位置,尽量预估其所需空间。(2)规划操作系统下数据库实体文件的存放方式,因为良好的文件配置将大幅改善数据存取效率。(3)确定全局数据库名称。(4)选定适当的数据库字符集。(5)选定数据块大小。设定DB_BLOCK_SIZE参数,除了SYSTEM表空间,其他数据表空间也可以遵循标准数据块的设定。(6)熟悉Oracle数据库的激活/关闭方式和与其搭配的各种选项。(7)确认物理内存是否足以激活Oracle11g。(8)确认Oracle服务器的磁盘空间是否足以创建新数据库。2.3.1创建数据库1.设定实例标识符一般情况下,每个Oracle数据库都必须对应一个数据库实例。所以在建立数据库之前,必须先指定数据库实例的系统标识符,此系统标识符就是俗称的SID。SID可用以识别不同的Oracle数据库,因此SID名称必须是唯一的,可经由操作系统的环境变量ORACLE_SID设定。在如图2.32所示的“命令提示符”界面中,使用如下命令设定SID:SETORACLE_SID=mydb2.3.1创建数据库2.设定数据库管理员的验证方法为了创建数据库,必须经过数据库的验证手续,且被赋予适当系统权限后才可以建立Oracle数据库。可以使用密码文件或操作系统的验证方法。下面给出的是密码文件验证方法。orapwdfile=D:\oracle\oradata\DATABASE\PWDmydb.oraPassword=123456entries=52.3.1创建数据库3.创建初始化参数以下是创建新数据库之前必须新增或编辑的初始化参数。
全局数据库名称。
控制文件名称与路径。
数据块大小。
影响SGA容量的初始化参数。
设定处理程序最大数目。
设定空间撤销(Undo)管理方法。(1)设定全局数据库名称。(2)设置控制文件。(3)设定数据块大小。(4)配置影响SAG容量的初始化参数。(5)设定处理进程最大数量。(6)设定空间撤销管理方法。【例2.4】创建数据库mydb的初始化参数文件initmydb.ora。初始化参数文件内容如下所示。2.3.1创建数据库4.启动SQL*Plus并以SYSDBA连接到Oracle实例sqlplus/nologconnectsystem/123456assysdba5.启动实例在没有装载数据库情况下启动实例,通常只有在数据库创建期间或在数据库上实施维护操作时才会这么做。使用带有NOMOUNT选项的STARTUP命令即可实现。STARTUPNOMOUNTpfile="D:\app\tao\mydb\pfile\initmydb.ora"此时,还没有数据库。在准备创建新数据库的过程中,仅仅创建了系统全局区(SGA),并且后台进程才刚开始。6.创建初始化参数在Oracle中创建数据库时,需使用CREATEDATABASE语句,创建前要确保用户具有创建数据库的权限。语法格式如下。2.3.1创建数据库说明:在对语法格式进行解释之前,先介绍本书的PL/SQL语法格式中使用的约定。表2.1列出了这些约定,并进行了说明。这些约定在本书中介绍PL/SQL语法格式时都适用。约
定用
途UPPERCASE(大写)PL/SQL关键字|分隔括号或大括号中的语法项。只能选择其中一项[]可选语法项。不要输入方括号{}必选语法项。不要输入大括号[,...n]指示前面的项可以重复n次。每一项由逗号分隔[...n]指示前面的项可以重复n次。每一项由空格分隔[;]可选的Transact-SQL语句终止符。不要输入方括号<label>::=语法块的名称。此约定用于对可在语句中的多个位置使用的过长语法段或语法单元进行分组和标记。可使用的语法块的每个位置由括在尖括号内的标签指示:<label>表2.1本书PL/SQL语法的约定和说明2.3.1创建数据库【例2.5】
使用CREATEDATABASE语句创建数据库mydb。CREATEDATABASEmydb MAXINSTANCES1 MAXDATAFILES100 DATAFILE'D:\app\tao\oradata\mydb\system01.dbf' SIZE500MAUTOEXTENDONNEXT100MMAXSIZEUNLIMITED UNDOTABLESPACEUNDOTBSDATAFILE 'D:\app\tao\oradata\mydb\undotbs01.dbf' SIZE150MREUSEAUTOEXTENDONNEXT50MMAXSIZEUNLIMITED CHARACTERSETZHS16GBK NATIONALCHARACTERSETAL16UTF16 LOGFILE'D:\app\tao\oradata\mydb\redo01.log'SIZE100M, 'D:\app\tao\oradata\mydb\redo02.log'SIZE100M, 'D:\app\tao\oradata\mydb\redo03.log'SIZE100M MAXLOGHISTORY1 MAXLOGFILES5 MAXLOGMEMBERS52.3.1创建数据库上面创建的数据库具有以下主要特点。①数据库名称为mydb,全局数据库名称也为mydb。②设置MAXINSTANCES参数只能有一个实例可以装载和打开数据库。③DATAFILE子句设定该数据库SYSTEM表空间所对应的操作系统文件为D:\oracle\oradata\mydb\system01.dbf。假如该文件已事先存在,将被覆盖。④UNDO_TABLESPACE子句创建并命名撤销表空间UNDOTBS,用于存储撤销记录。⑤ZHS16GBK为数据库存放数据的字符集,它支持中文。⑥新数据库拥有三个重做日志文件,分别在LOGFILE子句中设定。MAXLOGHISTORY、MAXLOGFILES和MAXLOGMEMBERS选项为重做日志文件的相关设定。⑦新数据库的时区与操作系统的时区相同。2.3.2修改数据库数据库创建之后,可以使用ALTERDATABASE语句来修改数据库的某些设置。语法格式如下。ALTERDATABASEdatabase_name |[ARCHIVELOG|NOARCHIVELOG] |[NO]FORCELOGGING |RENAMEFILE'filename'[,…n]TO're_filename'[,…n] |CREATEDATAFILE'data_filename' [AS{'filename'[SIZEinteger[K∣M|G|T]][REUSE]][,…n]}|NEW] |DATAFILE'filename'{ONLINE∣OFFLINE[FORDROP]∣RESIZEinteger[K∣M|G|T] |ENDBACKUP∣AUTOEXTEND{OFF∣ON[NEXTinteger[K|M]] [MAXSIZEUMLIMITED∣integer[K∣M]]]}} |ADDLOGFILE'filename'[SIZEinteger[K∣M|G|T]][REUSE]][,…n] |DROPLOGFILE'filename' |…;2.3.2修改数据库【例2.6】数据库的归档模式和数据文件。使上面创建的数据库mydb切换到归档模式。ALTERDATABASEmydb ARCHIVELOG;创建新的数据文件以代替原来的数据文件。ALTERDATABASEmydb CREATEDATAFILE'users'AS'D:\app\tao\oradata\mydb\users01.dbf' SIZE50MREUSEAUTOEXTENDONNEXT20MMAXSIZE500M;2.3.2修改数据库【例2.7】使用ALTERDATABASE命令来手工扩展users01数据文件。ALTERDATABASEmydb DATAFILE'D:\app\tao\oradata\mydb\users01.dbf'RESIZE200M;在执行了上例所示的ALTERDATABASE命令之后,指定的文件users01被重新设定为200MB。【例2.8】使用ALTERDATABASE命令修改XSCJ的字符集。ALTERDATABASEXSCJ CHARACTERSETSIMPLIFIEDCHINESE_CHINA.ZHS16GBK;2.3.3删除数据库删除数据库使用DROPDATABASE命令。语法格式:DROPDATABASEdatabase_name;其中database_name是要删除的数据库名。【例2.9】删除数据库mydb。DROPDATABASEmydb;Inthisandthefollowingchapters,wewilllookathowtodesignadatabasethatcouldbeimplementedinarelationaldatabaseproduct(e.g.,MySQL,MicrosoftAccess,SQLServer,Oracle,etc.).RepresentingtheModelWehavegonetoagreatdealoftroubletocaptureasmuchdetailaspossibleinthedatamodel.Muchofthisdetailcanberepresentedandenforcedbystandardtechniquesbuiltintorelationaldatabasemanagementsoftware.Agoodmodel,implementedusingthestandardtechniques,allowsustocapturemanyoftheconstraintsimpliedbytherelationshipsbetweenclasseswithoutrecoursetoprogrammingorcomplexinterfacedesign.Inthischapter,Iwillshowyouhowmanyoftheaspectsofthedatamodelcanbecapturedbystandarddatabasefunctionality.Togiveyouanideaofwhatiscomingup,IhavesummarizedthetechniquesinTable7-1.Table7-1.TechniquestoRepresentAspectsoftheDataModelFeatureinModelTechniqueUsedinRelationalDatabaseClass Addatablewithaprimarykey.Attribute Addafieldwithanappropriatedatatypetothetable.Object Addarowofdatatothetable.1–Manyrelationship Useaforeignkey,i.e.,areferencetoa particularrow(orobject)inthetableatthe1 endoftherelationship.Many–Manyrelationship Addanewtablewithtwoforeignkeys.Optionalityof1atthe1endofarelationship Makethevalueofthe foreignkeyrequired.Parentandchildclasses(inheritance) Addatablefortheparentclass.Add tablesforeachchildclasswitha primarykeythatisalsoaforeignkey referencingtheparenttable(notan exactrepresentationbutOK).AllofthetechniquesdescribedinTable7-1canbecarriedoutinmostdatabasemanagementproductsaspartofthespecificationofthetables.Morecomplexconstraintsmayrequiresomeadditionalproceduresorcheckingatdatainputtime,butwithagoodmodelthiscanbeminimized.Byusingthebuilt–infacilitiesofthedatabaseproduct,thetimerequiredforimplementation,maintenance,andexpansionoftheapplicationisgreatlyreduced.SettingparametersinthepfileandspfileWhetheryouusePFILESorSPFILESdetermineshowyousetyourparameters.ThisnextsectionexplainsthecommonparametersinOracle11gandhowthey’reconfiguredinthefilesthemselves.Withanewdatabase,youalwaysstartwithaPFILE.IfyouendupwantingtouseanSPFILE,youcreateitfromthePFILE(shownattheendofthechapter).ThefirstthingyouneedtodoisfindyourPFILE.Forwhateverreason,despitealltheothersimilarities,Linux/UNIXandWindowsstoreitindifferentlocations.FindyourPFILEonWindows,whereORACLE_SIDisyourinstancename:ORACLE_HOME\database\initORACLE_SID.oraFindyourPFILEonLinux/UNIX,whereORACLE_SIDisyourinstancename:ORACLE_HOME/dbs/initORACLE_SID.oraStartingthedatabaseYoudon’tactuallystartadatabaseperse;youstarttheinstance.Adatabaseisdefinedastheactualdata,index,redo,temp,andcontrolfilesthatexistonthefilessystem.Theinstanceconsistsoftheprocesses(PMON,SMON,DBWR,LGWR,andothers)andtheSGA(memorypool)thataccess
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论