




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 數(shù)據(jù)庫原理上機(jī)實(shí)驗報告 數(shù)據(jù)庫原理上機(jī)實(shí)驗報告專 業(yè): 自動化、測控學(xué) 號: 姓 名: 班 級: 指導(dǎo)老師: 楊彪 昆明理工大學(xué)信息工程與自動化學(xué)院2014年12月一、實(shí)驗?zāi)康呐c要求:l 熟練使用SQL定義子語言、操縱子語言命令語句l 掌握關(guān)系模型上的完整性約束機(jī)制l 掌握一定的數(shù)據(jù)庫管理技術(shù)l 能完成簡單的數(shù)據(jù)庫應(yīng)用開發(fā)二、實(shí)驗內(nèi)容及學(xué)時安排(總學(xué)時:8)(一)數(shù)據(jù)定義子語言實(shí)驗(2學(xué)時)實(shí)驗1:利用SQL語句創(chuàng)建Employee數(shù)據(jù)庫程序:create database employee結(jié)果:實(shí)驗2:利用SQL語句在Employee數(shù)據(jù)庫中創(chuàng)建人員表person、月薪表salary及部門
2、表dept。要求:按表1、表達(dá)、表3中的字段說明創(chuàng)建表1 person表結(jié)構(gòu)字段名數(shù)據(jù)類型字段長度允許空否字段說明P_noChar6Not Null工號,主鍵P_nameVarchar10Not Null姓名SexChar2Not Null性別BirthdateDatetime8Null出生日期ProfVarchar10Null職稱DeptnoChar4Not Null部門代碼,外鍵(參照dept表)表2 salary表結(jié)構(gòu)字段名數(shù)據(jù)類型字段長度允許空否字段說明P_noChar6Not Null工號,主鍵,外鍵(參照person表)BaseDec5Null基本工資BonusDec5Null獎金
3、,要求50FactDec5Null實(shí)發(fā)工資=基本工資+獎金MonthInt2Not Null月份表3 dept表結(jié)構(gòu)字段名數(shù)據(jù)類型字段長度允許空否字段說明DeptnoChar4Not Null部門代碼,主鍵,DnameVarchar10Not Null部門名稱程序:create table dept ( Deptno char(4) not null , Dname varchar(10) not null,)create table person ( P_no char(6) not null primary key, P_name varchar(10) not null, Sex Cha
4、r(10) not null, Birthdate date null, Prof varchar(10) null, Deptno char(4) not null, Foreign key (Deptno) References dept(Deptno)create table salary ( P_no char(6) not null primary key, Base Dec(5) null, Bonus Dec(5) null, Fact Dec(5) null, Month Int not null, Foreign key (P_no) References person(P_
5、no)結(jié)果:(二)數(shù)據(jù)操縱子語言實(shí)驗(4學(xué)時)實(shí)驗3:利用SQL語句向表person、salary和dept中插入數(shù)據(jù)。要求:按表4、表5、表6中的數(shù)據(jù)插入。表4 表person中的數(shù)據(jù)P_noP_nameSexBirthDateProfDeptno000001王云男1973-4-7中級0001000002謝志文男1975-2-14中級0001000003李浩然男1970-8-25高級0002000004廖小玲女1979-8-6初級0002000005梁玉瓊女1970-8-25中級0003000006羅向東男1979-5-11初級0003000007肖家慶男1963-7-14高級0003程序:
6、insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno) values(000001,王云,男,1973-4-7,中級,0001)其他person表的數(shù)據(jù)插入同上。結(jié)果:表5 表salary中的數(shù)據(jù)P_noBaseBonusFactS_month00000121003001000002180030010000032800280100000425002501000005230027510000061750130100000724002101程序:insert into salaryvalues (000001,2100,300,2400,
7、1)其他salary表的數(shù)據(jù)插入同上。結(jié)果:表6 表dept中的數(shù)據(jù)DeptnoDname0001人事部0002財務(wù)部0003市場部程序: insert into deptvalues (0001,人事部)其他dept表的數(shù)據(jù)插入同上。結(jié)果:實(shí)驗4:(1)利用SQL語句修改表中的數(shù)據(jù)。要求:將salary表中工號為000006的員工工資增加為1800元,獎金增加為160元。程序: update salaryset Base=1800,Bonus=160where P_no=000006結(jié)果:(2)利用SQL語句刪除表中的數(shù)據(jù)。要求:刪除person表中工號為000007的員工數(shù)據(jù)。程序: de
8、letefrom personwhere P_no=000007結(jié)果:(3)利用SQL語句查詢person表中的所有數(shù)據(jù)。程序:select *from person結(jié)果:實(shí)驗5:條件查詢 要求:(1) 查詢person表中所有不重復(fù)的職稱。程序:select distinct prof from person結(jié)果:查詢p erson表中職稱為中級的所有員工數(shù)據(jù)。程序:select *from personwhere Prof=中級結(jié)果:(2) 查詢person表中具有高級職稱的男員工信息。程序:select *from personwhere Prof=高級and sex=男結(jié)果:(3) 查
9、詢person表中姓名為王云、謝志文、羅向東的員工數(shù)據(jù)。程序:select *from personwhere p_name=王云or p_name=謝志文or p_name=羅向東結(jié)果:實(shí)驗6:使用ORDER BY排序 要求:利用SQL語句將工號在000003和000006之間的員工的月收入按實(shí)發(fā)工資升序排序。程序及結(jié)果如下:實(shí)驗7:利用SQL語句查詢各部門的實(shí)發(fā)工資總數(shù)。程序及結(jié)果如下:實(shí)驗8:利用SQL語句查詢?nèi)耸虏克袉T工信息。程序:select *from personwhere deptno=0001結(jié)果:實(shí)驗9:表的內(nèi)連接查詢:要求:利用SQL語句查詢person表中職稱為中級的
10、員工信息。程序及結(jié)果如下:實(shí)驗10:表的外連接查詢:要求:利用SQL語句查詢每個員工1 月份的工資和獎金程序及結(jié)果如下:實(shí)驗11:子查詢:要求:利用SQL語句查詢比工號為000005的員工實(shí)發(fā)工資高的所有員工信息。程序及結(jié)果如下:(三) 數(shù)據(jù)完整性實(shí)驗(1學(xué)時)實(shí)驗12:定義外鍵約束 要求:(1) 創(chuàng)建表時將person表的deptno列定義為外鍵,并參考dept表的列deptno。程序:create table person (P_no char(6) not null primary key, P_name varchar(10) not null, Sex Char(10) not nu
11、ll, Birthdate date null, Prof varchar(10) null, Deptno char(4) not null, Foreign key (Deptno) References dept(Deptno)(2)將salary表中的P_no設(shè)為外鍵,并使其參照person表中的列P_no。程序:create table salary ( P_no char(6) not null primary key, Base Dec(5) null, Bonus Dec(5) null, Fact Dec(5) null, Month Int not null, Foreig
12、n key (P_no) References person(P_no)其依賴關(guān)系為 實(shí)驗13:測試對主表進(jìn)行插入、更新及刪除操作時的影響。(請寫明原因) 要求:(1) 向表dept中插入一行數(shù)據(jù)(0004,研發(fā)部),測試是否影響從表。程序:insert into dept(Deptno,Dname) values(0004,研發(fā)部)結(jié)果:dept表的結(jié)果為Person表的結(jié)果為:Salary表的結(jié)果為故向表dept中插入一行數(shù)據(jù)(0004,研發(fā)部),并未影響從表。原因是因為person表參照的是dept表,salary表參照的是person表,并且person表和salary表中均沒有與新插
13、入數(shù)據(jù)有關(guān)聯(lián)的數(shù)據(jù),所以,當(dāng)dept表插入新數(shù)據(jù)時,person表和salary表的數(shù)據(jù)不會發(fā)生改變。(2)將表dept中的部門號0003改為0006,測試是否影響從表。程序:update dept set Deptno=0006where Deptno=0003結(jié)果:故將表dept中的部門號0003改為0006,會影響到從表。原因是各表之間已經(jīng)建立聯(lián)系,person表參照的是dept表, person表中已有Deptno=0003的數(shù)據(jù),當(dāng)dept表中的Deptno=0003數(shù)據(jù)發(fā)生改變時,person表中數(shù)據(jù)也會發(fā)生改變,由于有約束,所以限制了程序的執(zhí)行。(3)刪除表dept中部門號為00
14、01的員工的數(shù)據(jù),測試是否影響從表。程序:delete from deptwhere deptno=0001結(jié)果:故刪除表dept中部門號為0001的員工的數(shù)據(jù),會影響到從表。原因是各表之間已經(jīng)建立了聯(lián)系,person表參照的是dept表,且person表中已有deptno=0001的數(shù)據(jù),當(dāng)dept表中deptno=0001的數(shù)據(jù)發(fā)生改變時,person表中數(shù)據(jù)勢必會發(fā)生改變。由于有約束,所以限制了程序的執(zhí)行。實(shí)驗14:測試對從表進(jìn)行插入、更新及刪除操作時的影響。(請寫明原因)要求:(1) 向表person中插入一行數(shù)據(jù)(000012,宋全禮,男、1980-7-17,初級,0005),測試是
15、否違背參照完整性。程序:insert into person(P_no,P_name,Sex,Birthdate,Prof,Deptno) values(000012,宋全禮,男,1980-7-17,初級,0005)結(jié)果:向表person中插入一行數(shù)據(jù)(000012,宋全禮,男、1980-7-17,初級,0005),會影響到其他從表。原因是各表之間已經(jīng)建立連接,person表參照的是dept表,person表中的數(shù)據(jù)依賴于dept表中的數(shù)據(jù),改變person表中的數(shù)據(jù)勢必會影響dept表,違背了參照完整性。由于有約束,所以限制了程序的執(zhí)行。(2)刪除表中工號為000005的員工數(shù)據(jù),測試是否違
16、背參照完整性。程序:delete from person where P_no=000005結(jié)果:刪除表中工號為000005的員工數(shù)據(jù),會影響到person表的數(shù)據(jù)。原因是各表之間已經(jīng)建立了聯(lián)系,salary表參照的是person表,且,salary表中已有P_no=000005的數(shù)據(jù),當(dāng)person表中刪除P_no=000005的數(shù)據(jù)時,勢必會影響到salary表,違背了參照完整性。由于有約束,所以限制了程序的執(zhí)行。(四)用Microsoft Access設(shè)計Employee數(shù)據(jù)庫系統(tǒng)(5學(xué)時)要求:(1) 創(chuàng)建表Person表Salary表Dept表(2) 創(chuàng)建關(guān)聯(lián)(3) 用查詢設(shè)計工具創(chuàng)建查詢Person表的查詢Salary表的查詢Dept表的查詢(4) 創(chuàng)建簡單的窗體表person的窗體表salary的窗體表dept的窗體(5) 創(chuàng)建基本報表表person的報表表salary的報表表dept的報表三、總結(jié)與體會通過這次實(shí)驗,我學(xué)到了很多東西,包括建表,導(dǎo)入數(shù)據(jù),查詢,插入。最重要的是我們
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校生物室管理制度
- 學(xué)生會設(shè)備管理制度
- 學(xué)生項目部管理制度
- 安保部綜合管理制度
- 安全管理與管理制度
- 定向井公司管理制度
- 實(shí)訓(xùn)室水電管理制度
- 客戶保證金管理制度
- 客運(yùn)包車牌管理制度
- 家裝業(yè)務(wù)員管理制度
- 社區(qū)工作者心理健康培訓(xùn)大綱
- 《分子動力學(xué)模擬》課件
- 新生兒重癥監(jiān)護(hù)病房捐贈人乳應(yīng)用與管理專家共識(2025)解讀
- 皮膚科進(jìn)修心得分享
- 2025年上半年廣東省廣州市白云區(qū)委宣傳部政府雇員招聘5人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 項目經(jīng)理講安全課件
- 《休閑農(nóng)業(yè)》課件 項目二 休閑農(nóng)業(yè)分類及模式分析
- 2025年安徽省省情試題及答案
- 2025年消控室考核試題及答案
- 江西省吉安市遂川縣2024-2025學(xué)年數(shù)學(xué)三下期末達(dá)標(biāo)檢測試題含解析
- 衛(wèi)健系統(tǒng)2025年上半年安全生產(chǎn)工作總結(jié)
評論
0/150
提交評論