山東大學資料庫系統實驗九

2021-09-18 07:02:31 字數 2552 閱讀 1863

宣告:所有sql語句均在實驗平台驗證通過,實驗細節可能隨時間推移老師會進行修改。在此僅提供解答思路,畢竟我的方法肯定不是最優,而且實驗平台有查重功能,不要一昧的複製哦!

建立表test9_01,表的結構同pub.student_11_1一樣。

為test9_01的sid建立唯一不重複索引。

將pub使用者下的student中性別是「女」的資料新增到test9_01中。

將pub使用者下的student_11_1中性別是「女」的資料新增到test9_01中,如果某個學號已經包含在test9_01中,這個記錄就不要再插入了(即不要插入重複學號的資料)。

將pub使用者下的student_11_2中性別是「女」的資料新增到test9_01中,如果某個學號已經包含在test9_01中,這個記錄就不要再插入了(即不要插入重複學號的資料)。

要求完成上述功能,請採用1條create、3條insert共4條sql方式完成。

create table test9_01(

sid char(12) not null unique,

name varchar2(10) not null,

*** char(2),

age int,

birthday date,

dname varchar2(30),

class varchar2(10)

);insert into test9_01 select * from pub.student where ***='女';

insert into test9_01 select * from pub.student_11_1 where ***='女'  and sid not in (select sid from test9_01);

insert into test9_01 select * from pub.student_11_2 where ***='女'  and sid not in (select sid from test9_01);

建立表test9_02,表的結構同pub.student_11_1一樣。

為test9_02的sid建立唯一不重複索引。

將pub使用者下的student中性別是「女」的且pub.stuent_score中存在一次不及格成績的同學新增到test9_02中。

將pub使用者下的student_11_1中性別是「女」的且pub.stuent_score中存在一次不及格成績的同學資料新增到test9_02中,如果某個學號已經包含在test9_02中,這個記錄就不要再插入了(即不要插入重複學號的資料)。

將pub使用者下的student_11_2中性別是「女」的且pub.stuent_score中存在一次不及格成績的同學資料新增到test9_02中,如果某個學號已經包含在test9_02中,這個記錄就不要再插入了(即不要插入重複學號的資料)。

要求完成上述功能,請採用1條create、3條insert共4條sql方式完成。

create table test9_02(

sid char(12) not null unique,

name varchar2(10) not null,

*** char(2),

age int,

birthday date,

dname varchar2(30),

class varchar2(10)

);insert into test9_02 select * from pub.student where ***='女' and sid in

(select sid from pub.student_course where score < 60);

insert into test9_02 select * from pub.student_11_1 where ***='女' and sid in

(select sid from pub.student_course where score < 60) and sid not in (select sid from test9_02);

insert into test9_02 select * from pub.student_11_2 where ***='女' and sid in

(select sid from pub.student_course where score < 60) and sid not in (select sid from test9_02);

1.實驗九較為簡單,建立索引可以在定義表的時候就為列進行定義,亦可以單獨再create index。

2.解決插入重複唯一索引資料可以採用(目前插入的索引列的資料)not in(目前表中索引列的所有資料)解決。

3.複製表結構可以採用create table ... as select * from ...where 1<>1;因為where條件恒為false,所以新建的表為空,但是與from的表有相同的結構。

推送自己的一些學習筆記,實驗源**等,

山東大學資料庫系統實驗三

宣告 所有sql語句均在實驗平台驗證通過,實驗細節可能隨時間推移老師會進行修改。在此僅提供解答思路,畢竟我的方法肯定不是最優,而且實驗平台有查重功能,不要一昧的複製哦!1.刪除表中的學號不全是數字的那些錯誤資料,學號應該是數字組成,不能夠包含字母空格等非數字字元。create table test3...

山東大學《資料庫系統》實驗八

提交 commit 和回滾 rollback 實體授權 對比有無索引情況下資料檢索速度,學會如何能夠使用索引,掌握如何查詢是否使用索引了。啟動兩個不同瀏覽器,主賬號 userid 在 firefox 中登入 備用賬號 userbid 在另外乙個瀏覽器登入,或者主賬號在主平台登入,備用賬號在備平台登入...

山東大學2023年資料庫系統習題

一.簡答題 24分 1.簡述資料庫系統 模式結構是什麼,有什麼優點。2.給了乙個元組關係演算的表示式,讓畫表示式樹,然後在畫優化後的表示式樹。sname,cname,score f s sc c 3.關係模式和關係例項的區別。4.事務是什麼,它的特性是什麼。5.判斷是否是多值依賴,然後說明原因。6....