Là tập hợp các thành phần dữ liệu được chia nhỏ và tổ chức thành những nhóm có quan hệ với nhau để dữ liệu có thể đ ược truy cập hay tập hợp lại th ành một khối dữ liệu thống nhất mà khô
Trang 1Tài liệu tham khảo Microsoft Access
Mô Hình Dữ Liệu Quan Hệ
Giới Thiệu
Cơ sở dữ liệu (CSDL) là gì?
Là một tập hợp dữ liệu được lưu trữ một cách có tổ chức nhằm giảm nhẹ công sức quản
lý và thời gian truy xuất dữ liệu
Cơ sở dữ liệu quan hệ l à gì?
Là tập hợp các thành phần dữ liệu được chia nhỏ và tổ chức thành những nhóm có quan
hệ với nhau để dữ liệu có thể đ ược truy cập hay tập hợp lại th ành một khối dữ liệu thống nhất mà không cần phải tổ chức lại cấu trúc l ưu trữ của cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu quan hệ l à gì?
Là một hệ thống quản lý các cơ sở dữ liệu dạng quan hệ
Hệ thống này sẽ cung cấp các chức năng nh ư tạo CSDL, cập nhật dữ liệu đ ược lưu trữ, …
và quan trọng hơn là cho phép rút trích thông tin
Microsoft Access – Hệ quản trị cơ sở dữ liệu quan hệ
Microsoft Access sử dụng tập tin (*.MDB) để lưu trữ và quản lý các thông tin trong CSDL quan hệ
Ngoài những chức năng quản lý c ơ bản, Microsoft Access còn cung cấp thêm một số chức năng mở rộng nhằm giúp ng ười sử dụng có thể xây dựng một ứng dụng nhỏ dựa tr ên CSDL quan hệ được lưu trữ trong tập tin MDB
Những thành phần trong Microsoft Access
Môi trường làm việc:
Hệ thống thực đơn: cung cấp chức năng quản lý các CSDL
Cửa sổ Database Windows: cung cấp chức năng quản lý một CSDL
Cửa sổ Database Windows Các đối tượng trong Microsoft Access:
Table (Bảng dữ liệu): là đối tượng dùng để lưu trữ thông tin trong CSDL
Query: là đối tượng dùng để rút trích thông tin, cập nhật dữ liệu của các Table trong CSDL Nhờ đối tượng này việc quản lý thông tin, xem dữ liệu đ ược tiện dụng hơn, hiệu quả hơn
Form: là đối tượng dùng để tạo ra một giao diện mới (gọi l à cửa sổ) nhằm thay đổi cách làm việc của người dùng đối với dữ liệu được lưu trữ trong CSDL được thân thiện hơn, dễ dùng hơn, …
Report: là đối tượng dùng để tạo ra các dạng báo cáo đa dạng t ừ dữ liệu được lưu trữ
mà không cần thay đổi định dạng và vị trí lưu trữ của dữ liệu
Trang 2Các khái niệm cơ bản trong Mô hình CSDL quan hệ
Liên quan đến Table
Table là đối tượng trung tâm của CSDL do đ ược dùng để lưu trữ dữ liệu Do vậy, tính hiệu quả trong việc lưu trữ dữ liệu trên CSDL sẽ phụ thuộc vào cách thiết kế của Table Thông thường CSDL quan hệ sẽ có nhiều Table, mỗi table sẽ l ưu trữ một nhóm thông tin khác nhau Ví dụ: Table SINH_VIEN lưu trữ thông tin về sinh viên, Table MON lưu trữ thông tin về môn học
Một Table gồm có 2 thành phần cơ bản:
Field – Cột –Trường: xác định loại thông tin đ ược lưu trữ trong Table Ví dụ: Table SINH_VIEN lưu trữ thông tin Họ sinh viên (Field HoSV), Tên sinh viên (Field TenSV),
…
Field là thành phần tạo nên cấu trúc lưu trữ của Table
Record – Dòng: xác định một đối tượng trong thế giới thực đ ược lưu trữ trong Table
Ví dụ: Table SINH_VIEN có 10 d òng CSDL đang lưu trữ thông tin của 10 sinh viên
Record là thành phần chứa dữ liệu của Table v à sẽ phụ thuộc vào cấu trúc lưu trữ của Table (Số lượng Field của Table sẽ quyết định số l ượng thông tin được lưu trữ trên mỗi Record)
Ngoài ra, Table còn có:
Primary Key – Khóa chính: là một tập hợp các Field có trong Table, m à giá trị của tập hợp này được dùng để xác định tính duy nhất của mỗi Record trong Table
Foreign Key – Khóa ngoại: là một tập hợp các Field có trong Table, m à tập hợp này lại là khóa chính ở Table khác Khóa ngoại đ ược dùng để xác định tính tồn tại của thông tin Chúng ta sử dụng khóa ngoại để hình thành mối quan hệ giữa 2 Table
Liên quan đến Relation
Loại quan hệ 1 – 1: Nói Table A có quan h ệ 1 – 1 với Table B nghĩa là
1 dòng dữ liệu bên Table A sẽ tương ứng với 1 dòng dữ liệu bên Table B
1 dòng dữ liệu bên Table B sẽ tương ứng với 1 dòng dữ liệu bên Table A
Ví dụ:
Ta có 2 table LÝ LỊCH SINH VIÊN và SINH VIÊN có quan h ệ 1 – 1 với nhau Điều này nói lên: "Một sinh viên chỉ có một bộ lý lịch và ngược lại một bộ lý lịch chỉ thuộc về một sinh viên"
Loại quan hệ 1 – N: Nói Table A có quan h ệ 1 – N với Table B nghĩa là
1 dòng dữ liệu bên Table A sẽ tương ứng với N dòng dữ liệu bên Table B
1 dòng dữ liệu bên Table B sẽ tương ứng với 1 dòng dữ liệu bên Table A
Ví dụ:
Ta có 2 Table SINH VIÊN và K ẾT QUẢ HỌC TẬP có quan hệ 1 – N với nhau Điều này nói lên: “Một Sinh viên có nhiều Kết học học tập và Một kết quả học tập sẽ chỉ thuộc về một Sinh viên”
Lưu ý:
Đối với quan hệ 1 – N, chúng ta dễ dàng xác định được tính chất trước sau của dữ liệu có trong 2 Table tham gia quan h ệ:
Dữ liệu của Table bên 1 sẽ có trước
Dữ liệu của Table bên N sẽ có sau
Nhưng với quan hệ 1 – 1, chúng ta cần phải dựa vào thực tế cũng như yêu cầu lưu trữ để xác định tính chất trước sau của dữ liệu
Trang 3Tài liệu tham khảo Microsoft Access
Thiết Kế Cơ Sở Dữ Liệu
Xây dựng cấu trúc Table
Sơ lược về Field
Field Name:
Tên của field và phụ thuộc vào các qui tắc sau
Độ dài của tên <= 255
Không sử dụng các ký tự đặc biệt: *, /, \, ?, …
Không nên sử dụng tiếng việt có dấu, khoảng trắng v à dấu trừ
Duy nhất trong Table
Data Type:
Kiểu dữ liệu của field Có các kiểu c ơ bản sau:
Text – Chuỗi: 255
Memo – Chuỗi: 65535
Number – Số:
Date/Time – Ngày giờ:
Yes/No – Luận lý:
AutoNumber – Số tự động tăng: giá trị đầu l à 1, mỗi lần tăng 1 đơn vị và người dùng không thể tác động vào quá trình tăng này
Field Size:
Kích thước lưu trữ của field
Text – Chuỗi: chứa tối đa 255 ký tự
Number – Số: số nguyên (Byte, Integer, Long), s ố thực (Single, Double)
Description:
Mô tả ý nghĩa của field Thông tin mô tả sẽ xuất hiện ở thanh trạng thái (Status bar)
Caption:
Tiêu đề của field
Decimal Places:
Xác định số chữ số lẽ sau phần thập phân
Validation Rule:
Điều kiện kiểm tra miền giá trị của field
Validation Text:
Thông báo lỗi khi vi phạm điều kiện trong Validation Rule
Required:
Giá trị của field phải khác NULL (Yes)
Allow zero length:
Dành cho kiểu chuỗi và giá trị của field phải khác RỖNG (No)
Format:
Chuỗi định dạng dữ liệu dành cho field
Các bước tạo cấu trúc cho Table
Bước 1: Tạo mới một Table
Từ Database Windows, chọn Insert Table
Rồi chọn Design View nút OK
Bước 2: Thiết kế cấu trúc l ưu trữ của Table
Tại cửa sổ Design View:
Vùng 1 – Định nghĩa các field có trong Table thông qua các cột Field Name, Data Type, Description
Vùng 2 – Xác định thêm một số tính chất của Field đ ược chọn ở Vùng 1 (như Field Size, Format, Validation Rule, …)
Bước 3: Đặt khóa chính cho Table
Đánh dấu chọn các Field tham gia khóa chính trong Table
Chọn Edit Primary Key
Bước 4: Lưu và đặt tên cho Table
Qui tắc đặt tên của Table:
Độ dài tối đa 255
Không sử dụng các ký tự đặc biệt
Trang 4Thiết lập quan hệ
Bước 1 – Mở cửa sổ Relationship
Chọn menu Tools Relationship
Bước 2 – Đưa các Table cần tạo quan hệ vào cửa sổ Relationship
Sử dụng hộp thoại Show Tables để lần l ượt đưa các Table cần tạo quan hệ vào Relationship
Để hiển thị hộp Show Tables:
Chọn menu View Show Tables hay
Chuột phải lên vùng trống trong Relationship, rồi chọn Show Tables
Bước 3 – Xây dựng quan hệ
Dựa vào kỹ thuật kéo thả của chuột để lần l ượt tạo quan hệ cho 2 Table A v à B Việc kéo thả sẽ phải theo qui tắc:
Kéo thả từ bên Table sẽ chứa dữ liệu trước sang Table sẽ chứa dữ liệu sau
Nếu mối quan hệ giữa 2 Table có nhiều h ơn 1 Field thì phải đánh dấu chọn cả 2 Field rồi mới kéo thả
Sau khi kéo thả xong sẽ xuất hiện một hộp thoại với t ên Edit Relationships
Hộp thoại Edit Relationships
Hộp thoại được chia thành 2 vùng:
Vùng 1 – xác định thông tin tương ứng giữa 2 Table Trong một số tr ường hợp, thông tin tương ứng giữa 2 Table là không chính xác nên ta ph ải hiệu chỉnh lại
Vùng 2 – xác định tính chất của quan hệ
Enforce Referential Integrity : Xác định mối quan hệ được thiết lập dựa trên dữ
liệu của cả 2 Table
Casade Update Related Fields : nếu được chọn thì giá trị của field liên kết ở
table nhiều sẽ tự động thay đổi t ương ứng với sự thay đổi giá trị của field liên kết
ở table một Ngược lại, khi không chọn mục n ày, ta sẽ không thay đổi được giá trị của field liên kết trong table một nếu giá trị của field đó tồn tại tr ên table nhiều
Casade Delete Related Fields : nếu được chọn thì khi xóa một record bên table
một thì tất cả những record bên table nhiều có giá trị của field li ên kết giống với giá trị của field liên kết bên table một sẽ tự động được xóa Ngược lại, nếu không chọn vào mục này thì ta sẽ không hủy được record bên table một nếu giá trị của field liên kết đã tồn tại bên table nhiều
Nhập dữ liệu vào Table
- Nhập dữ liệu ở Table 1 tr ước, Table nhiều sau
- Nhập theo dòng Khi nhập xong nếu dữ liệu đúng th ì có thể đi ra khỏI dòng đó được và dòng đó sẻ được lưu vào Table
Trang 5Tài liệu tham khảo Microsoft Access
Truy Vấn Dữ Liệu
Ngôn Ngữ SQL – Structure Query Language
Kiểu dữ liệu
Kiểu chuỗi:
Được dùng để lưu trữ chuỗi ký tự
MS Access cung cấp cho chúng ta 2 kiểu dữ liệu:
Text: số ký tự lưu trữ tối đa là 255
Memo
Các giá trị hằng thuộc kiểu chuỗi phải đ ược đặt trong cặp dấu nháy đôi “…”
Kiểu số - Number:
Được dùng để lưu trữ các giá trị dạng số (dùng để tính toán, thống kê)
Chúng ta có 2 nhóm Kiểu dữ liệu:
Số nguyên: Byte, Integer, Long
Số thực: Single, Double
Thời gian – Date/Time:
Được dùng để lưu trữ các giá trị thời gian nh ư Ngày, Giờ
Các giá trị hằng thuộc kiểu thời gian phải tuân thủ các qui tắc sau:
Luôn được đặt trong cặp dấu # #
Nếu giá trị thời gian thể hiện Ng ày, Tháng, Năm thì phải theo qui tắc MM/dd/yyyy
Nếu giá trị thời gian thể hiện Giờ, Phút, Giây th ì phải theo qui tắc HH:mm:ss
Luận lý – Yes/No:
Yes tương ứng với giá trị -1 hoặc True hoặc On
No tương ứng với giá trị 0 hoặc False hoặc Off
Toán tử
Kiểu chuỗi : &
Kiểu số : +, -, *, / (Chia bình thường), \ (Chia lấy phần nguyên)
So sánh :
>, >=, <, <=, =, <>
Like: dành riêng cho kiểu Chuỗi và thường dùng khi cần so sánh với giá trị gần đúng
Sử dụng 2 toán tử đại diện c ơ bản: *, ?
Sử dụng tập hợp giá trị để đại diện cho 1 ký tự: [a -m], [a, b, d], [a-e, g-k, j, z]
IN, NOT IN: là những toán tử so sánh tập hợp
Logic : AND, OR, NOT
Hàm
Kiểu chuỗi:
Len
Left, Mid, Right
Kiểu thời gian:
Now, Date
Day, Month, Year
DateSerial, TimeSerial
Điều kiện:
IIF(Điều kiện, Giá trị trả về nếu Điều kiện đúng, Giá trị trả về nếu Điều kiện sai)
Thống kê:
Sum, Count, Max, Min, Avg
DSum, DCount, DMax, DMin, Davg