北方工業(yè)大學 數(shù)據(jù)庫實驗報告

上傳人:li****i 文檔編號:112342044 上傳時間:2022-06-22 格式:DOC 頁數(shù):15 大?。?06.42KB
收藏 版權申訴 舉報 下載
北方工業(yè)大學 數(shù)據(jù)庫實驗報告_第1頁
第1頁 / 共15頁
北方工業(yè)大學 數(shù)據(jù)庫實驗報告_第2頁
第2頁 / 共15頁
北方工業(yè)大學 數(shù)據(jù)庫實驗報告_第3頁
第3頁 / 共15頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《北方工業(yè)大學 數(shù)據(jù)庫實驗報告》由會員分享,可在線閱讀,更多相關《北方工業(yè)大學 數(shù)據(jù)庫實驗報告(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、數(shù)據(jù)庫技術I(2010年秋) 序號: 數(shù)據(jù)庫技術I 實驗報告 系別: 班級: 姓名: 學號: 成績: 評語: 指導教師簽字: 日期: 實驗一 數(shù)據(jù)庫的建立及數(shù)據(jù)維護 一、 實驗目的 1.學會使用企業(yè)管理器和查詢分析器創(chuàng)建數(shù)據(jù)庫、創(chuàng)建基本表和查看數(shù)據(jù)庫屬性。 2. 學會使用企業(yè)管理器和查詢分析器向數(shù)據(jù)庫輸入數(shù)據(jù),修改數(shù)據(jù),刪除數(shù)據(jù)的操作。 3. 在SOL Server查詢分析器中完成復雜查詢及視圖定義。 二、 實驗環(huán)境及要求 數(shù)據(jù)庫實驗要求如下環(huán)境,服務器端:Windows 2000/xp、

2、數(shù)據(jù)庫服務器(SQL Server 2005)、Web服務器(IIS 5.0)和ASP??蛻舳耍篒E5.0、VB 6.0。 要求: 1、 根據(jù)以上數(shù)據(jù)字典,畫出該數(shù)據(jù)庫的ER圖,完成數(shù)據(jù)庫的概念結構設計; 2、 將ER圖轉換成邏輯關系模式,判斷邏輯數(shù)據(jù)庫模式中的各個關系(表)是第幾范式,如果沒有達到第三范式或BC范式,請進行規(guī)范化。完成數(shù)據(jù)庫的邏輯結構設計。 3、 通過企業(yè)管理器或者查詢分析器實現(xiàn)關系模式的存儲,包括確定主碼、外部碼等。 4、 通過企業(yè)管理器或查詢分析器向數(shù)據(jù)庫中輸入數(shù)據(jù)。 5、 打開數(shù)據(jù)庫SQL Server 2005的查詢分析器,用SQL語言完成以下語句。并通過

3、實驗結果驗證查詢語言的正確性,將每個SQL語言及結果存盤,以備老師檢查。 (1) 求全體學生的學號、姓名和出生年份。 (2) 求每個系的學生總人數(shù)并按降序排列。 (3) 求選修了課程號為002或003的學生的學號、課程名和成績。 (4) 檢索選修某課程的學生人數(shù)多于3人的教師姓名。 (5) 查詢所有未選課程的學生姓名和所在系。 (6) 求每個同學的課程成績的最高分,查詢結果項包括:學生姓名、課程號及最高分。 (7) 求所有講授數(shù)據(jù)結構課程的教師姓名 (8) 查詢所有選修了李正科老師的課程的學生信息 三、 實驗步驟及結果 1、SQL Server 2005服務

4、管理器使用 1.啟動數(shù)據(jù)庫服務軟件SQL Server 2005:在程序菜單中選擇Microsoft SQL Server 2005 點擊Studio后,出現(xiàn)連接到服務器,點擊“連接”按鈕,啟動SQL Server 2005數(shù)據(jù)庫服務。 2.在SQL Server 2005中建立數(shù)據(jù)庫:在對象資源管理器中選擇數(shù)據(jù)庫單擊右鍵,新建數(shù)據(jù)庫。在新建數(shù)據(jù)庫窗口中,數(shù)據(jù)庫名稱輸入數(shù)據(jù)庫的名稱。 2、查詢分析器的使用 在“文件”菜單中選擇新建--->使用當前連接查詢,點擊使用當前連接查詢后,出現(xiàn)新的工作區(qū)窗口,輸入sql語句。點擊執(zhí)行按鈕,出現(xiàn)查詢結果窗口。 3、程序編寫與結果 select

5、 Sname ,Sno,'Year of Birth:',2014-Sage from Student select Sdept,COUNT(Sdept) as 總人數(shù) from Student group by Sdept order by Sdept select Sno,Cno,Grade from Score where Cno='002'or Cno='003' select Tname from Teacher,Score where Teacher.Cno=Score.Cno group by Tname having COUNT(Score.Sno)>

6、3 select Sname,Student.Sdept from Student where Sno not in (select Sno from Score) select Sname,Cno,Grade 最高分 from Score x,Student where(Student.Sno=x.Sno) and x.Grade in (select MAX(Grade) from Score where Score.Sno=x.Sno group by Sno) select Tname from Teacher where Cno in (select

7、Cno from Course where Cname='數(shù)據(jù)結構') select Student.* from Student,Teacher,Score Where Student.Sno=Score.Sno and Teacher.Cno=Score.Cno and Teacher.Tname='李正科' use 111 go create table S1 (Sno varchar(10), Sname varchar(20), SD varchar(50), SA int) insert into S1 select Sno,Sname,Sa

8、ge,Ssex from Student where Sdept='CS' 4、ER圖 四、 實驗中的問題及解決方法 1、 代碼編寫時我總是忘記用英文符號,導致程序出現(xiàn)錯誤。檢查之后改正。 2、 在使用select語句時,沒有將列名明確,如將student.sno寫成sno導致錯誤。在查過書上的資料后改正。 五、 實驗總結 通過本次實驗,我復習了SQL數(shù)據(jù)庫的用法,表,視圖等操作。通過題目,練習了對SQL查詢語句的編寫和調(diào)試,真正將書本上所學的知識利用到了實踐當中。在實驗中遇到了很多問題,通過問老師、看書查資料等方法得到了解決,為今

9、后進一步學習數(shù)據(jù)庫打下了基礎。 實驗二 C/S結構的數(shù)據(jù)庫編程 一、實驗目的 1.學會配置ODBC數(shù)據(jù)源,熟悉使用ODBC進行數(shù)據(jù)庫應用程序的設計,通過ODBC接口對數(shù)據(jù)庫進行操作。 2.學會通過ADO訪問數(shù)據(jù)庫,熟悉使用ADO技術進行數(shù)據(jù)庫應用程序的設計,通過ADO接口對數(shù)據(jù)庫進行操作。 二、實驗環(huán)境及要求 數(shù)據(jù)庫實驗要求如下環(huán)境,服務器端:Windows 2000/xp、數(shù)據(jù)庫服務器(SQL Server 2005)、Web服務器(IIS 5.0)和ASP??蛻舳耍篒E5.0、VB 6.0。 要求: 通過一門編程工具(VS2005 C#或.net)

10、編寫訪問數(shù)據(jù)庫的應用程序,編程序設計良好的一個人機交互界面,列出實驗一中的查詢,將SQL語句嵌入VS 2005中完成“實驗一”中的10個數(shù)據(jù)庫查詢語句的結果顯示。也可選擇其他編程工具開發(fā)。 三、實驗步驟及結果 1、建立ODBC數(shù)據(jù)源 (1)在“控制面板”中的“管理工具”下雙擊“數(shù)據(jù)庫(ODBC)”圖標,打開“ODBC數(shù)據(jù)源管理器”,或者通過:開始→設置→控制面板→管理工具→數(shù)據(jù)源ODBC。在“ODBC數(shù)據(jù)庫管理器”中可以選擇“用戶DSN” 、“系統(tǒng)DSN”、“文件DSN”。 (2)如果要添加一個新的數(shù)據(jù)源可以單擊“添加”按鈕,選擇“系統(tǒng)DSN”選項卡,單擊“添加”按鈕。彈出“創(chuàng)建新數(shù)據(jù)

11、源”對話框。 (3)選擇驅動程序SQL Server,單擊“完成”按鈕。彈出“創(chuàng)建到SQL Server的新數(shù)據(jù)源”。 (4)單擊“下一步”,出現(xiàn)選擇SQL Server數(shù)據(jù)庫服務器對登錄帳戶的身份驗證方式的對話框,可以選擇Window身份驗證或SQL Server身份驗證。 單擊“下一步”,在“更改默認的數(shù)據(jù)庫為”下拉列表框中選擇“sales”。 (5)單擊“下一步”,彈出對話框,單擊“完成”按鈕,彈出對話框,完成數(shù)據(jù)源的配置。 (6)單擊“完成”。即可進行測試數(shù)據(jù)源,若系統(tǒng)提示測試成功,則表示DSN設置正確。單擊“確定”,即完成系統(tǒng)DSN的建立。 2、VS2005開發(fā)環(huán)境中連

12、接數(shù)據(jù)庫 (1)啟動SQL Server 2005后,單擊“文件”菜單,選擇“新建”,“項目”。 (2)Visual C#---〉Windows 應用程序---〉確定 ,會自動生成窗體Form1 (3)工具箱---〉數(shù)據(jù)---〉DataGridView 拖入Form1 (4)在此控件上單擊右鍵—>屬性—>DataSource (5)點擊此屬性值下箭頭-->添加項目數(shù)據(jù)源 (6)點擊數(shù)據(jù)庫-->下一步-->新建連接 ,彈出添加連接窗口,將SQL server 2005的服務器名稱復制。粘貼到添加連接窗體中的服務器名中,點擊下拉菜單選擇數(shù)據(jù)庫。點擊“確定”,生成連接。點“下一步” 再

13、點“下一步”選擇表,點擊完成。運行程序。 3、通過連接字符串連接數(shù)據(jù)庫 添加兩個控件richTextBox1 和 button1。上邊通過控件已經(jīng)生成過連接字符串,可以復制 4、程序編寫與結果 private void Form1_Load(object sender, EventArgs e) { // TODO: 這行代碼將數(shù)據(jù)加載到表“sCDBDataSet3.Teacher”中。您可以根據(jù)需要移動或移除它。 this.teacherTableAdapter.Fill(this.sCDBDataSet3.Tea

14、cher); // TODO: 這行代碼將數(shù)據(jù)加載到表“sCDBDataSet1.student1”中。您可以根據(jù)需要移動或移除它。 this.student1TableAdapter.Fill(this.sCDBDataSet1.student1); } private void button3_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial

15、Catalog=scdb;Integrated Security=True"; //連接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一個數(shù)據(jù)庫連接實例 conn.Open(); //打開數(shù)據(jù)庫連接 SqlCommand cmd = new SqlCommand(); //用于執(zhí)行SQL語句 cmd.Connection = conn; cmd.CommandText = "select

16、 Sno,cno,grade from Score where (So='002'or cno='003')"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //執(zhí)行 richTextBox1.Text = " "; while (sdr.Read()) //每次讀一條記錄 讀完停止 { richTextBox1.

17、Text += sdr.GetString(0) + " " + sdr.GetString(1) + " " + sdr.GetInt32(2) + "\n"; //讀出的的字符串賦值給控件 } conn.Dispose(); //銷毀連接 } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } pr

18、ivate void richTextBox1_TextChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //連接字符串 SqlConnectio

19、n conn = new SqlConnection(ConStr); //建立一個數(shù)據(jù)庫連接實例 conn.Open(); //打開數(shù)據(jù)庫連接 SqlCommand cmd = new SqlCommand(); //用于執(zhí)行SQL語句 cmd.Connection = conn; cmd.CommandText = "select Sno,Sname,2014-Sage from student1"; cmd.CommandType = CommandTyp

20、e.Text; SqlDataReader sdr = cmd.ExecuteReader(); //執(zhí)行 richTextBox1.Text = " "; while (sdr.Read()) //每次讀一條記錄 讀完停止 { richTextBox1.Text += sdr.GetString(0) + " " + sdr.GetString(1) + " " + sdr.GetInt32(2)+ "\n"; //讀出的的字符串賦值給控件

21、 } conn.Dispose(); //銷毀連接 } private void button2_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //連接字符串 SqlConnection conn = new SqlConne

22、ction(ConStr); //建立一個數(shù)據(jù)庫連接實例 conn.Open(); //打開數(shù)據(jù)庫連接 SqlCommand cmd = new SqlCommand(); //用于執(zhí)行SQL語句 cmd.Connection = conn; cmd.CommandText = "select count(Sdept)from student1 group by sdept"; cmd.CommandType = CommandType.Text;

23、 SqlDataReader sdr = cmd.ExecuteReader(); //執(zhí)行 richTextBox1.Text = " "; while (sdr.Read()) //每次讀一條記錄 讀完停止 { richTextBox1.Text += sdr.GetInt32(0)+ "\n"; //讀出的的字符串賦值給控件 } conn.Dispose();

24、 //銷毀連接 } private void button4_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //連接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一個數(shù)據(jù)庫連接實例 conn.

25、Open(); //打開數(shù)據(jù)庫連接 SqlCommand cmd = new SqlCommand(); //用于執(zhí)行SQL語句 cmd.Connection = conn; cmd.CommandText = "select Tname from Teacher,Score where So=To group by Tname having count(So)>3"; cmd.CommandType = CommandType.Text; SqlDataRea

26、der sdr = cmd.ExecuteReader(); //執(zhí)行 richTextBox1.Text = " "; while (sdr.Read()) //每次讀一條記錄 讀完停止 { richTextBox1.Text += sdr.GetString(0) + "\n"; //讀出的的字符串賦值給控件 } conn.Dispose(); //銷毀連接 } p

27、rivate void button5_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //連接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一個數(shù)據(jù)庫連接實例 conn.Open(); //打開數(shù)據(jù)庫連接

28、SqlCommand cmd = new SqlCommand(); //用于執(zhí)行SQL語句 cmd.Connection = conn; cmd.CommandText = "select Sname,student1.Sdept from student1 where Sno not in (select Sno from Score)"; cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader

29、(); //執(zhí)行 richTextBox1.Text = " "; while (sdr.Read()) //每次讀一條記錄 讀完停止 { richTextBox1.Text += sdr.GetString(0) + " " + sdr.GetString(1) + "\n"; //讀出的的字符串賦值給控件 } conn.Dispose(); //銷毀連接 } pri

30、vate void button6_Click(object sender, EventArgs e) { string ConStr = "Data Source=911-57;Initial Catalog=scdb;Integrated Security=True"; //連接字符串 SqlConnection conn = new SqlConnection(ConStr); //建立一個數(shù)據(jù)庫連接實例 conn.Open(); //打開數(shù)據(jù)庫連接 Sq

31、lCommand cmd = new SqlCommand(); //用于執(zhí)行SQL語句 cmd.Connection = conn; cmd.CommandText = "select Sname,Cno,Grade from Score Score,Student1 where (Student.Sno=Score.Sno) and Score.Grade in (select MAX(Grade) from Score where Score.Sno=Score.Sno group by Sno)"; cmd

32、.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); //執(zhí)行 richTextBox1.Text = " "; while (sdr.Read()) //每次讀一條記錄 讀完停止 { richTextBox1.Text += sdr.GetString(0) + " " + sdr.GetString(1) +" " + sdr.GetInt32(2

33、) +"\n"; //讀出的的字符串賦值給控件 } conn.Dispose(); //銷毀連接 } } } 四、 實驗中的問題及解決方法 1、 代碼編寫時我總是忘記用英文符號,導致程序出現(xiàn)錯誤。檢查之后改正。 2、 在編寫按鈕的程序時應先打開form,左鍵雙擊需編寫的按鈕,在指定位置處編寫。 3、 在更換電腦后,程序中的計算機號需改正。 4、 sdr.GetString語句應與調(diào)出的屬性數(shù)量一致。 五、實驗總結 通過本次實驗,我學會了配置ODBC數(shù)據(jù)源,并用其進行了數(shù)據(jù)庫應用程序

