PHẦN 1. CƠ SỞ LÝ THUYẾT PHẦN 2. THIẾT KẾ CƠ SỞ DỮ LIỆU TRONG PHẦN MỀM QUẢN LÝ NHÂN SỰ, TIỀN LƯƠNG CHƯƠNG 1. MÔ TẢ BÀI TOÁN CHƯƠNG 2. THIẾT KẾ CƠ SỞ DỮ LIỆU 1. Mô hình thực thể liên kết 2. Mô hình quan hệ 3. Chuẩn hóa các lược đồ quan hệ CHƯƠNG 3. XỬ LÝ VẤN TIN 1. Truy vấn bằng đại số quan hệ 2. Truy vấn bằng MySQL
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ CƠ SỞ
DỮ LIỆU TRONG PHẦN MỀM QUẢN LÝ
NHÂN SỰ, TIỀN LƯƠNG
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 1
PHẦN 1 CƠ SỞ LÝ THUYẾT 2
CHƯƠNG 1: TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU 2
1 Giới thiệu cơ sở dữ liệu 2
2 Một số đặc tính của cơ sở dữ liệu 2
CHƯƠNG 2: MÔ HÌNH THỰC THỂ - LIÊN KẾT 4
1 Mô hình thực thể - liên kết 4
2 Các bước thiết kế mô hình thực thể - liên kết 6
CHƯƠNG 3: MÔ HÌNH DỮ LIỆU QUAN HỆ 7
1 Các khái niệm của mô hình quan hệ 7
2 Ràng buộc toàn vẹn 8
3 Quy tắc chuyển lược đồ thực thể - liên kết sang mô hình quan hệ 9
CHƯƠNG 4 ĐẠI SỐ QUAN HỆ 11
1 Các phép toán trên cơ sở dữ liệu 11
2 Các phép toán khác 13
CHƯƠNG 5 PHỤ THUỘC HÀM VÀ CHUẨN HÓA 14
1 Phụ thuộc hàm 14
2 Chuẩn hóa cơ sở dữ liệu quan hệ 16
PHẦN 2 THIẾT KẾ CƠ SỞ DỮ LIỆU TRONG PHẦN MỀM QUẢN LÝ NHÂN SỰ, TIỀN LƯƠNG 17
CHƯƠNG 1 MÔ TẢ BÀI TOÁN 17
CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU 19
1 Mô hình thực thể - liên kết 19
2 Mô hình quan hệ 19
3 Chuẩn hóa các lược đồ quan hệ 19
CHƯƠNG 3 XỬ LÝ VẤN TIN 22
1 Truy vấn bằng đại số quan hệ 22
2 Truy vấn bằng MySQL 23
KẾT LUẬN 26
TÀI LIỆU THAM KHẢO 26
Trang 3LỜI MỞ ĐẦU
Đầu thế kỉ 21, thế giới đã chuyển biến từ nền công nghiệp là chủ yếu sang thờiđại của công nghệ thông tin Cùng với sự hỗ trợ của mạng lưới Internet tốc độ caođược mở rộng hàng ngày, việc ứng dụng sản phẩm công nghệ ngày càng sâu hơn trongnhiều lĩnh vực, nhu cầu và khả năng kết nối, chia sẻ thông tin của nhân loại trở nên lớnhơn bao giờ hết Để không bị lạc hậu, tụt lại phía sau, mọi cá nhân, mọi tổ chức, mọiquốc gia đều nhận thức được vai trò quan trọng không thể thiếu của công nghệ thôngtin trong việc đẩy mạnh năng suất lao động, thúc đẩy sự phát triển toàn diện tổ chức,quốc gia đó Tuy nhiên, việc hiện thực hóa mục tiêu đó còn gặp không ít khó khăn,khối lượng công việc ngày càng tăng lên, dữ liệu cần lưu trữ và các thao tác xử lý cũngngày càng tăng Bởi vậy, các tổ chức cần phải tiến hành xây dựng các ứng dụng trên
hệ quản trị cơ sở dữ liệu Nó cung cấp một khả năng chia sẻ dữ liệu, kết nối ngườidùng gần như không có giới hạn, giúp nâng cao hiệu quả hoạt động và khả năng mởrộng, tăng độ tin cậy và tính sẵn sàng cho người sử dụng
Sau khi học xong môn học Cơ sở dữ liệu, em đã chọn để tài “Khảo sát, phân tích,thiết kế cơ sở dữ liệu trong phần mềm quản lý nhân sự, tiền lương” Với thời gian vàviệc nghiên cứu của em còn nhiều hạn chế nên không tránh khỏi có những sai sót Rấtmong được sự góp ý và định hướng của Cô TS.Nguyễn Thị Hậu, Thầy CN.Vũ ThăngLong và các bạn sinh viên cùng lớp để em có thể tiếp tục nghiên cứu và đạt được kếtquả tốt hơn trong thời gian tới
Trang 4PHẦN 1 CƠ SỞ LÝ THUYẾTCHƯƠNG 1: TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU
1 Giới thiệu cơ sở dữ liệu
Một cơ sở dữ liệu là một tập hợp các thông tin được tổ chức để nó có thể dễdàng được truy cập, quản lý và cập nhật Theo một vài quan điểm, cơ sở dữ liệu có thểđược phân loại theo loại nội dung: thư mục, văn bản đầy đủ, số, và hình ảnh Trongmáy tính, cơ sở dữ liệu đôi khi được phân loại theo phương pháp tổ chức của nó.Phương pháp phổ biến nhất là các cơ sở dữ liệu quan hệ, cơ sở dữ liệu dạng bảng trong
đó dữ liệu được định nghĩa để nó có thể được tổ chức lại và truy cập trong một số cáchkhác nhau
Một cơ sở dữ liệu biểu diễn một phần của thế giới thực (thế giới thu nhỏ) Cơ sở
dữ liệu được thiết kế, xây dựng, và lưu trữ với một mục đích xác định, phục vụ chomột số ứng dụng và người dùng Tập ngẫu nhiên của các dữ liệu không thể xem là một
2.2 Tính độc lập
Vì định nghĩa về cấu trúc cơ sở dữ liệu được lưu trữ trong catalog nên khi cóthay đổi nhỏ về cấu trúc ta ít phải sửa lại chương trình
Trang 5Hình 1 Minh họa tính độc lập của cơ sở dữ liệu
2.3 Tính trừu tượng
Hệ cơ sở dữ liệu cho phép trình bày dữ liệu ở một mức trừu tượng cho phép,nhằm che bớt những chi tiết lưu trữ thật của dữ liệu
Mức trừu tượng vật lí: Cơ sở dữ liệu vật lí của một cơ sở dữ liệu là tập hợp các
tệp dữ liệu, tồn tại thường xuyên trong các thiết bị nhớ Ví dụ: Cơ sở dữ liệu vật lí của
cơ sở dữ liệu lớp gồm 50 tệp, mỗi tệp lưu dữ liệu thực tế về một học sinh trong lớp.Mức vật lí cho biết dữ liệu được lưu trữ như thế nào
Mức trừu tượng khái niệm: Cơ sở dữ liệu khái niệm của một cơ sở dữ liệu là sự
trừu tượng hóa thế giới thực khi nó gắn với người sử dụng Mức khái niệm cho biết dữliệu nào được lưu trữ trong hệ cơ sở dữ liệu và giữa các dữ liệu có các mối quan hệnào
Mức trừu tượng khung nhìn: Khung nhìn của một cơ sở dữ liệu là một phần của
cơ sở dữ liệu khái niệm hoặc sự trừu tượng hóa một phần cơ sở dữ liệu khái niệm Một
cơ sở dữ liệu chỉ có một cơ sở dữ liệu vật lí, một cơ sở dữ liệu khái niệm nhưng có thể
có nhiều khung nhìn khác nhau Mức khung nhìn thể hiện phần cơ sở dữ liệu mà ngườidùng cần khai thác
2.4 Tính nhất quán
Tính nhất quán của dữ liệu có nghĩa là các giá trị dữ liệu giống nhau cho tất cảcác trường hợp của ứng dụng Dữ liệu này thuộc về nhau và mô tả một quy trình cụ thểtại một thời điểm cụ thể, có nghĩa là dữ liệu không bị thay đổi trong quá trình xử lý.Kiểm soát các hoạt động đồng thời và khả năng xử lý các giao dịch chưa hoàn thành làđiều cần thiết để có thể duy trì cũng như khôi phục tính nhất quán của dữ liệu trongtrường hợp mất điện
Trang 6CHƯƠNG 2: MÔ HÌNH THỰC THỂ - LIÊN KẾT
1 Mô hình thực thể - liên kết
Mô hình thực thể - liên kết được dùng để thiết kế cơ sở dữ liệu ở mức quanniệm, biểu diễn trừu tượng cấu trúc của cơ sở dữ liệu Lược đồ thực thể - liên kết biểudiễn mô hình ER (Entity-Relationship Diagram)
1.1 Thực thể, tập thực thể
Một thực thể là một đối tượng của thế giới thực Thực thể được mô tả bởi một tập các thuộc tính Thực thể là đối tượng vật lý cụ thể hoặc trừu tượng Tập hợp các thực thể giống nhau tạo thành một tập thực thể Kiểu thực thể là tập hợp tất cả các thực
thể giống nhau
Ví dụ trong cơ sở dữ liệu quản lý dự án của một công ty:
- Một nhân viên là một thực thể, tập hợp các nhân viên là tập thực thể
- Một dự án là một thực thể, tập hợp các dự án là tập thực thể
- Một phòng ban là một thực thể, tập hợp các phòng ban là tập thực thể
1.2 Thuộc tính
1.2.1 Khái niệm thuộc tính
Thuộc tính là các đặc trưng để mô tả thực thể Mỗi thực thể cụ thể sẽ có các giátrị cho mỗi thuộc tính của nó
Miền giá trị của thuộc tính (domain): tập các giá trị hợp lệ Ví dụ:
- Kiểu chuỗi 30 byte (string)
- Kiểu số nguyên 4 byte (integer)
- Kiểu số thực 4 byte (double)
Ví dụ tập thực thể NHANVIEN có các thuộc tính:
- Họ tên (hoten: string[30])
- Ngày sinh (ngaysinh: date)
1.2.2 Phân loại thuộc tính
- Thuộc tính đơn: là thuộc tính không thể tách nhỏ ra được
- Thuộc tính phức hợp: là thuộc tính có thể tách ra thành các thành phần độclập nhỏ hơn
- Thuộc tính đơn trị: là thuộc tính có giá trị duy nhất cho một thực thể (ví dụ:
số CMND, mã số sinh viên, …)
Trang 7- Thuộc tính đa trị: là thuộc tính có một tập giá trị cho cùng một thực thể (vídụ: bằng cấp, địa chỉ, …)
- Thuộc tính suy diễn (được): ví dụ như năm sinh ↔ tuổi
- Thuộc tính phức tạp: là thuộc tính kết hợp đa trị và phức hợp
- Một nhân viên thuộc một phòng ban nào đó, một phòng có nhiều nhân viên
- Một phòng ban có một nhân viên làm quản lý
Tập quan hệ là tập hợp các mối quan hệ (mối liên kết) giống nhau Kiểu quan
hệ giữa các kiểu thực thể là tập tất cả các quan hệ giống nhau trên các thực thể củakiểu thực thể Cấp liên kết là số kiểu thực thể tham gia vào liên kết đó
1.4 Lược đồ thực thể - liên kết
Là đồ thị biểu diễn các tập thực thể, thuộc tính và mối quan hệ Đỉnh là kiểuthực thể (hình chữ nhật), thuộc tính (hình elip), quan hệ (hình thoi) Cung là các đườngnối:
- Tập thực thể và thuộc tính
- Thuộc tính phức với thành phần
- Mối quan hệ và tập thực thể
1.5 Ràng buộc trên kiểu liên kết
Ràng buộc là những quy định để giới hạn số các tổ hợp có thể của các thực thể tham gia, phản ánh đúng điều kiện của các thực thể trong thế giới thực
Trang 81.5.1 Ràng buộc tỉ số
Ràng buộc tỉ số lực lượng phản ánh số các thể hiện liên kết mà một thực thể có thể tham gia Xét mối quan hệ nhị phân R (cấp 2) giữa 2 tập thực thể A và B có thể có các ràng buộc tỉ số:
- Một - Nhiều (1 : n)
- Một - Một (1 : 1)
- Nhiều - Một (n :1)
- Nhiều - Nhiều (n : m)
1.5.2 Ràng buộc (min, max)
Ràng buộc (min, max) chỉ định mỗi thực thể tham gia ít nhất và nhiều nhất vào thể hiện của R
1.5.3 Ràng buộc tham gia
Ràng buộc tham gia toàn bộ hoặc
tả kiểu thực thể yếu và liên kết xác định bằng hình chữ nhật và hình thoi nét đôi
2 Các bước thiết kế mô hình thực thể - liên kết
- Bước 1: Xác định tập thực thể
- Bước 2: Xác định mối quan hệ
- Bước 3: Xác định thuộc tính và gắn nó cho tập thực thể và mối quan hệ
- Bước 4: Quyết định miền giá trị cho thuộc tính
- Bước 5: Quyết định thuộc tính khóa
Trang 9- Bước 6: Xác định ràng buộc (tỉ số; min-max; ràng buộc tham gia) cho mốiquan hệ và thể hiện chúng trên lược đồ thực thể liên kết
Trang 10CHƯƠNG 3: MÔ HÌNH DỮ LIỆU QUAN HỆ
1 Các khái niệm của mô hình quan hệ
Lược đồ quan hệ bao gồm tên của quan hệ và tên của tập thuộc tính Lược đồ
cơ sở dữ liệu bao gồm nhiều lược đồ quan hệ
Trang 11Hình 4 Minh họa lược đồ quan hệ
Hình 5 Minh họa lược đồ cơ sở dữ liệu
2.1 Siêu khóa
Các bộ trong quan hệ phải khác nhau từng đôi một
Gọi SK là một tập con khác rỗng các thuộc tính của R SK là siêu khóa khi
Trang 12- K là một siêu khóa của R
- ∀ K ' ∈ K , K ' ≠ K, K’ không phải là siêu khóa của R
2.2.2 Nhận xét
- Giá trị của khóa dùng để nhận biết một bộ trong quan hệ
- Khóa là một đặc trưng của lược đồ quan hệ, không phụ thuộc vào thể hiệnquan hệ
- Khóa được xây dựng dựa vào ý nghĩa của một số thuộc tính trong quan hệ
- Lược đồ quan hệ có thể có nhiều khóa
2.3 Khóa chính
Xét quan hệ:
NHANVIEN (MANV, TENNV, HONV, NS, DCHI, GT, LUONG)
Có 2 khóa: MANV và HONV, TENNV, NS
Khi cài đặt quan hệ thành bảng (table)
- Chọn 1 khóa làm cơ sở để nhận biết các bộ (khóa có ít thuộc tính hơn)
- Khóa được chọn gọi là khóa chính (Primary key) Các thuộc tính khóachính phải có giá trị khác null Các thuộc tính khóa chính thường được gạchdưới
Ví dụ: NHANVIEN (MANV, TENNV, HONV, NS, DCHI, GT, LUONG)
2.4 Tham chiếu
Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ một thuộc tính
B của quan hệ S, ta gọi R tham chiếu S Bộ được tham chiếu phải tồn tại trước
Trang 133.2 Mối quan hệ
3.2.1 Quan hệ một – một
- Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia.
- Hoặc thêm thuộc tính khóa vào cả 2 quan hệ.
3.2.1 Quan hệ một – nhiều
Thêm vào “quan hệ nhiều” thuộc tính khóa của “quan hệ một”
3.2.1 Quan hệ nhiều – nhiều
Tạo một quan hệ mới có: tên quan hệ là tên của mối quan hệ, thuộc tính lànhững thuộc tính khóa của các tập thực thể liên quan
3.3 Thực thể yếu
Chuyển thành một quan hệ
- Có cùng tên với thực thể yếu
- Thêm vào thuộc tính khóa của quan hệ liên quan
3.4 Thuộc tính đa trị
Chuyển thành một quan hệ
- Có cùng tên với thuộc tính đa trị
- Thuộc tính khóa của quan hệ này là khóa ngoài của quan hệ chứa thuộc tính
đa trị
3.5 Liên kết đa ngôi
Chuyển thành một quan hệ
- Có cùng tên với tên mối liên kết đa ngôi
- Khóa chính là tổ hợp các khóa của tập các thực thể tham gia liên kết
Trang 14CHƯƠNG 4 ĐẠI SỐ QUAN HỆ
1 Các phép toán trên cơ sở dữ liệu
- Hoặc <tên thuộc tính> <phép so sánh> <tên thuộc tính>
Trong đó: <phép so sánh> gồm <, >, ≤, ≥, ≠, = và các mệnh đề được nối lại nhờ
các phép toán ∧, ∨, ¬
Kết quả trả về là một quan hệ cùng danh sách thuộc tính với R, bao gồm các bộcủa R thỏa mãn đều kiện P và có số bộ luôn ít hơn hoặc bằng số bộ của R
1.2 Phép chiếu
Phép chiếu lấy ra một quan hệ gồm các cột của quan hệ R đã có.
Kí hiệu: πA1, A2, …, Ak (R)
Trong đó R là lược đồ quan hệ và A1, A2, …, Ak ⊆ tập thuộc tính của R Kếtquả trả về là một quan hệ Có k thuộc tính: A1, A2, …, Ak và các bộ từ các bộ của R,loại các bộ trùng
Phép đổi tên được dùng để đổi tên, thuộc tính của lược đồ quan hệ
Xét lược đồ quan hệ R (B, C, D) có các dạng đổi tên:
- ρS (R): Đổi tên quan hệ R thành S
- ρ(X, C, D) (R): Đổi tên thuộc tính B thành X
- ρS (X, C, D) (R): Đổi tên quan hệ R thành S và thuộc tính B thành X
1.5 Phép tích Cartesian
Phép tích Cartesian được dùng để kết hợp các bộ của 2 quan hệ với nhau.Cho lược đồ R (A1, …, An), S (B1, , Bm) Ký hiệu tích Cartesian: R x S
Trang 15Kết quả trả về là một quan hệ Q (A1, …, An, B1, , Bm) Mỗi bộ của Q là tổnghợp giữa 1 bộ trong R và 1 bộ trong S Hay Q = {<t, u> | t ∈ R, u ∈ S} Nếu R có i bộ
Trong đó R (A1, A2, …, An) và S (B1, B2, …, Bm) là các lược đồ quan hệ và f
là điều kiện nối
Kết quả là một quan hệ Q (A, , An, B1, …, Bm) sao cho
Q = {<t, v> | f (t, v) đúng, t ∈ R, v ∈ S}
Thuộc tính nối có giá trị null không xuất hiện trong kết quả
f cơ bản có dạng Ai θ Bj trong đó:
- Ai là thuộc tính của R, Bj là thuộc tính của S
- Ai và Bj có cùng miền giá trị (gọi là thuộc tính nối)
- θ là phép so sánh ≠, =, <, >, ≤, ≥, kết hợp các toán tử logic
- f có thể là biểu thức đc kết hợp từ các biểu thức con, trên các thuộc tínhPhân loại phép nối:
- Nối theta: là phép nối có điều kiện dạng tổng quát.
- Nối bằng: khi f là điều kiện “so sánh bằng” trên 2 thuộc tính.
- Nối tự nhiên: là nối bằng có 2 thuộc tính nối cùng tên, loại bỏ một thuộc
tính (dư thừa) trong kết quả
1.6 Phép chia
Lấy ra một số bộ trong quan hệ R sao cho thỏa với tất cả các bộ trong quan hệ
S Ký hiệu R ÷ S
Giả thiết Z, X là các tập thuộc tính của R, S với X ⊆ Z Kết quả của phép chia
là một quan hệ T(Y), Với Y = Z – X
Trang 16Phép gom nhóm được dùng để phân chia quan hệ thành nhiều nhóm dựa trên
thuộc tính phân nhóm Ký hiệu G1, G2, , Gk F F1 (A1), F2 (A2), …, Fn (An) (R).Trong đó:
Mở rộng phép nối để tránh mất mát thông tin:
- Thực hiện phép nối thông thường
- Lấy thêm các bộ không thỏa điều kiện nối
Có 3 dạng:
- Nối ngoài trái
- Nối ngoài phải
- Nối ngoài đầy đủ
Trang 17CHƯƠNG 5 PHỤ THUỘC HÀM VÀ CHUẨN HÓA
1 Phụ thuộc hàm
1.1 Định nghĩa phụ thuộc hàm
Cho lược đồ quan hệ R; X, Y là các tập thuộc tính trên R Một phụ thuộc hàmgiữa X và Y được kí hiệu X → Y là một ràng buộc: Với mỗi thể hiện r của lược đồquan hệ R, với 2 bộ bất kỳ t1 và t2 trong r, nếu có t1[X]= t2[X] thì t1[Y]=t2[Y] (tức là
2 bộ bất kỳ bằng nhau trên X thì cũng bằng nhau trên Y)
Ta nói Y phụ thuộc hàm vào X hay X xác định hàm Y; X gọi là vế trái, Y là vếphải của phụ thuộc hàm
Phụ thuộc hàm là tính chất ngữ nghĩa trên các thuộc tính của lược đồ, được xácđịnh khi thiết kế chứ không suy đoán trên một thể hiện của lược đồ
1.2 Quy tắc suy diễn phụ thuộc hàm
Cho lược đồ R (A), F là tập các phụ thuộc hàm X → Y gọi là suy diễn được từ
F nếu với mọi thể hiện r của R thỏa mãn các phụ thuộc hàm F thì X → Y cũng đúng
trong r Kí hiệu: F |= X → Y
Các quy tắc suy diễn:
- Quy tắc 1 (quy tắc phản xạ): Nếu X → Y thì X → Y
- Quy tắc 2 (quy tắc tăng): {X → Y} |= XZ → YZ
- Quy tắc 3 (quy tắc bắc cầu): {X → Y, Y → Z} |= X → Z
- Quy tắc 4 (quy tắc chiếu): {X → YZ} |= {X → Y, X → Z}
- Quy tắc 5 (quy tắc hợp): {X → Y, X → Z} |= X → YZ
- Quy tắc 6 (quy tắc tựa bắc cầu): {X → Y, WY → Z} |= WX → Z
1.3 Bao đóng của tập phụ thuộc hàm
Cho lược đồ R (A), F là một tập các phụ thuộc hàm trên R Tập tất cả các phụthuộc hàm suy dẫn ra được từ F gọi là bao đóng của F, kí hiệu là F+
.Tức là F+ = F ∪ {f / F |= f}.
1.4 Bao đóng của tập thuộc tính
Cho lược đồ quan hệ R (U), tập phụ thuộc hàm F, X là một tập thuộc tính của