版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《數(shù)據(jù)庫概論》實驗1/15安徽工業(yè)大學(xué)數(shù)據(jù)庫系統(tǒng)設(shè)計姓名:束豪學(xué)號:119094277班級:息111班專業(yè):信息管理與信息系統(tǒng)
《ORACLE數(shù)據(jù)庫》實驗指導(dǎo)書(馬鋼班)一、實驗?zāi)康模簲?shù)據(jù)庫系統(tǒng)是一門應(yīng)用性很強的課程,上機實驗是數(shù)據(jù)庫課程的重要環(huán)節(jié)。本實驗是結(jié)合《數(shù)據(jù)庫概論》課程的學(xué)習(xí)而開設(shè)的實驗。本實驗?zāi)康娜缦拢?.通過上機實驗,加深對數(shù)據(jù)庫系統(tǒng)理論知識的理解,增強對網(wǎng)絡(luò)環(huán)境下大型數(shù)據(jù)庫的感性認識和實際操作能力;2.通過使用具體的DBMS,了解一種實際的數(shù)據(jù)庫管理系統(tǒng),并掌握其操作技術(shù)。熟悉ORACLE數(shù)據(jù)庫的Net8工具,掌握ORACLE數(shù)據(jù)庫的網(wǎng)絡(luò)連接配置;3.學(xué)習(xí)使用SQL語言,加深對SQL語言的認識和理解,提高SQL語言的實際應(yīng)用能力;4.加強對事務(wù)處理、權(quán)限管理等概念的認識和理解。二、適應(yīng)專業(yè):信息管理與信息系統(tǒng),信息與計算機科學(xué)三、實驗學(xué)時數(shù):8學(xué)時四、實驗內(nèi)容及學(xué)時安排:實驗準備:安裝ORACLE客戶端,配置與主機的數(shù)據(jù)庫連接。安裝軟件工具PLSQL/DEVELOPER實驗一:數(shù)據(jù)定義/數(shù)據(jù)操縱語言實驗?zāi)康模菏煜racle上機環(huán)境以及Oracle客戶端的配置;熟練掌握和使用DDL語言,建立、修改和刪除數(shù)據(jù)庫表、主鍵、外鍵約束關(guān)系和索引;熟練掌握和使用DML語言,對數(shù)據(jù)進行增加、修改和刪除操作。學(xué)時數(shù):4學(xué)時實驗內(nèi)容:SQL數(shù)據(jù)定義語句,SQL數(shù)據(jù)操縱語句。實驗要求:1.熟悉Oracle上機環(huán)境;
2.建立數(shù)據(jù)庫表,修改數(shù)據(jù)庫表結(jié)構(gòu),建立、刪除索引;
3.對數(shù)據(jù)庫表進行插入、修改和刪除數(shù)據(jù)的操作。實驗二:數(shù)據(jù)查詢語言,視圖定義實驗?zāi)康模后w會SQL語言數(shù)據(jù)查詢功能的豐富和復(fù)雜,視圖使用。學(xué)時數(shù):4學(xué)時實驗內(nèi)容:SQL數(shù)據(jù)查詢語句;實驗要求:對數(shù)據(jù)庫表進行各種查詢操作;五、教材及參考文獻1.《數(shù)據(jù)庫系統(tǒng)概論》(第三版)薩師煊等編著高等教育出版社2000.2
2.《ORACLE8.xForWindowsNT實用教程》翁正科等編著清華大學(xué)出版社1998.10六、實驗環(huán)境實驗要求如下環(huán)境服務(wù)器端:Windows2000NTServer;
ORACLE8.xDatabaseServerForWindowsWindows2000Server客戶端:Windows9x;Oracle8.xClient網(wǎng)絡(luò)協(xié)議:TCP/IP七、成績考核上機實驗考核采取實驗報告和上機抽查檢驗相結(jié)合的方式。每次實驗結(jié)束后都必須寫出實驗報告。八.實驗報告
實驗一:數(shù)據(jù)定義/數(shù)據(jù)操縱語言[實驗日期]2013年12月23日單位:安徽工業(yè)大學(xué)管工學(xué)院姓名:束豪[實驗?zāi)康腯熟悉Oracle上機環(huán)境以及Oracle客戶端的配置;熟練掌握和使用DDL語言,建立、修改和刪除數(shù)據(jù)庫表、主鍵、外鍵約束關(guān)系和索引;熟練掌握和使用DML語言,對數(shù)據(jù)進行增加、修改和刪除操作。[實驗內(nèi)容]Oracle上機環(huán)境以及Oracle客戶端的配置參見附錄。1.SQL數(shù)據(jù)定義語句:1:(建立數(shù)據(jù)庫表)建立教學(xué)數(shù)據(jù)庫的四個數(shù)據(jù)庫表,其中Student表中不包含SSEX(C,2)字段,Sname字段為Sname(C,8)且可為空。1.createtableStudent(
Snovarchar2(5)primarykey,
Snamevarchar2(8),
Sagenumber(2,0),
Sdeptvarchar2(2),
Sclassvarchar2(2)
);2.createtableCourse(
Cnovarchar2(3)primarykey,
Cnamevarchar2(16),
Ctimenumber(3)
);3.createtableTeacher(
Tnamevarchar2(8),
Tsexvarchar2(2),
Cnovarchar2(3),
TdateDate,
Tdeptvarchar2(2)
);4.createtableScore(
Snovarchar2(5),
Cnovarchar2(3),
Scorenumber(5,2)
);2:(修改數(shù)據(jù)庫表)在Student表中增加SSEX(C,2)字段。答:altertableStudentaddSsexvarchar2(2);例1-3:(修改數(shù)據(jù)庫表)將Student表中把Sname字段修改為Sname(C,10)且為非空。答:altertableStudentmodify(Snamevarchar2(10)notnull);例1-4:(建立索引)為Score表按學(xué)號升序和課程號降序分別建立索引,索引名分別為SC_NDXSNO和SC_NDXCNO。為Score表按分數(shù)降序建立索引,索引名為GRADE_NDX。答:createindexSC_NDXSNOonScore(snodesc);createindexSC_NDXCNOonScore(cnodesc);createindexSC_gradeonScore(scoredesc);例1-5:(刪除索引)刪除索引SC_NDX_SNO。答:dropindexSC_NDX_SNO;例1-6:(建立數(shù)據(jù)庫表)建立數(shù)據(jù)庫表S1(SNO,SNAME,SD,SA),其字段類型定義與Student表中的相應(yīng)字段(SNO,SNAME,SDEPT,SAGE)的數(shù)據(jù)類型定義相同。答:createtableS1(
Snovarchar2(5)primarykey,
Snamevarchar2(10)notnull,
Sdeptvarchar2(2),
Sagenumber(2)
)例1-8:(修改數(shù)據(jù)庫表)添加成績表Score的參照完整性約束關(guān)系。答:altertablescoreaddconstraintsc_pkprimarykey(sno,cno);例1-7:(修改數(shù)據(jù)庫表)刪除成績表Score的參照完整性約束關(guān)系。答:altertablescoredropconstraintsc_pk;例1-7,8:為選作題2.SQL數(shù)據(jù)操縱語句:例2-1:(插入數(shù)據(jù))按前面各表中的部分數(shù)據(jù)分別插入到教學(xué)數(shù)據(jù)庫的四個數(shù)據(jù)庫表中。學(xué)生表:insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('96001','馮曉燕','女','CS',21,'01');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('96002','黎明','男','CS',18,'01');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('96003','劉東明','男','MA',18,'01');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('96004','趙志勇','男','IS',20,'02');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('97001','馬蓉','女','MA',19,'02');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('97002','李成功','男','CS',20,'01');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('97003','黎明','男','IS',19,'03');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('97004','李麗','女','CS',19,'02');
insertintoStudent(Sno,Sname,Ssex,Sdept,Sage,Sclass)values('96005','司馬志明','男','CS',18,'02');Course表:insert
into
Course(Cno,Cname,Ctime)values
('001','數(shù)學(xué)分析',144);
insert
into
Course(Cno,Cname,Ctime)values
('002','普通物理',144);
insert
into
Course(Cno,Cname,Ctime)values
('003','微機原理',80);
insert
into
Course(Cno,Cname,Ctime)values
('004','數(shù)據(jù)結(jié)構(gòu)',72);
insert
into
Course(Cno,Cname,Ctime)values
('005','操作系統(tǒng)',80);
insert
into
Course(Cno,Cname,Ctime)values
('006','數(shù)據(jù)庫原理',80);
insert
into
Course(Cno,Cname,Ctime)values
('007','編譯原理',60);
insert
into
Course(Cno,Cname,Ctime)values
('008','程序設(shè)計',40);Teacher表:insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('王成剛','男','004',
to_date('1999-9-5','YYYY-MM-DD'),
'CS');
insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('李正科','男','003',
to_date('1999-9-5','YYYY-MM-DD'),
'CS');
insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('嚴敏','女','001',
to_date('1999-9-5','YYYY-MM-DD'),
'MA');
insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('趙高','男','004',
to_date('1999-9-5','YYYY-MM-DD'),
'IS');
insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('李正科','男','003',
to_date('2000-2-23','YYYY-MM-DD'),
'MA');
insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('劉玉蘭','女','006',
to_date('2000-2-23','YYYY-MM-DD'),
'CS');
insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('王成剛','男','004',
to_date('2000-2-23','YYYY-MM-DD'),
'IS');
insert
into
Teacher(Tname,
Tsex,
Cno,
Tdate,Tdept)
values
('馬悅','女','008',
to_date('2000-9-26','YYYY-MM-DD'),
'CS');Score表:insertintoscore(sno,cno,score)values('96001','001','77.5');
insertintoscore(sno,cno,score)values('96001','003','89');
insertintoscore(sno,cno,score)values('96001','004','86');
insertintoscore(sno,cno,score)values('96001','005','82');
insertintoscore(sno,cno,score)values('96002','001','88');
insertintoscore(sno,cno,score)values('96002','003','92.5');
insertintoscore(sno,cno,score)values('96002','006','90');
insertintoscore(sno,cno,score)values('96005','004','92');
insertintoscore(sno,cno,score)values('96005','005','90');
insertintoscore(sno,cno,score)values('96005','006','89');
insertintoscore(sno,cno,score)values('96005','007','76');
insertintoscore(sno,cno,score)values('96003','001','69');
insertintoscore(sno,cno,score)values('97001','001','96');
insertintoscore(sno,cno,score)values('97001','008','95');
insertintoscore(sno,cno,score)values('96004','001','87');
insertintoscore(sno,cno,score)values('96003','003','91');
insertintoscore(sno,cno,score)values('97002','003','91');
insertintoscore(sno,cno,score)values('97002','004',);
insertintoscore(sno,cno,score)values('97002','006','92');
insertintoscore(sno,cno,score)values('97004','005','90');
insertintoscore(sno,cno,score)values('97004','006','85');
例2-2:(多行插入)將表Student中在計算機系(‘CS’)的學(xué)生數(shù)據(jù)插入到表S1中。答:insertintoS1(sno,sname,sdept,sage)selectsno,sname,sdept,sagefromstudentwheresdept=’CS’;例2-3:(利用查詢來實現(xiàn)表的定義與數(shù)據(jù)插入)求每一個學(xué)生的平均成績,把結(jié)果存入數(shù)據(jù)庫表Student_Gr中。答:createtableStudent_Gr
(snochar(5),
avg_scorechar(3));SelectSno,AVG(Score)fromScore;例2-4:(修改數(shù)據(jù))將S1表中所有學(xué)生的年齡加2。答:updateS1setage=age+2;例2-5:(修改數(shù)據(jù))將Course表中‘程序設(shè)計’課時數(shù)修改成與‘數(shù)據(jù)結(jié)構(gòu)’的課時數(shù)相同。答:updateCoursesetCtime=(selectCtimefromcoursewherecname='數(shù)據(jù)結(jié)構(gòu)')wherecname='程序設(shè)計'例2-6:(插入數(shù)據(jù))向Score表中插入數(shù)據(jù)(‘98001’,‘001insertintoscorevalues('98001','001',95)ERRORatline1:ORA-02291:integrityconstraint(SYSTEM.CNO_FK)violated-parentkeynotfound未找到相應(yīng)主碼對應(yīng)的外碼。即未設(shè)置主外鍵聯(lián)系;例2-7:(插入數(shù)據(jù))向Score表中插入數(shù)據(jù)(‘97001’,‘010insertintoscorevalues('97001','010',80)ERRORatline1:ORA-02291:integrityconstraint(SYSTEM.CNO_FK)violated-parentkeynotfound未設(shè)置主外鍵聯(lián)系;例2-10:(刪除數(shù)據(jù))刪除學(xué)生表S1中學(xué)號以96打頭的學(xué)生信息。deletefromS1wheresnolike'96%';例2-11:(刪除數(shù)據(jù))刪除數(shù)據(jù)庫表S1中所有學(xué)生的數(shù)據(jù)。deleteS1;例2-12:(刪除表)刪除數(shù)據(jù)庫表S1和Student_Gr。droptableS1;dropviewStudent_Gr; [實驗要求]①熟悉Oracle上機環(huán)境,掌握Oracle客戶端的配置;
②建立數(shù)據(jù)庫表,修改數(shù)據(jù)庫表結(jié)構(gòu),建立、刪除索引;
③對數(shù)據(jù)庫表進行插入、修改和刪除數(shù)據(jù)的操作。[實驗方法]①按照附錄中的操作步驟進行客戶端的配置;
②將實驗需求用SQL語句表示;
③執(zhí)行SQL語句;
④查看執(zhí)行結(jié)果,如果結(jié)果不正確,進行修改,直到正確為止。[實驗總結(jié)]①SQL語句以及執(zhí)行結(jié)果;
②對重點實驗結(jié)果進行分析;
③實驗中的問題和提高;
④收獲與體會。
實驗二:數(shù)據(jù)查詢語言[實驗日期]2013年12月23日學(xué)號:119094277姓名:束豪[實驗?zāi)康腯體會SQL語言數(shù)據(jù)查詢功能的豐富和復(fù)雜。[實驗內(nèi)容]3.SQL數(shù)據(jù)查詢語句:例3-1:(選擇表中的若干列)求全體學(xué)生的學(xué)號、姓名、性別和年齡。selectSno,Sname,Ssex,SagefromStudent;例3-2:(不選擇重復(fù)行)求選修了課程的學(xué)生學(xué)號。selectdistinctsnofromscore;例3-3:(選擇表中的所有列)求全體學(xué)生的詳細信息。select*fromstudent;例3-4:(使用表達式)求全體學(xué)生的學(xué)號、姓名和出生年份。selectsno,sname,2011-sageas出生年份fromstudent;例3-5:(使用列的別名)求學(xué)生的學(xué)號和出生年份,顯示時使用別名“學(xué)號”和“出生年份”。selectsnoas學(xué)號,2011-sageas出生年份fromstudent;例3-6:(比較大小條件)求年齡大于19歲的學(xué)生的姓名和年齡。selectsname,sagefromstudentwheresage>19;例3-7:(比較大小條件)求計算機系或信息系年齡大于18歲的學(xué)生的姓名、系和年齡。selectsname,sdept,sagefromstudentwheresage>18andsdeptin('CS','IS');例3-8:(確定范圍條件)求年齡在19歲與22歲(含20歲和22歲)之間的學(xué)生的學(xué)號和年齡。selectsno,sagefromstudentwheresagebetween20and22;例3-9:(確定范圍條件)求年齡不在19歲與22歲之間的學(xué)生的學(xué)號和年齡。selectsno,sagefromstudentwheresagenotbetween20and22;例3-10:(確定集合條件)求在下列各系的學(xué)生信息:數(shù)學(xué)系、計算機系。selectsno,sname,sdeptfromstudentwhereSdeptin(‘MA’,’CS’)groupbysdept;例3-11:(確定集合條件)求不是數(shù)學(xué)系、計算機系的學(xué)生信息。selectsno,sname,sdeptfromstudentwhereSdeptnotin(‘MA’,’CS’)groupbysdept;例3-12:(匹配查詢)求姓名是以“李”打頭的學(xué)生。select*fromstudentwheresnamelike'李%';例3-13:(匹配查詢)求姓名中含有“志”的學(xué)生。select*fromstudentwheresnamelike'%志%';例3-14:(匹配查詢)求姓名長度至少是三個漢字且倒數(shù)第三個漢字必須是“馬”的學(xué)生。select*fromstudentwheresnamelike'%馬____';例3-15:(匹配查詢)求選修課程001或003,成績在80至90之間,學(xué)號為96xxx的學(xué)生的學(xué)號、課程號和成績。selectstudent.sno,cno,scorefromstudent,scorewherestudent.sno=score.snoandstudent.snolike'96___'andscorebetween80and90;例3-16:(涉及空值查詢)求缺少學(xué)習(xí)成績的學(xué)生的學(xué)號和課程號。selectsno,cnofromscorewherescoreisnull;例3-17:(控制行的顯示順序)求選修003課程或004課程的學(xué)生的學(xué)號、課程號和分數(shù)。selectsno,cno,scorefromscorewherecnoin('003','004');例3-18:(組函數(shù))求學(xué)生總?cè)藬?shù)。selectcount(sno)fromstudent;例3-19:(組函數(shù))求選修了課程的學(xué)生人數(shù)。Selectcount(Sno)fromScorewhereCno!=null;例3-20:(組函數(shù))求計算機系學(xué)生的平均年齡。selectavg(sage)fromstudentwheresdept='CS';例3-21:(組函數(shù))求選修了課程001的最高、最低與平均成績。selectMax(score),min(score),avg(score)fromscorewherecno='001';例3-22:(分組查詢)求各門課程的平均成績與總成績。selectcno,avg(score),sum(score)fromscoregroupbycno;例3-23:(分組查詢)求各系、各班級的人數(shù)和平均年齡。selectsdept,sclass,count(sno),avg(sage)fromstudentgroupbysdept,sclass例3-24:(分組查詢)輸入以下查詢語句并執(zhí)行,觀察出現(xiàn)的其結(jié)果并分析其原因。SELECTSNAME,SDEPT,COUNT(*)FROMSTUDENTWHERESDEPT=’CS’GROUPBYSDEPT;原本是查詢計算機學(xué)院的人數(shù),但是select中還出現(xiàn)了姓名還有專業(yè),會造成數(shù)據(jù)冗余;例3-25:(分組查詢)分析以下語句為什么會出現(xiàn)錯誤。并給出正確的查詢語句。SELECTSAGEFROMSTUDENTGROUPBYSNO;只查詢年紀,然后將其顯示出來,其中沒有學(xué)號類屬性;例3-26:(分組查詢)求學(xué)生人數(shù)不足3人的系及其相應(yīng)的學(xué)生數(shù)。SELECTsdept,count(sno)asnumFROMSTUDENTgroupbysdepthavingcount(sno)<3;例3-27:(分組查詢)求各系中除01班之外的各班的學(xué)生人數(shù)。SELECTsdept,sclass,count(sno)asnumFROMSTUDENTwheresclass<>'01'groupbysdept,sclass;例3-28:(涉及空值的查詢)分別觀察各組函數(shù)、行的顯示順序以及分組查詢與空值的關(guān)系。看不懂題意。例3-29:(自然連接查詢)求學(xué)生號以及其選修課程的課程號和成績,但查詢結(jié)果中只能有一個SNO字段。SelectSnoCno,ScoreFromScore;例3-30:(連接查詢)求選修了課程001且成績在70分以下或成績在90分以上的學(xué)生的姓名、課程名稱和成績。Selectsname,cname,scorefromstudent,course,scoreWherestudent.sno=score.snoAndo=oAndo='001'Andscorenotbetween70and90;例3-31:(連接查詢與表的別名)求選修了課程的學(xué)生的學(xué)生姓名、課程號和成績。Selectsname,cno,scorefromstudent,scoreWherestudent.sno=score.sno例3-32:(自身連接查詢)求年齡大于’李麗’的所有學(xué)生的姓名、系和年齡。Selectsname,sdept,sagefromstudentWheresage>(SelectsagefromstudentWheresname=’李麗’);例3-33:(外部連接查詢)求選修了課程002或003的學(xué)生的學(xué)號、課程號、課程名和成績。Selectsno,course.*,scorefromcourse,scorewhereoin('002','003')ando=o;例3-34:(子查詢)求與‘李麗’年齡相同的學(xué)生的姓名和系。Selectsname,sdept,sagefromstudentWheresagein(selectsagefromstudentwheresname='李麗');例3-35:(子查詢)求選修了課程名為’數(shù)據(jù)結(jié)構(gòu)’的學(xué)生的學(xué)號和姓名。Selectscore.sno,snamefromstudent,score,courseWherestudent.sno=score.snoando=oAndcname='數(shù)據(jù)結(jié)構(gòu)';例3-36:(子查詢ANY)求比數(shù)學(xué)系中某一學(xué)生年齡大的學(xué)生的姓名和系。Selectsname,sdeptfromstudentWheresage>any(selectsagefromstudentwheresdept='MA');例3-37:(子查詢ALL)求比數(shù)學(xué)系中全體學(xué)生年齡大的學(xué)生的姓名和系。Selectsname,sdeptfromstudentWheresage>all(selectsagefromstudentwheresdept='MA');[實驗要求]對數(shù)據(jù)庫表進行各種查詢操作。[實驗方法]①將實驗需求用SQL語句表示;
②執(zhí)行SQL語句;
③查看執(zhí)行結(jié)果,如果結(jié)果不正確,進行修改,直到正確為止。[實驗總結(jié)]①SQL語句以及執(zhí)行結(jié)果;
②對重點實驗結(jié)果進行分析;
③實驗中的問題和提高;
④收獲與體會。四.退出Oracle當想停止工作并離開SQL*PLUS,則可以在SQL*PLUS命令提示符下輸入EXIT或QUIT命令。SQL>EXIT[RETURN]或SQL>QUIT[RETURN]五.提示信息1.建議使用方法二登錄ORACLE。在此方式下,SQL*PLUS有一種緩沖區(qū)編輯器,可以用來在SQL>提示符下交互式地輸入命令和修改命令。(1)在SQL>提示符下,可直接進行拷貝和粘貼操作。(2)在SQL>提示符下,可直接對命令緩沖區(qū)內(nèi)容進行編輯。SQL>ED[RETURN]出現(xiàn)緩沖區(qū)編輯器窗口,自動顯示剛剛執(zhí)行的命令語句。修改編輯,保存退出,返回SQL>命令提示符狀態(tài)。SQL>/[RETURN]自動執(zhí)行緩沖區(qū)編輯器中的命令語句。2.一個事務(wù)從執(zhí)行一條SQL更新語句(INSERT、UPDATE、DELETE)開始,當出現(xiàn)如下任一情況時,就結(jié)束該事務(wù):執(zhí)行COMMIT或ROLLBACK命令(這是一種顯式劃分事務(wù)的方式);發(fā)出DDL命令(如執(zhí)行CREATETABLE命令等);LOGOFF;程序異常結(jié)束。如果在SQL*PLUS中沒有上述四種情況,當退出系統(tǒng)時,系統(tǒng)會自動提交最后一個事務(wù)。3.查詢本用戶賬號下的所有數(shù)據(jù)庫表的名稱:SELECT*FROMTAB;4.查看一個數(shù)據(jù)庫表的表結(jié)構(gòu):DESC表名;5.ORACLE常用的數(shù)據(jù)類型:數(shù)據(jù)類型表示方式說明數(shù)字型NUMBER(n)NUMBER(n,d)可包括數(shù)字0-9、正負號(+、-)和十進制小數(shù)點n:總有效位數(shù)(范圍1-38)s:小數(shù)點后面的位數(shù)字符型CHAR(n)VARCHAR(n)VARCHAR2(n1)可包含字母、數(shù)字和特殊字符(+、-、%、$)n<=255;n1<=2000日期型DATE日期和時間。存儲方式為:世紀、年、月、日、時、分、秒。缺省日期格式:中文版為09-10月-99,英文版為09-OCT-99。利用ORACLE提供的日期掩碼格式,可按需要顯示日期與時間。例如顯示系統(tǒng)日期或顯示系統(tǒng)日期、時間:SELECTTO_CHAR(SYSDATE,'YYYY-MM-DD')FROMDUAL;或SELECTTO_CHAR(SYSDATE,'YYYY-MM-DDHH:MM:SS')FROMDUAL;6.幾個常用的ORACLE函數(shù)(1)LTRIM()、RTRIM()、TRIM():去除前導(dǎo)、后綴的空格或字符。(2)UPPER()、LOWER():字符大小寫轉(zhuǎn)換。(3)SUBSTR(str,m,n):截取子串。其中,str:字符串;m:開始位置;n:長度。7.在Oracle中,可以使用SETAUTOCOMMIT命令來設(shè)置事務(wù)自動提交環(huán)境。一旦設(shè)置了自動提交,則在每個SQL操作INSERT、UPDATE或DELETE語句之后,系統(tǒng)就自動進行了提交。一般情況下,最好不要使用自動提交方式。設(shè)置自動提交的語句格式:SETAUTOCOMMITIMMEDIATE;
SETAUTOCOMMITON;設(shè)置非自動提交的語句格式:SETAUTOCOMMITOFF;Oracle以非自動提交方式為缺省方式。8.查詢其他用戶的數(shù)據(jù)(必須為授權(quán)的用戶),應(yīng)在表名前增加用戶名作為限定詞。格式為:用戶名.表名9.查詢本用戶所有表上的完整性約束名稱。SELECTConstraint_name,Constraint_type,Table_name,R_constraint_nameFROMUser_constraints;ConstraintType
Character
PRIMARYKEY
P
UNIQUEKEY
U
FOREIGNKEY
R
CHECK,NOTNULL
C
10.查詢本用戶所有表上的非空約束和CHECK約束條件。SELECTConstraint_name,Search_conditionFROMUser_constraints;11.查詢本用戶所有表上定義的完整性約束的約束列名SELECTConstraint_name,Table_name,Column_nameFROMUser_cons_columns;六.教學(xué)管理數(shù)據(jù)庫設(shè)計各表的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)如下:注意:字符型c用varchar2(xx)1.學(xué)生情況表StudentCS:計算機系SNO(C,5)CS:計算機系學(xué)號SNAME(C,10)姓名SDEPT(C,2)系SCLASS(C,2)班級SSEX(C,2)性別SAGE(N,2)年齡96001馬小燕CS01女21MA:數(shù)學(xué)系IS:信息系96002MA:數(shù)學(xué)系IS:信息系黎明CS01男1896003劉東明MA01男1896004趙志勇IS02男2097001馬蓉MA02女1997002李成功CS01男2097003黎明IS03女1997004李麗CS02女1996005司馬志明CS02男18
主關(guān)鍵字:SNO非空字段:SNAME,SDEPT,SCLASS2.課程名稱表Course3.教師授課表TeachCNO(C,3)課程號CNAME(C,16)課程名稱CTIME(N,3)學(xué)時數(shù)TNAME(C,8)教師姓名TSEX(C,2)性別CNO(C,3)課程號TDATE授課日期TDEPT(C,2)系001數(shù)學(xué)分析144王成剛男0041999.9.5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 牲畜運輸合同
- 健身行業(yè)訓(xùn)練方法總結(jié)
- 2025年度隨車吊租賃與隧道施工服務(wù)合同3篇
- 網(wǎng)絡(luò)平臺風險評估方法-洞察分析
- 酮康唑軟膏臨床應(yīng)用指南-洞察分析
- 野生植物資源開發(fā)與保護平衡-洞察分析
- 2025年度集裝箱制造行業(yè)競爭分析合同3篇
- 二年級班主任期末工作總結(jié)激發(fā)興趣開啟智慧之門
- 營養(yǎng)食品配比優(yōu)化-洞察分析
- 開發(fā)商商品房買賣合同
- 廣告宣傳物料廣告宣傳物料配送方案
- 2024年長春醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫及答案解析
- 品質(zhì)部組織架構(gòu)圖構(gòu)
- 解析幾何-2023上海市高三數(shù)學(xué)一模匯編【教師版】
- 項目維修維保方案
- 上海市浦東新區(qū)2023-2024學(xué)年一年級上學(xué)期期末考試數(shù)學(xué)試題
- 插圖在小學(xué)英語口語教學(xué)中的運用
- 前列腺增生藥物治療
- 人工智能知識圖譜(歸納導(dǎo)圖)
- 滴滴補貼方案
- 民宿建筑設(shè)計方案
評論
0/150
提交評論