Bài giảng Hệ quản trị cơ sở dữ liệu - Chu Thị Hường
1.1. Ðịnh nghĩa:
- Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS): Là
một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và điều khiển mọi truy
nhập đối với cơ sở dữ liệu đó.
Trên thị trường phần mềm hiện nay ở Việt Nam đã xuất hiện khá nhiều
phần mềm hệ quản trị cơ sở dữ liệu như: Microsoft Access, Foxpro, DB2,
SQL Server, Oracle,.v.v
- Hệ quản trị cơ sở dữ liệu quan hệ (Relation Database Management
System - RDBMS) là một hệ quản trị cơ sở dữ liệu theo mô hình quan hệ.
1.2. Các khả năng của hệ quản trị CSDL
Có hai khả năng chính cho phép phân biệt các hệ quản trị cơ sở dữ liệu
với các kiểu hệ thống lập trình khác:
i. Khả năng quản lý dữ liệu tồn tại lâu dài: đặc điểm này chỉ ra rằng
có một cơ sở dữ liệu tồn tại trong một thời gian dài, nội dung của
cơ sở dữ liệu này là các dữ liệu mà hệ quản trị CSDL truy nhập và
quản lý.
ii. Khả năng truy nhập các khối lượng dữ liệu lớn một cách hiệu quả.
Ngoài hai khả năng cơ bản trên, hệ quản trị CSDL còn có các khả năng
khác mà có thể thấy trong hầu hết các hệ quản trị CSDL đó là:
iii. Hỗ trợ ít nhất một mô hình dữ liệu hay một sự trừu tượng toán
học mà qua đó người sử dụng có thể quan sát dữ liệu.
iv. Ðảm bảo tính độc lập dữ liệu hay sự bất biến của chương trình
ứng dụng đối với các thay đổi về cấu trúc trong mô hình dữ liệu.
v. Hỗ trợ các ngôn ngữ cao cấp nhất định cho phép người sử dụng
định nghĩa cấu trúc dữ liệu, truy nhập dữ liệu và thao tác dữ liệu.
vi. Quản lý giao dịch, có nghĩa là khả năng cung cấp các truy nhập
đồng thời, đúng đắn đối với CSDL từ nhiều người sử dụng tại
cùng một thời điểm.Bài giảng Hệ quản trị CSDL
vii. Ðiều khiển truy nhập, có nghĩa là khả năng hạn chế truy nhập đến
các dữ liệu bởi những người sử dụng không được cấp phép và khả
năng kiểm tra tính đúng đắn của CSDL.
viii. Phục hồi dữ liệu, có nghĩa là có khả năng phục hồi dữ liệu, không
làm mất mát dữ liệu với các lỗi hệ thống.
1.3. Đặc điểm của một hệ quản trị CSDL
1.3.1. Sự trừu tượng hoá dữ liệu:
Ðể cho hệ thống có thể sử dụng được, hệ quản trị CSDL phải tra cứu
hay tìm kiếm dữ liệu một cách có hiệu quả. Ðiều này dẫn đến việc thiết kế các
cấu trúc dữ liệu phức tạp để biểu diễn dữ liệu trong CSDL này. Người phát
triển che dấu tính phức tạp này thông qua một số mức trừu tượng để đơn giản
hoá các tương tác của người sử dụng đối với hệ thống.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Bài giảng Hệ quản trị cơ sở dữ liệu - Chu Thị Hường
ction.Open() ' Fill the DataSet object with data... objDA_Lop.Fill(objDS_Lop, "DMLop") ' Close the database connection... objConnection.Close() Me.cboMaLop.DataSource = objDS_Lop.Tables("DMLop") Me.cboMaLop.DisplayMember = "TenLop" Me.cboMaLop.ValueMember = "MaLop" 'Khởi tạo dữ liệu FillDataSetAndView() Me.dgDanhSach.AutoGenerateColumns = True Me.dgDanhSach.DataSource = objDataView Grid() End Sub 7. Viết code cho nút lệnh Close để thực hiện đóng form. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 250 Private Sub btnClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClose.Click me.Close End Sub 8. Viết code cho nút lệnh Update để thực hiện ghi lại các thay đổi dữ liệu vềcơ sở dữ liệu. Private Sub btnUpdate_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdate.Click ' automatically create update/delete/insert commands Dim objCommandBuilder As SqlCommandBuilder = New SqlCommandBuilder(objDataAdapter) objDataAdapter.UpdateCommand = objCommandBuilder.GetUpdateCommand ' Open the connection, execute the command objConnection.Open() objDataAdapter.Update(objDataSet, "HosoSV") objDataSet.Tables("HosoSV").AcceptChanges() objConnection.Close() End Sub 9.Viết code cho nút lệnh Insert để thực hiện chèn dữ liệu thực sự vào cơ sở dữ liệu. Private Sub btnInsert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnInsert.Click ' automatically create update/delete/insert commands Dim objCommandBuilder As SqlCommandBuilder = New SqlCommandBuilder(objDataAdapter) objDataAdapter.InsertCommand = objCommandBuilder.GetInsertCommand ' Open the connection, execute the command objConnection.Open() objDataAdapter.Update(objDataSet, "HosoSV") objDataSet.Tables("HosoSV").AcceptChanges() objConnection.Close() End Sub 10.Viết code cho nút lệnh Delete để thực hiện xóa thực sự dữ liệu ở CSDL, sau khi thực hiện xóa tạm trên Grid. Private Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click ' automatically create update/delete/insert commands Dim objCommandBuilder As SqlCommandBuilder = New SqlCommandBuilder(objDataAdapter) objDataAdapter.DeleteCommand = objCommandBuilder.GetDeleteCommand ' Open the connection, execute the command objConnection.Open() Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 251 objDataAdapter.Update(objDataSet, "HosoSV") objDataSet.Tables("HosoSV").AcceptChanges() objConnection.Close() Me.Refresh() End Sub 11.Viết code cho nút lệnh Undo để thực hiện Undo lại các thao tác tạm trên Grid mà chưa thi hành thực sự đối với CSDL. Private Sub btnUndo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUndo.Click Me.Refresh() FillDataSetAndView() Me.dgDanhSach.AutoGenerateColumns = True Me.dgDanhSach.DataSource = objDataView Grid() End Sub 12.Viết code cho nút lệnh Sắp xếp để thực hiện để thực hiện sắp xếp các bản ghi trên Grid theo 3 tiêu chí. - Sắp xếo theo mã sinh viên - Sắp xếp theo tên sinh viên - Sắp xếp theo Họ và tên sinh viên. Private Sub btnSort_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSort.Click ' Sort property of the DataView object... FillDataSetAndView() Select Case cboSX.SelectedIndex Case 0 'Ten objDataView.Sort = "TenSV" Case 1 'Hoten objDataView.Sort = "TenSV, Hodem" Case 2 'Ma SV objDataView.Sort = "MaSV" End Select Me.dgDanhSach.AutoGenerateColumns = True Me.dgDanhSach.DataSource = objDataView Grid() End Sub 13.Viết code cho sự kiện chọn dữ liệu trêm cboMaLop. Đoạn code này nhằm mục đích đồng bộ hóa dữ liệu trên Form. Private Sub cboMaLop_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboMaLop.SelectedIndexChanged Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 252 FillDataSetAndView() ' Me.dgDanhSach.AutoGenerateColumns = True Me.dgDanhSach.DataSource = objDataSet Me.dgDanhSach.DataMember = "HosoSV" Grid() End Sub 14. Ta có thể thực hiện cho chạy và thử nghiệm form trên. 5.3.5. Xây dựng báo cáo dùng Report. 5.3.5.1. Tạo file Report.rdlc 1. Right - Click trên Project QL_DiemSV/Add/New Item/ chọn template Report. Xuất hiện cửa sổ thiết kế Report. 2. Từ menu Data chọn Add New Data source để tạo nguồn dữ liệu mới sẽ thể hiện trên report hoặc chọn Show data sources nếu đã tồn tại trước đó. Ở đây ta chọn Add New Data source. Các cửa sổ Wizard sẽ chỉ dẫn ta thực hiện. Cửa sổ 1. Chọn Database/ Nút Next. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 253 Cửa sổ 2: Click nút New Connection Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 254 Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 255 Cửa sổ 3: Cửa sổ Add new Connection. Ta thực hiện điền các tham số như hình. Sau khi chọn OK, nó sẽ quay trở lại cửa sổ 2. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 256 Cửa sổ 4. Chọn dữ liệu sẽ thể hiện trên Report và đặt tên cho Dataset. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 257 Chọn view Danh sach Æ Click nút Finish. 3. Sau khi có nguồn dữ liệu, trong cửa sổ thiết kế Report ta sẽ thiết kế dữ liệu sẽ hiển thị trên Report. Như hình, gồm các đối tượng sau: Object Property Setting Textbox Name Value textbox1 HỌC VIỆN KỸ THUẬT QUÂN SỰ Textbox Name Value textbox2 HỆ HỌC VIÊN DÂN SỰ Textbox Name Value Textbox3 ------o0o----- Textbox Name Value Textbox4 ="DANH SÁCH SINH VIÊN" Table Name Datasetname Table1 DatasetDSSv Textbox Name Value Textbox5 ="Tên lớp: " & Fields!TenLop.Value Textbox Name Value Textbox6 STT Textbox Name Value Textbox7 Mã sinh viên Textbox Name Value Textbox8 Họ tên Textbox Name Value Textbox9 Ngày sinh Textbox Name Value Textbox10 =RowNumber("table1_Group2") Textbox Name Value Textbox11 =Fields!MaSV.Value Textbox Name Value Textbox12 =Fields!Hoten.Value Textbox Name Value Textbox13 =Fields!Ngaysinh.Value Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 258 Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 259 * Chèn group vào bảng. - Trong cửa sổ thiết kế Right-click vào Table tại dòng ta muốn chèn Group và chọn Insert Group. - Trên tab General ta điền các tham số: + Name: Tên của group + Group on: Chọn biểu thức mà dựa vào đó dữ liệu gom nhóm. + Document map label: Đánh hoặc chọn biểu thức được sử dụng làm nhãn ánh xạ. + Parent group: Nếu group này là nhóm phân cấp ngược (phân cấp đệ quy) ta sẽ đánh hoặc chọn biểu thức làm nhóm cha (recursive group parent). + Option chọn Page break at start hoặc Page break at end: để thay thế cho một page break tại một vị trí bắt đầu hoặc kết thúc một thể hiện của nhóm. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 260 + Include group header hoặc Include group footer: Cho hiển thi hay không hiển thị Header và Footer của nhóm trên Table. + Repeat group header hoặc Repeat group footer: để lặp lại group header hoặc footer trên mỗi trang mà trong đó bảng xuất hiện. - Trên tab Fillters: Chọn hoặc đánh biểu thức dùng để lọc dữ liệu trên nhóm. - Trên tab Sorting: Chọn hoặc đánh biểu thức dùng để sắp xếp dữ liệu trên nhóm. - Trên tab Visibility: chọn Visible. - Trên tab Data Output: Chọn Yes. Trong ví dụ ta chèn hai Group: table1_GroupTenLop và table1_Group2 Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 261 5.3.5.2. Hiển thị dữ liệu. Để kết Report vào form, ta xây dựng form hiển thị. Đặt một điều khiển Report Viewer. Trên Report Viewer Tasks chọn các mục sau: - Choose report: Chọn report ta vừa thiết kế (report.rdlc) - Dock in parent container. Chọn. 5.2.5.3. Sử dụng tham số trong Report. a) Tạo tham số Trong cửa sổ thiết kế Report, để thiết lập tham số ta thực hiện như sau: Từ menu Report\Report Paramaters để Add các tham số cho Report. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 262 - Chọn nút Add để tạo thêm một tham số mới gồm các thông tin: Name: Tên tham số Data type: Kiểu dữ liệu của tham số Prompt: Điền đoạn text sẽ xuất hiện sau parameter text box khi người sử dụng thực hiện chạy report. Allow null value: Chọn khi cho phép tham số nhận giá trị null. Allow blank value: Chọn khi cho phép thma số nhận giá trị blank. Available values: Đưa ra một danh sách các giá trị sẵn có mà người sử dụng có thể lựa chọn. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 263 • Lable: Chứa nhãn sẽ được sử dụng để hiển thị cho người sử dụng. • Value: Là giá trị sẽ được sử dụng để chuyển qua Report sever cho tham số. Default values: Giá trị mặc định cho tham số. - Chọn nút Remove để xóa tham số đã chọn. Sau khi đã tạo tham số, ta có thể sử dụng tham số trong khi thiết kế Report. Trong ví dụ ta này ta xây dựng một report như trên, ngoài ra add thêm tham số prmTenLop và lọc dữ liệu theo tham số. b)Truyền giá trị cho tham số: Để truyền giá trị cho tham số ta sử dụng phương thức SetParameters của lớp Report trong tên miền Microsoft.Reporting.WinForms. Cụ thể ta sử dụng như sau: ‘ Gán giá trị cho tham số Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 264 Dim p As New ReportParameter("prmTenLop", Me.cboMaLop.SelectedItem(1).ToString) ‘ Truyền giá trị vào report Me.rvwDSReport.LocalReport.SetParameters(New ReportParameter() {p}) Giả sử ta có form hiển thị Report như sau: Có các đối tượng sau: Object Property Setting Form Name Text frmReportCode frmReportCode Label Name Text lblDSL Danh sách của lớp ComboBox Name cboMaLop Report Viewer Name Choose report rvwDSL Chọn Report đã tạo như trên Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 265 1. Import các tên miền cần thiết. ' Import Data and SqlClient namespaces... Imports System.Data Imports System.Data.SqlClient Imports Microsoft.Reporting.WinForms 2. Khai báo các kết nối Dim objConnection As New SqlConnection _ ("server=THUHUONG;database=QLDiemSV;user id=sa;password=12102006") 3. Code so sự kiện load form. Private Sub frmReportCode_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Dien dư lieu vào cboLop Dim objDA_Lop As New SqlDataAdapter() Dim objDS_Lop As New DataSet() objDA_Lop.SelectCommand = New SqlCommand() objDA_Lop.SelectCommand.Connection = objConnection objDA_Lop.SelectCommand.CommandText = "SELECT MaLop, TenLop FROM Lop" objDA_Lop.SelectCommand.CommandType = CommandType.Text objConnection.Open() ' Fill the DataSet object with data... objDA_Lop.Fill(objDS_Lop, "DMLop") ' Close the database connection... objConnection.Close() Me.cboMaLop.DataSource = objDS_Lop.Tables("DMLop") Me.cboMaLop.DisplayMember = "TenLop" Me.cboMaLop.ValueMember = "MaLop" ' Set tham so cho Report Dim p As New ReportParameter("prmTenLop", Me.cboMaLop.SelectedItem(1).ToString) Me.rvwDSReport.LocalReport.SetParameters(New ReportParameter() {p}) 'This line of code loads data into the 'QLDiemSVDataSet.DanhSach' Me.objTableAdapterDSSV.Fill(Me.objDataSetDSSV.DanhSach) Me.rvwDSReport.RefreshReport() End Sub 4. Đồng bộ hóa dữ liệu trên form. Private Sub cboMaLop_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboMaLop.SelectedIndexChanged Dim p As New ReportParameter("prmTenLop", Me.cboMaLop.SelectedItem(1).ToString) Me.rvwDSReport.LocalReport.SetParameters(New ReportParameter() {p}) Me.rvwDSReport.RefreshReport() End Sub Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 266 5.3.6. Xây dựng report dùng Crystal Report. Trong phần này hướng dẫn xây dựng Report bằng Crystal report một cách đơn giản nhất, sử dụng Wizard. Trong khi thiết kế ta nên dùng wizard để thiết kế sơ bộ, sau đó chuyển vào cửa sổ thiết kế để thiết kế chi tiết. Các bước thiết kế report. 1. Right – Click trên Project QL_DiemSV/Add/New Item/ chọn template Crystal Report. Điền tên file của Crystal Report. Xuất hiện cửa sổ sau: Cửa sổ 1. 2. Chọn Using the Repor Wizart và Standard Æ OK. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 267 Cửa sổ 2. Chọn OLE DB (ADO) Æ Xuất hiện cửa sổ 3. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 268 Cửa sổ 3: Chọn Microsoft OLE DB Provider for SQL Server. Æ Next. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 269 Cửa sổ 4: Chọn server, User, password và Database. ÆFinish. Để quay lại cửa sổ 2. Chọn dữ liệu sẽ được hiển thị trên report. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 270 Cửa sổ 2: Chọn nguồn dữ liệu cho Report. Chọn Next để tiếp tục theo sự chỉ dẫn của wizard. Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 271 Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 272 Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 273 Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 274 Bài giảng Hệ quản trị CSDL Biên soạn: Chu Thị Hường Bộ môn: Các hệ thống thông tin Khoa Công nghệ Thông tin 275 Sau khi đã xây dựng được file *.rpt. Ta xây dựng form để hiển thị report trên. Thiết kế form như hình gồm một đối tượng Crystal Report Viewer. Trên Crystal Report Viewer tasks thực hiện các mục: - Choose a crystal report: Chọn Report vừa tạo trên. - Dock in parent container: Chọn.
File đính kèm:
- bai_giang_he_quan_tri_co_so_du_lieu_chu_thi_huong.pdf