




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗一用sqlserver實現(xiàn)數(shù)據(jù)庫設(shè)計實驗冃的:1. 掌握使用企業(yè)管理器創(chuàng)建和管理sql server數(shù)據(jù)庫及相關(guān)數(shù)據(jù)庫對象。2. 掌握使用sql語言屮的select命令實現(xiàn)杳詢功能。上機準備:1. 復(fù)習有關(guān)關(guān)系數(shù)據(jù)庫的基本知識和概念;2. 復(fù)習冇關(guān)sql語言中select命令的使用;3. 了解有關(guān)sql server系統(tǒng)的組成:4. 復(fù)習有關(guān)sql server服務(wù)器的使用和管理;5. 復(fù)習有關(guān)企業(yè)管理器的基木操作;6. 復(fù)習有關(guān)查詢分析器的基本操作;7. 了解冇關(guān)sql server服務(wù)器的登陸賬號,密碼;實驗內(nèi)容:本實驗將建立一個學校教學管理數(shù)據(jù)庫,在這個數(shù)據(jù)庫中,存儲以下信息:1.
2、有關(guān)學生的信息,包括學生的學號,姓名,班級,性別,出牛時間,政治而貌,籍貫,入學時間,聯(lián)系電話,簡歷;stude nt(snosn ame, ssex,class no ,sbirth,status,hometow nenrollme nt,teleph on e,resume)2. 有關(guān)班級的信息,包括班級的班名,專業(yè),年級,人數(shù),班主任;sclass(classno,classname,majoigrade,number, advisor)3. 有關(guān)課程的信息,包括課程編號,課程名稱,課程類別(是指該課程為必修,指選還是 任選),適用專業(yè),適用年級,開課時間(是指在每個學年的第一學期,還是
3、第二學期),學分,周 學時;course(courseno,coursename,category,major,grade,starttm,credits, weekhours)4. 有關(guān)學年課程安排的信息,包括課程編號,開設(shè)課程的學年(例如:2002學年),開設(shè)課程的班級,任課教師;schedule(courseno5startyeaeclassno,teacher)5. 有關(guān)學生選課的信息,包括課程編號,學生的學號,成績;sc(courseno,sno,score)/beast-pcbeast.teaching - dbo.student列名數(shù)據(jù)類型允詐null值sno1 char(10)
4、snamechar(20)ssexchaclassnochar(10)sbirthdatetimestatusvarchar(30)hometownvarchar(so)enrollmentdatetimetelephonevarchar(30)resumevarchar(500)beast-pcbeast.teaching - dbo.sclassbeast-pcbeast.teaching - dbo.student列名數(shù)據(jù)類型允許null值>char (10)classnamevarchar(50)圜majorvarchar(30)圍gradevarchar(lo)numbersm
5、allint圍advisorchar (10)beast-pcbeast.teaching - dbo.course beast-pcbeast.teachinc列名數(shù)據(jù)類型允許null值char(10)ncoursenamevarchar(50)ncategoryvarchar(50)majorvarchar(50)gradevarchar(lo)starttmvarchar(20)creditsvarchar(lo)weekhoursvarchar(lo)beast-pcbeast.teaching dbo.sc _ beast-pcbeast.te.ng -列名數(shù)據(jù)類型允許null值1
6、sno:char(10)n$ coursenochar(10)nscorefloat回熟悉開發(fā)環(huán)境register server二、使用企業(yè)管理器完成數(shù)據(jù)庫及數(shù)據(jù)庫對象的創(chuàng)建和管理實驗步驟:1. 創(chuàng)建數(shù)據(jù)庫(1) 要求參數(shù):數(shù)據(jù)庫名稱:teaching 數(shù)據(jù)庫邏輯文件名:teaching.血ta h志邏輯文件名:teaching_log操作系統(tǒng)數(shù)據(jù)文件名:e:xxxteaching.mdf操作系統(tǒng)fi志文件名:e:xxxteaching.ldf 數(shù)據(jù)文件初始大小:5mb日志文件初始大小:1mb 數(shù)據(jù)文件最大大?。?0mb l1志文件最大大?。?mb數(shù)據(jù)文件增長增量:10% 口志文件增長增量:1
7、0%new database(2) 創(chuàng)建后在database節(jié)點查看是否已包含了剛創(chuàng)建的數(shù)據(jù)庫teaching;databasess 匚j system databses | j teaching田 o databse diagramss tabless views田 lj synonyms田 lj programmability田 lj security(3) 展開teaching節(jié)點,以下的所有對彖均創(chuàng)建在teaching數(shù)據(jù)庫中;0 qj teachi ngs _j database diagrams0 _i tabless 一i system tabless 2 dbo.courses
8、 2 dbo.sc® 2 dbo.schedule® 2 dbo.sclass® 2 dbo.students _j viewss _j synonymss _j programmabilitys _j security2. 創(chuàng)建用戶定義的數(shù)據(jù)類型(1)練習按要求創(chuàng)建以下數(shù)據(jù)類型 數(shù)據(jù)類型名稱數(shù)據(jù)描述member_no 整數(shù),且存儲的值不超過30000generalschema:name:data type:length: allow nullsstorage:bindingdefault:rule:generalshortstring最多15個字符的可變長字符型
9、schema:name:data type:length: allow itullsstorage:bindingdefault:rule:generalschema:mmname:rata type:length: allow nullsstorage:bindingdefault:rule:3. 創(chuàng)建表(1)根據(jù)上述數(shù)據(jù)庫存儲的信息,決定創(chuàng)建幾個表,并給每一個表指定一個有意義的表名;(2)根據(jù)侮個表中每列存儲的數(shù)據(jù)的情況,為每個列指定列名,數(shù)據(jù)類型,數(shù)據(jù)的長度, 是否允許為空等列的屬性;(3)使用企業(yè)管理器建立所有的表;(4)創(chuàng)建z后,還可以根據(jù)貝體情況,再對表的結(jié)構(gòu)進行修改;(包括添加列
10、,刪除列, 修改已存在的列)列名數(shù)據(jù)類型允詐null值| sno:char (10)sn amechar (20)nssexchar 匣classnochar(10)sbirthdatetime匣statusvarchar(3o)hometow nvarchar(50)匣enrollme ntdatetimetelepho nevarchar(30)匣resumevarchar(500)n1 x /beast-pcbeast.teaching dbo.studentbeast-pcbeast.teaching dbo.sclassl!beast-pcbeast.teaching - dbo.s
11、tudent列名數(shù)據(jù)類型允許null值char (10)classnamevarchar(50)回majorvarchar(30)圜gradevarchar(lo)回numbersmallint圍advisorchar (10)beast-pcbeast.teaching - dbo.course beast-pcbeast.teachinc列名數(shù)據(jù)類型允許null值isfcoursenochar (10)coursenamevarchar(50)categoryvarchar(50)majorvarchar(50)gradevarchar(lo)starttmvarchar(20)credi
12、tsvarchar(lo)weekhoursvarchar(lo)_ beast-pcbeast.te.ng - dbo.schedule beast-pcbeast.tee列名數(shù)據(jù)類型允許null ff垃 | courseno: char(10)* startyeardatetime* classnochar(10)teachervarchar(30)4. 實現(xiàn)數(shù)據(jù)完整性(1) 針對每一個表分析并定義主碼(primary key)sc:schedule:土/urr 5 im| coursenoj char (10)$ startyeardatetime$ classnochar (10)te
13、achervarchar(30)畫course:數(shù)坯尖型兀升null 11char (10)ncoursenamevarchar(50)ncategoryvarchar(50)majorvarchar(50)gradevarchar(lo)starttmvarchar(20)creditsvarchar(lo)weekhoursvarchar(lo)nsclass:? classnochar(10)classnamevarchar(50)畫majorvarchar(30)畫gradevarchar(lo)畫numbersmallint畫advisorchar(10)畫student:八葉八5
14、|耳1 snochar (10)snam 已char (20)(ssexch前圍classnochar (10)圍sbirthdatetime圍statusvarchar(30)圍hometownvarchar(50)圍enrollme ntdatetime圍telepho nivarchar(30)圍resumevarchar(500)回(2) 定義uique約束用來規(guī)定一個列中的兩行不能冇相同的值;例如:希望學牛的姓名是唯一的;(3) 針對每一個表分析外部碼,并利用“關(guān)系圖”定義外部碼(foreign key),建立表z間 的參照關(guān)系;create table sc(sno char(9)
15、,courseno char(4),score smallint,primary key(sno,courseno),foreign key(sno) refrences student(sno),foreign key(courseno) refrences course(courseno)關(guān)系圖:(4)定義缺省值方法1:直接在表設(shè)計時,定義列的default屬性;例如:練習在定義“性別”列時,定義它的缺省值為“男”;snamechar (20)ssexcharclassnochar (10)sbirthdatetimestatusvarchar (30)hometow nvarchar(5
16、0)enrollme ntdatetimet elephonevarchar (30)resumevarchar(500)列扈性園頭-j日(常規(guī)) (名稱) 長度ssex2默認值或綁定男敎據(jù)類型char午mudl潔曰方法2:創(chuàng)建一個缺省值對象,然后綁定到任何一個需要的列;例如:練習創(chuàng)建并綁定一個缺省值到學生的聯(lián)系電話,缺省值為unknown-;create defult telephone_defult as 'unknown'$ snochar(10)snamechar(20)ssexchar classnochar (10)sbirthdatetimestatusvarch
17、ar(30)hometownvarchar (50)enrollmentdatetime> telephonevarchar (x)resumevarchar(500)nnlgm回叼回whslrl(常規(guī)) (名稱)telephonea長度30默認值或劣定數(shù)據(jù)類型命m 44u1 dbo. telephone.defglt(5)創(chuàng)建以上約束后,練習修改約束的操作(包括增加,修改和刪除以上約束);5. 根據(jù)自己所在班級的情況,對已經(jīng)創(chuàng)建的表白己輸入一些相關(guān)示例數(shù)據(jù),在輸入的過程 中,特地輸入一些違反上述約束條件的數(shù)據(jù),觀察處理的效來;(1)使用企業(yè)管理器,完成一些記錄的插入、修改和刪除;(2)
18、練習使用insert、update、delete命令完成記錄的插入、修改和刪除;如果對該 命令的使用不是很清處,請練習查找“幫助系統(tǒng)"完成上述命令的學習;insert into student values(,200815126,;張一;'男 7200812371990-04-057 團員 t 北京v2008-09-017b812345678';無')卯圍|汀叫j, qu©二2孝繆企beast-pcbeast.teaching dbo.student beast-pcbeast.teaching dbo.sc sqlqueryl.sql beast-
19、pc.t (53)*t xinsert into student values匸10210444 j張 j男 j 2010211101' j 1990-04-05 j 團員 j j匕京一2008-097二4nrj消息<1行受影響)beast-pcbeast.teaching dbo.student beast-pcbeast.teaching dbo.sc sqlqueryl.sql beastpct (53)et xsnosnamessexciassnosbrthstatushometownenrollmenttele10210444禺20102111011990-04x)5
20、00:.團員2008-09-0100:.138110210471李四男20102111141991-05-06 00:.賞員河北2010-09-0100:.1s20insert into course valuesf l?數(shù)據(jù)庫技術(shù)t指選丁通信工程;1第2學期:2,2)beast-pcbeast.teaching dbo.course beast-pcxbeast.teaching dbo.sc sqlquerylsql beast-pc.t (53)*t :insert into course values( 訃;該鮒 j選核 jjf指工絵,,第2學期 j大二下2,2)l川i>&quo
21、t;balsrd行受影響“6電路分析迭修通信工程10級大一下447迭修通信工程第2學期大二下22insert into sc(sno,courseno) valuesc* 10210444v1 *)匝e雹書僚igqlllliiills喘wfbeastpcbeasttmching dbolnouae beastpcbeastteach5-g dbo.sc sqlqueryrsq- beas-rpcvv.(53)mlx insehc inco sc (sno courseno) values ( 10210444 1) i m is>upd#e course set sulrhmh -<
22、;屈2<5- where courseno h t虹畫可虜 qlagllliiills<jfbeastpcbeastteac 王 ng dbonoug beast,3beastsn9 dbo.scheduosqlquery 一.帳-9. beast, pc:u(53)x 匸pdace course sec scarctmh ”whehe courseno u l-updaqsc sci score h 90 where sno h 二 0210444- and courseno h 二歹旦4 j旦3 =二詐帯5 -beast-pcbeast.teaching dbo.course
23、beast-pcbeast.te.ng dbo.schedule sqlquerylsql beast pc_t (53)尸 update sc set score = 90 where sno ='102104441 and courseno ='1*nrj行受影響sc表屮出現(xiàn)1021 ()444的學科1分數(shù):snocoursenoscore110210444 m19010210471178執(zhí)行刪除指令:-j|吟 o cjo 匚 mvh ah 、 -b 刁beast-pcbeast.teaching dbo.scbeast-pcbeast.teaching dbo.stude
24、nt sqlqueryl.sql beast-pc.vt (53)et xdelete from sc where sno=10210444 and courseno =!-inli消息i“行受影響)可看!1110210444的學科1分數(shù)已被刪除:dcmb i rudcab i .xeacning qdo.bu dtab i i .xeacsnocoursenoscore110210471 m1781021047138610210471483102104715841021047168310210472180102104722851071047739?(3) 練習使用truncate table
25、命令刪除表數(shù)據(jù);truncate table delete此為新建的表:田 2 dbo.student執(zhí)行刪除指令:dbo.deletebeast-pcxbeast.teaching dbo.sc beast-pcbeast.teaching dbo.student sqlqueryl sql beast pcvzt (53)*二二y二ceo已4 l川自消息命令已成功完成。該表己消失:s匚i漿統(tǒng)表s dbo .coursedbo .deleteldb o.pbca tcoldb o.pbetedtdb o.pbcatfmtdbo .pbcatt bldbo .pbcatvlddbo.scdb
26、o.scheduledbo .sclasss dbo .studentla初1昌(4) 在練習使用命令刪除數(shù)據(jù)z前,可以使用select into命令把數(shù)據(jù)保存到一個新建的 表中;select sno,sname,ssex into stu from studenti判旦蜀嗨1商奧空二辜亭込孑beast-pcxbeast.teaching dbo.sc beast-pcbeast.teaching dbo.student sqlquerylsql beast-pc.vt (53)*select sno, snair.er ssex into szu from studentj消息w行受影響)三
27、、使用企業(yè)管理器創(chuàng)建和管理索引1. 利用表的屬性対話框,觀察每個表已經(jīng)自動創(chuàng)建的索引;2. 針對學牛選課信息表創(chuàng)建如下索引(1) 按學號+課程編號建立主鍵索引,索引組織方式為聚簇索引; create clustered index pk_sc on sc(sno,courseno)執(zhí)行指令:beast-pcbeast.teaching - dbo.sc beast-pcbeast.teaching - dbo.sc:/ sqlquerylsql beastpc_va (53)尸壽xcreace clustered index pk sc bw sc(snor courseno)-ij41 e1
28、,d消息命令已成功完成。a創(chuàng)建成功:beast-pcbeast.teaching - dbo.scbeast-pcbeast.teachinc列名數(shù)據(jù)類型允許null值snochar(10)g coursenochar(10)scorefloat(2)按學號建立索引,考慮是否需要創(chuàng)建唯一索引,索引組織方式為非聚簇索引;列星唯一的sno (asc)三日標識(名稱)說明 日表設(shè)曲pkstuden t二創(chuàng)建為聚集的s忽路重復(fù)避否0埜摒卞閆規(guī)范primarys填充規(guī)范泊仝審咼k(3)按課程編號建立索引,考慮是否需要創(chuàng)建唯一索引,索引組織方式為非聚簇索引;日(常規(guī))4列courseno (asc)曇唯一
29、的星日標識(名稱)pkcourse說明b表設(shè)包含的列創(chuàng)建為霆集的星忽路重復(fù)鍵吞田數(shù)肆間規(guī)范primary田t百亦;壩節(jié)(4) 再針對學生選課信息表輸入一些數(shù)據(jù),觀察表中記錄位置的變化;通過觀察比較非聚 簇索引和聚簇索引的不同z處;3. 針對具它表,練習創(chuàng)建索引;(考慮:是否對每個列都應(yīng)創(chuàng)建索引?應(yīng)該從哪些方面考 慮是否應(yīng)為此列創(chuàng)建索引?)不盂要每一列都創(chuàng)建索引,應(yīng)該從我們對于數(shù)據(jù)庫的管理和排序的方便的和簡單性出發(fā)對于 某些列創(chuàng)建索引4. 練習索引的修改和刪除操作四、使用查詢分析器實現(xiàn)以下查詢1. 練習課堂上舉例介紹的幾類查詢;2. 實現(xiàn)以下查詢(1)檢索選修了課程號為c1或c2課程,且成績高于
30、或等于70分的學牛的姓名,課程名和成績。 select snamc,coursename,score from student,sc,course where studcnt.sno = sc.sno and sc.courseno = course.courseno and (course.courseno='c 1* or course.courseno='c2') and score >= 70beast-pcbeast.teaching - dbo.course beast-pcbeast.teaching - dbo.sc sqlquerylsql -
31、beast pc._vt (53)*t >0 select sname,coursename,score from student,曰c.couzme where student.sno scsno and-sc.co umseiio = course .uoursmno and (course uoor course .co urseno='2) and score >= 70in結(jié)果hj消息snamecoursenamescore1李四1數(shù)據(jù)庫技術(shù)782王二數(shù)據(jù)庫技術(shù)803王二通信電子電路854麻子數(shù)損庫技術(shù)935麻子通信電子電路766武_數(shù)據(jù)庫技術(shù)857張三數(shù)據(jù)庫技術(shù)
32、90(2) 檢索姓“干"的所有學生的姓名和年齡。select sname, year(getdat玖)-year(sbirth) from student where sname like '王beast-pcbeast.teaching dbo.course beast-pcbeast.teaching dbo.sc sqlquerylsq廠 beast pc-(53)w select sname, year(getdate() - year(sbirch) from student-where sname 匚ike 王*'in二結(jié)栗消息sname 氏列名):1 &
33、#163;21(3) 檢索沒有考試成績的學生姓名和課程名。select sname,coursename,score from student,sc,course where student.sno = sc.sno andsc.courseno = course.courseno and (course.courseno=,c 11 or course.courseno=,c2,) and score >=70beast-pcbeast.teaching - dbo.sc beastpcbeasttemhing dbocourse sqlquerylsql beast pc_t (59
34、)t x course where student sno=scsno and suc.courseno and score is null |n廠4|川>sname courename1 李四!通信電子電路2 張三電影尬賞3 張三電路分析(4) 檢索年齡大于女同學平均年齡的男學生姓名和年齡。select sname,year(getdate() year(sbirth) age from student where ssex 二'男'and year(getdateo) year(sbirth) > (select avg(year(getdate() year(
35、sbirth) from student where ssex 二'女)注i:述查詢中所用的課程號利學號的值,可以根據(jù)口己表中的數(shù)據(jù)作修改;為了驗證查詢 的正確,可能還需要輸入或修改表中的示例數(shù)據(jù);五、創(chuàng)建和管理視圖1.創(chuàng)建視圖:使用企業(yè)管理器或使用create view命令例1:創(chuàng)建視圖,包含所有通信工程專業(yè)的學生的信息;create view tx_studcnt asselect sno,sname,ssex,student.classno,sbirth,status from student,sclass wherestudent.classno = sclass.classn
36、o and major 通信工程'with check option)窗口 (w)社區(qū)(g幫助(h)beast-pcbeast.teaching - dbo.sc beast-pcbeast.teaching - dbo.course sqlqueryl.$ql beast-pc.-t (53)*create view tx_s匸udent asselect sno,ssexz student classno/sbirth,status from student,sclass where studentclassno - sclass with check option<ilf鬲
37、消息命令已成功完成。田二dbo.student0 視圏s 票統(tǒng)視囹dbo.txstudenta epe日 t 八 m例2:創(chuàng)建視圖,包含所冇學生的學號,姓名,選課的課程名和成績;create view sc_gradcwith encryptionasselect student.sno,sname,coursename,score from student,course,scwhere student.sno=sc.sno and course.courseno=sc.courseno嶼曙嚙輜j©丨亙釦事辜|躺乞beast-pcbeast.teaching - dbo.sc bea
38、st-pcbeast.teaching dbo.course sqlqueryl.sql beast-pc. . t (53)* create view sc_gradewith encryptionasselect studentsno,sname,coursename,score from student,course,scwhere student sno=sc sno and course coui:s0no=sc coumseiioi i2lj岳消息視圖命令已成功麺廠0 s 漿統(tǒng)視圏田 eli dbo.scgrade田回 dbo.txstudent例3:創(chuàng)建視圖,包含所有課程的課程號
39、,名,班級名稱及每班選課的人數(shù);create view sc_classasselect course.courseno,coursename,classname4otalfromcourse,sclass,(select course.courseno,classno,count(*) totalfrom course,student,scwhere course.courseno=sc.courseno and student.sno=sc.snogroup by course.courseno,student.classno) tempwherecourse.courseno=temp.
40、courseno and sclass.classno=temp.classnobeast-pcbeast.teaching dbo.sc beast-pcbeast.teaching dbo.course sqlqueryl.sql beast-pcvvt (53)尸 create view sc classas一select course courseno, coursenaxne, classnamef totalfromcourse,sclass,(select course cours己no,classno count(*) totalfrom course,student,scwh
41、ere course uoum9eno9uuouzm色no and student 9no9csnogroup 3y coursecourmeno,student.clamyno) tempwherecourse courseno=匸einp coumseho and sclass classno=teinp .classnob消息命令已成功完成。視圖b a 至統(tǒng)視圏田阿 dbo.sc.class(±)囲 dbo.sc_grade田因j dbo.tx_student2. 練習修改視圖的定義第一個視圖,包括with check option選項第二個視圖,包括with encrypti
42、on選項;(查看視圖的屬性,觀察和以前冇和不同)3. 利用已經(jīng)創(chuàng)建的視圖進行查詢;coursenocoursenamedassnametotal1教據(jù)庫技術(shù)信通1鋤12通信電子電路信通1鋤13電子電路蔓確msk14dspmsk15電影臨msk16電路分忻msk11數(shù)損庫技術(shù)信通15班12通值電子電路值通15班13電子電路基碎信通15班14dsp信通15班15電影欣賞信通15班0j6電賂分析信通15班11數(shù)提庫技術(shù)信通16班12通信電子電路信通16班13電子電路基昭信通16班14dsp信通16班15信通16班16電路分析信通16班11數(shù)據(jù)庫技術(shù)信通1砌12通信電子電路信通1砌13電子電路基碓信通
43、1砌14. 利川己經(jīng)創(chuàng)建的視圖修改數(shù)據(jù)(觀察是否所冇通過視圖的修改都能實現(xiàn)?) 完全可以1數(shù)據(jù)庫技術(shù)信通15班12通信電子電路11數(shù)據(jù)庫技術(shù)信通15班12通信電子電路15. 練習刪除視圖 可以肓接刪除視囹q 口e 至統(tǒng)視囹|±1 回 dbo.sc.class 田品 dbo.sc_grade 田回 dbo.tx_studenti±i _j aoo.ruaentq _j視冒®票統(tǒng)視圖dbo.txstudent田阿 dbo.sc_classs fl實驗二sql server數(shù)據(jù)庫設(shè)計高級內(nèi)容一、使川查詢分析器實現(xiàn)以卜查詢(1)統(tǒng)計有學綸選修的課程門數(shù)。select co
44、untdistinct eno) from scbeast-pcbeast.t.g dbo.sc.class* beast-pcbeast.te.ng dbo.sc.class sqlquerylsql beast-pc.,vt (53)*q select count(distinct courseno) from scin口結(jié)果jj消息無乞名|叵二j 求選課在四門以上的學生所選課程的平均成績(不統(tǒng)計不及格的課程)。最后按降序列出 平均成績名次名單來。select snozavg(score) avg_gradefrom scwhere score >= 60group by sno h
45、aving count(courseno)>=4order by avg_grade descbeast-pcbeast.t.g dbo.sc.class* beast-pcbeast.te.ng dbo.sc.class sqlquerylsql beast-pc.vt (53)廣 select snozavg(score) avg_gradefrom scwhere score >= 60group by sno having count(courseno)>=4-order by avg_grade descnrsnoavg_grade110210477 j897521
46、021047285 833333333333331021047385541021047483510210471828 統(tǒng)計每門指選課程的學牛選修人數(shù)(超過4人的課程才統(tǒng)計),要求輸出課程號,課程名和選修人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號升序排列。select courseno,count(sno) snumfrom scgroup by courseno having count(sno)>=4order by count(sno) desc, courseno asct xbeast-pcbeast.t.g - dbo.sc.class* beast-pcbeast.t
47、e.ng - dbo.sc.class sqlquerylsql beast pcvt (53)* ej select courseno,count(sno) snurcfrom scgroup by courseno having count(sno)>4-order by count(sno) desc, courseno asc“川i>courseno snum1 t1 52 253 454 555 346 64(4) 檢索所學課程包含了s3所選所有課程的學生姓名。select distinct sno from sc sc_l wherenot exists(select
48、* from sc sc_2 where sno='102104771 andnot exists(select * from sc sc_3sc 2 coursenowhere sc_3 sno = sc_lsno and sc_3.courseno)obeast-pcbeast.t.g dbo.sc.class* beast-pcbeast.te.ng dbo.sc.class sqlqueryl.sql beastpc (53)*sc 2 where sno=,10210477' and select distinct sno from sc sc_l where not
49、 exists( select * from scsc 3mmsc 1sno and sc 3courseno = sc 2coursenonot exists( select * from scwhere sc 3sno =nr二1結(jié)果_ j消息sno1 10210471 j2 ”同® w3 102104734 10210477注:上述查詢中所用的課程號和學號的值,可以根據(jù)自己表中的數(shù)據(jù)作修改;為了驗證查詢 的正確,可能還需要輸入或修改表中的示例數(shù)據(jù);二、實現(xiàn)數(shù)據(jù)完整性(1)定義check約束check約朿用來限制用戶輸入的某一列數(shù)據(jù);例如:成績輸入的值應(yīng)該限制為0-100z間的數(shù)值alter table sc add constraint ck_sc check( score >= 0 and score <= 100)! j»3gl畫©匸z車幸笆總beast-pcbeast.t.g dbo.sc.class* beast-pcbeast.te.ng - dbo.sc.class sqlquerylsql beastpcv-.t (53)*t xe alte
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025企業(yè)與股東之間的借款合同模板
- 2025家居裝修涂料采購合同模板
- 模板支撐體系建筑工程保溫施工合同
- 虛擬財產(chǎn)交易平臺結(jié)算服務(wù)與網(wǎng)絡(luò)支付安全協(xié)議
- 抖音內(nèi)部創(chuàng)作者競爭權(quán)益保障協(xié)議
- 高效建筑項目鋼材期貨價格鎖定采購專項合同
- 歐洲分公司設(shè)立:跨區(qū)域市場拓展合作協(xié)議
- 2025年中國包裝印刷機行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 虛擬偶像形象使用權(quán)托管協(xié)議
- 游戲企業(yè)融資與風險投資合作協(xié)議
- 第2單元 第4課 跨學科活動:昆蟲的識別 教學設(shè)計-2024-2025學年清華大學版初中信息科技八年級下冊
- 土地整治與耕地保護考核試卷
- 2025年高中物理:《公式+思維導(dǎo)圖》三年都有用
- DB11∕T212-2024園林綠化工程施工及驗收規(guī)范
- 《電影《絕命毒師》劇情解析》課件
- 2024年淄博高新區(qū)事業(yè)單位招聘退役大學生士兵筆試真題
- 《鐵路路基智能填筑技術(shù)規(guī)程》
- BSL實驗室生物安全管理體系文件
- 窗戶加裝限位器施工方案
- 濟寧醫(yī)學院《復(fù)變函數(shù)本》2023-2024學年第二學期期末試卷
- 2025年上半年浙江省杭州市富陽區(qū)永昌鎮(zhèn)人民政府編外用工人員招聘1人易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論