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

