Đăng ký Đăng nhập

Tài liệu Co so du lieu

.PDF
96
49
80

Mô tả:

MỤC LỤC MỤC LỤC .............................................................................................................................. i LỜI MỞ ĐẦU ....................................................................................................................... 1 Chương 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ................................................................ 2 1.1 Dẫn nhập ........................................................................................................ 2 1.2 Hệ thống cơ sở dữ liệu .................................................................................... 3 1.2.1 Định nghĩa cơ sở dữ liệu .......................................................................... 3 1.2.2 Đặc trưng môi trường cơ sở dữ liệu .......................................................... 3 1.2.3 Các mức biểu diễn hệ thống ..................................................................... 3 1.3 Hệ quản trị cơ sở dữ liệu ................................................................................. 5 1.3.1 Khái niệm ................................................................................................ 5 1.3.2 Đặc trưng của hệ quản trị cơ sở dữ liệu .................................................... 5 1.3.3 Lịch sử phát triển ..................................................................................... 5 1.4 Mô hình dữ liệu .............................................................................................. 6 1.4.1 Định nghĩa ............................................................................................... 6 1.4.2 Mô hình thực thể kết hợp ......................................................................... 6 1.4.3 Mô hình dữ liệu mạng .............................................................................. 9 1.4.4 Mô hình dữ liệu phân cấp ....................................................................... 10 1.4.5 Mô hình dữ liệu quan hệ......................................................................... 10 1.4.6 Mô hình dữ liệu hướng đối tượng ........................................................... 11 1.5 Thực hành chương 1 ..................................................................................... 12 1.5.1 Câu hỏi lý thuyết .................................................................................... 12 1.5.2 Bài tập.................................................................................................... 12 Chương 2. MÔ HÌNH QUAN HỆ VÀ NGÔN NGỮ ĐẠI SỐ .......................................... 16 2.1 Mô hình quan hệ ........................................................................................... 16 2.1.1 i Dẫn nhập ................................................................................................ 16 2.1.2 Quan hệ.................................................................................................. 16 2.1.3 Lược đồ quan hệ .................................................................................... 18 2.1.4 Khóa của quan hệ ................................................................................... 18 2.1.5 Cơ sở dữ liệu .......................................................................................... 20 2.1.6 Lược đồ Cơ sở dữ liệu ............................................................................ 20 2.1.7 Đại số quan hệ........................................................................................ 21 2.1.8 Phép hợp ................................................................................................ 22 2.1.9 Phép giao ............................................................................................... 23 2.1.10 Phép hiệu ............................................................................................ 23 2.1.11 Phép tích Descartes ............................................................................. 23 2.1.12 Phép kết .............................................................................................. 24 2.1.13 Phép chiếu .......................................................................................... 26 2.1.14 Phép chọn ........................................................................................... 27 2.1.15 Phép chia ............................................................................................ 28 2.2 Thực hành chương 2 ..................................................................................... 28 2.2.1 Lý thuyết ................................................................................................ 28 2.2.2 Bài tập.................................................................................................... 29 Chương 3. NGÔN NGỮ SQL .......................................................................................... 36 3.1 3.1.1 Lịch sử ................................................................................................... 36 3.1.2 Quy ước ................................................................................................. 36 3.1.3 Phép toán và Hàm thường dùng ............................................................. 37 3.2 ii Dẫn nhập ...................................................................................................... 36 Ngôn ngữ truy vấn dữ liệu ............................................................................ 39 3.2.1 Công dụng và cú pháp ............................................................................ 39 3.2.2 Mệnh đề FROM ..................................................................................... 39 3.2.3 Mệnh đề SELECT .................................................................................. 40 3.2.4 Mệnh đề WHERE .................................................................................. 41 3.2.5 Mệnh đề ORDER BY............................................................................. 43 3.2.6 Mệnh đề GROUP BY............................................................................. 43 3.2.7 Mệnh đề HAVING ................................................................................. 44 3.2.8 Truy vấn lồng......................................................................................... 44 3.3 Phép toán tổng hợp ....................................................................................... 46 3.3.1 Phép toán hợp ........................................................................................ 46 3.3.2 Phép giao ............................................................................................... 47 3.3.3 Phép hiệu ............................................................................................... 47 3.4 Thực hành chương 3 ..................................................................................... 48 3.4.1 Câu hỏi lý thuyết .................................................................................... 48 3.4.2 Bài tập.................................................................................................... 48 Chương 4. RÀNG BUỘC TOÀN VẸN ............................................................................ 53 4.1 Dẫn nhập ...................................................................................................... 53 4.2 Ràng buộc toàn vẹn và các yếu tố ................................................................. 53 4.2.1 Khái niệm .............................................................................................. 53 4.2.2 Các yếu tố .............................................................................................. 53 4.3 Phân loại ràng buộc toàn vẹn ........................................................................ 55 4.3.1 RBTV có bối cảnh là một quan hệ .......................................................... 55 4.3.2 RBTV có bối cảnh gồm nhiều quan hệ ................................................... 57 4.4 Cài đặt ràng buộc toàn vẹn............................................................................ 60 4.5 Thực hành chương 4 ..................................................................................... 61 4.5.1 Câu hỏi lý thuyết .................................................................................... 61 4.5.2 Bài tập.................................................................................................... 61 Chương 5. PHỤ THUỘC HÀM ....................................................................................... 63 5.1 Dẫn nhập ...................................................................................................... 63 5.2 Các khái niệm ............................................................................................... 63 5.2.1 Khái niệm phụ thuộc hàm ...................................................................... 63 5.2.2 Các Phụ thuộc hàm đặc biệt ................................................................... 64 5.2.3 Tập phụ thuộc hàm của một quan hệ ...................................................... 64 5.3 Hệ tiền đề Amstrong và một số tính chất của Phụ thuộc hàm ........................ 64 5.3.1 iii Hệ tiên đề Amstrong .............................................................................. 64 5.3.2 Một số luật dẫn suy từ hệ tiên đề Amstrong............................................ 65 5.3.3 Ứng dụng ............................................................................................... 65 5.4 Bao đóng của tập Phụ thuộc hàm .................................................................. 65 5.4.1 Định nghĩa ............................................................................................. 65 5.4.2 Ứng dụng ............................................................................................... 66 5.5 Bao đóng của tập thuộc tính .......................................................................... 66 5.5.1 Định nghĩa ............................................................................................. 66 5.5.2 Thuật toán xác định bao đóng của tập thuộc tính .................................... 66 5.6 Khóa và cách xác định .................................................................................. 67 5.6.1 Định nghĩa ............................................................................................. 67 5.6.2 Cách xác định khóa của một quan hệ...................................................... 67 5.7 Phủ và Phủ tối thiểu tập phụ thuộc hàm ........................................................ 69 5.7.1 Định nghĩa Phủ của tập phụ thuộc hàm .................................................. 69 5.7.2 Định nghĩa Phủ tối thiểu của F ............................................................... 70 5.7.3 Thuật toán tìm Phủ tối thiểu ................................................................... 70 5.8 Bài tập .......................................................................................................... 71 5.8.1 Câu hỏi lý thuyết .................................................................................... 71 5.8.2 Bài tập.................................................................................................... 72 Chương 6. CHUẨN HÓA DỮ LIỆU ................................................................................ 73 iv 6.1 Dẫn nhập ...................................................................................................... 73 6.2 Các dạng chuẩn trên quan hệ ........................................................................ 74 6.2.1 Dạng chuẩn 1 ......................................................................................... 74 6.2.2 Dạng chuẩn 2 ......................................................................................... 74 6.2.3 Dạng chuẩn 3 ......................................................................................... 75 6.2.4 Dạng chuẩn BCK ................................................................................... 76 6.3 Dạng chuẩn của lược đồ cơ sở dữ liệu........................................................... 77 6.4 Phương pháp chuẩn hóa cơ sở dữ liệu ........................................................... 77 6.4.1 Mục tiêu chuẩn hóa ................................................................................ 77 6.4.2 Định lý Delobel...................................................................................... 77 6.4.3 Phương pháp phân rã.............................................................................. 78 6.4.4 Phương pháp tổng hợp ........................................................................... 79 6.5 Thực hành chương 6 ..................................................................................... 81 6.5.1 Câu hỏi lý thuyết .................................................................................... 81 6.5.2 Bài tập.................................................................................................... 81 Phụ lục 1: Phần mềm DurianDatabase .................................................................................. 86 Phụ lục 2: Phần mềm CheckSQL ......................................................................................... 88 Tài liệu tham khảo ............................................................................................................... 90 v Danh mục Hình, Bảng Hình 1.1: Mô hình hệ thống cơ sở dữ liệu .................................................................... 3 Hình 1.2: Các mức biểu diễn hệ thống - Three-schema architecture ............................ 4 Hình 1.3: Mối kết hợp giữa Sinh viên và Lớp ............................................................... 7 Hình 1.4: Mô hình thực thể kết hợp quản lý kết quả học tập ........................................ 8 Hình 1.5: Mô hình dữ liệu Mạng quản lý kết quả học tập .......................................... 10 Hình 1.6: Mô hình phân cấp Khoa ............................................................................. 10 Hình 1.7: Mô hình quan hệ quản lý kết quả học tập ................................................... 11 Hình 2.1: Mô hình quan hệ Vận chuyển ..................................................................... 34 Hình 2.2: Mô hình quan hệ Địa lý.............................................................................. 35 Hình 3.1: Mô hình quan hệ Quản lý Học viên ............................................................ 52 Hình 4.1: RBTV có chu trinh nhân viên quản lý ......................................................... 59 Hình 4.2: Chu trình trong quản lý phân công đề án ................................................... 59 Hình 6.1: Dạng chuẩn 2............................................................................................. 75 Hình 6.2: Dạng chuẩn 3............................................................................................. 76 Hình 6.3: Dạng chuẩn BCK ....................................................................................... 76 Bảng 1.1: Dữ liệu Quản lý học tập sinh viên ................................................................ 2 Bảng 1.2: Thực thể sinh viên (SinhVien) và lớp (Lop) .................................................. 7 Bảng 2.1: Quan hệ Môn học (MonHoc) ..................................................................... 17 Bảng 2.2: Quan hệ MonHoc và KQHT ...................................................................... 19 Bảng 2.3: Cơ sở dữ liệu quản lý học tập .................................................................... 21 Bảng 2.4: Thuộc tính CSDL Hội thao ........................................................................ 29 Bảng 2.5: Dữ liệu Hội thao ........................................................................................ 31 Bảng 3.1: Thành phần chỉ định .................................................................................. 38 Bảng 3.2: Ký hiệu so sánh mẫu .................................................................................. 42 Bảng 3.3: Dữ liệu minh họa phép toán tổng hợp ........................................................ 46 Bảng 4.1: Bảng tổng hợp bảng tầm ảnh hưởng .......................................................... 56 vi LỜI MỞ ĐẦU Cơ sở dữ liệu là môn học tiên quyết đối với người học về Công nghệ thông tin. Môn học cung cấp kiến thức cơ bản về cách tổ chức, quản lý dữ liệu. Nhằm hỗ trợ sinh viên Khoa Công nghệ thông tin, Trường Đại học Lạc Hồng nói riêng và các sinh viên muốn tìm hiểu về Công nghệ thông tin nói chung một tài liệu tham khảo rõ ràng, Nhóm biên soạn bài giảng Cơ sở dữ liệu đã tham khảo các tài liệu phổ biến và biên soạn lại cho phù hợp với cách tiếp cận và kiến thức tiếp thu của sinh viên một cách có hệ thống. Nội dung bài giảng gồm sáu (06) chương. Chương 1: Tổng quan về cơ sở dữ liệu. Chương này giúp cho người đọc có cái nhìn tổng quan về việc cần thiết trong tổ chức dữ liệu.Các mô hình sắp xếp dữ liệu. Chương 2: Quan hệ và Đại số. Chương hai giúp người đọc hiểu chi tiết hơn về các khái niệm cơ bản trong mô hình quản lý dữ liệu. Ngôn ngữ thể hiện các vấn đề trong quản lý dữ liệu (khóa chính, khóa ngoại, miền giá trị,...) Chương 3: Ngôn ngữ truy vấn. Chương ba giúp người đọc biết cách thiết lập câu lệnh truy vấn để rút trích thông tin dữ liệu trong hệ thống Chương 4: Ràng buộc toàn vẹn. Người đọc sẽ được cung cấp các khái niệm về ràng buộc, đảm bảo dữ liệu có tính toàn vẹn về sự liên kết, về giá trị... Chương 5: Phụ thuộc hàm và Chương 6: Chuẩn hóa Cơ sở dữ liệu. Cung cấp cho người đọc các khái niệm cơ bản về phụ thuộc hàm, tìm một phụ thuộc hàm tối thiểu và bao đóng của tập thuộc tính. Cách thức chuẩn hóa sao cho cơ sở dữ liệu có mức chuẩn cao nhất có thể. 1 Chương 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU 1.1 Dẫn nhập Nhu cầu tích lũy và xử lý các dữ liệu nảy sinh trong mọi công việc, trong mọi hoạt động của con người. Ví dụ 1: Quản lý nhân sự, tiền lương trong các cơ quan xí nghiệp; Quản lý hồ sơ và kết quả học tập của sinh viên trong các trường học. Trước đây, người ta lưu trữ và khai thác dữ liệu một cách thủ công.Với sự xuất hiện của máy tính điện tử, cho phép lưu trữ và xử lý dữ liệu một cách tự động, đã nảy sinh nhu cầu xây dựng các phần mềm ứng dụng phục vụ cho các công tác quản lý bằng máy tính điện tử. Để thực hiện vấn đề này, trước tiên phải biết tổ chức lưu trữ dữ liệu cần quản lý sao cho có thể xử lý và khai thác một cách tốt nhất. Ví dụ 2: Để quản lý hồ sơ và kết quả học tập của các sinh viên ta có thể tổ chức một tập tin dữ liệu có cấu trúc như Bảng 1.1 Bảng 1.1: Dữ liệu Quản lý học tập sinh viên MãSV Họ-tên NgàySinh Phái Lớp Môn-Học Điểm 100 Nguyễn Văn Hạ 15/08/82 Nam TH1 Ngôn ngữ C/C++ 6 100 Nguyễn Văn Hạ 15/08/82 Nam TH1 CSDL 5 101 Hoàng Thị Xuân 18/05/81 Nữ TH1 Ngôn ngữ C/C++ 9 101 Hoàng Thị Xuân 18/05/81 Nữ TH1 CSDL 7 221 Đỗ Hữu Thu 19/06/82 Nam TH2 Ngôn ngữ C/C++ 10 221 Đỗ Hữu Thu 19/06/82 Nam TH2 CSDL 5 233 Hoàng Đông 20/06/81 Nam TH2 Ngôn ngữ C/C++ 6 233 Hoàng Đông 20/06/81 Nam TH2 CSDL 8 Với cách tổ chức này, xuất hiện nhiều dữ liệu trùng lắp, chiếm dụng không gian lưu trữ và có nhiều khả năng sai sót khi thao tác. Do đó cần chọn lựa một hình thức tổ chức khác tốt hơn, sao cho không bị thiếu hoặc thừa thông tin và có thể khai thác xử lý một cách tốt nhất Môn học Cơ sở dữ liệu cung cấp kiến thức cơ bản về dữ liệu vàcác mối liên quan của dữ liệu trong việc lưu trữ, cách tổ chức lưu trữ và khai thác dữ liệu.Đây là một trong những môn cơ sở của sinh viên học công nghệ thông tin. Chương 1 cung cấp một số khái niệm về cơ sở dữ liệu (CSDL), mô hình dữ liệu và hệ quản trị CSDL 2 1.2 Hệ thống cơ sở dữ liệu 1.2.1 Định nghĩa cơ sở dữ liệu Dữ liệu (Data) là thông tin được ghi lại và nội dung dữ liệu thể hiện ý nghĩa mà người dùng muốn lưu trữ lại. Cơ sở dữ liệu (CSDL – Database) là một tập hợp các bảng dữ liệu có quan hệ với nhau được tổ chức một cách chọn lọc, ghi trên thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người với nhiều mục đích khác nhau[1] Ví dụ 3: CSDL quản lý sinh viên có thể được phục vụ cho phòng đào tạo; phòng Công tác sinh viên Chương trình QL Bảng điểm SV KQHT Môi trường CSDL Môi trường CSDL Sinh viên Danh sách SV Chương trình QLSV Môn học Danh sách lớp Điểm Hình 1.1: Mô hình hệ thống cơ sở dữ liệu 1.2.2 Đặc trưng môi trường cơ sở dữ liệu Môi trường CSDL là một hệ thống thông tin có sự thống nhất, liên quan lẫn nhau.Đồng thời thông tin lữu trữ có sự hạn chế tối đa về sự trùng lắp thông tin, giảm bớt không gian lãng phí trong việc lưu trữ và xử lý. Hệ thống có khả năng cung cấp thông tin cho nhiều ứng dụng sử dụng đồng thời cho nhiều mục đích khác nhau nhưng vẫn đảm bảo tính nhất quán và toàn vẹn về dữ liệu Trong môi trường cơ sở dữ liệu, người sử dụng được chia thành ba dạng: người quản trị (Database Administrator); thiết kế (Database designer) và người dùng cuối (End User) 1.2.3 Các mức biểu diễn hệ thống Khi phân tích thiết kế một ứng dụng tin học, cần khảo sát và mô tả hệ thống CSDL tuần tự theo 3 mức (Three-schema architecture) [Hình 1.2] 3 1.2.3.1 Mức lược đồ ngoài Mức lược đồ ngoài (External Schema Level, User view) là mức biểu diễn dữ liệu dựa theo yêu cầu của người sử dụng. Mỗi người sử dụng, mỗi nhóm có yêu cầu xử lý riêng trên một số dữ liệu nào đó. 1.2.3.2 Mức lược đồ quan niệm Mức lược đồ quan niệm (Conceptial Schema Level) là mức mô tả tổng thể về CSDL dựa trên sự tổng hợp các yêu cầu dữ liệu từ mức lược đồ ngoài.Cho biết CSDL chứa những đối tượng dữ liệu nào, mối quan hệ giữa các đối tượng, các yêu cầu ràng buộc trên đối tượng được lưu trữ. Người quản trị sẽ thực hiện công việc tại bước này, gồm: Mô tả cấu trúc và chức năng người dùng; thống nhất toàn bộ cơ sở dữ liệu; xác định cấu trúc hệ thống được sử dụng (phần cứng, phần mềm) 1.2.3.3 Mức lược đồ trong Mức lược đồ trong (bao gồm cả lưu trữ vật lý - Physical Schema Level) là mức cài đặt CSDL trên hệ thống máy tính. Tại mức này, vấn đề cần giải quyết là: Sử dụng hệ quản trị CSDL nào,tổ chức quản lý CSDL trên hệ quản trị End Users End Users External level External view … External view External / conceptual mapping Conceptual level Conceptual Schema Conceptual / internal mapping Internal level Internal Schema Hình 1.2: Các mức biểu diễn hệ thống - Three-schema architecture 4 1.3 Hệ quản trị cơ sở dữ liệu 1.3.1 Khái niệm Hệ quản trị CSDL (DBMS - Data Base Management System) là các hệ thống phần mềm giúp tổ chức xây dựng cấu trúc của CSDL và hỗ trợ quản lý các dữ liệu lưu trữ bên trong CSDL đó. Cho đến nay có khá nhiều hệ quản trị CSDL mạnh được đưa ra thị trường như: MicroSoft Access, SQL-Server, Oracle, DB2, MySQL... 1.3.2 Đặc trưng của hệ quản trị cơ sở dữ liệu  Cung cấp giao diện hỗ trợ việc tổ chức và quản lý CSDL  Cung cấp ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm:  Ngôn ngữ khai báo dữ liệu (Data Definition Language - DDL): Dùng khai báo cấu trúc của CSDL, khai báo các mối liên hệ của dữ liệu (Data RelationShip) và các quy tắc, ràng buộc (Rules, Constraint) về dữ liệu .  Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): Dùng thêm (Insert), xóa (Delete), sửa (Update) dữ liệu trong CSDL.  Ngôn ngữ truy vấn dữ liệu (Structured Query Language - SQL): Dùng truy xuất các thông tin cần thiết từ CSDL.  Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL) : Dùng thay đổi cấu trúc của các bảng dữ liệu, bảo mật và cấp quyền khai thác CSDL cho người sử dụng.  Có cơ truy suất từ nhiều người dùng và giải quyết vấn đề tranh chấp dữ liệu giữa các người sử dụng trong cùng thời điểm đồng thời vẫn bảo toàn dữ liệu.  Cơ chế quản lý truy suất dữ liệu, sao lưu và phục hồi dữ liệu khi có sự cố xảy ra 1.3.3 Lịch sử phát triển Các hệ quản trị CSDL đầu tiên ra đời vào đầu những năm 60 của thế kỷ 20 dựa trên mô hình dữ liệu phân cấp và mạng, trong số đó có hệ quản trị CSDL tên là IMS của hãng IBM dựa trên mô hình dữ liệu phân cấp. Năm 1976, hệ quản trị CSDL đầu tiên dựa trên mô hình dữ liệu quan hệ của hãng IBM mang tên System-R ra đời. Từ năm 1980 hãng IBM cho ra đời hệ quản trị CSDL trên 5 các máy Main Frame mang tên DB2, tiếp theo là các hệ quản trị CSDL Dbase, Sybase, Oracle, Informix, SQL-Server ... Từ những năm 1990 người ta bắt đầu cố gắng xây dựng các hệ quản trị CSDL hướng đối tượng (Oriented Object DataBase Management System). Hiện nay, các hệ quản trị dữ liệu theo hướng đối tượng ngày càng được tập trung phát triển mạnh mẽ trên nên tảng quan hệ. 1.4 Mô hình dữ liệu 1.4.1 Định nghĩa Mô hình dữ liệu là công cụ biểu diễn CSDL, gồm tập hợp các ký hiệu và các quy ước mô tả:  Cấu trúc của các đối tượng lưu trữ dữ liệu  Mối quan hệ dữ liệu giữa các đối tượng  Các quy tắc quản lý ảnh hưởng đến các dữ liệu được lưu trữ  Các phép toán xử lý truy xuất dữ liệu. Có nhiều mô hình được đề nghị, ởtrình bày năm mô hình đặc trưng nhất:  Mô hình dữ liệu thực thể - kết hợp  Mô hình dữ liệu quan hệ  Mô hình dữ liệu Mạng  Mô hình dữ liệu Phân cấp  Mô hình dữ liệu hướng đối tượng 1.4.2 Mô hình thực thể kết hợp Mô hình thực thể kết hợp - Entity & Relationship Model (ER) do Peter Chen đề xuất vào năm 1976. Đây là mô hình được sử dụng phổ biến để thiết kế CSDL ở mức quan niệm. Các khái niệm chính trong mô hình này gồm: thuộc tính, loại thực thể và mối kết hợp 1.4.2.1 Thuộc tính Thuộc tính (Attribute) là yếu tố thông tin đặc trưng của đối tượng cần lưu trữ. Mỗi thuộc tính có tên phân biệt và thuộc một kiểu dữ liệu Ví dụ 4: Họ tên, ngày sinh, nơi sinh ... của sinh viên 1.4.2.2 Loại thực thể Loại thực thể (Entity Type) dùng mô tả một lớp đối tượng có chung tập thuộc tính. Các thành phần của loại thực thể: 6  Tên loại thực thể: thường là danh từ mang ý nghĩa của lớp đối tượng được mô hình hóa.  Danh sách các thuộc tính: Các thông tin đặc trưng cần lưu trữ của lớp đối tượng.  Khóa của loại thực thể: Là tập thuộc tính mà giá trị của nó xác định duy nhất một đối tượng trong lớp đối tượng đó. Mỗi thực thể phải có ít nhất một khóa. Ví dụ 5: Khóa thực thể sinh viên (SinhVien) là Mã số sinh viên (MSSV) , khóa thực thể lớp (Lop) là Mã số lớp (MSLop) Bảng 1.2: Thực thể sinh viên (SinhVien) và lớp (Lop) SinhVien Lop MSSV HoTenSV MsLop TenLop NgaySinh QueQuan 1.4.2.3 Mối kết hợp Mối kết hợp (Relationship) dùng mô tả quy tắc quản lý, mối quan hệ giữa các thực thể. Ví dụ 6: Giữa thực thể Sinh viên và thực thể Lớp có quy tắc quản lý: Mỗi sinh viên chỉ học ở một Lớp và một lớp có nhiều sinh viên. SinhVien Lop (1,1) MSSV HoTenSV (1,n) Hoc MaLop TenLop NgaySinh QueQuan Hình 1.3: Mối kết hợp giữa Sinh viên và Lớp Các thành phần của loại mối kết hợp:  Tên gọi: thường là động từ hay tính từ mang ý nghĩa về mối quan hệ giữa các lớp đối tượng.  Bản số mỗi nhánh của mối kết hợp: là một bộ gồm hai thành phần (min, max), dùng thể hiện ràng buộc về số lượng tối thiểu và tối đa của 1 đối tượng thuộc loại thực thể của nhánh đó có quan hệ với các đối tượng của loại thực thể khác trong cùng mối kết hợp. 7 Chú ý:  Giá trị Min = 0 nếu có một đối tượng không tham gia vào bất kỳ trường hợp nào của mối kết hợp.  Giá trị Min = 1 nếu tất cả đối tượng đều tham gia vào mối kết hợp.  Giá trị Max = 1 nếu mỗi đối tượng chỉ tham gia tối đa một trường hợp của mối kết hợp.  Giá trị Max = n nếu mỗi đối tượng có thể tham gia nhiều trường hợp của mối kết hợp với số lượng không giới hạn.  Thuộc tính của mối kết hợp: là thuộc tính chung của các loại thực thể tham gia mối kết hợp Các bước thiết lập mô hình thực thể kết hợp:  Bước 1: Phân tích yêu cầu bài toán, chọn ra các thông tin cần quản lý.  Bước 2: Tiến hành gom nhóm các thuộc tính theotừng loại thực thể.  Bước 3: Xác định các mối kết hợp giữa các thực thể  Bước 4: Xác định các thuộc tính của các mối kết hợp  Bước 5: Xác định bản số của mối kết hợp Ví dụ 7: Xây dựng mô hình thực thể kết hợp quản lý kết quả học tập của các sinh viên trong trường. Trong đó các thông tin cần tổ chức lưu trữ như sau Mỗi Khoa cần lưu thông tin: MSKhoa, TenKhoa. Mỗi Lop chỉ trực thuộc một khoa và có MaLop, TenLop, NienKhoa, SoHocVien. Mỗi MonHoc đều có MSMH, TenMH, SoDVHT. Mỗi SinhVien chỉ học ở một lớp và có các thông tin MSSV, HoTenSV, NgaySinh, QueQuan. Ngoài ra cần lưu lại điểm thi kết thúc môn học của mỗi sinh viên, trong đó, mỗi môn học sinh viên được phép thi ba lần SinhVien MSSV HoTenSV NgaySinh QueQuan Khoa Lop 1:1 Hoc 1:n MaLop 1:1 TenLop Thuoc 1:n MSKhoa TenKhoa 0:n KQHT LanThi STTLanThi 1:n 0:n Điểm MonHoc MSMH TenMH SoDVHT Hình 1.4: Mô hình thực thể kết hợp quản lý kết quả học tập 8 1.4.3 Mô hình dữ liệu mạng Mô hình dữ liệu mạng (Network Data Model) dùng các khái niệm: thuộc tính, loại mẫu tin, loại liên hệ 1.4.3.1 Thuộc tính Là yếu tố thông tin đặc trưng của đối tượng cần lưu trữ. Ví dụ 8: Họ tên, ngày sinh, nơi sinh ... của sinh viên 1.4.3.2 Loại mẫu tin (Record Type) Dùng mô tả một lớp đối tượng có chung tập thuộc tính. Mỗi mẫu tin chứa các giá trị thuộc tính của một đối tượng. 1.4.3.3 Loại liên hệ (Set Type) Thể hiện sự quan hệ ngữ nghĩa giữa một loại mẫu tin chủ và một loại mẫu tin thành viên. Trong đồ thị biểu diễn mô hình mạng, mỗi loại liên hệ được biểu diễn bởi:  Một cung có hướng đi từ loại mẫu tin chủ tới loại mẫu tin thành viên  Bản số chỉ ra số lượng các mẫu tin tham gia trong loại liên hệ. Dựa trên bản số ta có các loại liên hệ sau:  11 (One-to-One): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với đúng một mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi sinh viên có duy nhất một lý lịch cá nhân.  1n (One-to-Many): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với một hay nhiều mẫu tin của loại mẫu tin thành viên. Ví dụ, mỗi lớp có từ 1 đến nhiều sinh viên.  n1 (Many-to-One): Nhiều mẫu tin của loại mẫu tin chủ kết hợp với đúng 1 mẫu tin của loại mẫu tin thành viên. Ví dụ, nhiều sinh viên cùng làm một đề tài Ví dụ 9: Mô hình dữ liệu mạng mô tả cơ sở dữ liệu của hệ thống quản lý kết quả học tập sinh viên trong trường [Hình 1.5]. Trong đó các thông tin cần tổ chức lưu trữ như sau: Ví dụ 10: Mỗi Khoa cần lưu thông tin: MSKhoa, TenKhoa. Ví dụ 11: Mỗi Lop chỉ trực thuộc một khoa và có MaLop, TenLop, NienKhoa, SoHocVien. Ví dụ 12: Mỗi MonHoc đều có MSMH, TenMH, SoDVHT. 9 Ví dụ 13: Mỗi SinhVien chỉ học ở một lớp và có các thông tin MSSV, HoTenSV, NgaySinh, QueQuan. Ngoài ra cần lưu lại điểm thi kết thúc môn học của mỗi sinh viên, trong đó, mỗi môn học sinh viên được phép thi nhiều lần Ví dụ 14: 1: n LOP KHOA 1: n LANKT MONHOC SINHVIEN 1: n 1: n 1: n KQHT Hình 1.5: Mô hình dữ liệu Mạng quản lý kết quả học tập 1.4.4 Mô hình dữ liệu phân cấp Mô hình dữ liệu phân cấp (Hierachical Database Model) dựa trên cơ sở quan hệ cha – con, được biểu diễn dạng cấu trúc cây nhiều nhánh [Hình 1.6]. Một kiểu mẫu tin cha có thể liên hệ với nhiều kiểu mẫu tin con, nhưng một kiểu mẫu tin thành viên chỉ có thể phụ thuộc duy nhất một kiểu mẫu tin cha. Chỉ có những kiểu liên hệ 11 và 1n giữa kiểu mẫu tin cha và kiểu mẫu tin con. Do đó, mô hình dữ liệu phân cấp biểu diễn cơ sở dữ liệu của một ứng dụng có thể bao gồm nhiều cấu trúc cây Khoa Ten DiaCh i ThanhVien MaSo DiaChi Nhiemv u MSDT TenDT GiangVien QuanLy HoTen NghienCuu HoTen ToMon Hình 1.6: Mô hình phân cấp Khoa 1.4.5 Mô hình dữ liệu quan hệ Mô hình dữ liệu quan hệ (Relational Data Model) được phát triển vào năm 1970 do Edgar Frank Codd của công ty IBM ở Sanjoe, Mỹ đề xuất. Các đối tượng trong mô 10 hình này chỉ gồm các bảng hai chiều được gọi là các quan hệ (Relation Table) với các khái niệm: Quan hệ, Thuộc tính, khóa... Mô hình này có một cơ sở lý thuyết vững chắc nên là mô hình được phát triển rộng rãi nhất hiện nay Ví dụ 15: Mô hình quan hệ quản lý kết quả học tập của các sinh viên trong trường có thể được tổ chức như Hình 1.7 1.4.6 Mô hình dữ liệu hướng đối tượng Mô hình dữ liệu hướng đối tượng (Object Oriented Data Model) ra đời từ cuối những năm 1980 và đầu những năm 1990. Đây là loại mô hình tiên tiến nhất hiện nay, sử dụng các khái niệm như :  Lớp (class) là kiểu dữ liệu có cấu trúc bao gồm các thành phần dữ liệu và các phương thức xử lý thao tác trên cấu trúc dữ liệu đó. Dữ liệu và phương thức hòa quyện vào nhau thành một thể thống nhất: dữ liệu cần có những cách thức xử lý thỏa đáng, và phương thức xử lý được đưa vào trong kiểu dữ liệu đó là để phục vụ cho các đối tượng có cấu trúc như thế. Người ta gọi sự thống nhất đó là sự đóng gói.  Sự kế thừa (inheritance): Lớp con ngoài các thành phần và phương thức riêng còn có thể kế thừa các thành phần và phương thức của lớp cha.  Kế thừa bội (multi-inheritance): tức là sự kế thừa từ nhiều lớp cơ sở. Các hệ quản trị CSDL hướng đối tượng hiện nay vẫn chưa nhiều, một số còn chưa thuần nhất (nghĩa là việc lập trình là hướng đối tượng nhưng CSDL vẫn chủ yếu dựa trên mô hình quan hệ) Khoa MSKhoa TenKhoa Lop MSLop TenLop SinhVien MSSV HoTen MonHoc MSMH CTDT MSLop TenMon Hoc MSMH KQHT MSMon MSSV NienKho a NgaySin h MSKhoa LanThi Diem Phai MSLop Hình 1.7: Mô hình quan hệ quản lý kết quả học tập 11 1.5 Thực hành chương 1 1.5.1 Câu hỏi lý thuyết Câu 1. Nêu một số ví dụ về nhu cầu tích lũy và xử lý dữ liệu trong thực tế? Câu 2. Trước khi có máy tính điện tử người ta lưu trữ thông tin như thế nào? Câu 3. Nêu các tiện ích khi sử dụng máy tính điện tử lưu trữ và xử lý dữ liệu ? Câu 4. Nêu những bất lợi khi tổ chức lưu trữ dữ liệu trùng lắp? Câu 5. Công dụng của mô hình dữ liệu? Câu 6. Cho biết mối liên hệ giữa mô hình dữ liệu và hệ quản trị CSDL? 1.5.2 Bài tập Câu 7. Hãy lập mô hình dữ liệu ER cho các yêu cầu quản lý sau : Quản lý việc phân công thực hiện đề án của một công ty với các quy tắc quản lý như sau: Mỗi phòng ban trong công ty có một mã số phân biệt và tên phòng ban phân biệt. Mỗi nhân viên đều có một mã số phân biệt, có tên, và làm việc tại một phòng ban. Mỗi đề án đều được gán một mã đề án phân biệt, có tên đề án, ngày bắt đầu thực hiện đề án và ngày kết thúc thực hiện đề án. Với mỗi đề án công ty phân công cho nhiều nhân viên cùng tham gia thực hiện, và ghi nhận lại ngày nhân viên bắt đầu tham gia đề án. Mỗi nhân viên có thể tham gia nhiều đề án. Hướng dẫn: Có 3 thực thể: Phòng ban, Nhân viên và Đề án. Câu 8. Quản lý hóa đơn bán hàng tại một siêu thị với các quy tắc quản lý như sau: Mỗi mặt hàng có một mã số phân biệt, có tên, đơn vị tính và đơn giá bán hiện hành. Mỗi nhân viên có một mã số phân biệt, tên, ngày sinh, giới tính. Khi khách mang hàng đến các quầy tính tiền, nhân viên tại quầy tính tiền quét mã số các mặt hàng khách mua và in cho khách một hóa đơn tính tiền. Mỗi hóa đơn tính tiền có một mã số phân biệt, có ngày giờ lập và chi tiết các mặt hàng ghi trên hóa đơn bao gồm số thứ tự, tên mặt hàng, số lượng, đơn giá và thành tiền. Mỗi hóa đơn chỉ do một nhân viên lập. Hướng dẫn: Có 3 thực thể: Mặt hàng, Nhân viên và Hóa đơn. Câu 9. Quản lý dữ liệu một công ty cho thuê xe ô tô với các quy tắc quản lý như sau: Mỗi xe có một biển số phân biệt, có màu xe, số chỗ ngồi và thuộc một kiểu xe. Khách có thể thuê một hay nhiều xe cùng một lúc. Khi khách thuê xe, công ty lập một hợp đồng thuê xe. Mỗi hợp đồng có một mã số phân biệt với các hợp đồng khác, có ngày lập hợp đồng, ngày giờ đi, ngày về; họ tên, số chứng minh nhân dân và số điện thoại của một người khách đại diện thuê xe; danh sách các xe được thuê.cùng đơn giá thuê một ngày của mỗi xe được thuê. 12 Hướng dẫn: Có 3 thực thể: Xe ô tô, Hợp đồng, và Khách thuê. Câu 10. Quản lý chương trình học và danh sách sinh viên của mỗi ngành học với các quy tắc quản lý như sau: Mỗi sinh viên có một mã số phân biệt, có tên sinh viên, ngày sinh, giới tính. Mỗi sinh viên chỉ học một ngành. Mỗi ngành học có một mã số ngành học phân biệt, có tên ngành học. Chương trình đào tạo của mỗi ngành học bao gồm nhiều môn học. Mỗi môn học có một mã số phân biệt, có tên môn, số tín chỉ và được học ở nhiều ngành. Hướng dẫn: Có 3 thực thể: Sinh viên, Ngành học và Môn học. Câu 11. Hãy lập mô hình thực thể kết hợp quản lý bằng cấp nhân viên một công ty với các quy tắc quản lý như sau: Công ty gồm nhiều phòng ban, mỗi phòng ban có một mã số phân biệt, có tên gọi và số điện thoại. Mỗi nhân viên có một mã số phân biệt, có họ tên, ngày sinh, địa chỉ, ngày vào làm việc và chỉ trực thuộc một phòng ban. Mỗi nhân viên có thể có nhiều bằng cấp thuộc nhiều chuyên ngành khác nhau. Mỗi loại bằng cấp như bằng cử nhân, bằng kỹ sư, bằng cao đẳng…, có một mã số phân biệt và có tên gọi. Mỗi chuyên ngành có mã chuyên ngành, tên chuyên ngành. Cần ghi nhận lại nhân viên có bằng cấp gì và các thông tin liên quan đến bằng cấp của nhân viên đó như ngành học, nơi cấp bằng và năm được cấp bằng. Hướng dẫn: Có 4 thực thể: Phòng ban, Nhân viên, Loại bằng cấp và Chuyên ngành. Câu 12. Hãy lập mô hình thực thể kết hợp quản lý tính lương nhân viên một cơ quan với các quy tắc quản lý như sau: Cơ quan có nhiều chức vụ, mỗi chức vụ có một mã số phân biệt, có tên gọi và hệ số phụ cấp chức vụ. Mỗi nhân viên có một mã số phân biệt, các thông tin khác là họ tên, Ngày sinh, giới tính, số điện thoại và phải có một chức vụ. Lương được chia làm nhiều bậc, mỗi bậc có một mã số phân biệt và lương căn bản của bậc đó. Ngoài ra để tính lương tháng của một nhân viên, cần lưu lại nhân viên đó được hưởng lương bậc mấy và ngày áp dụng bậc lương trên. Câu 13. Hãy lập mô hình thực thể kết hợp quản lý cung cấp nước sạch tại công ty cấp nước với các quy tắc quản lý như sau: pMục đích sử dụng sẽ quy định đơn giá nước. Mỗi phân loại sử dụng có một mã số phân biệt, có mục đích sử dụng, có định mức, đơn giá trong định mức và đơn giá ngoài định mức. Đồng hồ đo nước có nhiều loại khác nhau. Mỗi loại có một mã số phân biệt và thông số kỹ thuật của loại đó. Địa điểm là nơi gắn đồng hồ nước. Mỗi địa điểm có một mã số phân biệt, tên người đăng ký, nơi lắp đặt. Mỗi địa điểm gắn một loại đồng hồ và có một mục 13 đích sử dụng. Ngoài ra, để tính tiền nước hàng tháng cho các địa điểm cần ghi nhận thêm thông tin: địa điểm nào, tháng mấy, số m3 nước đầu tháng, số m3 nước cuối tháng. Câu 14. Hãy lập mô hình thực thể kết hợp quản lý định mức nguyên vật liệu tại một công ty với các quy tắc quản lý như sau: Công ty sản xuất nhiều sản phẩm. Mỗi sản phẩm có môt mã số phân biệt, có tên gọi, và quy cách sản phẩm. Mỗi vật liệu có một mã số phân biệt, có tên gọi, đơn vị tính và giá mua vật liệu đó. Để tính được lượng nguyên vật liệu cần cho sản xuất, phải ghi nhận thêm mỗi sản phẩm được làm từ những vật liệu nào với định mức tiêu thụ bao nhiêu. Kế hoạch sản xuất từng tháng phải được đề ra từ trước tùy theo biến động của thị trường. Kế hoạch này phải chỉ rõ một sản phẩm trong một tháng sản xuất bao nhiêu cái. Câu 15. Quản lý một công ty taxi ở TP HCM với các quy tắc quản lý như sau: Mỗi loại xe có một mã số phân biệt, có mô tả loại xe, giá cước 1 KM và định mức tiêu thụ xăng. Để thuận tiện cho việc quản lý xe, công ty chia thành phố thành các khu vực đón khách. Mỗi khu vực có một mã số phân biệt và một tên gọi. Mỗi xe có một mã số phân biệt và có họ tên tài xế lái xe. Mỗi xe phải thuộc về một loại xe và đón khách tại một khu vực. Mỗi lần tài xế đón khách là một cuốc xe. Mỗi cuốc xe có một mã số phân biệt, có thời điểm xuất phát, độ dài quãng đường và ghi lại xe đã chạy cuốc đó. Câu 16. Hãy lập mô hình ER cho bài toán quản lý siêu thị với các quy tắc như sau: Siêu thị chia thành nhiều khu vực, mỗi khu vực đều có một mã số phân biệt và có 1 tên, chuyên bán 1 loại mặt hàng, có 1 người quản lý và nhiều nhân viên làm việc trong khu vực đó. Mỗi nhân viên chỉ làm việc tại một khu vực và đều có một mã số phân biệt, ngoài ra cần lưu trữ các thông tin như: họ tên, ngày sinh, địa chỉ, ngày vào làm việc. Mỗi loại hàng đều có một mã số phân biệt, có tên và bao gồm nhiều mặt hàng. Mỗi mặt hàng trong siêu thị đều có một mã số phân biệt, có tên, đơn vị tính, đơn giá bán hiện hành. Mỗi mặt hàng đều có thể cung cấp bởi nhiều nhà cung ứng. Mỗi nhà cung ứng đều có một mã số phân biệt, tên công ty, địa chỉ, số phone, số fax và các mặt hàng mà nhà cung ứng đó cung cấp. Mỗi khách hàng khi mua hàng, quầy tính tiền sẽ in ra 1 hóa đơn gồm số hóa đơn, ngày lập hóa đơn, tên khách mua, địa chỉ, và danh sách các mặt hàng mua kèm theo đơn giá bán. Hướng dẫn: Xác định các thực thể: Khu vực, Loại hàng, Mặt hàng, Nhà cung ứng, Hóa đơn. Xác định các mối kết hợp giữa các thực thể trên. 14
- Xem thêm -

Tài liệu liên quan