34、的設計,通過ODBC接口對數(shù)據(jù)庫進行了操作。在實驗中遇到了很多問題,通過問老師、看書查資料等方法得到了解決,為今后進一步學習數(shù)據(jù)庫打下了基礎。 實驗三 數(shù)據(jù)庫的建立及數(shù)據(jù)維護 一、 實驗目的 1、 學會通過IIS配置Web服務器,建立虛擬目錄 2、 學會在IE瀏覽器中查看ASP.NET網(wǎng)頁的執(zhí)行結果 3、 掌握ASP.NET技術實現(xiàn)簡單的動態(tài)網(wǎng)頁的制作。 二、實驗環(huán)境及要求 1.實驗環(huán)境:Windows7,SQLServer2008,Visual Studio 2010。 2.實驗要求:設計網(wǎng)頁,顯示“實驗一”中11個查詢的結果。 三、實驗步驟及結果 1、實驗步驟

35、 1) 在Microsoft Visual Studio 2008(以下簡稱VS2008)中添加一個ASP.NETWeb應用程序項目,名稱為scdb; 2) 在scdb項目上點擊右鍵->添加->新建項; 3) 選擇web窗體,名稱Query_Result_1.aspx;點擊添加; 4) 生成一個頁面,點擊頁面下方的“設計”按鈕,跳轉到設計頁面; 5)點擊左側的“工具箱”,選擇“數(shù)據(jù)”中“GridView”拖拽到右側的設計頁面中; 6)點擊GridView任務中“選擇數(shù)據(jù)源”下拉框,選擇“新建數(shù)據(jù)源”,在選擇“數(shù)據(jù)庫”,為數(shù)據(jù)源指定ID為SqlDataSources

