![廣東工業(yè)大學(xué)廣東數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/f7217f6a6a2a5d2f0c0ca6301bd16ad3/f7217f6a6a2a5d2f0c0ca6301bd16ad31.gif)
![廣東工業(yè)大學(xué)廣東數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/f7217f6a6a2a5d2f0c0ca6301bd16ad3/f7217f6a6a2a5d2f0c0ca6301bd16ad32.gif)
![廣東工業(yè)大學(xué)廣東數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/f7217f6a6a2a5d2f0c0ca6301bd16ad3/f7217f6a6a2a5d2f0c0ca6301bd16ad33.gif)
![廣東工業(yè)大學(xué)廣東數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告_第4頁(yè)](http://file4.renrendoc.com/view/f7217f6a6a2a5d2f0c0ca6301bd16ad3/f7217f6a6a2a5d2f0c0ca6301bd16ad34.gif)
![廣東工業(yè)大學(xué)廣東數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/f7217f6a6a2a5d2f0c0ca6301bd16ad3/f7217f6a6a2a5d2f0c0ca6301bd16ad35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
..數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)報(bào)告學(xué)院計(jì)算機(jī)專(zhuān)業(yè)_____計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)______7班學(xué)號(hào)3110006131姓名陳日燊指導(dǎo)教師明俊峰〔20XX11月計(jì)算機(jī)學(xué)院計(jì)科專(zhuān)業(yè)07班學(xué)號(hào):3110006131姓名:陳日燊協(xié)作者:________教師評(píng)定:實(shí)驗(yàn)__一__題目__數(shù)據(jù)庫(kù)及基本表的建立實(shí)驗(yàn)__二__題目__設(shè)計(jì)數(shù)據(jù)完整性__實(shí)驗(yàn)_三__題目__查詢數(shù)據(jù)庫(kù)_實(shí)驗(yàn)_四_題目__創(chuàng)建和使用視圖、索引、存儲(chǔ)過(guò)程實(shí)驗(yàn)平臺(tái):實(shí)驗(yàn)一數(shù)據(jù)庫(kù)及基本表的建立一、實(shí)驗(yàn)?zāi)康?、掌握SQLSERVER的查詢分析器和企業(yè)管理器的使用;2、掌握創(chuàng)建數(shù)據(jù)庫(kù)和表的操作;二、實(shí)驗(yàn)內(nèi)容和要求1、分別使用SQL語(yǔ)句、企業(yè)管理器〔EnterpriseManager創(chuàng)建數(shù)據(jù)庫(kù);2、使用SQL語(yǔ)句、企業(yè)管理器〔EnterpriseManager創(chuàng)建數(shù)據(jù)庫(kù)表;三、實(shí)驗(yàn)主要儀器設(shè)備和材料1.計(jì)算機(jī)及操作系統(tǒng):PC機(jī),Windows2000/xp;2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng):SQLsever2000/2005;四、實(shí)驗(yàn)方法、步驟及結(jié)果測(cè)試創(chuàng)建一個(gè)教學(xué)管理數(shù)據(jù)庫(kù)SC,其描述的信息有:學(xué)生信息、課程信息、教師信息、學(xué)生選課成績(jī)、授課信息、班級(jí)信息、系部信息、專(zhuān)業(yè)信息。創(chuàng)建:student表<學(xué)生信息表>、course表〔課程信息表>、teacher表〔教師信息表>、student_course表〔學(xué)生選課成績(jī)表>、teacher_course表〔教師上課課表等。題目1、創(chuàng)建數(shù)據(jù)庫(kù):實(shí)現(xiàn)代碼及截圖:查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯示CREATEDATABASESCON<NAME=SC_DAT,FILENAME='E:\SC.mdf',SIZE=30MB,FILEGROWTH=20%>LOGON<NAME=SC_LOG,FILENAME='E:\SC.ldf',SIZE=2MB,FILEGROWTH=1MB>實(shí)驗(yàn)結(jié)果截圖顯示題目2、創(chuàng)建基本表創(chuàng)建各表的實(shí)現(xiàn)代碼及截圖:創(chuàng)建student表字段名代碼類(lèi)型約束學(xué)號(hào)s_nochar<8>主鍵姓名snamechar<8>非空性別sexchar<2>出生日期sbirthdaySmalldatetime學(xué)生所在院系編號(hào)dnochar<6>外鍵專(zhuān)業(yè)代碼spnochar<8>外鍵班級(jí)編碼class_nochar<4><2>創(chuàng)建Course表字段名代碼類(lèi)型約束課程編號(hào)cnochar<10>主鍵課程名稱(chēng)cnamechar<20>非空專(zhuān)業(yè)代碼spnochar<8>外鍵課程類(lèi)型編號(hào)ctnotinyint理論學(xué)時(shí)lecturetinyint實(shí)驗(yàn)學(xué)時(shí)experimenttinyint開(kāi)課學(xué)期semestertinyint課程學(xué)分credittinyint〔3創(chuàng)建student_course表字段名代碼類(lèi)型約束學(xué)號(hào)s_nochar<8>主鍵,與student表中s_no外鍵關(guān)聯(lián),級(jí)聯(lián)刪除上課編號(hào)tcidsmallint主鍵學(xué)生成績(jī)scoretinyint<4>創(chuàng)建teacher表字段名代碼類(lèi)型約束教師編號(hào)t_nochar<8>主鍵教師姓名t_namechar<8>非空性別t_sexchar<2>出生日期t_birthdaysmalldatetime教師所在院系編號(hào)dnochar<6>外鍵職稱(chēng)tech_titlechar<10><5>創(chuàng)建系部表<department>字段名代碼類(lèi)型約束院系編號(hào)dnochar<6>主鍵院系名稱(chēng)dept_namechar<20>非空院系負(fù)責(zé)人headerchar<8><6>創(chuàng)建專(zhuān)業(yè)信息表<speciality>字段名代碼類(lèi)型約束專(zhuān)業(yè)代碼spnochar<8>主鍵院系編號(hào)dnochar<6>外鍵,非空專(zhuān)業(yè)名稱(chēng)spnamechar<20>非空<7>創(chuàng)建teacher_course表字段名代碼類(lèi)型約束上課編號(hào)tcidsmallint主鍵教師編號(hào)t_nochar<8>外鍵專(zhuān)業(yè)代碼spnochar<8>外鍵班級(jí)編碼class_nochar<4>課程編號(hào)cnochar<10>非空,外鍵學(xué)期semesterChar<6>學(xué)年schoolyearChar<10><8>創(chuàng)建班級(jí)表<class>字段名代碼類(lèi)型約束專(zhuān)業(yè)代碼spnochar<8>主鍵,與speciality表中spno外鍵關(guān)聯(lián),班級(jí)編碼class_nochar<4>主鍵,班負(fù)責(zé)人headerchar<8>查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯示CREATETABLEdepartment<dnoCHAR<6>PRIMARYKEY,dept_nameCHAR<20>NOTNULL,headerCHAR<8>>;執(zhí)行結(jié)果:命令已成功完成。CREATETABLEspeciality<spnoCHAR<8>PRIMARYKEY,dnoCHAR<6>NOTNULL,FOREIGNKEY<dno>REFERENCESdepartment<dno>,spnameCHAR<20>NOTNULL>;執(zhí)行結(jié)果:命令已成功完成。CREATETABLEstudent<s_noCHAR<8>PRIMARYKEY,snameCHAR<8>NOTNULL,sexCHAR<2>,sbirthdaySmallint,dnoCHAR<6>,FOREIGNKEY<dno>REFERENCESdepartment<dno>,spnoCHAR<8>,FOREIGNKEY<spno>REFERENCESspeciality<spno>,class_noCHAR<4>>;執(zhí)行結(jié)果:命令已成功完成。CREATETABLEcourse<cnoCHAR<10>PRIMARYKEY,cnameCHAR<20>NOTNULL,spnoCHAR<8>,FOREIGNKEY<spno>REFERENCESspeciality<spno>,ctnotinyint,lecturetinyint,experimenttinyint,semestertinyint,credittinyint>;執(zhí)行結(jié)果:命令已成功完成。CREATETABLEstudent_course<s_noCHAR<8>,CONSTRAINTHLMFOREIGNKEY<s_no>REFERENCESstudent<s_no>,tcidsmallint,PRIMARYKEY<s_no,tcid>,scoretinyint>;執(zhí)行結(jié)果:命令已成功完成。CREATETABLEteacher<t_noCHAR<8>PRIMARYKEY,t_nameCHAR<8>NOTNULL,t_sexCHAR<2>,t_birthdaySmallint,dnoCHAR<6>,FOREIGNKEY<dno>REFERENCESdepartment<dno>,tech_titleCHAR<10>>;執(zhí)行結(jié)果:命令已成功完成。CREATETABLEteacher_course<tcidsmallintPRIMARYKEY,t_noCHAR<8>,FOREIGNKEY<t_no>REFERENCESteacher<t_no>,spnoCHAR<8>,FOREIGNKEY<spno>REFERENCESspeciality<spno>,class_noCHAR<4>,cnoCHAR<10>NOTNULL,FOREIGNKEY<cno>REFERENCEScourse<cno>,semesterCHAR<6>,schoolyearCHAR<10>>;執(zhí)行結(jié)果:命令已成功完成。CREATETABLEclass<spnoCHAR<8>,FOREIGNKEY<spno>REFERENCESspeciality<spno>,class_noCHAR<4>,PRIMARYKEY<spno,class_no>,headerCHAR<8>>;實(shí)驗(yàn)結(jié)果截圖顯示Department表:Speciality表:Student表:Course表:student_course表:Teacher表:teacher_course表:Class表:題目3、查看各數(shù)據(jù)表之間的關(guān)系,生成數(shù)據(jù)庫(kù)關(guān)系圖。生成數(shù)據(jù)庫(kù)關(guān)系圖截圖顯示題目4、利用查詢分析器修改上述各表。<1>、用INSERT語(yǔ)句向各個(gè)表中插入數(shù)據(jù)錄入5條記錄。錄入時(shí)注意體會(huì)外鍵約束。實(shí)現(xiàn)代碼及截圖:查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯示向DEPARTMENT表添加5條記錄USESCGOINSERTINTODEPARTMENTVALUES<'01','計(jì)算機(jī)學(xué)院','小明'>INSERTINTODEPARTMENTVALUES<'02','信息工程學(xué)院','小智'>INSERTINTODEPARTMENTVALUES<'03','外國(guó)語(yǔ)學(xué)院','小天'>INSERTINTODEPARTMENTVALUES<'04','藝術(shù)學(xué)院','小唯'>INSERTINTODEPARTMENTVALUES<'05','數(shù)學(xué)學(xué)院','小野'>向TEACHER表添加5條記錄INSERTINTOTEACHERVALUES<'js01','劉德華','男','1978-02-25','01',NULL>;INSERTINTOTEACHERVALUES<'js02','黎明','男','1982-05-15','02',NULL>;INSERTINTOTEACHERVALUES<'js03','梅艷芳','女','1987-04-07','03',NULL>;INSERTINTOTEACHERVALUES<'js04','鄧麗君','女','1985-07-08','04',NULL>;INSERTINTOTEACHERVALUES<'js05','張學(xué)友','男','1984-11-23','05',NULL>;向SPECIALITY表添加5條記錄USESCGOINSERTINTOSPECIALITYVALUES<'zy01','01','計(jì)算機(jī)科學(xué)與技術(shù)'>;INSERTINTOSPECIALITYVALUES<'zy02','01','軟件工程'>;INSERTINTOSPECIALITYVALUES<'zy03','01','網(wǎng)絡(luò)工程'>;INSERTINTOSPECIALITYVALUES<'zy04','02','操作系統(tǒng)'>;INSERTINTOSPECIALITYVALUES<'zy05','03','大學(xué)英語(yǔ)'>;INSERTINTOSPECIALITYVALUES<'zy06','04','大學(xué)物理'>;INSERTINTOSPECIALITYVALUES<'zy07','05','離散數(shù)學(xué)'>;INSERTINTO向STUDENT表添加5條記錄USESCGOINSERTINTOSTUDENTVALUES<'xh01','林俊杰','男','1991-05-01','01','zy01','0902'>;INSERTINTOSTUDENTVALUES<'xh02','陳奕迅','女','1991-07-10','04','zy06',NULL>;INSERTINTOSTUDENTVALUES<'xh03','柯南','男','1991-04-08','01','zy03','0901'>;INSERTINTOSTUDENTVALUES<'xh04','小純一郎','男','1991-07-15','02','zy04',NULL>;INSERTINTOSTUDENTVALUES<'xh05','娜美','女','1994-03-26','04','zy06',NULL>;INSERTINTOSTUDENTVALUES<'xh06','周杰倫','男','1991-07-03','03','zy05','0905'>;INSERTINTOSTUDENTVALUES<'xh07','周迅','女','1986-03-11','05','zy07',NULL>;INSERTINTOSTUDENTVALUES<'xh08','小嶋陽(yáng)菜','女','1988-04-19','03','zy05','0902'>;向COURSE表添加5條記錄USESCGOINSERTINTOCOURSEVALUES<'kc01','數(shù)據(jù)庫(kù)','zy01',NULL,NULL,NULL,NULL,NULL>INSERTINTOCOURSEVALUES<'kc02','圖形學(xué)','zy01',NULL,NULL,NULL,NULL,NULL>INSERTINTOCOURSEVALUES<'kc03','C++編程','zy02',NULL,NULL,NULL,NULL,NULL>INSERTINTOCOURSEVALUES<'kc04','計(jì)算機(jī)網(wǎng)絡(luò)','zy03',NULL,NULL,NULL,NULL,NULL>INSERTINTOCOURSEVALUES<'kc05','工程繪圖','zy04',NULL,NULL,NULL,NULL,NULL>INSERTINTOCOURSEVALUES<'kc06','日語(yǔ)基礎(chǔ)','zy05',NULL,NULL,NULL,NULL,NULL>INSERTINTOCOURSEVALUES<'kc07','繪圖要領(lǐng)','zy06',NULL,NULL,NULL,NULL,NULL>INSERTINTOCOURSEVALUES<'kc08','離散數(shù)學(xué)','zy07',NULL,NULL,NULL,NULL,NULL>向CLASS表添加5條記錄USESCGOINSERTINTOCLASSVALUES<'zy01','0902','小東'>;INSERTINTOCLASSVALUES<'zy02','0901','小莉'>;INSERTINTOCLASSVALUES<'zy03','0901','小紅'>;INSERTINTOCLASSVALUES<'zy04','1003','小周'>;INSERTINTOCLASSVALUES<'zy05','0905','小陳'>;INSERTINTOCLASSVALUES<'zy06','0804','小天'>;INSERTINTOCLASSVALUES<'zy07','0904','小偉'>;向TEACHER_COURSE表添加5條記錄USESCGOINSERTINTOTEACHER_COURSEVALUES<01,'js01','zy01','0902','kc01',NULL,NULL>INSERTINTOTEACHER_COURSEVALUES<02,'js02','zy04','1003','kc05',NULL,NULL>INSERTINTOTEACHER_COURSEVALUES<03,'js03','zy05','0905','kc06',NULL,NULL>INSERTINTOTEACHER_COURSEVALUES<04,'js04','zy06','0804','kc07',NULL,NULL>INSERTINTOTEACHER_COURSEVALUES<05,'js05','zy07','0904','kc08',NULL,NULL>向STUDENT_COURSE表添加5條記錄USESCGOINSERTINTOSTUDENT_COURSEVALUES<'xh01',1,NULL>INSERTINTOSTUDENT_COURSEVALUES<'xh02',4,NULL>INSERTINTOSTUDENT_COURSEVALUES<'xh03',6,NULL>INSERTINTOSTUDENT_COURSEVALUES<'xh04',2,NULL>INSERTINTOSTUDENT_COURSEVALUES<'xh05',4,NULL>INSERTINTOSTUDENT_COURSEVALUES<'xh06',3,NULL>INSERTINTOSTUDENT_COURSEVALUES<'xh07',5,NULL>INSERTINTOSTUDENT_COURSEVALUES<'xh08',3,NULL>實(shí)驗(yàn)結(jié)果截圖顯示〔插入數(shù)據(jù)的表格共8組〔共8個(gè)表<2>、用UPDATE語(yǔ)句更改student表中數(shù)據(jù);實(shí)現(xiàn)代碼:查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯示USESCGOUPDATESTUDENTSETclass_no='0804'WHEREs_no='xh02'UPDATESTUDENTSETclass_no='1003'WHEREs_no='xh04'UPDATESTUDENTSETclass_no='0804'WHEREs_no='xh05'UPDATESTUDENTSETclass_no='0904'WHEREs_no='xh07'UPDATESTUDENTSETclass_no='0905'WHEREs_no='xh08'student表更改前后的內(nèi)容截圖顯示執(zhí)行前:執(zhí)行后:<3>、用DELETE語(yǔ)句刪除student表中數(shù)據(jù);實(shí)現(xiàn)代碼:查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯示事先插入了一條記錄如右圖所示刪除記錄代碼:DELETEFROMSTUDENTWHEREs_no='xh09'student表更改前后的內(nèi)容截圖顯示刪除后五.實(shí)驗(yàn)中出現(xiàn)的問(wèn)題及解決方案插入數(shù)據(jù)的時(shí)候各種約束條件要很仔細(xì)的看清楚然后才可以進(jìn)行數(shù)據(jù)的插入六、思考題說(shuō)明數(shù)據(jù)庫(kù)中的表和數(shù)據(jù)文件的關(guān)系。答:表〔table為數(shù)據(jù)庫(kù)中數(shù)據(jù)存儲(chǔ)的基本單位,其數(shù)據(jù)按行、列存儲(chǔ)。每個(gè)表具有一表名和列的集合。每一列有一個(gè)列名、數(shù)據(jù)類(lèi)型、寬度或精度、比例。一行是對(duì)應(yīng)單個(gè)記錄的列信息的集合。數(shù)據(jù)文件存放著在數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),且一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)數(shù)據(jù)文件。表作為數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)單位,存儲(chǔ)在數(shù)據(jù)文件中。數(shù)據(jù)庫(kù)中的日志文件能否單獨(dú)修改?答:可以。把對(duì)數(shù)據(jù)的修改寫(xiě)到數(shù)據(jù)庫(kù)中和把表示這個(gè)修改的日子記錄寫(xiě)到日志文件中是兩個(gè)不同的操作。有可能在這兩個(gè)操作之間發(fā)生某種故障,即這兩個(gè)操作只完成了其中一個(gè)。所以,可以單獨(dú)修改數(shù)據(jù)庫(kù)中的日志文件而不一定會(huì)修改數(shù)據(jù)。實(shí)驗(yàn)二、設(shè)計(jì)數(shù)據(jù)完整性一、實(shí)驗(yàn)?zāi)康?、掌握使用約束實(shí)現(xiàn)數(shù)據(jù)完整性的方法;2、掌握使用觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)完整性的方法;二、實(shí)驗(yàn)內(nèi)容和要求1、設(shè)置主鍵約束、設(shè)置唯一約束、設(shè)置外鍵約束、設(shè)置檢查約束、設(shè)置默認(rèn)值約束;2、使用企業(yè)管理器創(chuàng)建觸發(fā)器、使用SQL語(yǔ)音創(chuàng)建觸發(fā)器;三、實(shí)驗(yàn)主要儀器設(shè)備和材料1.計(jì)算機(jī)及操作系統(tǒng):PC機(jī),Windows2000/xp;2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng):SQLsever2000/2003/2005;四、實(shí)驗(yàn)方法、步驟及結(jié)果測(cè)試〔一、使用約束實(shí)現(xiàn)數(shù)據(jù)的完整性〔針對(duì)實(shí)驗(yàn)一中的所建的基本表定義:student表、course表、student_course表、teacher表、department表、speciality表、teacher_course表、class表的主鍵。寫(xiě)出相應(yīng)的SQL語(yǔ)句。student表createtablestudent<s_nochar<8>,snamechar<8>notnull,sexchar<2>,sbirthdaysmalldatetime,dnochar<6>,spnochar<8>,class_nochar<4>,primarykey<s_no>>course表createtablecourse<cnochar<10>,cnamechar<20>notnull,spnochar<8>,ctnotinyint,lecturetinyint,experimenttinyint,semestertinyint,credittinyint,primarykey<cno>>teacher表createtableteacher<t_nochar<8>,t_namechar<8>notnull,t_sexchar<2>,t_birthdaysmalldatetime,dnochar<6>,tech_titlechar<10>,primarykey<t_no>>teacher_course表createtableteacher_course<tcidsmallint,t_nochar<8>,spnochar<8>,class_nochar<4>,cnochar<10>,semesterchar<6>notnull,shcoolyearchar<10>,primarykey<tcid>>Student_course表createtablestudent_course<s_nochar<8>,tcidsmallint,scoretinyint,primarykey<s_no,tcid>,>Department表createtabledepartment<dnochar<6>,dept_namechar<20>notnull,headerchar<8>primarykey<dno>>Speciality表createtablespeciality<spnochar<8>,dnochar<6>notnull,spnamechar<20>notnull,primarykey<spno>>Class表createtableclass<spnochar<8>,class_nochar<4>,headerchar<8>,primarykey<spno,class_no>>定義以上各表的外鍵約束,并通過(guò)插入新的數(shù)據(jù)記錄來(lái)檢查外鍵約束。寫(xiě)出相應(yīng)的SQL語(yǔ)句,并將檢查執(zhí)行的結(jié)果截圖顯示。外鍵定義的SQL語(yǔ)句:檢查外鍵違約處理的結(jié)果截圖:student表createtablestudent<s_nochar<8>,snamechar<8>notnull,sexchar<2>,sbirthdaysmalldatetime,dnochar<6>,spnochar<8>,class_nochar<4>,foreignkey<dno>referencesdepartment<dno>,foreignkey<spno>referencesspeciality<spno>>student表course表createtablecourse<cnochar<10>,cnamechar<20>notnull,spnochar<8>,ctnotinyint,lecturetinyint,experimenttinyint,semestertinyint,credittinyint,constraintfk_course_spnoforeignkey<spno>referencesspeciality<spno>>course表teacher表createtableteacher<t_nochar<8>,t_namechar<8>notnull,t_sexchar<2>,t_birthdaysmalldatetime,dnochar<6>,tech_titlechar<10>,constraintfk_teacher_dnoforeignkey<dno>referencesdepartment<dno>>teacher表Speciality表createtablespeciality<spnochar<8>,dnochar<6>notnull,spnamechar<20>notnull,constraintfk_speciality_dnoforeignkey<dno>referencesdepartment<dno>>Speciality表Student_course表createtablestudent_course<s_nochar<8>,tcidsmallint,scoretinyint,constraintfk_student_course_s_noforeignkey<s_no>referencesstudent<s_no>ondeletecascade>Student_course表3、定義唯一約束為專(zhuān)業(yè)表Speciality的spname列建立唯一約束,并通過(guò)插入新的數(shù)據(jù)記錄對(duì)新建的唯一約束進(jìn)行檢查,寫(xiě)出相應(yīng)的SQL語(yǔ)句,并將檢查的執(zhí)行結(jié)果截圖顯示。定義的SQL語(yǔ)句:createtablespeciality<spnochar<8>,dnochar<6>notnull,spnamechar<20>notnull,unique,constraintfk_speciality_dnoforeignkey<dno>referencesdepartment<dno>>檢查違約處理的結(jié)果截圖:4、定義檢查約束為student_course表的Score列設(shè)置檢查約束條件,并通過(guò)插入新的數(shù)據(jù)記錄來(lái)檢查約束。寫(xiě)出相應(yīng)的SQL語(yǔ)句,并將檢查執(zhí)行結(jié)果截圖顯示。定義的SQL語(yǔ)句:createtablestudent_course<s_nochar<8>,tcidsmallint,scoretinyintcheck<scorebetween0and100>,constraintfk_student_course_s_noforeignkey<s_no>referencesstudent<s_no>ondeletecascade>檢查違約處理的結(jié)果截圖:5、查看各表之間的關(guān)系,生成數(shù)據(jù)庫(kù)關(guān)系圖?!捕?、利用企業(yè)管理器,使用約束實(shí)現(xiàn)數(shù)據(jù)的完整性方法1、啟動(dòng)企業(yè)管理器,利用表設(shè)計(jì)器分別定義:student表、course表、student_course表、teacher表、department表、speciality表、teacher_course表、class表的主鍵。2、表設(shè)計(jì)器中,單擊工具欄中的"表和索引屬性"按鈕,打開(kāi)"屬性"對(duì)話框,在"關(guān)系"選項(xiàng)卡中定義外鍵約束?!矊?shí)驗(yàn)截圖3、在表設(shè)計(jì)器中,單擊工具欄中的"表和索引屬性"按鈕,打開(kāi)"屬性"對(duì)話框,在"索引/鍵"選項(xiàng)中定義專(zhuān)業(yè)信息表speciality的spname字段唯一約束。〔實(shí)驗(yàn)截圖4、在表設(shè)計(jì)器中,單擊工具欄中的"表和索引屬性"按鈕,打開(kāi)"屬性"對(duì)話框,在"CHECK約束"選項(xiàng)中,為student_course表中的score列設(shè)置檢查約束。例如:輸入表達(dá)式:score>=0andscore<=100?!矊?shí)驗(yàn)截圖〔三、使用觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)的完整性1、使用企業(yè)管理器創(chuàng)建觸發(fā)器在student表中創(chuàng)建觸發(fā)器,實(shí)現(xiàn)student和student_course表的級(jí)聯(lián)刪除。步驟:打開(kāi)企業(yè)管理器,展開(kāi)SC數(shù)據(jù)庫(kù);在SC數(shù)據(jù)庫(kù)的列表中選擇"表"并展開(kāi);右擊想要?jiǎng)?chuàng)建觸發(fā)器的表,執(zhí)行"所有任務(wù)"/"管理觸發(fā)器"命令;在打開(kāi)的"觸發(fā)器屬性"對(duì)話框中,在"名稱(chēng)"下拉列表框中選擇"新建";在"文本"編輯框中,輸入創(chuàng)建觸發(fā)器的代碼;單擊"檢查語(yǔ)法"按鈕,檢查代碼的語(yǔ)法是否正確;單擊"確定"按鈕,則完成觸發(fā)器創(chuàng)建。檢查觸發(fā)器;在查詢分析器中,輸入相應(yīng)的語(yǔ)句,并執(zhí)行,查看定義的觸發(fā)器是否起作用。定義觸發(fā)器的SQL語(yǔ)句:CREATETRIGGERdelete_stuON[dbo].[student]FORDELETEASDELETEFROMstudent_courseWHEREs_no=<SELECTs_noFROMDELETED>執(zhí)行結(jié)果截圖:實(shí)驗(yàn)三、查詢數(shù)據(jù)庫(kù)一、實(shí)驗(yàn)?zāi)康氖煜QL語(yǔ)句的基本使用方法,學(xué)習(xí)如何編寫(xiě)SQL語(yǔ)句來(lái)實(shí)現(xiàn)查詢二、實(shí)驗(yàn)內(nèi)容和要求使用SQL查詢分析器查詢數(shù)據(jù),練習(xí)查詢語(yǔ)句的使用,掌握SELECT語(yǔ)句的完整結(jié)構(gòu),包括簡(jiǎn)單查詢、嵌套查詢、連接查詢等基本實(shí)現(xiàn)方法。三、實(shí)驗(yàn)主要儀器設(shè)備和材料1.計(jì)算機(jī)及操作系統(tǒng):PC機(jī),Windows2000/xp;2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng):SQLsever2000/2005;四、實(shí)驗(yàn)方法、步驟及結(jié)果測(cè)試實(shí)驗(yàn)題目:1、對(duì)實(shí)驗(yàn)一建立的數(shù)據(jù)庫(kù)表進(jìn)行查詢簡(jiǎn)單查詢:題目〔1、查詢?nèi)繉W(xué)生的學(xué)號(hào)、姓名、性別和出身年月日。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:格式如下查詢分析器執(zhí)行情況:SQL語(yǔ)句及執(zhí)行結(jié)果顯示USESCGOSELECTs_no,sname,sex,sbirthdayFROMstudent查詢結(jié)果截圖顯示題目〔2、查詢?nèi)w學(xué)生的學(xué)號(hào)、姓名和年齡實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOSELECTs_no,sname,'sage:',year<getdate<>>-Year<sbirthday>FROMstudent查詢結(jié)果截圖顯示:題目〔3、查詢?cè)合稻幪?hào)為‘01’〔計(jì)算機(jī)學(xué)院的全部學(xué)生的學(xué)號(hào)、姓名、性別和出身年月日。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOSELECTs_no,sname,sex,sbirthdayFROMstudentWHEREdno='01'查詢結(jié)果截圖顯示:題目〔4、查詢"計(jì)算機(jī)科學(xué)與技術(shù)"專(zhuān)業(yè)〔專(zhuān)業(yè)代碼為‘zy01’并且班級(jí)代碼為‘0902’的學(xué)生的學(xué)號(hào)、姓名和出生日期。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOSELECTs_no,sname,sex,sbirthdayFROMstudentWHEREspno='zy01'ANDclass_no='0902'查詢結(jié)果截圖顯示:題目〔5、查詢?cè)凇?983/01/10’以后出生的計(jì)算機(jī)學(xué)院〔院系編號(hào)為‘01’學(xué)生的學(xué)號(hào)、姓名、性別和出身年月日。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOSELECTs_no,sname,sex,sbirthdayFROMstudentWHEREstudent.dno='01'ANDstudent.sbirthday>='1983-01-10'查詢結(jié)果截圖顯示:題目〔6、查詢?nèi)繉W(xué)生的學(xué)號(hào)、姓名、性別和出身日期結(jié)果按照出生日期的升序排列。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOSELECTs_no,sname,sex,sbirthdayFROMstudentORDERBYsbirthdayASC查詢結(jié)果截圖顯示:連接查詢:題目〔1、查詢?nèi)繉W(xué)生的學(xué)號(hào)、姓名、性別、所在院系名稱(chēng)和專(zhuān)業(yè)名稱(chēng)實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOSelectstudent.s_no,student.sname,student.sex,department.dept_name,speciality.spnamefromstudent,department,specialitywherestudent.dno=department.dnoandstudent.spno=speciality.spno查詢結(jié)果截圖顯示:題目〔2、查詢選修了課程1〔上課編號(hào)的學(xué)生的學(xué)號(hào)、姓名、專(zhuān)業(yè)名稱(chēng)和這門(mén)課的成績(jī)實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOSelectstudent.s_no,sname,class_no,tcid,scorefromstudent,student_coursewherestudent.s_no=student_course.s_noANDstudent_course.tcid='1'查詢結(jié)果截圖顯示:題目〔3、查詢學(xué)生不及格的情況列出不及格學(xué)生的學(xué)號(hào)、姓名和不及格的課程名稱(chēng)。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOselectstudent.s_no,sname,cname,scorefromstudentjoinstudent_courseon<student.s_no=student_course.s_no>joincourseon<student.spno=course.spno>selectstudent.s_no,sname,cnamefromstudentjoinstudent_courseon<student.s_no=student_course.s_no>joincourseon<student.spno=course.spno>wherescore<60查詢結(jié)果截圖顯示:嵌套查詢:題目〔1、查詢沒(méi)有選修了課程1的學(xué)生,列出學(xué)生的學(xué)號(hào)和姓名。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOselectstudent.s_no,snamefromstudentwherestudent.s_noin<selects_nofromstudent_coursewheretcid!=01>查詢結(jié)果截圖顯示:題目〔2、查詢每門(mén)課都是80分以上的學(xué)生的學(xué)號(hào)與姓名。實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USESCGOselectstudent.s_no,snamefromstudentwherestudent.s_noin<selects_nofromstudent_coursewherescore>80>查詢結(jié)果截圖顯示:2、選用Northwind數(shù)據(jù)庫(kù)進(jìn)行查詢題目〔1、對(duì)NothWind.Products表進(jìn)行簡(jiǎn)單查詢;在查詢分析器在窗口下用SELECT語(yǔ)句完成單表查詢:查詢所有Products的詳細(xì)記錄;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USENorthwindGOSELECT*FROMProducts查詢結(jié)果截圖顯示:查詢單價(jià)〔UnitPrice小于20的Products;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USENorthwindGOSELECT*FROMProductsWHEREUnitPrice<20查詢結(jié)果截圖顯示:查詢結(jié)果均小于20查詢Products中最高單價(jià)〔UnitPrice是多少;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USENorthwindGOselectmax<unitprice>fromproducts查詢結(jié)果截圖顯示:題目〔2、在查詢分析器在窗口下用SELECT語(yǔ)句完成連接〔嵌套查詢:查詢所有被訂購(gòu)過(guò)得Products的ProductsID和ProductName;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USENorthwindGOSELECTProducts.ProductID,ProductNameFROMProductsWHEREProducts.ProductIDin<SELECTProductIDFROM[OrderDetails]>查詢結(jié)果截圖顯示:查詢所有被CustomerID為AROUT客和訂購(gòu)過(guò)的ProductsID和ProductName;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USENorthwindGOSELECTProducts.ProductID,ProductNameFROMProducts,[OrderDetails],OrdersWHEREOrders.CustomerID='AROUT'AND[OrderDetails].OrderID=Orders.OrderIDAND[OrderDetails].ProductID=Products.ProductID查詢結(jié)果截圖顯示:查詢所有被CustomerID為AROUT客和訂購(gòu)過(guò),且單價(jià)在20以上的ProductsID和ProductName;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USENorthwindGOSELECTProducts.ProductID,ProductNameFROMProducts,[OrderDetails],OrdersWHEREOrders.CustomerID='AROUT'AND[OrderDetails].OrderID=Orders.OrderIDAND[OrderDetails].ProductID=Products.ProductIDANDProducts.UnitPrice>20查詢結(jié)果截圖顯示:查詢Products中單價(jià)〔UnitPrice最高的Products的資料;實(shí)現(xiàn)代碼及查詢結(jié)果截圖:SQL語(yǔ)句:USENorthwindGOselect*fromProductswhereUnitPrice=<selectmax<UnitPrice>fromProducts>查詢結(jié)果截圖顯示:五、實(shí)驗(yàn)中出現(xiàn)的問(wèn)題及解決方案答:在本次實(shí)驗(yàn)中,由于只知道出生日期,但其格式是smalldatetime,不知道如何來(lái)計(jì)算年齡〔通過(guò)問(wèn)同學(xué)解決了。一般的查詢、連接查詢和嵌套查詢因?yàn)橹榔涞拇a書(shū)寫(xiě)格式,沒(méi)遇到多少問(wèn)題就解決了。還有,因?yàn)閷?shí)驗(yàn)一已經(jīng)編了一個(gè)數(shù)據(jù)庫(kù),本次實(shí)驗(yàn)的內(nèi)容都是查看實(shí)驗(yàn)一插入的數(shù)據(jù),一些要求被我做了適當(dāng)?shù)男薷?不過(guò),只是改了相應(yīng)的一些字段的代碼,不影響實(shí)驗(yàn)。六、思考題進(jìn)行連接查詢時(shí)應(yīng)注意哪些問(wèn)題?答:連接多個(gè)表時(shí),可以認(rèn)為它們被連成了一個(gè)表。盡管沒(méi)有創(chuàng)建一個(gè)物理表,SQL引擎創(chuàng)建了很多虛擬表,當(dāng)連接表時(shí),可以在每個(gè)表中選擇任何一列。關(guān)于連接表的數(shù)量問(wèn)題。連接表的數(shù)量取決于具體的數(shù)據(jù)庫(kù)管理系統(tǒng),有的規(guī)定為最多25個(gè),有的則沒(méi)有限制。使用時(shí),需要查看具體的數(shù)據(jù)庫(kù)運(yùn)行環(huán)境。但要注意,連接的表越多,響應(yīng)的時(shí)間就越長(zhǎng)。進(jìn)行多表連接時(shí),特別注意不要忘記查詢條件,特別是連接多個(gè)表且記錄數(shù)目較多時(shí)。因?yàn)槿绻恢该鬟B接條件,系統(tǒng)將對(duì)多表進(jìn)行笛卡爾連接,會(huì)產(chǎn)生巨大的記錄。根據(jù)不同的應(yīng)用需求,要注意連接方式的選擇。實(shí)驗(yàn)四、創(chuàng)建和使用視圖、索引、存儲(chǔ)過(guò)程一、實(shí)驗(yàn)?zāi)康?、掌握視圖、索引、存儲(chǔ)過(guò)程的定義、索引、存儲(chǔ)過(guò)程的工作原理;2、掌握創(chuàng)建視圖、索引、存儲(chǔ)過(guò)程的SQL語(yǔ)句的用法;并能夠熟練利用視圖向表中插入、刪除和修改數(shù)據(jù)。3、掌握使用視圖來(lái)查詢數(shù)據(jù)。二、實(shí)驗(yàn)主要儀器設(shè)備和材料1.計(jì)算機(jī)及操作系統(tǒng):PC機(jī),Windows;2.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng):SQLsever2000/2005;三、實(shí)驗(yàn)方法、步驟及結(jié)果測(cè)試〔一、視圖實(shí)驗(yàn)題目:〔寫(xiě)出實(shí)驗(yàn)題目1-81、建立"計(jì)算機(jī)學(xué)院"的學(xué)生基本情況視圖ies_student_view,該視圖包括計(jì)算機(jī)學(xué)院所有學(xué)生的學(xué)號(hào)、姓名、性別、出身年月、專(zhuān)業(yè)名稱(chēng)。2、執(zhí)行ies_student_view視圖并觀察結(jié)果。3、建立課程1〔上課編號(hào)的學(xué)生名冊(cè)的視圖,該名冊(cè)包括學(xué)生的學(xué)號(hào)、姓名、專(zhuān)業(yè)名稱(chēng)和這門(mén)課的成績(jī);并查詢結(jié)果。4、建立統(tǒng)計(jì)不及格情況的視圖,列出不及格學(xué)生的學(xué)號(hào)、姓名和不及格的課程代碼;5、執(zhí)行視圖并觀察結(jié)果。6、修改視圖ies_student_view,使該視圖包括所有學(xué)生的學(xué)號(hào)、姓名、性別、出身年月、學(xué)院名稱(chēng)、專(zhuān)業(yè)名稱(chēng)。7、執(zhí)行ies_student_view視圖并觀察結(jié)果。8、刪除視圖ies_student_view。并查詢結(jié)果。記錄上述實(shí)驗(yàn)過(guò)程并截圖說(shuō)明。1、建立"計(jì)算機(jī)學(xué)院"的學(xué)生基本情況視圖USESCGOCREATEVIEWies_student_viewASSELECTs_no,sname,sex,sbirthday,spnoFROMstudentWHEREstudent.spno='zy01'執(zhí)行ies_student_view視圖USESCGOSELECT*FROMies_student_view建立課程1的學(xué)生名冊(cè)的視圖USESCGOCREATEVIEWtcid1_student_viewASSELECTstudent.s_no,sname,sex,sbirthday,dno,spno,tcidFROMstudent,student_courseWHEREstudent_course.tcid='1'ANDstudent.s_no=student_course.s_no查看:SELECT*FROMtcid1_student_view建立統(tǒng)計(jì)不及格情況的視圖USESCGOCREATEVIEWfail_student_viewASSELECTstudent.s_no,sname,tcidFROMstudent,student_courseWHEREstudent.s_no=student_course.s_noANDstudent_course.score<60查看:SELECT*FROMfail_student_view修改視圖ies_student_viewUSESCGOALTERVIEWies_student_viewASSELECTs_no,sname,sex,sbirthday,spnoFROMstudent查看:7、執(zhí)行ies_student_view視圖并觀察結(jié)果。SELECT*FROMies_student_view刪除視圖ies_student_viewUSESCGODROPVIEWies_student_view查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖〔二、索引〔1、在student_course表〔學(xué)生選課表的學(xué)生學(xué)號(hào)〔s_no列上創(chuàng)建索引sc_sno_index<2>通過(guò)SQL語(yǔ)句查看運(yùn)行結(jié)果創(chuàng)建索引的SQL語(yǔ)句:USESCGOCREATEUNIQUEINDEXsc_sno_indexONstudent_course<s_no>;查詢視圖SQL語(yǔ)句及執(zhí)行結(jié)果截圖〔三、存儲(chǔ)過(guò)程〔1、創(chuàng)建存儲(chǔ)過(guò)程list_student_department,,該存儲(chǔ)過(guò)程接收學(xué)院代碼作為輸入?yún)?shù),列出數(shù)據(jù)庫(kù)sc中某個(gè)院系學(xué)生的全部信息。實(shí)驗(yàn)過(guò)程:啟動(dòng)查詢分
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度敬老院消防安全檢查及整改服務(wù)合同
- 2025年度建筑砂漿行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)采購(gòu)合同
- 2025年度商業(yè)空間工裝設(shè)計(jì)施工一體化合同
- 電力工程項(xiàng)目中的合同風(fēng)險(xiǎn)管理
- 2025年度養(yǎng)老機(jī)構(gòu)入住服務(wù)與管理合同
- 2025年度建筑工程結(jié)算協(xié)議書(shū)及節(jié)能評(píng)估合同范本
- 2025年度智能穿戴合伙創(chuàng)業(yè)合同協(xié)議書(shū)
- 2025年工作餐配送及維護(hù)服務(wù)合同范本
- 2025年度離婚協(xié)議書(shū)專(zhuān)業(yè)翻譯與審核合同
- 2025年度人力資源居間招聘服務(wù)合同范本
- 2023年菏澤醫(yī)學(xué)專(zhuān)科學(xué)校單招綜合素質(zhì)模擬試題及答案解析
- 鋁合金門(mén)窗設(shè)計(jì)說(shuō)明
- 常見(jiàn)食物的嘌呤含量表匯總
- 小學(xué)數(shù)學(xué)-三角形面積計(jì)算公式的推導(dǎo)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 人教版數(shù)學(xué)八年級(jí)下冊(cè)同步練習(xí)(含答案)
- SB/T 10752-2012馬鈴薯雪花全粉
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ))試題庫(kù)含答案解析
- 秦暉社會(huì)主義思想史課件
- 積累運(yùn)用表示動(dòng)作的詞語(yǔ)課件
- 機(jī)動(dòng)車(chē)登記證書(shū)英文證書(shū)模板
- 質(zhì)量管理體系基礎(chǔ)知識(shí)培訓(xùn)-2016
評(píng)論
0/150
提交評(píng)論