數據庫實驗報告交通管理系統_第1頁
數據庫實驗報告交通管理系統_第2頁
數據庫實驗報告交通管理系統_第3頁
數據庫實驗報告交通管理系統_第4頁
數據庫實驗報告交通管理系統_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、鍵入文字數據庫實驗報告實驗名稱 交通管理系統 實驗人學號 姓名 報告完成日期 2015年11月30日 教師評語:成績:指導教師簽字:評閱日期: 年 月 日目錄第一部分 數據庫設計3一、問題描述3二概念模型設計4三、創建數據字典5四、數據庫邏輯設計7第二部分:實驗內容8實驗一: 數據庫實施:創建數據庫及其對象8實驗二: 數據的增刪改15實驗三: 數據庫查詢21實驗四: 創建和刪除視圖24第三部分:實驗總體評價和體會25 第一部分 數據庫設計一、問題描述系統對違章車輛、車主、違章信息、時間、懲處形式、執法民警等信息進行管理。違章車輛具有車牌號、車型、顏色三個屬性車牌號為鍵碼。車主有身份證號、手機號

2、、姓名三個屬性身份證號為鍵碼。違章信息有違章信息編號、地點、內容三個屬性違章信息編號為鍵碼。懲處形式具有費用、是否付、扣分、是否已扣、編號五個屬性,編號為鍵碼。執法民警具有民警編號、姓名、民警手機號三個屬性,民警編號為鍵碼。 車主擁有違章車輛,違章車輛具有違章信息,違章信息既包含懲處方式,執法民警執法違章車輛。具有有聯系屬性時間,執法有聯系屬性車輛個數。(2)功能設計此數據庫可以實現查詢:違章車輛信息查詢車主信息、執法民警信息、違章時間、地點、違章內容懲處形式信息(費用是否付清、分數是否已經被扣二概念模型設計E-R圖設計身份證號車牌號手機號車型顏色擁有車主姓名違章車輛民警編號執法民警執法姓名具

3、有時間車輛個數手機號違章編號地點違章信息內容包含懲處形式費用懲處編號分數是否付清是否已扣三、創建數據字典 違章車輛字段名數據類型長度約束描述carnumberchar8不空,鍵碼車牌號cartypechar8可空車型colorchar8可空顏色車主字段名數據類型長度約束描述ownernamechar8不空姓名Idnumberchar20不空,鍵碼(18位)身份證號phonenumberchar16可空(11位)手機號carnumber char 8 不空鍵碼外碼 車牌號執法民警字段名數據類型長度約束描述policernamechar8不空民警姓名policenumberchar2不空,鍵碼民警

4、編號pphonenumberchar16可空(11位)民警手機號違章信息字段名數據類型長度約束描述wznumberint2不空,鍵碼違章編號contentschar16不空內容placechar16不空地點懲處形式字段名數據類型長度約束描述ccnumberint2不空,鍵碼懲處編號costint4不空,大于0費用ifpaychar2“是”或“否”是否付清scoreint2不空,整數大于0分數ifminuschar2“是”或“否”是否已扣執法字段名數據類型長度約束描述carnmuberchar8不空主鍵,外鍵車牌號policenumberchar2不空主鍵,外鍵民警編號carcountint2不

5、空車輛個數具有字段名數據類型長度約束描述carnumberchar8不空主鍵,外鍵車牌號wznumberint不空主鍵,外鍵違章編號wztimedatetime不空時間包含字段名數據類型長度約束描述wznumberint2不空主鍵,外鍵違章編號ccnumberint2不空主鍵,外鍵懲處編號四、數據庫邏輯設計1.關系模式違章車輛(車牌號,車型,顏色);車主(身份證號,手機號,姓名,車牌號):執法民警(民警編號,民警手機號,民警姓名);違章信息(違章編號,內容,地點);懲處形式(懲處編號,費用,是否付清,分數,是否已扣);執法(車牌號,民警編號,車輛個數);(多對多)具有(車牌號,時間,違章編號)

6、;(多對多)包含(違章編號,懲處編號);(多對一)2、約束的設計(1)一個車主只擁有一輛違章車,一個違章車也歸一位車主所有。(2)一個民警可以對多輛違章車進行執法,一輛違章車可能被多個民警執法(時間不同,地點不同)。(3)一輛違章車可能具有多個違章信息,一個違章信息可以對應多個違章車輛。(4)一個違章信息只能對應一個懲處形式,同一個懲處形式可能有多個違章發生,所以可以對應多個違章信息。3數據表設計 (與上面的數據字典內容相同故不再重復)第二部分:實驗內容實驗一: 數據庫實施:創建數據庫及其對象 一、實驗目的1學習MS SQL SERVER2000的特點。2學習并掌握創建一個關系數據庫的方法和相

7、關SQL語句的使用。3學習并掌握在數據庫中創建基本表、修改表結構、刪除基本表的方法和相關SQL語句的使用。4學習并掌握在數據庫中創建、刪除索引文件的方法和相關SQL語句的使用。5掌握實體完整性、參照完整性、用戶定義完整性約束概念。二、實驗內容 根據數據庫設計方案:1使用CREATE DATABASE語句,在數據庫服務器上創建一個關系數據庫。2使用CREATE TABLE語句,以及ALTER、DROP語句創建基本表、修改表結構或刪除基本表。3分析數據庫的應用(可以模擬設定),并使用CREATE INDEX語句、DROP語句創建、刪除索引文件。三、 實驗要求1使用QUERY ANALYZER(查詢

8、分析器),以交互方式完成創建數據庫,創建基本表、修改基本表和刪除基本表,以及創建、刪除索引文件。2基本表的定義至少包括主碼約束、外碼約束、唯一性約束、檢查約束、“空”約束和缺省值約束。四、 實驗裝置1服務器端:MS SQL SERVER 2000 Enterprise Edition / Professional Edition.2. 客戶器端:Windows 2000 Server / Windows XP 五、 實驗步驟1.創建數據庫,包括數據文件和日志文件如下所示:成功創建數據庫和日志文件2.創建基本表1“違章車輛”(create table)創建成功,在數據庫db_s13070213的

9、filetable中出現名為“違章車輛”的基本表同上創建其他7個基本表,基本表2:懲處形式基本表3:執法民警基本表4:違章信息基本表5:車主基本表6:執法基本表7:具有基本表8:包含基本表創建成功:3.修改基本表:ALTER TABLE語句的使用:在“具有”表中的加“wztime”屬性,語句如下所示:結果:ALTER TABLE語句的使用2,在“懲處形式“表中給ifminus加default 和check約束:結果:在約束里可以看到ifminus的default和check 約束。4.刪除基本表 (drop table)執行drop table 語句后,表中名為“車主”的基本表就被刪除了。5.

10、 創建非聚集索引文件 (create index)創建結果:索引文件中有一個名為wztime的非聚集索引文件6.刪除索引文件執行drop index 語句后,名為wztime 的索引文件消失。六、 實驗數據及處理實驗中問題:第一次建立基本表的時候,我們沒有有寫“use db_s13070213”語句用我創建數據庫,結果基本表全建在了系統的數據庫中,后經過改正成功建在我自己的數據庫里。七、思考題 1總結基本表的定義方法,以及三種數據完整性約束。 (1) Create table 基本表名稱 ( 屬性名 數據類型(長度)約束, 屬性名 數據類型(長度)約束, ) (2)實體完整性約束就是主鍵約束;

11、參照完整性約束就是外鍵約束;用戶自定義完整性約束一般認為是NULL,NOT NULL,CHECK主鍵約束:CONSTRAINT 約束名 primary key (做主鍵的屬性名)外鍵約束:CONSTRAINT 約束名 foregin key (外鍵名稱) reference 外鍵所在的基本表名稱 (外鍵名稱)NULL約束:屬性名 數據類型(長度)NULLNOT NULL約束:屬性名 數據類型(長度)NOT NULL 檢查約束:CONSTRAINT 約束名 check (約束描述)2 理解索引文件的使用目的和它對數據庫系統開銷的影響。理解聚集索引的優缺點。(1)答:索引就是加快索引表中

12、數據的方法,不需要掃描整個數據庫,對數據庫系統開銷減小。(2)優點:聚集索引能提高多行檢索的速度,而非聚集索引對于單行的檢索很快。缺點:創建索引和維護索引都需要耗費時間和物理空間,聚集索引會改變數據的物理排列。 實驗二: 數據的增刪改 一、實驗目的1學習基本表數據更新(含:增、刪、改)的方法及其SQL語句的使用。2為后續實驗準備數據。二、實驗內容1使用INSERT語句,向數據庫插入數據。2使用UPDATE語句,修改數據庫中已有數據的取值。3使用DELETE語句,從數據庫中刪去一些數據。三、實驗要求 1使用QUERY ANALYZER(查詢分析器),編寫SQL語句,以交互方式完成數據庫數據的更新

13、操作。2設計INSERT、UPDATE或DELETE語句時,要求用戶能夠觀察到當插入或修改操作符合或者違背主碼約束、外碼約束、唯一性約束、檢查約束、“空”約束或缺省值約束時,DBMS對數據約束的維護、監督作用。3一個UPDATE語句可以對兩個以上的屬性值,或者對多個元組進行修改。4數據庫中必須保留足夠的數據,以供后續實驗使用。四、實驗裝置與實驗一相同。五、實驗步驟1根據實驗一創建數據庫及其對象,編寫SQL語句,用于數據庫數據的插入、修改、刪除操作。(見實驗一)2.用INSERT語句往每個表里添加數據,供使用。往表“違章車輛”里加數據如下:往表“車主”里加數據如下:往表“執法民警”里加數據如下:

14、往表“違章信息”里加數據如下:往表“懲處形式”里加數據如下:往表“執法”里加數據如下:往表“具有”里加數據如下:往表“包含”里加數據如下:用select* from 【表名】可以查詢加入的數據,如下所示:“違章車輛”里數據為“車主”里數據為“執法民警”里數據為“違章信息”里數據為“懲處形式”里數據為“執法”里數據為“具有”里數據為“包含”里數據為3. 使用UPDATE語句,修改“車主”表中姓名為“趙前”的手機號碼為身份證號修改前:修改語句為:修改后:“車主”表中姓名為“趙前”的手機號碼被改為身份證號被改

15、4.使用DELETE語句,從數據庫的“懲處形式“表中刪除ccnumber為6的信息。刪除前:刪除語句:刪除后:ccnumber為6的信息被刪除。六、實驗數據及處理 出現問題:有些屬性被設置為NOT NULL 約束,當我沒有輸入這種屬性的數據的時候,系統會自動提示錯誤。思考題1 在更新數據庫數據過程中,RDBMS如何發揮數據庫數據約束作用?答:在插入數據時,RDBMS按照實體完整性規則自動檢查:主碼值是否唯一,主碼各屬性是否為空。參照表插入元組,可能破壞被參照表完整性時被拒絕:參照表修改外碼值,可能破壞參照表完整性時被拒絕,被參照表刪除元組或修改主碼值,可

16、能破壞參照表完整性時,拒絕或級聯刪除或設置為NULL。 2DELETE 語句與DROP TABLE語句的區別是什么?UPDATE語句與ALTER TABLE語句的區別什么? delete是刪除表中某些項,drop table是刪除整個表。UPDATE改數據,ALTER TABLE改字段 實驗三: 數據庫查詢一、實驗目的1學習SELECT語句的使用。二、實驗內容1在實驗一、二的基礎上,使用QUERY ANALYZER,從數據庫中查詢并顯示數據。三、實驗要求 1所設計的SELECT語句應當具有以下語句成分: (1)SELECT子句包含*,表達式,DISTINCT,或者具體指定的屬性名,并引入聚集函

17、數(SUM、COUNT、AVG、MAX、MIN)運算。 (2)FROM子句包含單個或多個表。 (3)WHERE子句的條件表達式應包含字符串、日期等類型變量或常量,可以實現多表的自然連接和一般條件連接。 (4)使用GROUP BY HAVING子句。 (5)使用ORDER BY子句。2設計具有以下結構的SELECT語句: (1)嵌套查詢。包括引入IN、ALL、ANY(some)和EXISTS用法。 (2)集合查詢。四、實驗裝置與實驗一相同。五、實驗步驟1單表的簡單查詢(含:select *from,group byhaving和order by子句):(1) SELECT DISTINCT查詢違

18、章信息內容不一樣的被查詢到: SELECT 聚集函數運算(sum)查詢在執法表中查詢并進行“sum“計算得到民警編號為03一共執法的車輛數為9(2)select *from語句查詢單表(3)where子句表示與(5)結合見(5) (4) group byhaving語句查詢在違章車輛表中查詢到顏色為黑色的車的車型,結果如下: (5) order by子句語句查詢+where子句查詢查詢到違章車牌號,并按執法時間的升序排列輸出2設計具有以下結構的SELECT語句: (1)嵌套查詢,引入IN進行子查詢。 In子查詢結果(2)集合查詢,UNION操作。六、實驗數據及處理 實驗過程中未出現問題。七、

19、思考題1 聚合函數的作用是什么?使用聚合函數應注意什么問題?(1)聚合函數能夠對一組值進行計算,并返回一個單一值。(2)使用聚合函數必須給實體加上別名,如果不加別名聚合函數不會生效。查詢出來的字段不能加別名。還應注意查詢中語句的順序及各個子句中的語法要求。 3總結查詢語句的使用要點。 2總結EXISTS的用法特點。 答:EXISTS后面可以是整句的查詢語句。如 EXISTS SELECT *FROM A EXISTS返回的是boolean值,對子查詢進行loop循環,有值返回真,有數據。3.總結查詢語句的使用要點。SELECT 屬性名 FROM表名 WHERE 條件表達式 。Select后*顯

20、示所有字段;使用distinct去掉重復元組;as進行換名;top n顯示結果中的前n行數據;count函數用作計數器;max找出表中最大值;min找出表中最小值;avg算出某列的平均值;sum求出指定列的總和。 WHERE后使用邏輯運算符及關系運算符,或特殊運算符 如 like %。 ORDER BY對查詢結果進行排序 GROUP BY對查詢結果按照指定字段分組,值相等的分為一組 HAVING字句制定所篩選的條件,但作用對象是group by產生的組。實驗四: 創建和刪除視圖一、實驗目的1學習創建、刪除視圖的方法和相關SQL語句的使用。2學習查詢視圖的方法和相關SQL語句的使用,理解查詢視圖的執行過程。3理解使用視圖的意義。二、實驗內容1在實驗一、二的基礎上,使用CREATE VIEW語句和DROP VIEW語句,創建、刪除視圖表。2使用SELECT語句,從視圖表和基本表中查詢并顯示數據。三、實驗要求1CREATE VIEW語句中的查詢子句必須包含聚集函數。2使用QUERY ANALYZER,創建、刪除

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論