oracle數(shù)據(jù)庫基礎知識_第1頁
oracle數(shù)據(jù)庫基礎知識_第2頁
oracle數(shù)據(jù)庫基礎知識_第3頁
oracle數(shù)據(jù)庫基礎知識_第4頁
oracle數(shù)據(jù)庫基礎知識_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

數(shù)據(jù)庫程序設計作者:曾磊學習目的:學會數(shù)據(jù)庫應用技術,對數(shù)據(jù)進行查詢和生成數(shù)據(jù)報表。學習要求:提高自主學習能力,按時完成作業(yè)。有問題及時解決。教學形式:邊講邊練。學好Oracle的六條總結1、如果有一定的數(shù)據(jù)庫基礎,知道SQL是怎么回事,即使寫不出來簡單的SQL,但可以看懂它們,你就可以跳到2。否則請先學習一下數(shù)據(jù)庫基礎和SQL語言,不需要很深,更不需要去記憶那些復雜的SQL命令,這些可以留在以后邊應用邊學習、記憶。

2、要想學好ORACLE,首先要學習ORACLE的體系結構,現(xiàn)在你不需要深入理解它們,但要分清幾個關鍵的概念:instance(實例)、數(shù)據(jù)文件、日志文件、參數(shù)文件、數(shù)據(jù)文件與表空間的關系

3、2是有關ORACLE的一些基本概念,下面要學習的是一些簡單的的實際操作,就是如何去管理ORACLE數(shù)據(jù)庫,當然不是管理全部的ORACLE。在此過程中你將對SQL和ORACLE體系結構有個更深入的了解。4、到了這一步你基本上算是初步掌握了ORACLE,下面將要根據(jù)你的方向來具體學習其它的ORACLE知識了。如果你是開發(fā)人員,則需要更多地去學習PL/SQL以及DEVELOPER,而這將是一門新的課程。如果你是一名DBA,請繼續(xù)。5、可以根據(jù)自己的實際情況,進行有選擇的學習,也就是說下面的內(nèi)沒有特別順序要求??梢赃x擇深入學習ORACLE的管理、備份與恢復、性能調整、網(wǎng)絡等。當然在學習這些知識的過程中,如果有實際的工作更好,這樣可以在實際中成長,學會TROUBLESHOOTING。

學好Oracle的六條總結6、當然在學習的過程中,你可以在網(wǎng)站或論壇中與他人進行交流,可以看別人的一些經(jīng)驗文章,也可以自己寫一些心得體會。技術進步的本身就是經(jīng)驗的積累和提煉過程。1.1數(shù)據(jù)庫基本知識1.2關系數(shù)據(jù)庫1.3數(shù)據(jù)庫設計基礎1.4SQL基本命令1.5Oracle簡介1.6啟動和關閉Oracle1.7Oracle命令復習數(shù)據(jù)庫基本知識

1.1

數(shù)據(jù)庫基礎知識

1.1.1計算機數(shù)據(jù)管理的發(fā)展1.1.2數(shù)據(jù)模型問題1:實體、實體屬性、實體集和實體型的概念?問題2:幾種數(shù)據(jù)模型及數(shù)據(jù)模型的概念?1.1.1計算機數(shù)據(jù)管理的發(fā)展一、信息、數(shù)據(jù)和數(shù)據(jù)處理

數(shù)據(jù)是人們對客觀事物觀察時記錄下來的可鑒別的符號,是用于表示客觀事物的未經(jīng)加工的原始素材,如圖形符號、數(shù)字、字母等。

信息是用某種方式對數(shù)據(jù)進行加工、解釋后的結果,它表示數(shù)據(jù)的含義,而且能對信息的使用者產(chǎn)生直接的影響。

數(shù)據(jù)處理就是利用計算機對各種形式的數(shù)據(jù)進行處理。它包括:數(shù)據(jù)采集、組織整理、控制編碼和輸入數(shù)據(jù),有效地把數(shù)據(jù)輸入到計算機中,由計算機對數(shù)據(jù)進行一系列存儲、加工、計算、分類、檢索、傳輸、輸出等操作過程。其目的是從大量的原始數(shù)據(jù)中提煉出對人們有價值的信息。1.1.1計算機數(shù)據(jù)管理的發(fā)展二、計算機數(shù)據(jù)管理數(shù)據(jù)處理的一系列的操作環(huán)節(jié),稱為數(shù)據(jù)管理。數(shù)據(jù)管理是數(shù)據(jù)處理的中心問題,數(shù)據(jù)管理則是指對數(shù)據(jù)進行組織、分類、編碼、存儲、檢索和維護等操作。三、數(shù)據(jù)管理技術的發(fā)展數(shù)據(jù)管理技術經(jīng)歷了五個階段:手工管理階段:數(shù)據(jù)在程序中文件系統(tǒng)階段:數(shù)據(jù)文件數(shù)據(jù)庫系統(tǒng)階段:數(shù)據(jù)庫分布式數(shù)據(jù)庫系統(tǒng)階段:網(wǎng)上共享數(shù)據(jù)面向對象數(shù)據(jù)庫系統(tǒng):面向對象程序設計早期(46-50年代中期)計算機數(shù)據(jù)處理方法:程序自帶數(shù)據(jù)。在引用數(shù)據(jù)時,直接按內(nèi)存單元地址或外部設備的物理位置加內(nèi)存單元地址存取?!?/p>

