第一篇:14級數據庫設計題目
題目:
(1)高校學籍管理系統
功能要求:
? 實現學生信息、班級、院系、專業等的管理; ? 實現課程、學生成績信息管理; ? 實現學生的獎懲信息管理;
? 限制性別項只能輸入“男”或“女”;
? 創建視圖查詢各個學生的學號、姓名、班級、專業、院系; ? 創建存儲過程查詢指定學生的成績單;
? 創建觸發器當增加、刪除學生和修改學生班級信息時自動修改相應班級學生人數;
? 建立數據庫相關表之間的參照完整性約束。(2)學校人力資源管理系統
? ? ? ? ? ? 實現學校部門信息、職務、職稱和教職工信息管理; 實現教師的學籍經歷管理; 實現教師的家庭關系管理; 實現教師的獎懲信息管理;
創建存儲過程查詢學校各部門各種職稱的教職工數量;
創建觸發器當增加、刪除教職工和修改教職工部門信息時自動修改相應部門的職工人數;
? 建立數據庫相關表之間的參照完整性約束。(3)某單位人事管理系統
? ? ? ? ? ? ? ? 實現部門、職務、職稱等信息的管理; 實現職工信息的管理;
實現職工學習經歷和任職經歷的管理; 實現職工家庭關系的管理; 實現獎懲信息的管理;
創建存儲過程查詢個部門各種職稱的職工數量;
創建視圖查詢各職工的工號、姓名、部門、職務信息;
創建觸發器當增加、刪除職工和修改職工部門信息時自動修改相應部門的職工人數;
? 建立數據庫相關表之間的參照完整性約束。(4)某書店圖書進貨、銷售管理系統
? ? ? ? ? 實現圖書類別、出版社、圖書、倉庫信息的管理; 實現進貨、入庫管理; 實現銷售、出庫管理;
創建存儲過程查詢某段時間內各種圖書的進貨和銷售情況; 創建視圖查詢各類圖書的庫存總數; ? 創建觸發器當圖書入庫時自動修改相應圖書的總量和存放倉庫中該圖書的數量;
? 建立數據庫相關表之間的參照完整性約束。(5)某醫院信息管理系統(藥品庫存、收費、醫生病人等)
? ? ? ? ? ? ? ? ? ? ? ? ? ? 實現藥品類型及藥品信息的管理; 實現藥品的入庫、出庫管理; 實現科室、醫生、病人的管理; 實現處方的登記管理; 實現收費管理;
創建觸發器,當藥品入庫、出庫時自動修改庫存;
創建存儲過程統計某段時間內,各科室的就診人數和輸入情況; 創建視圖查詢各種藥品的庫存總數;
建立數據庫相關表之間的參照完整性約束。
(6)音響店VCD零售出租管理系統
實現VCD類型及信息的管理; 實現VCD的入庫管理; 實現VCD的借還管理; 實現VCD的零售管理;
創建觸發器,入庫登記、零售時自動修改、現貨和庫存,借、還時自動修改現貨數量;
? 創建存儲過程統計某段時間內各VCD的銷售、借還數量; ? 創建視圖查詢各類VCD的庫存情況;
? 建立數據庫相關表之間的參照完整性約束。(7)某期刊的在線投稿審稿管理系統
? ? ? ? ? ? ? ? ? ? ? ? 實現作者、審稿人的信息管理; 實現稿件類型、稿件信息的管理; 實現稿件的審閱過程管理;
實現稿費、審稿費和版面費的管理;
創建存儲過程,統計指定作者的稿件信息;
創建觸發器,當收到審稿費時自動修改審稿費收到標記為“是”; 建立數據庫相關表之間的參照完整性約束。
(8)學校的工資管理系統
實現部門、職務、職稱等基本信息的管理; 實現教職工信息的管理;
實現工資項目的管理,工資項目設有啟用標志和加扣標志; 實現教職工工資項目及其工資的管理;
創建觸發器當往教職工工資項目表中插入記錄或刪除記錄時,自動修改該職工的應發工資數和實發工資數;
? 創建存儲過程統計某個月各種工資項目的發放總和; ? 創建視圖查詢各個員工的應發、應扣和實發工資; ? 建立數據庫相關表之間的參照完整性約束。(9)某高校科研管理系統
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 實現部門、職務、職稱等基本信息的管理; 實現教師信息的管理;
實現可以科研項目的申報、審批管理; 實現科研項目的驗收管理;
創建默認,并邦定到科研項目的驗收標志,使其默認值為“未驗收”; 創建觸發器,驗收項目時自動修改項目的驗收標志為“驗收通過”; 創建存儲過程統計個院系科研項目的申報和完成數量; 建立數據庫相關表之間的參照完整性約束。實現班級、課程等基本信息的管理; 實現學生、教師信息的管理;
實現班級課程及課程的任課教師和排課管理; 創建存儲過程檢測指定教師、指定節次是否有課; 創建存儲過程生成指定班級的課程表; 創建存儲過程生成指定老師的課程表; 建立數據庫相關表之間的參照完整性約束。
實現家具類型、供應商信息的管理; 實現客戶信息、家具信息的管理; 實現家具入庫管理; 實現家具的銷售管理; 實現收款管理;
創建觸發器,實現家具入庫和銷售時自動修改庫存;
創建存儲過程統計某段時間內各種商品的入庫數量和銷售數量; 建立數據庫相關表之間的參照完整性約束。(10)某中學的排課管理系統
(11)某家具城進銷存管理系統
(12)高校教材管理系統
實現出版社、教材類型等的管理; 實現教材的訂購管理; 實現教材的入庫管理; 實現教材的領用管理;
限定實現教材的書號必須滿足以ISBN開頭,后跟10個數字的格式,比如:ISBN7302120363;
? 創建觸發器,實現教材入庫和出庫時自動修改庫存數量; ? 創建存儲過程統計各種教材的訂購、到貨和發放數量; ? 建立數據庫相關表之間的參照完整性約束。(13)高校教師信息管理系統
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 實現部門、職稱、職務的基本信息的管理; 實現教師信息的管理;
實現教師家庭關系和教育經歷的管理; 實現教師的獎懲管理;
創建觸發器,實現修改教師所在部門時自動修改相應部門的教師人數; 創建存儲過程統計各部門各種職稱的人數; 建立數據庫相關表之間的參照完整性約束。
實現房屋戶型、房東信息的管理; 實現租房客戶信息的管理; 實現房屋的出租、歸還登記; 實現租房收費管理;
創建存儲過程統計各種戶型的房屋的出租數量; 創建觸發器,當房屋租出時自動修改該房屋的狀態; 創建視圖查詢當前所有房屋的房號、房東、狀態信息; 建立數據庫相關表之間的參照完整性約束。(14)二手房中介管理系統
(15)某賓館客房管理系統
實現客房類型、價目信息、客房信息的管理; 實現客戶信息的管理; 實現入住和退房管理; 實現費用管理;
創建觸發器,實現入住和退房時自動修改客房的狀態;
創建存儲過程統計某段時間內各種類型的客房的入住時間合計和費用合計;
? 創建視圖查詢某一時刻沒有入住的房間信息; ? 建立數據庫相關表之間的參照完整性約束。(16)建材物資管理信息系統
? ? ? ? ? ? ? 實現物資類型、供應商、倉庫等信息的管理; 實現物資信息的管理; 實現物資入庫、銷售管理;
創建觸發器,實現物資入庫、銷售出庫時自動修改對應的庫存; 創建存儲過程查詢某段時間內各種物資的入庫數量和銷售數量; 創建存儲過程查詢某段時間內各種物資的銷售收入; 建立數據庫相關表之間的參照完整性約束。
(17)某客運公司的運輸管理系統
? 實現車型、路線、駕駛員等信息的管理; ? 實現線路車次、線路站點及票價管理; ? 實現售票管理; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 創建存儲過程按線路統計乘坐次數;
創建存儲過程按車次統計某段時間的乘坐次數;
創建觸發器,實現售票時自動修改相應車次已售座位數; 創建視圖查詢各線路各車型的數量;
建立數據庫相關表之間的參照完整性約束。
部門、專業、班級等基本信息的管理; 實現學生信息的管理; 實現學生成績的管理; 實現學生的獎懲管理;
創建視圖查詢學生的學號、姓名、性別、院系、專業、班級信息; 創建存儲過程統計各院系、專業學生的男女人數;
創建觸發器當新增、修改或刪除學生時自動修改相應班級的學生人數; 創建check約束限制學生的性別只能輸入“男”或“女”; 建立數據庫相關表之間的參照完整性約束。(18)某高校的學籍管理系統
(19)某煤氣公司送氣管理系統
實現工作人員、客戶信息的管理; 實現煤氣類別和供應商的管理; 實現煤氣入庫管理和出庫管理; 實現費用管理;
創建觸發器,實現入庫、出庫時相應類型煤氣的數量的增加或減少; 創建存儲過程統計每個送氣員工指定月份送氣的數量; 創建存儲過程查詢指定月份用氣量最大的前10個用戶,并按用氣量遞減排列;
? 建立數據庫相關表之間的參照完整性約束;(20)職業介紹信息管理系統
? 實現職業分類、職業信息管理(職業號、職業類型號、用人單位、需求人數、已聘人數、備注);
? 實現用人單位、求職者信息管理,求職者信息設有聘用標志,默認值為未聘用;
? 實現求職者和職業匹配管理(職業號、求職人員編號);
? 實現費用管理,包括用人單位交費情況、求職人員交費情況;
? 創建觸發器,求職成功時,自動修改相應職業的已聘人數和相應職工的聘用標志為‘聘用成功’;另外如果相應職業的已聘人數不得超過需求人數;
? 創建存儲過程查詢各種職業的需求數和已聘用數; ? 創建規則限制求職者的性別,必須為‘男’或‘女’; ? 建立表間關系。(21)再就業服務中心管理信息系統
? 實現服務中心信息管理;
? 實現職業分類、用人單位信息管理;
? 實現求職人員信息、職業信息管理(職業號、職業類型號、用人單位、需求人數、已聘人數、備注); ? 實現求職成功登記;
? 實現費用管理,包括用人單位交費情況、求職人員交費情況;
? 創建觸發器,求職成功時,自動修改相應職業的已聘人數和相應職工的聘用標志為‘聘用成功’;另外如果相應職業的已聘人數不得超過需求人數;
? 創建存儲過程查詢各種職業的需求數和已聘用數; ? 創建約束限制求職者的性別,必須為‘男’或‘女’; ? 建立表間關系。(22)學校家教服務管理系統
? ? ? ? ? ? ? ? 實現教師信息、職業類型管理;
實現職業登記(職業號、名稱、地址、電話等);
實現職業作息登記(職業號、日期、開始時間、結束時間、教師); 實現工資管理和收費管理;
創建存儲過程統計指定日期范圍內各的時刻時間總和; 創建存儲過程統計各種職業的需求次數;
創建check約束限制教師性別必須輸入‘男’或‘女’; 建立表間關系。
(23)高校學生就業管理系統
? 實現院系、專業、畢業生信息管理(設有就業標志,初值為‘待業’); ? 實現職業類型、職業信息(職業號、類型號、需求數量、聘用數量、用人單位)登記;
? 實現畢業生就業登記(學號、職業號),自動修改相應學生的就業標志和職業的聘用數量,并保證聘用數量不大于需求數量;
? 創建存儲過程查詢畢業生的人數、待業人數、就業人數和就業率; ? 創建存儲過程查詢各專業的畢業生就業率;
? 創建check約束限制畢業生性別必須為‘男’或‘女’; ? 建立表間關系。(24)某景點門票銷售管理系統
? ? ? ? ? ? 實現票價管理(應分老年、小孩、成人、團體等); 實現營業員管理;
實現門票銷售、退票管理;
創建存儲過程統計指定日期的門票銷售情況; 創建存儲過程統計指定月份的門票銷售情況;
創建存儲過程統計指定日期各種價格的門票銷售情況; ? 創建存儲過程統計指定營業員指定日期的收費情況; ? 創建表間關系。(25)某商店進銷存管理系統
? 實現商品類別、供貨商、業務員信息管理; ? 實現商品信息、倉庫信息管理、倉庫商品管理;
? 實現商品驗收入庫、商品銷售出庫管理,入庫和出庫時自動修改對應商品的總庫存和分庫庫存量(用觸發器實現),另外驗收或銷售時一單可以驗收或銷售多種商品; ? 實現轉倉管理,轉倉時自動修改轉出倉庫和轉入倉庫對應商品的數量(用觸發器實現);
? 創建存儲過程統計指定時間段內各種商品的進貨數量和銷售數量; ? 創建表間關系。
(26)某書店書刊出租和零售管理系統
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 實現圖書類別、期刊類別、出版社等基本信息管理; 實現圖書信息、期刊信息、客戶信息管理; 實現借閱、歸還、零售管理;
借閱或歸還時自動修改圖書或期刊的在冊數量,零售時修改圖書或期刊的總量和在冊數量(用觸發器實現);
創建存儲過程統計指定時間段內各種圖書、期刊的借閱、零售數量; 創建存儲過程統計指定客戶借閱、購買情況(書名(刊物名)、數量); 創建check約束限制圖書、期刊的單位為‘本’; 創建表間關系。
實現美容項目及價格信息管理;
實現客戶信息、客戶車輛信息管理; 實現美容登記和收費管理;
創建存儲過程統計指定月份各種美容項目的美容次數; 創建存儲過程統計指定年份各客戶的美容次數; 創建存儲過程統計指定月份美容店的收入情況; 創建規則限制客戶的性別必須輸入‘男’或‘女’; 創建表間關系。
實現學生信息、課程學生管理; 實現教師及任課信息管理;
實現選課登記,要保證學生不能選修重復的課程(實用觸發器實現); 創建存儲過程統計各學生指定學期選修課程的總學分數; 創建視圖查詢2013-2014學年,沒有被選修的課程; 創建存儲過程統計各教師任課的學生人數; 創建表間關系。(27)某汽車美容店管理系統
(28)某高校學生選課管理系統(29)火車站票務管理系統
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 實現車次管理;
實現車次及價格管理(含到各站的價格); 實現業務員管理; 實現車票銷售管理,車票銷售時不能超員,并自動修改剩余的座位數(用觸發器實現);
創建存儲過程統計指定車次指定發車時間的車票銷售情況; 創建存儲過程統計指定日期各業務員車票的銷售收入; 實現退票管理,退票時自動修改相應車次的剩余座位數(用觸發器實現); 創建表間關系。
實現費用類型、業務員管理;
實現客戶信息管理,客戶設有結余金額;
實現收費管理,自動修改用戶的結余金額(用觸發器實現); 創建存儲過程統計指定月份各種費用類型的收費情況; 創建存儲過程統計指定日期各業務員的收費情況;
限定客戶的電話號碼是有非0數字開頭的七位數字組成的號碼; 創建表間關系。(30)某電信營業廳營業收費管理系統
(31)某單位設備管理系統
實現設備類別、設備信息管理; 實現用戶管理;
實現設備入庫管理,必須自動修改相應設備的數量;
實現設備的領用和歸還管理(要自動修改相應設備的可領用數量); 實現設備的報損管理(報損后要自動修改相應設備的數量和可領用數量);
? 創建存儲過程統計各種類型設備的數量;
? 創建存儲過程統計指定月份各設備的領用歸還情況; ? 創建表間關系。(32)某單位考勤管理系統
? ? ? ? ? ? ? ? 實現部門、員工信息管理;
實現系統信息管理,用于設置上午、下午的上下班時間; 實現考勤登記;
創建觸發器,如果打卡時間超出上班時間,并且小于5分鐘,登記為遲到,否則登記為曠工;
創建存儲過程統計各員工指定月份的缺席、曠工次數; 創建視圖分組查詢各部門的職工信息及職工人數;
創建check約束,限制員工的性別必須為‘男’或‘女’; 建立表間關系。(33)機房管理系統
? ? ? ? ? 實現機房信息、機器信息、學生信息、上機類型信息的管理; 實現學生上機充值信息的管理;
實現學生上機過程的登記、費用信息的管理; 實現教學班及教學班學生信息的管理;
實現上機費率標準的設置及教學班上機的預約,即設置各教學班的上課時段。
? 創建存儲過程統計各機房上機費用的統計;
? 創建觸發器實現費用登記時,自動修改該生的賬戶余額。? 建立各表之間的關系。(34)網上書店
功能需求:(參考www.tmdps.cn)
? 系統管理:用戶注冊、注銷、登陸、修改密碼;
? 圖書查詢:圖書具有書名、作者、編號(ISBN)、出版社、定價、折扣、目錄、庫存狀態等信息。用戶可根據書名、作者、出版社等信息進行模糊查詢。? 訂單管理:用戶可通過網絡下訂單,經檢查有效的訂單發送到用戶信箱,等待用戶支付款項。用戶付款后,通過郵局向用戶發送圖書,并對這一過程進行跟蹤管理。
? 信息服務:跟蹤每一個注冊用戶購買或瀏覽習慣,當書庫中有此類新書時用電子郵件通知該用戶。
? 用戶論壇:用戶可在此發表書評或進行投訴。(35)求職網站
功能需求:(可參考51job等求職網站)
? 系統管理:用戶注冊、注銷、登陸、修改密碼。其中用戶分為求職用戶與企業用戶。
? 檔案管理:用戶檔案的建立、修改、保存、查詢;
? 信息查詢:用戶可根據專業、工作經驗、薪金等屬性進行模糊查詢; ? 信息互動:用戶開通相關服務后,可自動收到相關求職/招聘信息,從而減少用戶搜索負擔。
? 行業動態:根據行業需求/工資變化,自動生成分析報告,從而為就業提供一定指導。
? 求職論壇:為用戶提供一個網上交流論壇。
第二篇:數據庫設計可選題目
保險代理人資格模擬考試系統的設計與實現 暴龍眼鏡專賣店銷售系統的設計與實現 機電學院職工信息系統的設計與實現 博陽高中學生管理系統的設計與實現 五家子村信息化管理系統的設計與實現
九陽股份有限公司人事管理系統的設計與實現 新世紀酒店餐飲管理系統的設計與實現 嘉華超市庫存管理系統的設計與實現 丹東華美手機銷售系統的設計與實現
《系統建模工具》課程中心的設計與實現 金陽客運站售票系統的設計與實現 華夏酒店客房管理系統的設計與實現 天康集團人事管理系統的設計與實現 神州汽車租賃管理系統的設計與實現 萬豪酒店餐飲管理系統的設計與實現 世紀高中運動會管理系統的設計與實現 安正辦公用品管理系統的設計與實現 迷你飾品網絡銷售系統的設計與實現 美食每刻訂餐網的設計與實現
丹東一中學生管理系統的設計與實現 鼎盛房屋租賃管理系統設計與實現
廣天食品公司人事管理系統設計與實現 丹東星火公司手機銷售系統設計與實現 興隆小區物業管理系統設計與實現 海迪酒店客房管理系統設計與實現 昌旭超市進銷存管理系統的設計與實現 云飛音像公司庫存管理系統設計與實現 宇飛公司工資管理系統設計與實現 國際酒店客房管理系統的設計與實現 東港煙草公司網絡銷售系統的設計與實現 遼東學院運動會管理系統的設計與實現 秀曼童裝網絡銷售系統的設計與實現 北方圖書網絡銷售系統的設計與實現 佳琪鞋業庫存管理系統的設計與實現
貝多分嬰兒用品網絡銷售系統的設計與實現 “攜手”情侶表網絡銷售系統的設計與實現 雨林時尚飾品網站的設計與實現 森瑪網絡休閑服飾網站的設計與實現 金灣小區物業管理系統的設計與實現 《網站開發技術》課程網站的設計與實現 鴻利手包專賣店網站的設計與實現 尼豐汽配公司網站的設計與實現 林明臣國畫專賣店網站的設計與實現
名品太陽鏡網上專營店網站的設計與實現 云裳嫁衣婚紗專賣店網站的設計與實現 “Ben”筆記本專營店網站的設計與實現 旭東網上煙具店網站的設計與實現
第三篇:數據庫設計實戰題目(簡單)
數據庫設計實戰題目一
一個簡單的《參觀接待管理系統》,數據庫中涉及以下數據: 展廳HALL
展廳編號HNO、展廳名稱HNAME、功能介紹HDESCRIPTION和展廳容量HCAPACITY
員工EMPLOYEE
員工號ENO、員工姓名ENAME和所在單位EUNIT 客戶CUSTOMER
客戶編號CNO、客戶姓名CNAME、客戶單位CUNIT和職務CDUTY
一位員工可以申請多個展廳,每個展廳在不同的時間(DATE)可以借給多位員工,一位員工可以在不同的時間邀請多個客戶來參觀展廳,要求能描述員工申請展廳來接待客戶等信息。具體如下:
1)設計出展廳管理系統的E/R圖;
2)將以上E/R圖轉換成關系模型(請注明每個關系的鍵碼);
第四篇:數據庫綜合設計題目
數據庫綜合設計題目
本部分作業是設計性實驗部分,要求如下:
(1)繪制出E-R圖,E-R圖要求有必要的屬性。
(2)將E-R圖轉換成相應的關系模式,要求指出主碼。
(3)使用SQL語句創建相應的表,表中要有必要的約束。
(4)創建主要表的查詢視圖。
(5)最后上交設計性實驗報告。
題目一:圖書管理系統(學號1-5號的做本題目)
涉及到的實體有:讀者、讀者部門、讀者類型、圖書、出版社、圖書類別,其它的由自己確定。
題目二:學生選課系統(學號6-10號的做本題目)
涉及到的實體有:教師、院系、學生、課程、班級等,其它信息由自己確定。題目三:班費管理系統(學號11-15號的做本題目)
涉及到的實體有:班費項目、學生、班費、學生職務等信息,其它信息由自己確定。本題目藥反映出欠費信息。
題目四:住院管理系統(學號16-20號的做本題目)
涉及到的實體有:醫生、病人、病房、病房等級、醫生類別等信息,其它信息有自己來確定。
題目五:工資管理系統(學號21-25號的做本題目)
涉及到的實體有:職工信息、部門信息、工資等級信息、工作信息,其它信息由自己來確定。
題目六:畢業設計管理系統(剩余學生做本題目)
涉及到的實體有:學生、班級、畢業設計信息、指導老師信息、院系信息,其它信息由自己確定
設計性實驗報告題目格式為:數據庫原理與應用設計性實驗
你所做的題目
其它內容包括:班級:學號:姓名:任課老師:年月日(每個信息占一行)
第五篇:數據庫面試題目
SQL
(二)數據庫面試題
標簽:it
提供最全的DBA類, 開發類面試題
數據庫面試題: http:///html/category/it-interview/database
Oracle面試題:
MySQL面試題:
SQL Server面試題:
更多面試題請訪問: http://
(二)數據庫面試題
1. 存儲過程和函數的區別?
答:存儲過程是用戶定義的一系列sql語句的集合,涉及特定表或其它對象的任務,用戶可以調用存儲過程,而函數通常是數據庫已定義的方法,它接收參數并返回某種類型的值并且不涉及特定用戶表。
2. 事務是什么?
答:事務是作為一個邏輯單元執行的一系列操作,一個邏輯工作單元必須有四個屬性,稱為 ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務:
原子性:事務必須是原子工作單元;對于其數據修改,要么全都執行,要么全都不執行。
一致性:事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用于事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如 B 樹索引或雙向鏈表)都必須是正確的。
隔離性:由并發事務所作的修改必須與任何其它并發事務所作的修改隔離。事務查看數據時數據所處的狀態,要么是另一并發事務修改它之前的狀態,要么是另一事務修改它之后的狀態,事務不會查看中間狀態的數據。這稱為可串行性,因為它能夠重新裝載起始數據,并且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。
持久性:事務完成之后,它對于系統的影響是永久性的。該修改即使出現系統故障也將一直保持。
3. 游標的作用?如何知道游標已經到了最后?
答:游標用于定位結果集的行,通過判斷全局變量@@FETCH_STATUS可以判斷是否到了最后,通常此變量不等于0表示出錯或到了最后。
4. 觸發器分為事前觸發和事后觸發,這兩種觸發有和區別。語句級觸發和行級觸發有何區別。
答:事前觸發器運行于觸發事件發生之前,而事后觸發器運行于觸發事件發生之后。通常事前觸發器可以獲取事件之前和新的字段值。語句級觸發器可以在語句執行前或后執行,而行級觸發在觸發器所影響的每一行觸發一次
1,統計函數 avg, count, max, min, sum
1維護數據庫的完整性、一致性、你喜歡用觸發器還是自寫業務邏輯?為什么?
答:盡可能用約束(包括CHECK、主鍵、唯一鍵、外鍵、非空字段)實現,這種方式的效率最好;其次用觸發器,這種方式可以保證無論何種業務系統訪問數據庫都能維持數據庫的完整性、一致性;最后再考慮用自寫業務邏輯實現,但這種方式效率最低、編程最復雜,當為下下之策。
2什么是事務?什么是鎖?
答:事務是指一個工作單元,它包含了一組數據操作命令,并且所有的命令作為一個整體一起向系統提交或撤消請求操作,即這組命令要么都執行,要么都不執行。
鎖是在多用戶環境中對數據的訪問的限制。SqlServer自動鎖定特定記錄、字段或文件,防止用戶訪問,以維護數據安全或防止并發數據操作問題,鎖可以保證事務的完整性和并發性。
3什么是索引,有什么優點?
答:索引象書的目錄類似,索引使數據庫程序無需掃描整個表,就可以在其中找到所需要的數據,索引包含了一個表中包含值的列表,其中包含了各個值的行所存儲的位置,索引可以是單個或一組列,索引提供的表中數據的邏輯位置,合理劃分索引能夠大大提高數據庫性能。
4視圖是什么?游標是什么?
答:視圖是一種虛擬表,虛擬表具有和物理表相同的功能,可以對虛擬表進行增該查操作,視圖通常是一個或多個表的行或列的子集,視圖的結果更容易理解(修改視圖對基表不影響),獲取數據更容易(相比多表查詢更方便),限制數據檢索(比如需要隱藏某些行或列),維護更方便。
游標對查詢出來的結果集作為一個單元來有效的處理,游標可以定位在結果集的特定行、從結果集的當前位置檢索一行或多行、可以對結果集中當前位置進行修改、5什么是存儲過程?有什么優點?
答:存儲過程是一組予編譯的SQL語句,它的優點有1.允許模塊化程序設計,就是說只需要創建一次過程,以后在程序中就可以調用該過程任意次。2.允許更快執行,如果某操作需要執行大量SQL語句或重復執行,存儲過程比SQL語句執行的要快。3.減少網絡流量,例如一個需要數百行的SQL代碼的操作有一條執行語句完成,不需要在網絡中發送數百行代碼。4.更好的安全機制,對于沒有權限執行存儲過程的用戶,也可授權他們執行存儲過程。
6什么是觸發器?
答:出發器是一種特殊類型的存儲過程,出發器主要通過事件觸發而被執行的,觸發器的優點:1.強化約束,觸發器能夠提供比CHECK約束。2.跟蹤變化,觸發器可以跟蹤數據庫內的操作,從而不允許未經允許許可的更新和變化。3.聯級運算,比如某個表上的觸發器中包含對另一個表的數據操作,而該操作又導致該表上的觸發器被觸發。
這是兩張表,一張為enployee,另一張是salary表,employee表中有id ,name字段,salary表中有id ,eid ,salary三條字段,在面試的時候數據庫是必考題,不管是筆試還是面試一般都不會少的,很多程序員學完面向對象語言后,尤其是許多壓根就 不懂計算機的外行,總覺得編程就是唯代碼是從,我就見過那么一個哥們,在我耳邊總是暗自竊喜說自己學完面向對象的語言后,一下子就少學好多東西,也少去了好多麻煩,比如說什么數據庫java封裝了,令人頭疼的C++指針也被JAVA相關類給取代了,在我們面前的大不了就是引用那么簡單了,我聽了該怎么說呢,只能為他感到悲哀,剩下我就干脆不說了,但是我奉勸大家,數據庫是作為踏入IT或者想在IT行業中有所建樹的人,不可忽略甚至是最核心的課程,因為任何復雜程序的設計歸根到底是復雜數據庫的設計,所以聰明的面試官通常都會將數據庫的考核作為你通關的重要環節,現在我就將面試經常出出現的考題代碼給大家寫出來,不過分析的靠你自己,如果你分析不出來,我就毫不客氣的說,你注定不會在IT行業中停留很久,關聯人員表、工資表 查詢工資最高的三個員工的名字和工資 select e.id ,e.name,s.salary from salary s , employee e where e.id=s.eid order by s.salary desc limit 3;查詢工資高于平均工資的員工名字和工資 select e.name,s.salary from employee e,salary s where e.id=s.eid and salary >(select avg(salary)from salary);使用平均值函數查詢工資表的平均工資 select avg(salary)from salary;求最高工資 select max(salary)from salary s;使用左聯接或右連接查詢所有員工的信息和工資 select e.id ,e.name,s.salary from salary s right join employee e on e.id=s.eid order by s.salary desc;查詢aa表中相同id2這一列的 值和個數 select *,count(*)from aa group by id2;select id from employee limit 0 ,2;0表示從第幾條開始,2 表示取多少條記錄; select id form employee limit(當前頁-1)*每頁的行數,每頁的行數;
1.觸發器的作用?
答:觸發器是一中特殊的存儲過程,主要是通過事件來觸發而被執行的。它可以強化約束,來維護數
據的完整性和一致性,可以跟蹤數據庫內的操作從而不允許未經許可的更新和變化。可以聯級運算。如,某表上的觸發器上包含對另一個表的數據操作,而該操作又會導致該表觸發器被觸發。
2。什么是存儲過程?用什么來調用?
答:存儲過程是一個預編譯的SQL語句,優點是允許模塊化的設計,就是說只需創建一次,以后在該程序中就可以調用多次。如果某次操作需要執行多次SQL,使用存儲過程比單純SQL語句執行要快。可以用一個命令對象來調用存儲過程。
3。索引的作用?和它的優點缺點是什么?
答:索引就一種特殊的查詢表,數據庫的搜索引擎可以利用它加速對數據的檢索。它很類似與現實生活中書的目錄,不需要查詢整本書內容就可以找到想要的數據。索引可以是唯一的,創建索引允許指定單個列或者是多個列。缺點是它減慢了數據錄入的速度,同時也增加了數據庫的尺寸大小。
3。什么是內存泄漏?
答:一般我們所說的內存泄漏指的是堆內存的泄漏。堆內存是程序從堆中為其分配的,大小任意的,使用完后要顯示釋放內存。當應用程序用關鍵字new等創建對象時,就從堆中為它分配一塊內存,使用完后程序調用free或者delete釋放該內存,否則就說該內存就不能被使用,我們就說該內存被泄漏了。
4。維護數據庫的完整性和一致性,你喜歡用觸發器還是自寫業務邏輯?為什么?
答:我是這樣做的,盡可能使用約束,如check,主鍵,外鍵,非空字段等來約束,這樣做效率最高,也最方便。其次是使用觸發器,這種方法可以保證,無論什么業務系統訪問數據庫都可以保證數據的完整新和一致性。最后考慮的是自寫業務邏輯,但這樣做麻煩,編程復雜,效率低下。
5。什么是事務?什么是鎖?
答:事務就是被綁定在一起作為一個邏輯工作單元的SQL語句分組,如果任何一個語句操作失敗那么整個操作就被失敗,以后操作就會回滾到操作前狀態,或者是上有個節點。為了確保要么執行,要么不執行,就可以使用事務。要將有組語句作為事務考慮,就需要通過ACID測試,即原子性,一致性,隔離性和持久性。
鎖:在所以的DBMS中,鎖是實現事務的關鍵,鎖可以保證事務的完整性和并發性。與現實生活中鎖一樣,它可以使某些數據的擁有者,在某段時間內不能使用某些數據或數據結構。當然鎖還分級別的。
6。什么叫視圖?游標是什么?
答:視圖是一種虛擬的表,具有和物理表相同的功能。可以對視圖進行增,改,查,操作,試圖通常是有一個表或者多個表的行或列的子集。對視圖的修改不影響基本表。它使得我們獲取數據更容易,相比多表查詢。
游標:是對查詢出來的結果集作為一個單元來有效的處理。游標可以定在該單元中的特定行,從結果集的當前行檢索一行或多行。可以對結果集當前行做修改。一般不使用游標,但是需要逐條處理數據的時候,游標顯得十分重要。
7。為管理業務培訓信息,建立3個表:
S(S#,SN,SD,SA)S#,SN,SD,SA分別代表學號,學員姓名,所屬單位,學員年齡
C(C#,CN)C#,CN分別代表課程編號,課程名稱
SC(S#,C#,G)S#,C#,G分別代表學號,所選的課程編號,學習成績
(1)使用標準SQL嵌套語句查詢選修課程名稱為’稅收基礎’的學員學號和姓名?
答案:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’稅收基礎’)
(2)使用標準SQL嵌套語句查詢選修課程編號為’C2’的學員姓名和所屬單位?
答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’
(3)使用標準SQL嵌套語句查詢不選修課程編號為’C5’的學員姓名和所屬單位?
答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)
(4)查詢選修了課程的學員人數
答:select 學員人數=count(distinct s#)from sc
(5)查詢選修課程超過5門的學員學號和所屬單位?
答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5)
問題描述:
為管理崗位業務培訓信息,建立3個表:
S(S#,SN,SD,SA)S#,SN,SD,SA 分別代表學號、學員姓名、所屬單位、學員年齡
C(C#,CN)C#,CN 分別代表課程編號、課程名稱
SC(S#,C#,G)S#,C#,G 分別代表學號、所選修的課程編號、學習成績
1.使用標準SQL嵌套語句查詢選修課程名稱為’稅收基礎’的學員學號和姓名
--實現代碼:
Select SN,SD FROM S Where [S#] IN(Select [S#] FROM C,SC Where C.[C#]=SC.[C#] AND CN=N'稅收基礎')
2.使用標準SQL嵌套語句查詢選修課程編號為’C2’的學員姓名和所屬單位
--實現代碼:
Select S.SN,S.SD FROM S,SC Where S.[S#]=SC.[S#] AND SC.[C#]='C2'
3.使用標準SQL嵌套語句查詢不選修課程編號為’C5’的學員姓名和所屬單位
--實現代碼:
Select SN,SD FROM S Where [S#] NOT IN(Select [S#] FROM SC Where [C#]='C5')
4.使用標準SQL嵌套語句查詢選修全部課程的學員姓名和所屬單位
--實現代碼:
Select SN,SD FROM S Where [S#] IN(Select [S#] FROM SC RIGHT JOIN C ON SC.[C#]=C.[C#] GROUP BY [S#] HAVING COUNT(*)=COUNT([S#]))
5.查詢選修了課程的學員人數
--實現代碼:
Select 學員人數=COUNT(DISTINCT [S#])FROM SC
6.查詢選修課程超過5門的學員學號和所屬單位
--實現代碼:
Select SN,SD FROM S Where [S#] IN(Select [S#] FROM SC GROUP BY [S#] HAVING COUNT(DISTINCT
[C#])>5)
題目2:
問題描述:
S(SNO,SNAME)學生關系。SNO 為學號,SNAME 為姓名
C(CNO,CNAME,CTEACHER)課程關系。CNO 為課程號,CNAME 為課程名,CTEACHER 為任課教師
SC(SNO,CNO,SCGRADE)選課關系。SCGRADE 為成績
1.找出沒有選修過“李明”老師講授課程的所有學生姓名
--實現代碼:
Select SNAME FROM S Where NOT EXISTS(Select * FROM SC,C Where SC.CNO=C.CNO AND CNAME='李明' AND SC.SNO=S.SNO)
2.列出有二門以上(含兩門)不及格課程的學生姓名及其平均成績
--實現代碼:
Select S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)FROM S,SC,(Select SNO FROM SC Where SCGRADE<60 GROUP BY SNO HAVING COUNT(DISTINCT CNO)>=2)A Where S.SNO=A.SNO AND SC.SNO=A.SNO GROUP BY S.SNO,S.SNAME
3.列出既學過“1”號課程,又學過“2”號課程的所有學生姓名
--實現代碼:
Select S.SNO,S.SNAME FROM S,(Select SC.SNO FROM SC,C Where SC.CNO=C.CNO AND C.CNAME IN('1','2')GROUP BY SNO HAVING COUNT(DISTINCT CNO)=2)SC Where S.SNO=SC.SNO
4.列出“1”號課成績比“2”號同學該門課成績高的所有學生的學號
--實現代碼:
Select S.SNO,S.SNAME FROM S,(Select SC1.SNO FROM SC SC1,C C1,SC SC2,C C2 Where
SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND
SC1.SCGRADE>SC2.SCGRADE)SC Where S.SNO=SC.SNO
5.列出“1”號課成績比“2”號課成績高的所有學生的學號及其“1”號課和“2”號課的成績--實現代碼:
Select S.SNO,S.SNAME,SC.[1號課成績],SC.[2號課成績] FROM S,(Select SC1.SNO,[1號課成績]=SC1.SCGRADE,[2號課成績]=SC2.SCGRADE FROM SC SC1,C C1,SC SC2,C C2 Where SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND SC1.SCGRADE>SC2.SCGRADE)SC Where S.SNO=SC.SNO