




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CreatingOtherSchemaObjectsObjectivesAftercompletingthislesson,youshouldbeabletodothefollowing:CreatesimpleandcomplexviewsRetrievedatafromviewsCreate,maintain,andusesequencesCreateandmaintainindexesCreateprivateandpublicsynonymsLessonAgendaOverviewofviews:Creating,modifying,andretrievingdatafromaviewDatamanipulationlanguage(DML)operationsonaviewDroppingaviewOverviewofsequences:Creating,using,andmodifyingasequenceCachesequencevaluesNEXTVALandCURRVALpseudocolumnsOverviewofindexesCreating,droppingindexesOverviewofsynonymsCreating,droppingsynonymsDatabaseObjectsLogicallyrepresentssubsetsofdatafromoneormoretablesViewGeneratesnumericvaluesSequenceBasicunitofstorage;composedofrowsTableGivesalternativenamestoobjectsSynonymImprovestheperformanceofdataretrievalqueriesIndexDescriptionObjectWhatIsaView?EMPLOYEEStableAdvantagesofViewsTorestrictdataaccessTomakecomplexquerieseasyToprovidedataindependenceTopresentdifferentviewsofthesamedataSimpleViewsandComplexViewsYesNoNoOneSimpleViewsYesContainfunctionsYesContaingroupsofdataOneormoreNumberoftablesNotalwaysDMLoperationsthroughaviewComplexViewsFeatureCreatingaViewYouembedasubqueryintheCREATE
VIEWstatement:ThesubquerycancontaincomplexSELECTsyntax.CREATE[ORREPLACE][FORCE|NOFORCE]VIEWview[(alias[,alias]...)]ASsubquery[WITHCHECKOPTION[CONSTRAINTconstraint]][WITHREADONLY[CONSTRAINTconstraint]];CreatingaViewCreatetheEMPVU80view,whichcontainsdetailsoftheemployeesindepartment80:DescribethestructureoftheviewbyusingtheiSQL*PlusDESCRIBEcommand:DESCRIBEempvu80CREATEVIEW empvu80ASSELECTemployee_id,last_name,salaryFROMemployeesWHEREdepartment_id=80;CreatingaViewCreateaviewbyusingcolumnaliasesinthesubquery:Selectthecolumnsfromthisviewbythegivenaliasnames.CREATEVIEW salvu50ASSELECTemployee_idID_NUMBER,last_nameNAME,salary*12ANN_SALARYFROMemployeesWHEREdepartment_id=50;SELECT*FROMsalvu50;RetrievingDatafromaViewModifyingaViewModifytheEMPVU80viewbyusingaCREATE
OR
REPLACE
VIEWclause.Addanaliasforeachcolumnname:ColumnaliasesintheCREATE
OR
REPLACE
VIEWclausearelistedinthesameorderasthecolumnsinthesubquery.CREATEORREPLACEVIEWempvu80(id_number,name,sal,department_id)ASSELECTemployee_id,first_name||''||last_name,salary,department_idFROMemployeesWHEREdepartment_id=80;CreatingaComplexViewCreateacomplexviewthatcontainsgroupfunctionstodisplayvaluesfromtwotables:CREATEORREPLACEVIEWdept_sum_vu(name,minsal,maxsal,avgsal)ASSELECTd.department_name,MIN(e.salary),MAX(e.salary),AVG(e.salary)FROMemployeeseJOINdepartmentsdON(e.department_id=d.department_id)GROUPBYd.department_name;RulesforPerforming
DMLOperationsonaViewYoucanusuallyperformDMLoperationson
simpleviews.Youcannotremovearowiftheviewcontainsthefollowing:GroupfunctionsAGROUP
BYclauseTheDISTINCTkeywordThepseudocolumnROWNUMkeywordRulesforPerforming
DMLOperationsonaViewYoucannotmodifydatainaviewifitcontains:GroupfunctionsAGROUP
BYclauseTheDISTINCTkeywordThepseudocolumnROWNUMkeywordColumnsdefinedbyexpressionsRulesforPerforming
DMLOperationsonaViewYoucannotadddatathroughaviewiftheviewincludes:GroupfunctionsAGROUP
BYclauseTheDISTINCTkeywordThepseudocolumnROWNUMkeywordColumnsdefinedbyexpressionsNOT
NULLcolumnsinthebasetablesthatarenotselectedbytheviewUsingtheWITH
CHECK
OPTIONClauseYoucanensurethatDMLoperationsperformedontheviewstayinthedomainoftheviewbyusingtheWITH
CHECK
OPTIONclause:
AnyattempttoINSERTarowwithadepartment_idotherthan20,ortoUPDATEthedepartmentnumberforanyrowintheviewfailsbecauseitviolatestheWITH
CHECK
OPTIONconstraint.CREATEORREPLACEVIEWempvu20ASSELECT *FROMemployeesWHEREdepartment_id=20WITHCHECKOPTIONCONSTRAINTempvu20_ck;DenyingDMLOperationsYoucanensurethatnoDMLoperationsoccurbyaddingtheWITH
READ
ONLYoptiontoyourviewdefinition.AnyattempttoperformaDMLoperationonanyrowintheviewresultsinanOracleservererror.CREATEORREPLACEVIEWempvu10(employee_number,employee_name,job_title)ASSELECT employee_id,last_name,job_idFROMemployeesWHEREdepartment_id=10WITHREADONLY;DenyingDMLOperationsRemovingaViewYoucanremoveaviewwithoutlosingdatabecauseaviewisbasedonunderlyingtablesinthedatabase.DROPVIEWview;DROPVIEWempvu80;Practice11:OverviewofPart1Thispracticecoversthefollowingtopics:CreatingasimpleviewCreatingacomplexviewCreatingaviewwithacheckconstraintAttemptingtomodifydataintheviewRemovingviewsLessonAgendaOverviewofviews:Creating,modifying,andretrievingdatafromaviewDMLoperationsonaviewDroppingaviewOverviewofsequences:Creating,using,andmodifyingasequenceCachesequencevaluesNEXTVALandCURRVALpseudocolumnsOverviewofindexesCreating,droppingindexesOverviewofsynonymsCreating,droppingsynonymsSequencesLogicallyrepresentssubsetsofdatafromoneormoretablesViewGeneratesnumericvaluesSequenceBasicunitofstorage;composedofrowsTableGivesalternativenamestoobjectsSynonymImprovestheperformanceofsomequeriesIndexDescriptionObjectSequencesAsequence:CanautomaticallygenerateuniquenumbersIsashareableobjectCanbeusedtocreateaprimarykeyvalueReplacesapplicationcodeSpeedsuptheefficiencyofaccessingsequencevalueswhencachedinmemory12435687109CREATE
SEQUENCEStatement:
SyntaxDefineasequencetogeneratesequentialnumbersautomatically:CREATESEQUENCEsequence[INCREMENTBYn][STARTWITHn][{MAXVALUEn|NOMAXVALUE}][{MINVALUEn|NOMINVALUE}][{CYCLE|NOCYCLE}][{CACHEn|NOCACHE}];CreatingaSequenceCreateasequencenamedDEPT_DEPTID_SEQtobeusedfortheprimarykeyoftheDEPARTMENTStable.DonotusetheCYCLEoption.CREATESEQUENCEdept_deptid_seqINCREMENTBY10STARTWITH120MAXVALUE9999NOCACHENOCYCLE;NEXTVALandCURRVALPseudocolumnsNEXTVALreturnsthenextavailablesequencevalue.Itreturnsauniquevalueeverytimeitisreferenced,evenfordifferentusers.CURRVALobtainsthecurrentsequencevalue.NEXTVALmustbeissuedforthatsequencebeforeCURRVALcontainsavalue.
UsingaSequenceInsertanewdepartmentnamed“Support”inlocationID2500:ViewthecurrentvaluefortheDEPT_DEPTID_SEQsequence:INSERTINTOdepartments(department_id,department_name,location_id)VALUES(dept_deptid_seq.NEXTVAL,'Support',2500);SELECT dept_deptid_seq.CURRVALFROM dual;CachingSequenceValuesCachingsequencevaluesinmemorygivesfasteraccesstothosevalues.Gapsinsequencevaluescanoccurwhen:ArollbackoccursThesystemcrashesAsequenceisusedinanothertableModifyingaSequenceChangetheincrementvalue,maximumvalue,minimumvalue,cycleoption,orcacheoption:ALTERSEQUENCEdept_deptid_seqINCREMENTBY20MAXVALUE999999NOCACHENOCYCLE;GuidelinesforModifying
aSequenceYoumustbetheownerorhavetheALTERprivilegeforthesequence.Onlyfuturesequencenumbersareaffected.Thesequencemustbedroppedandre-createdtorestartthesequenceatadifferentnumber.Somevalidationisperformed.Toremoveasequence,usetheDROPstatement:DROPSEQUENCEdept_deptid_seq;LessonAgendaOverviewofviews:Creating,modifying,andretrievingdatafromaviewDMLoperationsonaviewDroppingaviewOverviewofsequences:Creating,using,andmodifyingasequenceCachesequencevaluesNEXTVALandCURRVALpseudocolumnsOverviewofindexesCreating,droppingindexesOverviewofsynonymsCreating,droppingsynonymsIndexesLogicallyrepresentssubsetsofdatafromoneormoretablesViewGeneratesnumericvaluesSequenceBasicunitofstorage;composedofrowsTableGivesalternativenamestoobjectsSynonymImprovestheperformanceofsomequeriesIndexDescriptionObjectIndexesAnindex:IsaschemaobjectCanbeusedbytheOracleservertospeeduptheretrievalofrowsbyusingapointerCanreducediskinput/output(I/O)byusingarapidpathaccessmethodtolocatedataquicklyIsindependentofthetablethatitindexesIsusedandmaintainedautomaticallybytheOracleserverHowAreIndexesCreated?Automatically:AuniqueindexiscreatedautomaticallywhenyoudefineaPRIMARY
KEYorUNIQUEconstraintinatabledefinition.Manually:Userscancreatenonuniqueindexesoncolumnstospeedupaccesstotherows.CreatinganIndexCreateanindexononeormorecolumns:ImprovethespeedofqueryaccesstotheLAST_NAMEcolumnintheEMPLOYEEStable:CREATEINDEX emp_last_name_idxON employees(last_name);CREATE[UNIQUE][BITMAP]INDEXindexONtable(column[,column]...);IndexCreationGuidelinesDonotcreateanindexwhen:ThecolumnsarenotoftenusedasaconditioninthequeryThetableissmallormostqueriesareexpectedtoretrievemorethan2%to4%oftherowsinthetableThetableisupdatedfrequentlyAcolumncontainsalargenumberofnullvaluesOneormorecolumnsarefrequentlyusedtogetherinaWHEREclauseorajoinconditionAcolumncontainsawiderangeofvaluesTheindexedcolumnsarereferencedaspartofanexpressionThetableislargeandmostqueriesareexpectedtoretrievelessthan2%to4%oftherowsinthetableCreateanindexwhen:RemovinganIndexRemoveanindexfromthedatadictionarybyusingtheDROP
INDEXcommand:Removetheemp_last_name_idxindexfromthedatadictionary:Todropanindex,youmustbetheowneroftheindexorhavetheDROP
ANY
INDEXprivilege.DROPINDEXemp_last_name_idx;DROPINDEXindex;LessonAgendaOverviewofviews:Creating,modifying,andretrievingdatafromaviewDMLoperationsonaviewDroppingaviewOverviewofsequences:Creating,using,andmodifyingasequenceCachesequencevaluesNEXTVALandCURRVALpseudocolumnsOverviewofindexes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国编译器行业市场现状及未来发展前景预测分析报告
- 文学作品改编优先权补充合同
- 游戏开发与智慧城市建设合作发行协议
- 影视音乐录制器材租赁与后期音频制作服务合同
- 生物医药研发项目融资及成果转化合同
- 高端电商品牌专供瓦楞纸箱长期采购协议书
- 智能驾驶体验场租赁及配套设施服务协议
- 支付材料款协议书
- 抖音账号运营权分割及收益分配合作协议
- 普洱茶订货协议书
- 路基土石方施工作业指导书
- 幼儿园班级幼儿图书目录清单(大中小班)
- 四川省自贡市2023-2024学年八年级下学期期末数学试题
- 山东省济南市历下区2023-2024学年八年级下学期期末数学试题
- 校园食品安全智慧化建设与管理规范
- DL-T5704-2014火力发电厂热力设备及管道保温防腐施工质量验收规程
- 检验科事故报告制度
- 分包合同模板
- 中西文化鉴赏智慧树知到期末考试答案章节答案2024年郑州大学
- 英语定位纸模板
- eras在妇科围手术
评论
0/150
提交评论