36、cdb,點擊“確定”; 7)點擊“新建連接”,彈出鏈接窗口,服務器名稱:(local),在選擇數(shù)據(jù)庫與名中,選擇自己建立的數(shù)據(jù)庫名,“scdb”;再點擊“測試連接”,彈出“測試連接成功”,即連接數(shù)據(jù)庫成功,點擊“確定”; 8)在下拉框中選擇“scdbConnectionString”,點擊“下一步”; 9)在“希望如何從數(shù)據(jù)庫中檢索”選擇“指定自定義SQL或存儲語句”,點擊“下一步”,在SELECT標簽下,點擊“查詢生成器”,點擊“Student”,點擊“添加”,點擊“關閉”,關閉“添加表”對話框; 10)在查詢生成器,選擇Sno,Sname兩列,然后添加表達式 201

37、2 – Sage, 點擊“執(zhí)行查詢”,生成器底部會產(chǎn)生查詢結果,然后點擊“確定”; 11)點擊“下一步” 12)點擊“測試查詢”則出現(xiàn)查詢結果,即查詢數(shù)據(jù)成功,然后點擊“完成”結束。 13)點擊“GridView任務”中的“編輯列”,會出現(xiàn)編輯框。 14)在“選定的字段”中點擊“Sno”出現(xiàn)Sno屬性框,在“外觀”中的“HeaderText”后面的編輯框中將“Sno”改為“學號”。 15)“Sname”與“Expr1”的列名修改操作與“Sno”的相同,點擊“確定”結束; 16)在“GridView任務”中的“自動套用格式”中選擇自己喜歡的界面風格; 17)

38、點擊“源”,切換源代碼頁面,修改無標題頁面中的標題為“查詢1結果”; 18)右鍵單擊“解決方案”中的“Query_Result_1.aspx”,選擇“在瀏覽器中查看”。 四、實驗中的問題及解決方法 1、 配置IIS的問題,需要選中全部IIS組件,然后新建虛擬目錄配置網(wǎng)站。 2、因為對程序的不熟悉,導致實驗沒能在規(guī)定時間內(nèi)做完。 五、實驗總結 通過本次實驗,我學會了配置IIS并建立虛擬目錄,了解了關于ASP.NET的一些相關知識,使用Visual Studio進行編寫,雖然最終沒能完成,但我懂得了如何在IE上執(zhí)行自己編寫的網(wǎng)頁,實現(xiàn)簡單的動態(tài)網(wǎng)頁制作與數(shù)據(jù)庫在網(wǎng)頁上的顯示功能。此次實驗使我收益匪淺。

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!