Bài giảng Tin quản lý 2 - Bài 1: Thiết kế cơ sở dữ liệu
ĐẶT VẤN ĐỀ
lNếucứdùngExcel thì sao?
l Dư thừadữliệu
l Mâuthuẫndữliệukhithêm, xoá, cậpnhật
l Tốnnhiềuthời giankhithaotác
l Việchỗtrợtìmkiếmthôngtin khôngmạnh
lGiải pháp
l Táchbảng®Dữliệusẽkhôngtrùnglặp
l Việckếtnối dữliệugiữacácbảngvới nhau
lSửdụngcôngcụquảntrị CSDL tốthơn: MS ACCESS
liệu. l Dễ dàng tạo ra các ứng dụng mà không cần quá nhiều kiến thức, kỹ năng lập trình. Tin quản lý 2 - 1 7hungnm@thanglong.edu.vn MỘT SỐ KHÁI NIỆM CƠ BẢN l CSDL : là tập hợp các bảng dữ liệu có quan hệ với nhau, cùng phục vụ nhu cầu của nhiều người sử dụng theo một mục đích nào đó. l Ví dụ l CSDL Quản lý học tập l Mục đích: theo dõi thông tin sinh viên và quản lý điểm l Người dùng: Sinh viên, người quản lý,... l CSDL Quản lý bán hàng l Mục đích: Theo dõi nghiệp vụ bán hàng, xuất, nhập hàng hóa l Người dùng: Nhân viên, trưởng phòng, giám đốc,... Tin quản lý 2 - 1 8hungnm@thanglong.edu.vn MỘT SỐ KHÁI NIỆM CƠ BẢN (tiếp) l Bảng dữ liệu l Bao gồm l Một số các trường (cột, thuộc tính), là tên chung dùng để ghi nhận tính chất của đối tượng quản lý l Các bản ghi (dòng) là tập hợp các giá trị tương ứng với các trường, dùng để mô tả 1 đối tượng cần quản lý l Dùng để chứa số liệu cơ sở, ghi nhận thông tin về các nghiệp vụ phát sinh và biến động xung quanh đối tượng quản lý. l Ví dụ: Bảng Sinhviên gồm Mã SV, Tên SV,... Tin quản lý 2 - 1 9hungnm@thanglong.edu.vn MỘT SỐ KHÁI NIỆM CƠ BẢN (tiếp) l Dữ liệu và Thông tin l Dữ liệu l Giá trị ghi nhận các sự kiện được lưu trữ trong CSDL để phục vụ 1 yêu cầu quản lý l VD: Sự kiện bán hàng cần lưu số hoá đơn, ngày mua, người mua, tên mặt hàng, số lượng,... l Thông tin l Dữ liệu đã được xử lý theo 1 cách nào đó để tăng hàm lượng tri thức phục vụ cho yêu cầu của NSD l VD: Báo cáo doanh thu, danh sách mặt hàng bán chạy nhất, điểm trung bình của mỗi sinh viên,... Tin quản lý 2 - 1 10hungnm@thanglong.edu.vn VÍ DỤ l Số các cột là ít nhất có thể và tương đối ổn định, số các dòng là không hạn chế. 7 Thái Hà, ĐĐa, HNLê Kim ChiKH03 5 Tràng Tiền, HK, HNĐỗ Thu DungKH02 2 Giải Phóng, HBT, HNVũ Ngọc TháiKH01 DIACHIHOTENMAKH Bảng KhachHang Tên thuộc tính Bản ghi Giá trị Tin quản lý 2 - 1 11hungnm@thanglong.edu.vn CÁC BƯỚC THIẾT KẾ MỘT CSDL • Xác định mục tiêu quản lý và khai thác CSDL của bạn ð ‚ Xác định các bảng dữ liệu cần thiết ð ƒ Xác định các thuộc tính, khóa cho các bảng ð „ Xác định các mối quan hệ giữa các bảng ð … Chuẩn hóa lại thiết kế ð Tin quản lý 2 - 1 12hungnm@thanglong.edu.vn 1. Xác định mục tiêu quản lý l Nhằm xác định các bảng cần thiết và các thuộc tính mô tả một cách đầy đủ về đối tượng cần quản lý. l Thảo luận cùng người dùng CSDL về các nhu cầu khai thác thông tin,… l Thu thập các chứng từ, sổ sách, phác thảo các báo cáo, biểu mẫu phục vụ mục tiêu quản lý l Phân biệt đầu vào và đầu ra của ứng dụng tương lai (dựa vào việc thảo luận hoặc các mẫu giấy tờ thu được,...) Tin quản lý 2 - 1 13hungnm@thanglong.edu.vn 2. Xác định các bảng trong CSDL l Mỗi bảng thường chứa tập hợp các thông tin xung quanh đối tượng nào đó tham gia vào quá trình quản lý l Ví dụ: khách hàng, nhà cung cấp, hàng hóa, sinh viên, giáo viên, môn học, … l Thông tin trong các sổ sách, chứng từ ghi nhận nghiệp vụ phát sinh của các đối tượng quản lý là cơ sở để hình thành các bảng. l Ví dụ: hoá đơn mua/bán, chứng từ,... l Mỗi dòng chứa thông tin đầy đủ về một đối tượng cụ thể mà bạn cần lưu trữ. Tin quản lý 2 - 1 14hungnm@thanglong.edu.vn l Trường (tên cột) là các thuộc tính chung dùng để mô tả đối tượng (bảng) l Thông tin về từng đối tượng cụ thể là giá trị l Trường (tên cột) không thay đổi, giá trị của mỗi trường có thể thay đổi. l Một số phương pháp xác định trường. l Xác định trường khóa chính. 3.1. Xác định trường (cột, thuộc tính) Tin quản lý 2 - 1 15hungnm@thanglong.edu.vn Một số phương pháp xác định trường l Mỗi trường có quan hệ trực tiếp đến đối tượng mà nó mô tả; trường mô tả chỉ thuộc về 1 bảng l Giá trị sơ đẳng: không thể tách/ chia nhỏ… ð l Giá trị đơn: không phải là một tập giá trị… ð l Không có những trường tính toán dựa trên các trường khác l Chứa đầy đủ các thông tin cần thiết mô tả đối tượng đó Tin quản lý 2 - 1 16hungnm@thanglong.edu.vn Giá trị sơ đẳng l Không thể tách thành các thành phần nhỏ hơn mà vẫn có nghĩa. l Việc tách 1 trường thành nhiều trường tuỳ thuộc vào mục đích sử dụng của người sử dụng 7 Thái Hà, Đđa, HNLê Kim ChiKH03 5 Tràng Tiền, HK, HNĐỗ Thu DungKH02 2 Giải Phóng, HBT, HNVũ Ngọc TháiKH01 DIACHIHOTENMAKH Bảng KhachHang Tin quản lý 2 - 1 17hungnm@thanglong.edu.vn Giá trị đơn (1 giá trị) l Không phải là một dãy hay một tập các giá trị. l Xử lý khi trường là 1 dãy giá trị l Mỗi giá trị biến thành một cột? l Mỗi giá trị xuất hiện trên một dòng? Đức, Hàn, AnhLê Kim ChiKH03 Đỗ Thu DungKH02 Anh, Pháp, NhậtVũ Ngọc TháiKH01 NGOAINGUHOTENMAKH Bảng KhachHang Tin quản lý 2 - 1 18hungnm@thanglong.edu.vn 3.2 Xác định trường khoá chính l Phụ thuộc hàm A à B l Ví dụ: MASVà HOTEN, NGAYSINH l Ý nghĩa l Với mỗi sinh viên sẽ có 1 mã SV duy nhất l Mỗi mã sinh viên cho biết họ tên, ngày sinh của SV có mã SV có 19/08/1975Hà Thái SơnA00124 12/11/1975Trương Bách DiệpA00123 NGAYSINHHOTENMASV Bảng SINHVIEN Tin quản lý 2 - 1 19hungnm@thanglong.edu.vn Trường khóa chính l Là tập nhỏ nhất các trường mà xác định duy nhất một dòng trong bảng. l Một số lưu ý khi chọn khóa chính: l Không nhận giá trị trống (không nhập hoặc không có giá trị). l Không nhận giá trị trùng nhau. l Giá trị trường khóa ngắn gọn. l Kích thước khóa nhỏ vừa đủ để xác định mọi giá trị các đối tượng trong bảng. Tin quản lý 2 - 1 20hungnm@thanglong.edu.vn 4. Xác định mối quan hệ giữa các bảng l Quan hệ giữa các bảng (thực thể) chỉ ra sự ràng buộc về mặt dữ liệu của các bảng (thực thể) đó. l Ví dụ l Hóa đơn bán hàng do nhân viên nào lập l Quan hệ giữa HOADON & NHANVIEN l Hóa đơn bán hàng đó là của Khách hàng nào l Có bao nhiêu Khách hàng cùng sở hữu 1 Hóa đơn l Quan hệ giữa HOADON & KHACHHANG l Sinh viên tham gia học các Môn học l Có bao nhiêu Sinh viên cùng học 1 Môn học l … Tin quản lý 2 - 1 21hungnm@thanglong.edu.vn Phân loại quan hệ giữa các bảng l Quan hệ 1-n ð l Quan hệ n-n ð l Quan hệ 1-1 ð KhachHang HoaDonn 1 Co Don Vi Nhanvienn 1 Bao gồm NhanVien CongTrinhn n Tham gia SinhVien Monhocn n Học Phongban Truongphong 1 1 Có Lop Loptruong1 1 Là Tin quản lý 2 - 1 22hungnm@thanglong.edu.vn Quan hệ 1-n HD05 HD04 HD03 HD02 HD01 SOHD 4/12/03KH04 3/12/03KH01Hà ĐứcKH04 2/12/03KH01Trần HàKH03 1/12/03KH02Mai AnhKH02 1/12/03KH01Lê NaKH01 NGAYMAKHHOTENMAKH HoaDonKhachHang Tin quản lý 2 - 1 23hungnm@thanglong.edu.vn Quan hệ n-n CongTrinh NV03CT02 NV01CT02Hà ĐứcNV04 NV04CT01Trần HàNV03 NV02CT01Mai AnhNV02 NV01CT01Lê NaNV01 MANVMACTHOTENMANV NhanVien Tin quản lý 2 - 1 24hungnm@thanglong.edu.vn Quan hệ 1-1 HS03 HS02 HS01 MAHS Hà ĐứcKH04 Nhân viênKH03Trần HàKH03 Quản lýKH02Mai AnhKH02 Kế toánKH01Lê NaKH01 CHUCVUMANVHOTENMAKH HoSoCongtacNhanVien Tin quản lý 2 - 1 25hungnm@thanglong.edu.vn Thuộc tính của quan hệ l Là thuộc tính dùng để mô tả tính chất cho 1 mối quan hệ nào đó l Thuộc tính này thường thuộc về quan hệ n – n l Ví dụ l Một Sinh viên học nhiều Môn học, nhưng mỗi Môn học đó sẽ có điểm khác nhau. l Một Hóa đơn gồm nhiều Mặt hàng, mỗi Mặt hàng được mua với số lượng khác nhau. Æ Điểm, Số lượng là thuộc tính mô tả cho quan hệ Học và Bao gồm. Tin quản lý 2 - 1 26hungnm@thanglong.edu.vn 5. Chuẩn hóa lại thiết kế l Bạn có bỏ sót trường … l Đã chọn khóa chính chưa,… các trường khác có phụ thuộc hoàn toàn vào khóa … l Dữ liệu có trùng lặp … l Bảng có nhiều cột nhưng ít dòng, vài cột bỏ trống trong nhiều dòngà thiết kế lại … ít cột hơn và nhiều dòng hơn. l Liệu có trường hợp nào làm cấu trúc bảng thay đổi không? Tin quản lý 2 - 1 27hungnm@thanglong.edu.vn CÁC MÔ HÌNH CẦN XÂY DỰNG l Mô hình thực thể liên hệ l Xác định mối liên hệ giữa các thực thể (bảng) trong cơ sở dữ liệu l Mô hình dữ liệu quan hệ l Xác định rõ hơn mối quan hệ về mặt dữ liệu giữa các thực thể Tin quản lý 2 - 1 28hungnm@thanglong.edu.vn Cách vẽ mô hình thực thể liên hệ l Bảng: Hộp chữ nhật 2 ngăn l Ngăn 1: Tên bảng là DANH TỪ l Ngăn 2: Danh sách thuộc tính, lưu ý thuộc tính khóa được gạch chân l Mối liên hệ: Hình thoi, Tên mối liên hệ là Động từ l Thuộc tính của mối liên hệ: Hình elip n n Học SINH_VIÊN Mã SV Tên SV Giới tính Ngày sinh Địa chỉ MÔN_HỌC Mã môn Tên môn Số ĐVHT Điểm n 1 Thuộc NGÀNH Mã ngành Tên ngành Tin quản lý 2 - 1 29hungnm@thanglong.edu.vn Chuyển mô hình thực thể liên hệ thành mô hình dữ liệu quan hệ l Bảng: vẫn giữ nguyên l Khóa chính: ký hiệu # l Khóa ngoại: ký hiệu @ l Quan hệ 1 - n l Cách chuyển l Bỏ hình thoi thể hiện mối quan hệ 1-n đó l Thêm 1 trường ở bảng n, trường này có thể lấy tên là tên khóa chính của bảng 1 (khóa ngoại) l Vẽ đường nối từ khóa chính (bên 1) đến trường khóa ngoại (bên n) l Ví dụ: Thêm Mã ngành vào bảng Sinh viên SINH_VIÊN # Mã SV @ Mã ngành Tên SV Giới tính Ngày sinh Địa chỉ Tin quản lý 2 - 1 30hungnm@thanglong.edu.vn Chuyển mô hình thực thể liên hệ thành mô hình dữ liệu quan hệ (tiếp) l Quan hệ n - n l Cách chuyển l Thêm bảng trung gian (tên bảng tùy ý) l Khóa chính của bảng trung gian là khóa chính của 2 bảng n đưa sang l Thuộc tính của mối liên hệ được đưa vào bảng này l Lần lượt vẽ đường nối từ khóa chính (bên 1) đến trường khóa ngoại (bên n) trong bảng trung gian này l Ví dụ: Thêm bảng KQHT có khóa chính là Mã SV và Mã môn, thuộc tính riêng là Điểm. Tin quản lý 2 - 1 31hungnm@thanglong.edu.vn Chuyển mô hình thực thể liên hệ thành mô hình dữ liệu quan hệ (tiếp) SINH_VIÊN # Mã SV @ Mã ngành Tên SV Giới tính Ngày sinh Địa chỉ MÔN_HỌC # Mã môn Tên môn Số ĐVHTn 1 NGÀNH # Mã ngành Tên ngành KQHT #@ Mã môn #@ Mã SV Điểm 1 1 n n Tin quản lý 2 - 1 32hungnm@thanglong.edu.vn Đầu vào – Đầu ra của Ứng dụng l Đầu vào : các chứng từ, giấy tờ sổ sách cung cấp thông tin để lưu trữ vào CSDL l Đầu ra : những thông tin trích rút, tổng hợp được từ CSDL. Đó có thể là các mẫu báo cáo, giấy tờ mà trong thực tế đòi hỏi, yêu cầu đáp ứng. Ứng dụng CSDLGiấy tờ,chứng từ,… Báo cáo, biểu mẫu Đầu vào Đầu ra
File đính kèm:
- Bài giảng Tin quản lý 2 - Bài 1 Thiết kế cơ sở dữ liệu.pdf