……應用程序1數(shù)據(jù)組1應用程序n數(shù)據(jù)組n特點:數(shù)據(jù)的物理存儲結構和邏輯結構一致,編程者自行設計數(shù)據(jù)格式,并將數(shù)據(jù)嵌入程序中。數(shù)據(jù)與處理它的程序合為一體, 多個程序不能共享數(shù)據(jù)。

1.手工處理階段2.文件系統(tǒng)階段文件系統(tǒng)管理下的數(shù)據(jù)文件:若干相關的數(shù)據(jù)元素組成“記錄”,若干記錄構成文件。數(shù)據(jù)文件存放于外存儲器上,由文件系統(tǒng)統(tǒng)一管理,通過程序來操縱數(shù)據(jù)。每個用戶都可建立、維護和處理一個或幾個文件。文件系統(tǒng)階段:50-60年代,現(xiàn)在,文件(管理)系統(tǒng)是操作系統(tǒng)的一部分。…...…...應用程序1數(shù)據(jù)文件1應用程序n數(shù)據(jù)文件n文件系統(tǒng)優(yōu)點:數(shù)據(jù)以文文件形式式保存,,與程序序獨立,,且可多多次存取取。缺點:數(shù)據(jù)文文件是無結構的的數(shù)據(jù)集集合,只能反反映客觀觀事物的的 存在在,不能能反映各各事物間間的聯(lián)系系。數(shù)據(jù)和應應用程序序互相依依賴,數(shù)據(jù)文文件由程程序生成成,數(shù)據(jù)據(jù)存取由由程序完完成,離離開所依依賴的程程序則失失去意義義。服務與與不同程程序的數(shù)據(jù)文件件互相獨獨立,無法實實現(xiàn)數(shù)據(jù)據(jù)共享。。一個應應用程序序所對應應的數(shù)據(jù)據(jù)文件不不能為另另一個程程序使用用。數(shù)據(jù)據(jù)冗余大大。應用程程序編制制較繁煩煩,缺乏乏對數(shù)據(jù)據(jù)正確性性、安全全性、保保密性的的有效控控制手段段。數(shù)據(jù)庫系系統(tǒng)階段段:60年代至今今數(shù)據(jù)庫是存儲在一一起的相關關數(shù)據(jù)的集集合。數(shù)據(jù)據(jù)庫獨立于于使用它的的程序;為為多種應用用服務;對對數(shù)據(jù)庫的的修改、檢檢索等均可可按公用的的可控制方方式進行。。特點:數(shù)據(jù)的性質質由其依賴的的數(shù)據(jù)模型型來決定。。數(shù)據(jù)模型規(guī)范了數(shù)據(jù)據(jù)庫中數(shù)據(jù)據(jù)的組織形形式,表示示了數(shù)據(jù)之之間的聯(lián)系系。有層次次模型、網(wǎng)網(wǎng)狀模型和和關系模型型等。如果依照關關系模型來來設計庫中中數(shù)據(jù)結構構,則為關系數(shù)據(jù)庫庫。3.數(shù)據(jù)庫系統(tǒng)統(tǒng)階段應用程序1數(shù)據(jù)庫DBMS應用程序n…由數(shù)據(jù)庫管理理系統(tǒng)(DBMS)來實現(xiàn)對對數(shù)據(jù)庫的的定義、管管理和操作作。DBMS是用戶和數(shù)數(shù)據(jù)的接口口。目前,流行行DBMS軟件大多采采用關系模模型。常見DBMS:Oracle,IBMDB2,Informix,Sybase,FoxPro,SQLServer,Access等。數(shù)據(jù)共享性性:數(shù)據(jù)庫中中的數(shù)據(jù)是是綜合和通通用的。一一個用戶只只用部分數(shù)數(shù)據(jù),不同同用戶可共共享,且可可按不同方式重疊疊使用數(shù)據(jù)據(jù)。數(shù)據(jù)冗余度度小。數(shù)據(jù)一致致性。具有數(shù)據(jù)據(jù)完整性措措施??梢圆捎媒唤换ナ交虺坛绦蚍绞讲俨僮?。分布式數(shù)據(jù)據(jù)庫系統(tǒng)階階段:80年代中期開開始數(shù)據(jù)庫技術術,以及網(wǎng)網(wǎng)絡和通信信技術的發(fā)發(fā)展,使異異機、異地地間的數(shù)據(jù)據(jù)共享成為為現(xiàn)實。分布式數(shù)據(jù)據(jù)庫:數(shù)據(jù)庫和和網(wǎng)絡、通通信系統(tǒng)的的結合體。。處理的數(shù)據(jù)分散在在各結點上上,每個結點點的數(shù)據(jù)由由本地DBMS管理,各結結點間通過過網(wǎng)絡實現(xiàn)現(xiàn)數(shù)據(jù)共享享;4.分布式數(shù)據(jù)據(jù)庫系統(tǒng)階階段DDBMS……計算機DBMS1DB1計算機DBMSnDBn數(shù)據(jù)表對象:字段1字段2………..查詢對象:字段1字段2………..報表對象:字段1字段2………..窗體對象數(shù)據(jù)頁對象模塊對象宏對象5.面向對象數(shù)數(shù)據(jù)庫系統(tǒng)統(tǒng)階段數(shù)據(jù)庫技術術與面向對對象程序設設計技術結結合產(chǎn)生了了面向對象象的數(shù)據(jù)庫庫系統(tǒng)。1.1.2數(shù)據(jù)模型一、實體描描述實體客觀存在并并相互區(qū)別別的事物稱稱為實體。。例如:學學生手機等等為實際事事物。2.實體的屬性性描述實體的的特性稱為為屬性。例例如手機分分為型號、、單價等多多個屬性。。1.1.3數(shù)據(jù)模型二、實體間間聯(lián)系及種種類實體間的聯(lián)聯(lián)系有3種類型:一對一聯(lián)系系:學生成成績和學生生情況表的的關系是一一對一聯(lián)系系。一對多聯(lián)系系:例如教教師和學生生的聯(lián)系是是一對多聯(lián)聯(lián)系。多對對多多聯(lián)聯(lián)系系::例例如如學學生生和和課課程程之之間間聯(lián)聯(lián)系系是是多多對對多多聯(lián)聯(lián)系系。。1.1.3數(shù)據(jù)據(jù)模模型型三、、數(shù)數(shù)據(jù)據(jù)模模型型簡簡介介數(shù)據(jù)據(jù)庫庫中中的的數(shù)數(shù)據(jù)據(jù)必必須須有有一一定定的的結結構構,,這這種種結結構構用用數(shù)數(shù)據(jù)據(jù)模模型型來來表表示示。。在數(shù)數(shù)據(jù)據(jù)庫庫領領域域中中,,當當前前最最常常用用的的數(shù)數(shù)據(jù)據(jù)模模型型有有四四類類,,它它們們是是::(1)層次模型型(HierarchicalModel)(2)網(wǎng)狀模型型(NetworkModel)(3)關系模型型(RelationalModel)結點(記錄)是實體,,樹枝是是聯(lián)系。。結點間間是一對對多聯(lián)系系。特點:有且僅僅有一個根根結點,,其記錄錄值與下下屬結點點1:n聯(lián)系。其它結點點與一個個父結點點、多個個子結點點相聯(lián)系系。查詢、訪訪問從根根結點開開始,按按父子關關系依次次訪問。。1.層次數(shù)據(jù)據(jù)模型((樹形))電話地址校長校名室號處長處名系主任系名系號院主任院名院號室號科長科名職務姓名工號室主任室名室號職稱姓名工號班主任班長編號入學分姓名學號任何兩個個實體間間可有任任意的基基本聯(lián)系系。特別別是,任任何實體體向上可可與幾個個實體相相聯(lián)系;;一般地,,每一聯(lián)聯(lián)系都是是一對多多的聯(lián)系系。若為為多對多多的聯(lián)系系,常要要演變成成一對多多的聯(lián)系系。2.網(wǎng)狀數(shù)據(jù)據(jù)模型特點:可有0個或多個個結點無無雙親允許結點點有多個個雙親允許結點點間有2種以上的的聯(lián)系存取、訪訪問須從從指定點點出發(fā),,按指定定路徑進進行。學生選課的網(wǎng)狀模型學分時數(shù)課名課號職稱性別姓名工號班級性別姓名學號分數(shù)課名學號關系模模型::以數(shù)學學理論論為基基礎構構造的的數(shù)據(jù)據(jù)模型型,將將每個個實體體集看看成二二維表表(關關系))。一個關系定義一一個實實體集集,聯(lián)系也用關關系表表示。。不同同關系系間聯(lián)聯(lián)系還還可通通過共共同屬屬性表表現(xiàn)。。3.關系數(shù)數(shù)據(jù)模模型典型RDBMS(關系數(shù)數(shù)據(jù)庫庫管理理系統(tǒng)統(tǒng)):VFP、Oracle、Sybase、DB/2、Informix、Access等。關系S關系P關系SP課程編號課程名稱課程類別學分101高數(shù)必修6102英語必修5103語文選修3學號姓名性別年齡001張三男20002李四女19003王五男18選課ID學生編號課程編號成績1001101902001103883002102864003103831.2關系數(shù)數(shù)據(jù)庫庫P91.2.1關系數(shù)數(shù)據(jù)模模型問題1:關系系、元元組、、屬性性、域域、關關鍵字字和外外部關關鍵字字概念念?問題2:關系系的特特點((規(guī)則則)問題3:實際際關系系模型型1.2.2關系運運算數(shù)數(shù)據(jù)庫庫系統(tǒng)統(tǒng)問題1:傳統(tǒng)統(tǒng)集合合運算算(并并、差差、交交)??問題2:專門門關系系運算算(選選擇、、投影影、聯(lián)聯(lián)接和和自然然聯(lián)接接)l集合運運算符符:∪∪(并并)、、∩((交))、--(差差)l專門的的關系系運算算符::σ(選擇擇)、、∏((投影影)、、(連連接))、*(自自然連連接))1.2關系數(shù)數(shù)據(jù)庫庫P91.2.1關系數(shù)數(shù)據(jù)模模型關系模模型是是用二二維表表格結結構來來表示示實體體以及及實體體間聯(lián)聯(lián)系的的模型型。關關系數(shù)數(shù)據(jù)模模型的的最大大特點點是描描述的的一致致性,,即可可用表表格來來表示示實體體,又又可用用表格格形式式來表表示和和實現(xiàn)現(xiàn)實體體間的的聯(lián)系系。一個個表表就就是是一一個個關關系系。。學學號號是是2個表表中中的的唯唯一一標標識識,,可可以以將將2個表表通通過過關關系系運運算算建建立立關關聯(lián)聯(lián)。。學號姓名高數(shù)英語計算機0301高紅7865900302李軍8980950303陳磊9089670304趙娜635270學號姓名政治面目入學總分0301高紅團員4670302李軍團員4350303陳磊群眾4210304趙娜群眾409學生生成成績績表表學生生情情況況表表1.2關系系數(shù)數(shù)據(jù)據(jù)庫庫P9一、、關關系系術術語語P10關系系一個個關關系系就就是是一一個個二二維維表表,,每每個個關關系系有有一一個個關關系系名名。。例例如如::學學生生成成績績表表可可以以是是一一個個關關系系,,其其表表名名為為成成績績表表。。關系的描描述稱為為關系模模式,一一個關系系模式對對應一個個關系的的結構。。格式為為:表名名(字段名1,字段名2,………,字段名n)例如:成成績表(學號,姓名,高數(shù),英語,計算機)2.元組二維表中中的每一一行稱為為一條記記錄,是是一個元元組。元元組對應應表中的的一條具具體記錄錄。3.屬性二維表中中的列稱稱為屬性性,每一一列有一一個屬性性名,在在Oracle中表示為為字段名名。每個個字段的的數(shù)據(jù)類類型、寬寬度等在在創(chuàng)建表表的結構構時規(guī)定定。4.域域是指屬屬性的取取值范圍圍。例如如成績的的取值范范圍為““0-100”,性別的的取值范范圍是““男”或或“女””。1.2關系數(shù)據(jù)據(jù)庫P91.2關系數(shù)據(jù)據(jù)庫P95.關鍵字這個值能能夠唯一一地標識識一個元元組(記記錄)的的屬性或或屬性的的組合。。例如學學號是唯唯一的,,可以作作為關鍵鍵字。6.外部關鍵字字如果表中的的一個字段段不是本表表的只關鍵鍵字,而是是另外一個個表的主關關鍵字或候候選關鍵字字,這個字字段為外關關鍵字。學號姓名高數(shù)英語計算機0301高紅7865900302李軍8980950303陳磊9089670304趙娜635270文件名:學學生成績表表元組記記錄關系關鍵字屬性屬性屬性屬性屬性—字段二、關系的的特點p10關系必須規(guī)規(guī)范化,屬屬性不可分分割,表中中不能包含含表在同一個關關系中不能能出現(xiàn)相同同的屬性名名關系中不允允許有完全全相同的元元組,即冗冗余同一關系中中元組的次次序無關緊緊要同一關系中中屬性的次次序無關緊緊要實發(fā)工資應扣工資房租水電托兒費應發(fā)工資基本工資獎金津貼職稱姓名1.2關系數(shù)據(jù)庫庫P91.2關系數(shù)據(jù)庫庫P9三、實際關關系模型p11一個數(shù)據(jù)庫庫中包含多多個表,這這個數(shù)據(jù)庫庫文件對應應一個實際際的關系模模型,反映映各個表的的實體之間間的聯(lián)系,,要通過各各個表中的的公共字段段名來體現(xiàn)現(xiàn)。關系模型中中各個關系系模式不是是孤立的、、隨意的。。1.2關系數(shù)據(jù)庫庫P91.2.2關系運算一、傳統(tǒng)的的集合運算算P13傳統(tǒng)的集合合運算:其運算是按按元組進行行的。(按記錄進行行的)集合運算有有:1.并2.差3.交(1)關系并運算(Union)關系R和關系S的所有元組組合并,再再刪去重復復的元組,,組成一個個新關系,,稱為R與S的并,記為為R∪S。表中R和S的屬性個數(shù)數(shù)相同,而而且相應屬屬性分別有有相同的值值域。R與S的并運算結結果表所示示,它由屬屬于R和S的去掉重復復元組后的的所有元組組組成。學號姓名高數(shù)英語計算機0301高紅7865900302李軍8980950303陳磊9089670304趙娜635270學號姓名高數(shù)英語計算機0201田田5635520202王倩5645590303陳磊9089670304趙娜635270RS學號姓名高數(shù)英語計算機0301高紅7865900302李軍8980950303陳磊9089670304趙娜6352700231田田5635520232王倩564559R∪S(2)關系差運運算(Difference)關系R和關系S的差是由屬屬于關系R為主,而不不必考慮關關系S中的元組組組成,即在在關系R中刪去與S關系中相同同的元組,,組成一個個新關系,,記為R-S。同樣,進進行差運算算的R和S兩個關系須須具有相同同屬性個數(shù)數(shù),而且相相應屬性分分別有相同同的值域。。R與S的差運算結結果表所示示。(不用用考慮關系系S中的字段)學號姓名高數(shù)英語計算機0301高紅7865900302李軍898095R—S學號姓名高數(shù)英語計算機0301高紅7865900302李軍8980950303陳磊9089670304趙娜635270學號姓名高數(shù)英語計算機0201田田5635520202王倩5645590303陳磊9089670304趙娜635270RS(3)關系交運運算(Intersection)關系R和關系S的交是由既既屬于R又屬于S的元組組成成的集合,,即在兩個個關系R與S中取相同的的元組,組組成一個新新關系,記記為R∩S。兩個關系系的交由它它們相同的的元組組成成。如果兩兩個關系沒沒有相同的的元組,那那么它們的的交為空。。對于交運運算的R和S兩個關系也也必須具有有相同屬性性個數(shù),而而且相應屬屬性分別有有相同的值值域。R與S的交運算結結果如表所所示。(只只考慮二者者相同的字字段)學號姓名高數(shù)英語計算機0303陳磊9089670304趙娜635270R∩S1.2關系數(shù)據(jù)庫庫P9一、專門的的關系運算算P131.選擇運算::從關系中中找出滿足足給定條件件的記錄。。例如:選擇擇英語成績績高于60的記錄。表表達式:英英語>=60這個表達式式的值為邏邏輯真的記記錄將被選選擇。2.投影運算::從給定關關系中選擇擇一些屬性性組成新關關系。例如:選擇擇成績表中中的姓名和和英語成績績2個字段的記記錄。3.聯(lián)接運算::是關系的的橫向結合合。將2個關系模式式按照滿足足的條件拼拼接成一個個關系模式式。例如:將學學生成績表表和學生情情況表按照照學號相同同的條件聯(lián)聯(lián)接成一個個成績情況況表(學號號,姓名,,英語,計計算機,入入學總分等等)。4.自然聯(lián)接::同上;去去掉重復字字段的等值值聯(lián)接。1.3數(shù)據(jù)庫設計計基礎P141.3.1數(shù)據(jù)庫設計計步驟P141.3.2數(shù)據(jù)庫設計計過程P151.4SQL基本命令P181.4.1SQL簡介P181.3.2SQL基本語句P18例如:sele*from學生表where英語>=801.3.1數(shù)據(jù)庫設計計步驟P14設計結構合合理的數(shù)據(jù)據(jù)庫的必要要性節(jié)省日后整整理數(shù)據(jù)庫庫的時間快速得到精精確結果需要使用好好的數(shù)據(jù)庫庫設計過程程數(shù)據(jù)庫應用用系統(tǒng)的特特點:數(shù)據(jù)量龐大大數(shù)據(jù)保存時時間長數(shù)據(jù)關聯(lián)比比較復雜用戶要求多多樣化1.3數(shù)據(jù)庫設計計基礎P14一、設計原原則遵從概念單單一化“一一事一地””的原則將不同的信信息分散在在不同的表表中避免在表之之間出現(xiàn)重重復字段除必要的反反映表間聯(lián)聯(lián)系的外部部關鍵字外外,減少數(shù)數(shù)據(jù)冗余,,防止操作作表時造成成數(shù)據(jù)不一一致表中的字段段必須是原原始數(shù)據(jù)和和基本數(shù)據(jù)據(jù)元素不能包括通通過計算得得到的“二二次數(shù)據(jù)””或多項數(shù)數(shù)據(jù)的組合合用外部關鍵鍵字保證有有關聯(lián)的表表之間的聯(lián)聯(lián)系1.3數(shù)據(jù)庫設計計基礎P14二、設計步步驟需求分析確定建立數(shù)數(shù)據(jù)庫的目目的確定需要的的表將需求信息息劃分成各各個獨立的的實體確定所需字字段表中需要保保存哪些信信息確定聯(lián)系確定一個表表中的數(shù)據(jù)據(jù)和其他表表中數(shù)據(jù)有有何聯(lián)系設計求精查找錯誤,,調整修改改1.3數(shù)據(jù)庫設計計基礎P141.3.2數(shù)據(jù)庫設計計過程P151需求分析信息需求處理需求安全性和完完整性需求求與用戶交流流,收集全全部數(shù)據(jù)資資料2確定需要要的表一個表描描述一個個實體或或實體間間的一種種聯(lián)系,,將信息息分成各各種基本本實體1.3數(shù)據(jù)庫設設計基礎礎P143確定所需需字段每個字段段直接和和表的實實體相關關以最小的的邏輯單單位存儲儲信息表中的字字段必須須是原始始數(shù)據(jù)確定主關關鍵字字字段不允許在在主關鍵鍵字字段段中有重重復值或或空值4確定聯(lián)系系目的是使使表的結結構合理理,不僅僅能存儲儲所需要要的實體體信息,,而且能能反映出出實體之之間客觀觀存在的的關聯(lián)。。一對一、、一對多多、多對對多1.3數(shù)據(jù)庫設設計基礎礎P145設計求精精在每一個個具體階階段的后后期都要要經(jīng)過用用戶確認認,如果果不能滿滿足要求求,則要要返回到到前面一一個或幾幾個階段段進行調調整和修修改。是否遺忘忘了字段段是否存在在大量空空白字段段?是否有包包含了同同樣字段段的表??表中是否否帶有大大量不屬屬于某實實體的字字段?是否在某某個表中中重復輸輸入了同同樣的信信息?是否為每每個表選選擇了合合適的主主關鍵字字?是否有字字段很多多而記錄錄很少的的表,并并且許多多記錄中中的字段段值為空空?1.3數(shù)據(jù)庫設設計基礎礎P141.4.1SQL簡介P18SQL(StructureQueryLanguage結構化查查詢語言言)在數(shù)據(jù)庫庫系統(tǒng)中中應用廣廣泛四個功能能:數(shù)據(jù)據(jù)定義、、查詢、、操縱和和控制兩個基本本概念::基本表表和視圖圖基本表::本身獨獨立存在在的表,,一個關關系對應應一個表表視圖:從從一個或或幾個基基本表中中導出的的表,不不獨立存存儲在數(shù)數(shù)據(jù)庫中中。是一一個虛表表。常用語句句:SelectInsertUpdateDeleteCreateDrop1.4SQL基本命令令P18Select語句的一一般格式式:SELECT[DISTINCT]*|<字段列表表>FROM<表名>[WHERE<條件表達達式>][ORDERBY<列表>{[ASC|DESC}]語句含義義:在From后面給出出的表名名中找出出滿足Where條件表達達式的元元組,然然后按Select后列出的的目標表表形成結結果表。。DISTINCT:表示檢檢索要去去掉重復復的所有有元組。。*:表示示檢索結結果為整整個元組組,包括括所有的的列字段列表表:用““,”分開的多多個項,,可以是是字段名名、常數(shù)數(shù)或函數(shù)數(shù)條件表達達式:可可以包含含數(shù)學運運算符和和關系運運算符ORDERBY:強制查查詢結果果按指定定列名進進行升序序或降序序排列1.4SQL基本命令令P18查找男教教師的全全部信息息SELECT*FROM教師表WHERE(性別=‘男’)查找姓王王的教師師,并按按姓名升升序排序序SELECT*FROM教師表WHERE姓名LIKE‘王%’ORDERBY姓名ASC%:匹配零個個或多個個字符_:匹配任任意單個個字符1.4SQL基本命令令P18數(shù)據(jù)庫的的邏輯結結構是從從邏輯的的角度分分析數(shù)據(jù)據(jù)庫的組組成。Oracle的邏輯組組件包括括:數(shù)據(jù)庫表空間段區(qū)數(shù)據(jù)塊模式Oracle邏輯組件件表空間是是數(shù)據(jù)庫庫中最大大的邏輯輯單位,,一個Oracle數(shù)據(jù)庫至至少包含含一個表表空間,,就是名名為SYSTEM的系統(tǒng)表表空間。。每個表空空間是由由一個或或多個數(shù)數(shù)據(jù)文件件組成的的,一個個數(shù)據(jù)文文件只能能與一個個表空間間相關聯(lián)聯(lián)。表空間的大小小等于構成該該表空間的所所有數(shù)據(jù)文件件大小之和。。CREATETABLESPACEtablespacenameDATAFILE‘filename’[SIZEinteger[K|M]][AUTOEXTEND[OFF|ON]];Oracle邏輯組件47段段是構成表空空間的邏輯存存儲結構,段段由一組區(qū)組組成。按照段所存儲儲數(shù)據(jù)的特征征,將段分為為四種類型,,即數(shù)據(jù)段、、索引段、回退段和臨時時段。區(qū)區(qū)為段分配空空間,它由連連續(xù)的數(shù)據(jù)塊塊組成。當段中的所有有空間已完全全使用時,系系統(tǒng)自動為該該段分配一個個新區(qū)。區(qū)不能跨數(shù)據(jù)據(jù)文件存在,,只能存在于于一個數(shù)據(jù)文文件中。數(shù)據(jù)塊數(shù)據(jù)塊是Oracle服務器所能分分配、讀取或或寫入的最小小存儲單元。。Oracle服務器以數(shù)據(jù)據(jù)塊為單位管管理數(shù)據(jù)文件件的存儲空間間。模式模式是對用戶戶所創(chuàng)建的數(shù)數(shù)據(jù)庫對象的的總稱。模式對象包括括表、視圖、、索引、同義義詞、序列、、過程和程序序包等。Oracle邏輯組件Oracle產(chǎn)品安裝完成成后,服務器器和客戶端都都需要進行網(wǎng)網(wǎng)絡配置才能能實現(xiàn)網(wǎng)絡連連接。服務器端配置置監(jiān)聽器,客客戶端配置網(wǎng)網(wǎng)絡服務名。。tnsnames.oraOracle客戶端listener.oraOracle服務器Oracle網(wǎng)絡配置服務務器器端端監(jiān)監(jiān)聽聽器器配配置置信信息息包包括括監(jiān)監(jiān)聽聽協(xié)協(xié)議議、、地地址址及及其其他他相相關關信信息息。。配配置置信信息息保保存存在在名名為為listener.ora的文文件件中中。。在在安安裝裝服服務務器器軟軟件件時時自自動動配配置置一一個個監(jiān)監(jiān)聽聽器器客戶戶端端的的網(wǎng)網(wǎng)絡絡服服務務名名配配置置信信息息包包括括服服務務器器地地址址、、監(jiān)監(jiān)聽聽端端口口號號和和數(shù)數(shù)據(jù)據(jù)庫庫SID等,與服服務器的的監(jiān)聽器器建立連連接。配配置信息息保存在在名為tnsnames.ora的文件中中Oracle中的NetConfigurationAssistant和NetManager工具都能能用來配配置監(jiān)聽聽器和網(wǎng)網(wǎng)絡服務務名Oracle網(wǎng)絡配置置Oracle查詢工具具SQL*PlusiSQL*PlusPL/SQLOracle提供的工工具非常常容易使使用。Oracle的查詢工工具包括括:SQL*Plus是Oracle最常用的的工具之之一,用用于接受受和執(zhí)行行SQL命令以及及PL/SQL塊。iSQL*Plus可以執(zhí)行行能用SQL*Plus完成的所所有任務務。該工工具的優(yōu)優(yōu)勢在于于能通過過瀏覽器器訪問它它。PL/SQL是SQL的擴展。。PL/SQL結合了SQL語言的數(shù)數(shù)據(jù)操縱縱能力和和過程語語言的流程控制能能力Oracle查詢工具51Oracle企業(yè)管理器器為管理員員提供了圖圖形化的用用戶界面,,并集成了了管理數(shù)據(jù)據(jù)庫的工具具Oracle企業(yè)管理器器52只有用合法法的用戶帳帳號才能訪訪問Oracle數(shù)據(jù)庫Oracle有幾個默認認的數(shù)據(jù)庫庫用戶Oracle默認用戶SYSSYSTEMSCOTT數(shù)據(jù)庫中所所有數(shù)據(jù)字字典表和視視圖都存儲儲在SYS模式中。SYS用戶主要用用來維護系系統(tǒng)信息和和管理實例例。SYSTEM是默認的系系統(tǒng)管理員員,該用戶戶擁有Oracle管理工具使使用的內(nèi)部部表和視圖圖。通常通通過SYSTEM用戶管理數(shù)數(shù)據(jù)庫用戶戶、權限和和存儲等SCOTT用戶是Oracle數(shù)據(jù)庫的一一個示范帳帳戶,在數(shù)數(shù)據(jù)庫安裝裝時創(chuàng)建Oracle默認用戶53要連接到Oracle數(shù)據(jù)庫,就就需要創(chuàng)建建一個用戶戶帳戶每個用戶都都有一個默默認表空間間和一個臨臨時表空間間CREATEUSER命令用于創(chuàng)創(chuàng)建新用戶戶CREATEUSERusernameIDENTIFIEDBYpassword[DEFAULTTABLESPACEtablespace][TEMPORARYTABLESPACEtablespace];CREATEUSER命令的語法法是:CREATEUSERMARTINIDENTIFIEDBYmartinpwdDEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP;創(chuàng)建一個名名稱為martin的用戶,其其密碼為martinpwdOracle創(chuàng)建新用戶戶54GRANT命令可用于于為用戶分分配權限或或角色GRANTCONNECTTOMARTIN;CONNECT角色允許用用戶連接至至數(shù)據(jù)庫,,并創(chuàng)建數(shù)據(jù)據(jù)庫對象GRANTRESOURCETOMARTIN;RESOURCE角色允許用用戶使用數(shù)據(jù)庫中的的存儲空間間GRANTCREATESEQUENCETOMARTIN;此系統(tǒng)權限限允許用戶戶在當前模模式中創(chuàng)建建序列,此權權限包含在在CONNECT角色中Oracle授予權限ALTERUSER命令可用于于更改口令令ALTERUSERMARTINIDENTIFIEDBYmartinpass;修改MARTIN用戶的密碼碼DROPUSER命令用于刪刪除用戶DROPUSERMARTINCASCADE;刪除MARTIN用戶模式Oracle更改和刪除除用戶56服務器端安裝Oracle服務器Oracle數(shù)據(jù)庫的軟件創(chuàng)建數(shù)據(jù)庫庫(安裝時自動動創(chuàng)建)配置監(jiān)聽器器(安裝時自動動配置)啟動Oracle實例(自動啟動服服務)安裝Oracle客戶端軟件件配置網(wǎng)絡服服務名以新用戶登登錄Oracle提交SQL查詢創(chuàng)建新用戶戶并授權創(chuàng)建用戶表表空間客戶端使用Oracle數(shù)據(jù)庫開發(fā)發(fā)的流程57Oracle9i的每個實例例在Windows中都作為一一項服務啟啟動服務是在Windows注冊表中注注冊的可執(zhí)執(zhí)行進程,,由Windows操作系統(tǒng)管管理“服務”對對話框中的的各項Oracle服務如圖所所示:Windows中的Oracle服務OracleHOME_NAMETNSListener該服務啟動動數(shù)據(jù)庫服服務器的監(jiān)監(jiān)聽器,監(jiān)監(jiān)聽器接受受來自客戶戶端應用程程序的連接接請求若監(jiān)聽器未未啟動,則則客戶端將將無法連接接到數(shù)據(jù)庫庫服務器OracleServiceSID該服務啟動動系統(tǒng)標識識符為SID的數(shù)據(jù)庫實實例,其中中SID是在安裝Oracle9i時輸入的數(shù)數(shù)據(jù)庫名稱稱OracleHOME_NAMEAgentOracle企業(yè)管理器器組件智能能代理服務務,此智能能代理用于于執(zhí)行作業(yè)業(yè)和監(jiān)控Oracle服務或對象象的性能在使使用用Oracle管理理服服務務器器網(wǎng)網(wǎng)絡絡的的環(huán)環(huán)境境中中必必須須啟啟動動此此服服務務Windows中的的Oracle服務務OracleHOME_NAMEHTTPServer該服服務務用用于于啟啟動動OracleHTTP服務務器器,,它它提提供供文文檔檔信信息息、、基基于于Web的企企業(yè)業(yè)管管理理器器和和iSQL*Plus等服服務務OracleHOME_NAMEManagementServer該服服務務啟啟動動Oracle管理理服服務務器器,,它它用用于于維維護護管管理理控控制制臺臺對對各各個個被被管管理理服服務務器器節(jié)節(jié)點點之之間間的的集集中中的的、、智智能能的的和和分分布布式式的的控控制制該服服務務必必須須經(jīng)經(jīng)過過企企業(yè)業(yè)管管理理器器配配置置向向導導配配置置完完成成后后才才創(chuàng)創(chuàng)建建Windows中的的Oracle服務務60Oracle服務務器器由由Oracle數(shù)據(jù)據(jù)庫庫和和Oracle實例例組組成成Oracle實例例由由系系統(tǒng)統(tǒng)全全局局區(qū)區(qū)內(nèi)內(nèi)存存結結構構和和用用于于管管理理數(shù)數(shù)據(jù)據(jù)庫庫的的后后臺臺進進程程組組成成Oracle中用用于于訪訪問問數(shù)數(shù)據(jù)據(jù)庫庫的的主主要要查查詢詢工工具具有有SQL*Plus、iSQL*Plus和PL/SQLOracle企業(yè)管理器是是用于管理、、診斷和調整整多個數(shù)據(jù)庫庫的工具Oracle中的SYSTEM用戶和SYS用戶具有管理理權限,而SCOTT用戶只有基本本的權限Oracle服務在Windows注冊表中注冊冊,并由Windows操作系統(tǒng)管理理小結1、startup啟動Oracle實例2、shutdown關閉Oracle實例,關閉Oracle實例后才能對對Oracle的一些操作起起效,如回滾滾表空間的時時候3、conn用戶名/密碼@網(wǎng)絡服務名以某個用戶的的身份連接數(shù)數(shù)據(jù)庫4、select*fromdba_table;查看數(shù)據(jù)庫中中有哪些表,,dba_table是數(shù)據(jù)字典5、select*fromdba_users;查看數(shù)據(jù)庫中中有哪些用戶戶,dba_users是數(shù)據(jù)字典6、select*fromv$session;查看數(shù)據(jù)庫有有哪些進程,,v$session是數(shù)據(jù)字典7、createtablespace表空間名(如testdata)datafile'文件路徑(如:e:\oracle\db1.dbf)'size文件大小(如10M)autoextendonnext5Mmaxsize2048M創(chuàng)建數(shù)據(jù)表空空間Oracle命令復習Oracle命令練習8、創(chuàng)建用戶并并指定表空間間createuser用戶名identifiedbypassworddefaulttablespace表空間名9、給用戶授予予權限grantconnect,resourceto用戶名;10、做完3—9后,以后以該該用戶登錄,,創(chuàng)建的任何何數(shù)據(jù)庫對象象都屬于表空空間(testdata),這就不用在在每創(chuàng)建一個個對象給其指指定表空間了了。11、alteruser用戶名identifiedby密碼;修改密碼碼12、createtable表名(字段名1字段類型型,字段段名2字段類型型...)創(chuàng)建表13、altertable表名addconstraint約束名稱稱約束束類型(primarykey、unique、forignkey、check)字段名或或者檢查查條件給表加上上主鍵、、唯一鍵鍵、外鍵鍵或者檢檢查條件件14、union、unionallunion:求兩個個集合的的并集并并去掉重重復記錄錄unionall:求兩個個集合的的并集Oracle命令復習習Oracle命令復習習15、minusminus:求兩個個集合的的差集16、select*from表名where條件表達達式根據(jù)條件件表達式式在表名名中查詢詢符合條條件表達達式的記記錄17、事物是是何時存存在的??在進行insert、update、delete后事物開開始,有有commit命令提交交事物,,事物結結束,savepoint將事物分分割成一一個個小小的事物物18、查看控控制文件件selectnamefromv$controlfile;19、查看日日志文件件selectmemberfromv$logfile;20、查看表表空間的的使用情情況selectsum(bytes)/(1024*1024)asfree_space,tablespace_namefromdba_free_spacegroupbytablespace_name;SELECTA.TABLESPACE_NAME,A.BYTESTOTAL,B.BYTESUSED,C.BYTESFREE,(B.BYTES*100)/A.BYTES"%USED",(C.BYTES*100)/A.BYTES"%FREE"FROMSYS.SM$TS_AVAILA,SYS.SM$TS_USEDB,SYS.SM$TS_FREECWHEREA.TABLESPACE_NAME=B.TABLESPACE_NAMEANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;Oracle命令復習習Oracle命令復習習21、查看數(shù)數(shù)據(jù)庫的的版本SelectversionFROMProduct_component_versionWhereSUBSTR(PRODUCT,1,6)='Oracle';22、禁止其其他用戶戶訪問DML語句正在在處理的的行。SELECT*from表名[where條件表達達式]FORUPDATE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論