![昆明理工大學(xué)-數(shù)據(jù)庫原理-上機(jī)實(shí)驗(yàn)報(bào)告(共13頁)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/30491647-079c-4792-ba1a-a4ab8b4b591b/30491647-079c-4792-ba1a-a4ab8b4b591b1.gif)
![昆明理工大學(xué)-數(shù)據(jù)庫原理-上機(jī)實(shí)驗(yàn)報(bào)告(共13頁)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/30491647-079c-4792-ba1a-a4ab8b4b591b/30491647-079c-4792-ba1a-a4ab8b4b591b2.gif)
![昆明理工大學(xué)-數(shù)據(jù)庫原理-上機(jī)實(shí)驗(yàn)報(bào)告(共13頁)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/30491647-079c-4792-ba1a-a4ab8b4b591b/30491647-079c-4792-ba1a-a4ab8b4b591b3.gif)
![昆明理工大學(xué)-數(shù)據(jù)庫原理-上機(jī)實(shí)驗(yàn)報(bào)告(共13頁)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/30491647-079c-4792-ba1a-a4ab8b4b591b/30491647-079c-4792-ba1a-a4ab8b4b591b4.gif)
![昆明理工大學(xué)-數(shù)據(jù)庫原理-上機(jī)實(shí)驗(yàn)報(bào)告(共13頁)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/17/30491647-079c-4792-ba1a-a4ab8b4b591b/30491647-079c-4792-ba1a-a4ab8b4b591b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)庫原理上機(jī)實(shí)驗(yàn)報(bào)告學(xué) 號(hào): 姓 名: 班 級(jí): 昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院2012年12月一、實(shí)驗(yàn)?zāi)康呐c要求:l 熟練使用SQL定義子語言、操縱子語言命令語句l 掌握關(guān)系模型上的完整性約束機(jī)制l 掌握一定的數(shù)據(jù)庫管理技術(shù)l 能完成簡(jiǎn)單的數(shù)據(jù)庫應(yīng)用開發(fā)二、實(shí)驗(yàn)內(nèi)容(一)數(shù)據(jù)定義子語言實(shí)驗(yàn)實(shí)驗(yàn)1利用SQL語句創(chuàng)建Employee數(shù)據(jù)庫創(chuàng)建的代碼為:CREATE DATABASE Employee實(shí)驗(yàn)2:利用SQL語句在Employee數(shù)據(jù)庫中創(chuàng)建人員表person、月薪表salary及部門表dept。要求:按表1、表2、表3中的字段說明創(chuàng)建表1 person表結(jié)
2、構(gòu)字段名數(shù)據(jù)類型字段長(zhǎng)度允許空否字段說明P_noChar6Not Null工號(hào),主鍵P_nameVarchar10Not Null姓名SexChar2Not Null性別BirthdateDatetimeNull出生日期ProfVarchar10Null職稱DeptnoChar4Not Null部門代碼,外鍵(參照dept表)建立的代碼:create table person(P_no Char(6) PRIMARY KEY NOT NULL,P_name Varchar(10) Not Null,Sex Char(2) Not Null,Birthdate Datetime,Prof Var
3、char(10),Deptno Char(4) Not Null,FOREIGN KEY (Deptno) REFERENCES dept(Deptno);表2 salary表結(jié)構(gòu)字段名數(shù)據(jù)類型字段長(zhǎng)度允許空否字段說明P_noChar6Not Null工號(hào),主鍵,外鍵(參照person表)BaseDec5Null基本工資BonusDec5Null獎(jiǎng)金,要求>50FactDec5Null實(shí)發(fā)工資=基本工資+獎(jiǎng)金MonthInt2Not Null月份建立的代碼:create table salary(P_no Char(6) PRIMARY KEY Not Null,Base Dec(5),
4、Bonus Dec(5) CHECK (Bonus>50),Fact as Base+Bonus,Month Int Not Null,FOREIGN KEY (P_no) REFERENCES person(P_no);表3 dept表結(jié)構(gòu)字段名數(shù)據(jù)類型字段長(zhǎng)度允許空否字段說明DeptnoChar4Not Null部門代碼,主鍵,DnameVarchar10Not Null部門名稱建立的代碼:create table dept(Deptno Char(4) PRIMARY KEY Not Null,Dname Varchar(10) Not Null);(二)數(shù)據(jù)操縱子語言實(shí)驗(yàn)實(shí)驗(yàn)3:
5、利用SQL語句向表person、salary和dept中插入數(shù)據(jù)。要求:按表4、表5、表6中的數(shù)據(jù)插入。表4 表person中的數(shù)據(jù)P_noP_nameSexBirthDateProfDeptno王云男1973-4-7中級(jí)0001謝志文男1975-2-14中級(jí)0001李浩然男1970-8-25高級(jí)0002廖小玲女1979-8-6初級(jí)0002梁玉瓊女1970-8-25中級(jí)0003羅向東男1979-5-11初級(jí)0003肖家慶男1963-7-14高級(jí)0003插入代碼為:INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES(
6、39;','王云','男','1979-4-7','中級(jí)','0001');INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES('','謝志文','男','1975-2-14','中級(jí)','0001');INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES('
7、;','李浩然','男','1970-8-25','高級(jí)','0002');INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES('','廖小玲','女','1979-8-6','初級(jí)','0002');INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES('
8、','梁玉瓊','女','1970-8-25','中級(jí)','0003');INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES('','羅向東','男','1979-5-11','初級(jí)','0003');INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES('
9、','肖家慶','男','1963-7-14','高級(jí)','0003');插入后查詢結(jié)果為:表5 表salary中的數(shù)據(jù)P_noBaseBonusFactS_month21003001180030012800280125002501230027511750130124002101插入代碼:INSERT TNTO salary(P_no,Base,Bonus,Month)VALUES('','2100','300','1');INSERT TNT
10、O salary(P_no,Base,Bonus,Month)VALUES('','1800','300','1');INSERT TNTO salary(P_no,Base,Bonus,Month)VALUES('','2800','280','1');INSERT TNTO salary(P_no,Base,Bonus,Month)VALUES('','2500','250','1');INSERT
11、TNTO salary(P_no,Base,Bonus,Month)VALUES('','2300','275','1');INSERT TNTO salary(P_no,Base,Bonus,Month)VALUES('','1750','130','1');INSERT TNTO salary(P_no,Base,Bonus,Month)VALUES('','2400','210','1');插入后查
12、詢的結(jié)果為:表6 表dept中的數(shù)據(jù)DeptnoDname0001人事部0002財(cái)務(wù)部0003市場(chǎng)部插入代碼:INSERT TNTO dept (Deptno, Dname)VALUES('001','人事部');INSERT TNTO dept (Deptno, Dname)VALUES('002','財(cái)務(wù)部');INSERT TNTO dept (Deptno, Dname)VALUES('003','市場(chǎng)部');插入后得到結(jié)果:實(shí)驗(yàn)4:(1)利用SQL語句修改表中的數(shù)據(jù)。要求:將salary表
13、中工號(hào)為的員工工資增加為1800 元,獎(jiǎng)金增加為160元。修改的代碼為:UPDATE salarySET Base=1800,Bonus=160WHERE P_no=''修改后的結(jié)果為:(2)利用SQL語句刪除表中的數(shù)據(jù)。要求:刪除 person表中工號(hào)為的員工數(shù)據(jù)。刪除的代碼為:DELETEFROM personWHERE P_no=''修改后的結(jié)果為:(3)利用SQL語句查詢person表中的所有數(shù)據(jù)。查詢語句為:select *from person查詢結(jié)果為:實(shí)驗(yàn)5:條件查詢 要求:(1) 查詢person表中所有不重復(fù)的職稱。查詢代碼為:SE
14、LECT DISTINCT profFROM person;查詢結(jié)果為:(2) 查詢person表中職稱為中級(jí)的所有員工數(shù)據(jù)。 查詢代碼:SELECT *FROM personWHERE prof='中級(jí)'查詢結(jié)果為:(3) 查詢person表中具有高級(jí)職稱的男員工信息。 查詢代碼:SELECT *FROM personWHERE prof='高級(jí)' AND Sex='男'查詢結(jié)果為:(4) 查詢person表中姓名為王云、謝志文、羅向東的員工數(shù)據(jù)。 查詢代碼: SELECT*FROM personWHERE P_name IN ('王云
15、','謝志文','羅向東');查詢結(jié)果為:實(shí)驗(yàn)6:使用ORDER BY排序 要求:利用SQL語句將工號(hào)在和之間的員工的月收入按實(shí)發(fā)工資升序排序。代碼:SELECT *FROM salaryWHERE P_no BETWEEN AND ORDER BY Fact ASC查詢的結(jié)果為:實(shí)驗(yàn)7:利用SQL語句查詢各部門的實(shí)發(fā)工資總數(shù)。代碼:SELECT Dname, SUM (Fact)FROM person,salary,deptWHERE dept.Deptno=person.Deptno AND person.P_no=salary.P_noGROUP
16、BY Dname查詢結(jié)果為:實(shí)驗(yàn)8:利用SQL語句查詢?nèi)耸虏克袉T工信息。查詢代碼:SELECT *FROM person,deptWHERE dept.Deptno=person.Deptno AND Dname='人事部'查詢結(jié)果為:實(shí)驗(yàn)9:表的內(nèi)連接查詢:要求:利用SQL語句查詢person表中職稱為中級(jí)的員工信息。查詢代碼:SELECT *FROM person,salary,deptWHERE person.P_no=salary.P_no AND person.Deptno=dept. Deptno AND prof='中級(jí)'查詢結(jié)果為:實(shí)驗(yàn)10:表
17、的外連接查詢:要求:利用SQL語句查詢每個(gè)員工1 月份的工資和獎(jiǎng)金查詢代碼:SELECT salary.P_no,P_name,S_month,Base,BonusFROM salary LEFT OUT JOIN person ON (salary.P_no=person.P_no);實(shí)驗(yàn)11:子查詢:要求:利用SQL語句查詢比工號(hào)為的員工實(shí)發(fā)工資高的所有員工信息。SELECT person. * ,salary. *,dept. *FROM person,salary,deptWHERE Fact> (SELECT Fact FROM salary WHERE P_no='&
18、#39;)(三) 數(shù)據(jù)完整性實(shí)驗(yàn)實(shí)驗(yàn)12:定義外鍵約束 要求:(1) 創(chuàng)建表時(shí)將person表的deptno列定義為外鍵,并參考dept表的列deptno。 代碼為:FOREIGN KEY Deptno REFERENCES dept(Deptno) /*在表級(jí)定義參照完整性*/(2) 將salary表中的P_no設(shè)為外鍵,并使其參照person表中的列P_no。代碼為:FOREIGN KEY P_no REFERENCES person(P_no) /*在表級(jí)定義參照完整性*/實(shí)驗(yàn)13:測(cè)試對(duì)主表進(jìn)行插入、更新及刪除操作時(shí)的影響。(請(qǐng)寫明原因) 要求:(1) 向表dept中插入一行數(shù)據(jù)(00
19、04,研發(fā)部),測(cè)試是否影響從表。代碼為:INSERT TNTO dept (Deptno, Dname)VALUES('004','研發(fā)部');測(cè)試結(jié)果:影響從表原因:由于插入的元祖的Deptno屬性的值在表person中找不到一個(gè)元祖,其Deptno屬性的值與之相等,破壞了被參照表person的參照完整性。(2) 將表dept中的部門號(hào)0003改為0006,測(cè)試是否影響從表。代碼為:UPDATA deptSET Deptno=0006WHERE Deptno=0003;測(cè)試結(jié)果:影響從表原因:修改了dept表中的一個(gè)屬性,使得在person表中找不到一個(gè)元祖
20、,其Deptno屬性的值與之相等。破壞了參照完整性。(3) 刪除表dept中部門號(hào)為0001的員工的數(shù)據(jù),測(cè)試是否影響從表。代碼為:DELECT *FROM deptWHERE Deptno=0001;測(cè)試結(jié)果:影響從表原因:刪除了dept表中的一個(gè)員工的數(shù)據(jù),使得在person表中定義的外鍵無法參照dept表,破壞了參照完整性。實(shí)驗(yàn)14:測(cè)試對(duì)從表進(jìn)行插入、更新及刪除操作時(shí)的影響。(請(qǐng)寫明原因)要求:(1) 向表person中插入一行數(shù)據(jù)(,宋全禮,男、1980-7-17,初級(jí),0005),測(cè)試是否違背參照完整性。代碼為:INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)VALUES('','宋全禮','男','1980-7-17','初級(jí)','0005'); 測(cè)試結(jié)果:違背了參照完整性原因:由于person
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 宣傳片協(xié)議合同
- 2025域名收購(gòu)合同范文
- 滅火器買賣合同
- 幼兒園聘用保育員合同模板
- 2025非專利項(xiàng)目技術(shù)轉(zhuǎn)讓合同
- 委托物業(yè)服務(wù)合同書
- 2025材料采購(gòu)合同
- 2025電子元件配件采購(gòu)合同模板
- 2025年電力金具項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2025年果醬項(xiàng)目提案報(bào)告范文
- 充電樁知識(shí)培訓(xùn)課件
- 2025年七年級(jí)下冊(cè)道德與法治主要知識(shí)點(diǎn)
- 2025年交通運(yùn)輸部長(zhǎng)江口航道管理局招聘4人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(shí)(2024版)解讀
- 偏癱足內(nèi)翻的治療
- 藥企質(zhì)量主管競(jìng)聘
- 信息對(duì)抗與認(rèn)知戰(zhàn)研究-洞察分析
- 手術(shù)室??谱o(hù)士工作總結(jié)匯報(bào)
- 2025屆高三聽力技巧指導(dǎo)-預(yù)讀、預(yù)測(cè)
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
- 長(zhǎng)期處方管理規(guī)范
評(píng)論
0/150
提交評(píng)論