1樓:匿名使用者
sql語句如下:
1.select * from student where sname='李政'
2.這題見鬼了,沒有年齡欄位,更沒有出生日期等資訊,寫什麼?
3.select sname,sno from student where exists(select 1 from class where clsname='計算機01' and clsno=student.clsno)
4.select clsname from class where exists(select 1 from student where sname='張山' and clsno=class.clsno)
在學生-課程資料庫中,有三張表,請用關係代數表示式查詢如下問題 20
2樓:上官三雲
自己寫的,親測可用。請給分。
3、已知三個關係模式:
學生 s(s#,sname,age,***),其屬性的含義為:學號,姓名,年齡,性別;
學習成績 sc(s#,c#,grade) ,其屬性的含義為:學號,課程號,成績;
課程 c(c#,**ame,teacher),其屬性的含義為:課程號,課程名,教師。
(1)請用關係代數表示式描述查詢:學號為『s2』的學生所選課程的課程號。
答: pi c#(delta s#=『s2』(s))其中pi表示投影,delta 表示選擇
(2)完善下面的sql語句片斷。
答:create table sc(
s# char(10),
c# char(10),
grade number(2),
primary key (s#,c#), /*建立主碼約束*/
foreign key refernces s(s#), /*在s#列上建立外碼約束*/……)
(3)用sql查詢塊描述下列查詢:
學生「李勇」所選選修的課程名。
答: select c.**ame
from s, sc, c
where s. sname='李勇'
and s.s#=sc.s#
and c.c#=sc.c#;
統計每門課程的選課人數。
答:select c.**ame, count(s.s#)
from sc, c, s
where c.c# = sc.c#
and sc.s# = s.s#
group by c.**ame;
在學生表中插入資料(『1001』,『王勇』,『男』,19)
答:insert into s values ('1001','王勇','男',19);
***mit;
資料庫系統中的習題,關係代數的表達,6個問題
3樓:匿名使用者
[例]設教學資料庫中有3個關係:
學生關係s(sno,sname,age,***)
學習關係sc(sno,**o,grade)
課程關係c(**o,**ame,teacher)
下面用關係代數表示式表達每個查詢語句。
(1) 檢索學習課程號為c2的學生學號與成績。
πsno,grade(σ **o='c2'(sc))
(2) 檢索學習課程號為c2的學生學號與姓名
πsno,sname(σ **o='c2'(ssc))
由於這個查詢涉及到兩個關係s和sc,因此先對這兩個關係進行自然連線,同一位學生的有關的資訊,然後再執行選擇投影操作。
此查詢亦可等價地寫成:
πsno,sname(s)(πsno(σ **o='c2'(sc)))
這個表示式中自然連線的右分量為"學了c2課的學生學號的集合"。這個表示式比前一個表示式優化,執行起來要省時間,省空間。
(3)檢索選修課程名為maths的學生學號與姓名。
πsno,sanme(σ **ame='maths'(sscc))
(4)檢索選修課程號為c2或c4的學生學號。
πsno(σ **o='c2'∨**o='c4'(sc))
(5) 檢索至少選修課程號為c2或c4的學生學號。
π1(σ1=4∧2='c2'∧5='c4'(sc×sc))
這裡(sc×sc)表示關係sc自身相乘的乘積操作,其中數字1,2,4,5都為它的結果關係中的屬性序號。
資料庫中用關係代數表示式,查詢至少選修兩門課程的學生的學號和姓名怎麼寫?
4樓:曾寅彪
study(sno,**o,score)查詢至少選修了兩門課程的學生學號:π1(σ(1=4λ2!=5)(study x study))
在student資料庫中用關係代數表示式檢索「資料庫原理」課程成績高於90分的學生的學號、姓名、專業和分數;
5樓:匿名使用者
這個跟資料庫表的設計有關,你的問題應該設計3個表,一個是學生表(學號,姓名,專業),一個是課程表(課程代號,課程名),還有一個是成績表(學號,課程代號,分數),那麼所求問題的sql語句是:
select a.學號,a.姓名,a.
專業,c.分數 from 學生表 a,課程表 b,成績表 c where a.學號=c.
學號 and b.課程名="資料庫原理" and b.課程代號=c.
課程代號 and c.分數〉90
資料庫關係代數表示式的問題,第四問和第五問,不明白什麼意思,求解答。 20
6樓:匿名使用者
給你答案其實是在害你,給你知識點,如果還不會再來問我
線性代數的學習切入點:線性方程組。換言之,可以把線性代數看作是在研究線性方程組這一物件的過程中建立起來的學科。
線性方程組的特點:方程是未知數的一次齊次式,方程組的數目s和未知數的個數n可以相同,也可以不同。
關於線性方程組的解,有三個問題值得討論:
(1)、方程組是否有解,即解的存在性問題;
(2)、方程組如何求解,有多少個解;
(3)、方程組有不止一個解時,這些不同的解之間有無內在聯絡,即解的結構問題。
高斯消元法,最基礎和最直接的求解線性方程組的方法,其中涉及到三種對方程的同解變換:
(1)、把某個方程的k倍加到另外一個方程上去;
(2)、交換某兩個方程的位置;
(3)、用某個常數k乘以某個方程。我們把這三種變換統稱為線性方程組的初等變換。
任意的線性方程組都可以通過初等變換化為階梯形方程組。
由具體例子可看出,化為階梯形方程組後,就可以依次解出每個未知數的值,從而求得方程組的解。
對方程組的解起決定性作用的是未知數的係數及其相對位置,所以可以把方程組的所有係數及常數項按原來的位置提取出來,形成一張表,通過研究這張表,就可以判斷解的情況。我們把這樣一張由若干個數按某種方式構成的表稱為矩陣。
可以用矩陣的形式來表示一個線性方程組,這至少在書寫和表達上都更加簡潔。
係數矩陣和增廣矩陣。
高斯消元法中對線性方程組的初等變換,就對應的是矩陣的初等行變換。階梯形方程組,對應的是階梯形矩陣。換言之,任意的線性方程組,都可以通過對其增廣矩陣做初等行變換化為階梯形矩陣,求得解。
階梯形矩陣的特點:左下方的元素全為零,每一行的第一個不為零的元素稱為該行的主元。
對不同的線性方程組的具體求解結果進行歸納總結(有唯一解、無解、有無窮多解),再經過嚴格證明,可得到關於線性方程組解的判別定理:首先是通過初等變換將方程組化為階梯形,若得到的階梯形方程組中出現0=d這一項,則方程組無解,若未出現0=d一項,則方程組有解;在方程組有解的情況下,若階梯形的非零行數目r等於未知量數目n,方程組有唯一解,若r在利用初等變換得到階梯型後,還可進一步得到最簡形,使用最簡形,最簡形的特點是主元上方的元素也全為零,這對於求解未知量的值更加方便,但代價是之前需要經過更多的初等變換。在求解過程中,選擇階梯形還是最簡形,取決於個人習慣。
常數項全為零的線性方程稱為齊次方程組,齊次方程組必有零解。
齊次方程組的方程組個數若小於未知量個數,則方程組一定有非零解。
利用高斯消元法和解的判別定理,以及能夠回答前述的基本問題(1)解的存在性問題和(2)如何求解的問題,這是以線性方程組為出發點建立起來的最基本理論。
對於n個方程n個未知數的特殊情形,我們發現可以利用係數的某種組合來表示其解,這種按特定規則表示的係陣列合稱為一個線性方程組(或矩陣)的行列式。行列式的特點:有n!
項,每項的符號由角標排列的逆序數決定,是一個數。
通過對行列式進行研究,得到了行列式具有的一些性質(如交換某兩行其值反號、有兩行對應成比例其值為零、可按行等等),這些性質都有助於我們更方便的計算行列式。
用係數行列式可以判斷n個方程的n元線性方程組的解的情況,這就是克萊姆法則。
總而言之,可把行列式看作是為了研究方程數目與未知量數目相等的特殊情形時引出的一部分內容
access關係代數除法運算,資料庫關係代數運算問題
這裡用通俗些的語言講一下步驟。1.先去找被除數 r 中與除數 s 所含有的相同的屬性集 即第一行的欄位 有什麼。此題觀察發現是 a,b 2.找到 a,b 後,就去比較r中所有的投影值,哪個是與s中 a,b 的投影值相同。所謂投影,就是說去找第一行屬性集對應之下的各行的值 會發現只有r的最後一行的符合...
關聯式資料庫中關係代數的基本運算有哪些
1 傳統集合運算,包括 並 交 差 迪卡爾積 2 專門關係運算,包括 選擇 投影 連線 等值連線 自然連線 sql的五種基本關係代數運算是什麼?五種基本 ai作 並,差du,積,選擇,投影 構成zhi關係代數完備的dao操作集。其他非基本操作 回可以答用以上五種基本操作合成的所有操作。並 u 交 投...
asp資料庫連線問題,asp資料庫連線問題
貼那麼多 幹嘛,不說重點 有無出錯提示?有的話,是第幾行?那一行 是哪句?if password rs password then 當你open時查詢記錄為空時,再下面這條判斷密碼的if不成立,則會出錯。中間要加個if rs.eof false and rs.bof false then 把你的連線...