Khoa học dữ liệu trong kinh tế và kinh doanh Cơ sở dữ liệu SQL dành cho Data Analytics Bài 2: Giới thiệu về mô hình dữ liệu (Data Modeling) Thiết kế cơ sở dữ liệu Phần 1: Mô hình dữ liệu (Data Modeling) Mô hình dữ liệu (Data Modeling) Mô hình dữ liệu (Data Modeling) là xây dựng mô hình dữ liệu cho dữ liệu lưu trữ trong CSDL - Đặt trọng tâm vào các dữ liệu cần thiết và cách thức cần được lưu trữ - Trực quan hóa việc trình bày dữ liệu và thực thi các quy tắc kinh doanh, tuân thủ và chính sách trên dữ liệu. - Đảm bảo tính nhất quán trong quy ước đặt tên, giá trị mặc định, ngữ nghĩa, bảo mật mà vẫn đảm bảo chất lượng dữ liệu. 4 Mô hình dữ liệu (Data Modeling) Tại sao nên sử dụng Mô hình dữ liệu (Data Modeling)? • Đảm bảo rằng tất cả các đối tượng dữ liệu theo yêu cầu của cơ sở dữ liệu được thể hiện chính xác • Giúp thiết kế cơ sở dữ liệu ở cấp độ khái niệm, logic và vật lý • Giúp trình bày mối quan hệ giữa các bảng • Cung cấp bức tranh rõ ràng về DB giúp Developer tạo DB vật lý • Giúp xác định dữ liệu bị thiếu và dư thừa • Giúp IT nâng cấp và duy trì DB nhanh hơn và rẻ hơn 5 Quy trình thiết kế cơ sở dữ liệu Khảo sát nhu cầu và các nguyên tắc trong kinh doanh Mô hình khái niệm Mô hình logic Mô hình vật lý Mô hình dữ liệu Tài liệu tham khảo: "Fundamentals of Database Systems" by Ramez Elmasri, Shamkant B. Navathe - Part 2-Chaper 3,4 6 Quy trình thiết kế cơ sở dữ liệu Mô hình khái niệm (Conceptual Model Design) Mô hình logic (Logical Model Design) Mô hình vật lý (Physical Model Design) 7 Thiết kế cơ sở dữ liệu Phần 2: Hiểu nhu cầu của người dùng & Trích xuất các quy tắc kinh doanh Quy trình thiết kế cơ sở dữ liệu Khảo sát nhu cầu và các nguyên tắc trong kinh doanh Mô hình khái niệm Mô hình logic Mô hình vật lý Mô hình dữ liệu 9 Quy tắc kinh doanh là gì? Quy tắc kinh doanh mô tả các đối tượng, mối quan hệ và hành động mà một doanh nghiệp thấy quan trọng. Ví dụ: ▪ Nếu học sinh không đăng ký ít nhất một lớp học, trường Trạng thái được thay đổi thành thành Không hoạt động. ▪ Nếu tổng giá trị đơn hàng lớn hơn $50 trước thuế và phí vận chuyển, đơn hàng sẽ được vận chuyển miễn phí. ▪ Hồ sơ của khách hàng chỉ được tạo ra khi khách hàng thực hiện mua hàng có bao gồm đơn đặt hàng. Trên quan điểm cơ sở dữ liệu, quy tắc kinh doanh là những ràng buộc. 10 Xác định các quy tắc kinh doanh chính Quy tắc kinh doanh không chỉ khó để xây dựng mà nguyên tắc kinh doanh còn có thể thay đổi theo thời gian. Ví dụ: Đơn hàng chỉ được vận chuyển đến các tiểu bang có kho hàng bao gồm Colorado, Kansas & Nebraska. → Quy tắc kinh doanh yêu cầu địa chỉ giao hàng của đơn hàng phải là CO, KS hoặc NE. Xác định các quy tắc kinh doanh chính và trích xuất chúng. 11 Xác định các quy tắc kinh doanh chính Hãy tự hỏi mình hai câu hỏi: - Thay đổi quy tắc có dễ dàng không? - Quy tắc có khả năng thay đổi như thế nào? Nếu một quy tắc có khả năng thay đổi thường xuyên, bạn cần tính toán các phương án để thay đổi một cách dễ dàng. 12 Các loại quy tắc Một số loại quy tắc cần được chú ý ▪ Danh sách giá trị Ví dụ: các tiểu bang trong danh sách được phép vận chuyển. ▪ Thông số tính toán Ví dụ: thời điểm hiện tại, những đơn hàng có giá trị trên $50 đô la sẽ được miễn phí vận chuyển. Trong tương lại, liệu giá trị này có được tăng lên là $70, $100 đô la hay không. ▪ Thông số hợp lệ Ví dụ: sinh viên phải học từ 8 đến 16 tín chỉ. Liệu tương lai, số tín chỉ có nâng lên 12 đến 16 tín chỉ hay không? 13 Bài tập Hãy xem xét danh sách các quy tắc kinh doanh này: ▪ ▪ ▪ ▪ Tạo hồ sơ khách hàng khi khách hàng đặt đơn hàng đầu tiên. Giảm giá 20% nếu khách hàng nữ đặt hàng trong ngày quốc tế phụ nữ. Hồ sơ khách hàng phải bao gồm số điện thoại. Giảm giá 10% nếu khách hàng thanh toán trước toàn bộ giá trị đơn hàng. 1. Xác định các quy tắc đơn giản hoặc dường như không thể thay đổi để chúng có thể được tích hợp vào cơ sở dữ liệu. 2. Xác định các quy tắc có thể thay đổi hoặc phức tạp cần lưu ý. 14 Thiết kế cơ sở dữ liệu – Mô hình hóa dữ liệu Phần 3: Mô hình khái niệm (Conceptual Data Model) Quy trình thiết kế cơ sở dữ liệu Khảo sát nhu cầu và các nguyên tắc trong kinh doanh Mô hình khái niệm Mô hình logic Mô hình vật lý Mô hình dữ liệu 16 Tại sao cần mô hình khái niệm? ▪ ▪ Mô hình khái niệm tập trung vào nghiệp vụ kinh doanh, là phương thức giao tiếp giữa đội ngũ IT và đội ngũ kinh doanh Thông qua quy tắc kinh doanh và định nghĩa của các thực thể được trình bày trong Bảng thuật ngữ dữ liệu (Data Glossary), mô hình khái niệm đảm bảo các bên hiểu cùng một khái niệm, tránh hiểu sai báo cáo 17 Tại sao cần mô hình khái niệm? Ví dụ cho các định nghĩa, khái niệm trong kinh doanh o Khách hàng là một cá nhân hoặc tổ chức đã mua ít nhất một trong các sản phẩm. o Khách hàng tiềm năng là một cá nhân hoặc một tổ chức chưa sở hữu bất kỳ sản phẩm nào. Nhưng họ có khả năng quan tâm đến việc mua một hoặc nhiều sản phẩm. Khách hàng tiềm năng Mua hàng Khách hàng 18 Mô hình thực thể quan hệ ▪ Mô hình thực thể quan hệ (E-R model): thể hiện một cách logic về dữ liệu cho tổ chức hoặc một lĩnh vực kinh doanh. ▪ Sơ đồ thực thể quan hệ (E-R diagram): sơ đồ thể hiện mô hình thực thể quan hệ 19 Ví dụ của sơ đồ thực thể quan hệ 20 Ký hiệu E-R Ký hiệu thực thể Ký hiệu thuộc tính Ký hiệu mối quan hệ 21 Thực thể là gì? Thực thể (Entity): một người, địa điểm, đối tượng, sự kiện hoặc khái niệm trong môi trường người dùng mà tổ chức muốn duy trì dữ liệu. Ví dụ: ▪ Người: nhân viên, sinh viên, bệnh nhân,... ▪ Địa điểm: cửa hàng, kho bãi,... ▪ Đối tượng: máy móc, ô tô,... Kiểu thực thể: 3 loại mạnh, yếu, quan hệ Ký hiệu: Hình chữ nhật 22 Thực thể là gì? Kiểu thực thể Ví dụ 23 Một thực thể nên là? NÊN LÀ: ▪ Đối tượng sẽ có nhiều bản ghi (instance) trong cơ sở dữ liệu ▪ Đối tượng sẽ bao gồm nhiều thuộc tính (attribute) ▪ Đối tượng mà cần được mô hình hóa KHÔNG NÊN: ▪ Là kết quả của hệ thống cơ sở dữ liệu (ví dụ: báo cáo) ▪ Là người dùng hệ thống cơ sở dữ liệu 24 Bài tập Xác định một loại thực thể dạng STUDENT và liệt kê 2 bản ghi (instance) của nó. Gợi ý: Bạn có thể liệt kê những thuộc tính (attribute) mà một loại thực thể dưới dạng STUDENT phải có. 25 Thuộc tính (Attribute) Thuộc tính (Attributes) – là tính chất hoặc đặc điểm của một thực thể. Phân loại thuộc tính ▪ Thuộc tính đơn (Simple attribute) hoặc thuộc tính phức hợp (Composite attribute) ▪ Thuộc tính đơn trị (Single-valued) hoặc thuộc tính đa trị (Multi-valued Attribute) ▪ Thuộc tính được lưu trữ (Stored attribute) vs thuộc tính dẫn xuất (Derived attribute) ▪ Thuộc tính định danh (Identifier attribute) Ký hiệu: Tên thuộc tính bên trong thực thể (hình chữ nhật) 26 Thuộc tính (Attribute) Thuộc tính đơn và thuộc tính phức hợp Thuộc tính phức hợp (Composite Attribute) Thuộc tính đơn (Simple Attributes) 27 Thuộc tính (Attribute) Thuộc tính đa trị Employee_Name Employee_ID Payroll_ Address Date_ Employed Skill Years_ employed First Last Street Zip 001 Jacky TAN Hill Street 100 164607 May 01, 1999 C/C++/Java 19 002 Susan LIM Stamford 178902 Road 80 Oct 14, 2000 Java/.Net 18 Thuộc tính đa trị (Multi-valued attributes) 28 Thuộc tính (Attribute) Thuộc tính định danh/khóa (Identifier): Một thuộc tính (hoặc kết hợp các thuộc tính) xác định duy nhất các trường hợp riêng lẻ của một loại thực thể. Ký hiệu: gạch chân Đặc điểm: ▪ Giá trị không thay đổi ▪ Giá trị không NULL ▪ Là giá trị đơn Thuộc tính dự tuyển/không khóa (Candidate Identifier): thuộc tính có thể sử dụng để định danh, miễn nó thỏa mãn các đặc điểm kể trên. o Một thực thể có thể có nhiều thuộc tính dự tuyển (candidate identifier) nhưng chỉ có thuộc tính định danh (identifier). 29 Bài tập Loại thực thể (entity) STUDENT có các thuộc tính (attribute) sau: Id (duy nhất), Name, Phone, Age, Activity, và No_of_Year ▪ Activity: đại diện cho một số hoạt động của sinh viên trong trường ▪ No_of_Year: số năm sinh viên đã tham gia vào hoạt động này Giả định: Một học sinh nhất định có thể tham gia vào nhiều hơn một hoạt động. Tạo một mô hình thực thể (E-R Model) cho ngữ cảnh trên. 30 Mối quan hệ ▪ Kiểu quan hệ (Relationship type) với Bản ghi quan hệ (Instance relationship) o Kiểu quan hệ là sự liên kết có ý nghĩa giữa các loại thực thể với nhau. o Kiểu quan hệ được mô hình hóa dưới dạng đường giữa các loại thực thể. o Bản ghi quan hệ (Instance relationship) là tập hợp các bản ghi đơn lẻ nằm trong cơ sở dữ liệu. Thuộc tính của quan hệ: Mô tả các tính năng liên quan đến sự quan hệ giữa các thực thể trong mối quan hệ. Giữa hai thực thể (Entity) có thể có nhiều hơn một mối quan hệ Ký hiệu: đường 31 Mối quan hệ với các thuộc tính Khi thuộc tính thuộc một thực thể, mà thực thể đã xác định một quan hệ. Thuộc tính sẽ phụ thuộc quan hệ đó. 32 Mối quan hệ với thuộc tính Mỗi nhân viên cùng chung Complete_Date và cùng chung Grade cho tất cả các khóa học mà họ hoàn thành Tất cả nhân viên hoàn thành một khoá học có cùng Grade và Complete_Date Mỗi nhân viên có thể hoàn thành các khoá học ở các Complete_Date khác nhau Mỗi khóa học có thể được học bởi những nhân viên khác nhau ở các lớp và Complete_Date khác nhau 33 Hai khái niệm quan trọng trong mối quan hệ Thứ bậc quan hệ (Degree of relationship) ▪ Số lượng thực thể tham gia vào mối quan hệ Thuộc tính của quan hệ (Cardinality of relationship) ▪ Mối quan hệ của các thực thể với nhau 34 Bậc của quan hệ (Degree of Relationships) Bậc của quan hệ (Degree of Relationships) là số lượng thực thể tham gia vào mối quan hệ: ▪ Mối quan hệ đơn nhất (Unary relationship) ▪ Mối quan hệ nhị phân (Binary Relationship) ▪ Mối quan hệ bậc ba (Ternary Relationship) ▪ Có thể có các mối quan hệ nhiều ngôi hơn (Trường hợp hiếm gặp) 35 Bậc của quan hệ (Kí hiệu) Đơn nhất (Unary) Một thực thể liên quan đến một thực thể khác cùng loại Nhị phân (Binary) Các thực thể thuộc hai loại khác nhau có liên quan với nhau Bậc ba (Ternary) Các thực thể thuộc ba loại khác nhau có liên quan với nhau 36 Ví dụ Mối quan hệ nhị phân giữa loại thực thể STUDENT và loại thực thể COURSE STUDENT StudentID Name Major Campus_Address COURSE Đăng kí CourseID Title 37 Thuộc tính của quan hệ (Cardinality of Relationships) Thuộc tính của quan hệ (Cardinality of Relationships) là số bản ghi của một thực thể có thể hoặc phải được liên kết với từng bản ghi của một thực thể khác. Bao gồm: Một – Một (1 – 1): mỗi thực thể trong mối quan hệ sẽ có chính xác một thực thể liên quan. Một – nhiều(1 – N): một thực thể ở một bên của mối quan hệ có thể có nhiều thực thể liên quan, nhưng một thực thể ở phía bên kia sẽ có tối đa một thực thể liên quan. Nhiều - nhiều (N - N): các thực thể ở cả hai phía của mối quan hệ có thể có nhiều thực thể liên quan ở phía bên kia. 38 Thuộc tính của quan hệ (Cardinality of Relationships) Mối quan hệ một – một (1 - 1) Kết hôn 39 Thuộc tính của quan hệ (Cardinality of Relationships) Mối quan hệ một – nhiều (1 – N) Quản lý 40 Thuộc tính của quan hệ (Cardinality of Relationships) Mối quan hệ nhiều – nhiều (N - N) Tham gia 41 Thuộc tính của quan hệ (Ký hiệu) Kết hợp giữa thuộc tính và thứ bậc của quan hệ: quan hệ nhị phân Phụ trách Bao gồm Một – một Một – nhiều Đăng ký Nhiều – nhiều 42 Thuộc tính của quan hệ (Ký hiệu) Kết hợp giữa thuộc tính và thứ bậc của quan hệ: quan hệ đơn nhất Kết hôn Một – một Đứng sau Quản lý Một – nhiều Một – một 43 Bài tập Xác định mối quan hệ giữa thực thể SINH VIÊN và thực thể KHÓA HỌC: ▪ Mỗi sinh viên có thể đăng ký nhiều khóa học ▪ Một khóa học có thể có nhiều sinh viên STUDENT StudentID Name Major Campus_Address COURSE Registed_for CourseID Title 44 Thuộc tính ràng buộc (Cardinality Constraints) Thuộc tính ràng buộc - số phiên bản của một thực thể có thể hoặc phải được quan hệ với từng phiên bản của một thực thể khác. Tối thiểu: một Tối đa: một Tối thiểu: không Tối đa: một Tối thiểu: một Tối đa: nhiều Tối thiểu: không Tối đa: nhiều Thuộc tính tối đa Thuộc tính tối thiểu 45 Ví dụ STUDENT StudentID Name Major Campus_Address COURSE Registed_for CourseID Title Một sinh viên có thể đăng ký không hoặc nhiều khóa học STUDENT StudentID Name Major Campus_Address COURSE Registed_for CourseID Title Một khóa học phải được đăng ký bởi ít nhất một (hoặc nhiều) sinh viên 46 Bài tập Thêm ký hiệu thuộc tính tối đa và tối thiểu cho hình dưới đây dựa trên các ràng buộc đã được học. 1. Một nhân viên được quản lý bởi không/một quản lý. 2. Một nhân viên quản lý không/một/nhiều nhân viên khác 1. Một sản phẩm thuộc một dây chuyền sản xuất 2. Một dây chuyền sản xuất chứa ít nhất một sản phẩm 47 Thiết kế cơ sở dữ liệu Phần 4: Ánh xạ thực thể quan hệ (ER) (1) Quy trình thiết kế cơ sở dữ liệu Khảo sát nhu cầu và các nguyên tắc trong kinh doanh Mô hình khái niệm Mô hình logic Mô hình vật lý Mô hình dữ liệu 49 Thiết kế mô hình logic Thiết kế mô hình khái niệm ▪ Hiểu yêu cầu lưu trữ và truy cập dữ liệu. ▪ Không có mối quan hệ trực tiếp với các cơ sở dữ liệu. Thiết kế mô hình logic ▪ Ánh xạ mô hình khái niệm được yêu cầu vào mô hình dữ liệu (Data Modeling) quan hệ với hệ thống quản lý cơ sở dữ liệu. ▪ Tập trung vào mô hình hóa dữ liệu quan hệ. 50 Mô hình thực thể quan hệ (ER Model) ▪ ▪ ▪ ▪ Quan hệ (bảng) tương ứng với các loại thực thể. Các hàng tương ứng với các trường thực thể. Các cột tương ứng với các thuộc tính. GHI CHÚ: Relation – mối quan hệ (trong cơ sở dữ liệu quan hệ) KHÔNG giống với Relation – quan hệ (trong mô hình ER) 51 Nhắc lại: Cơ sở dữ liệu quan hệ Khóa chính (Primary Key): một thuộc tính (hoặc kết hợp các thuộc tính) chỉ có duy nhất mỗi hàng trong một mối quan hệ. • Khóa chính đơn (trường đơn) • Khóa chính phức hợp (nhiều trường) Khóa ngoại (Foreign Key): một thuộc tính (hoặc kết hợp các thuộc tính) trong một mối quan hệ là khóa chính cho một mối quan hệ khác. 52 Ánh xạ sơ đồ ER vào các mối quan hệ Ánh xạ ER tới các đối tượng cơ sở dữ liệu: 1. Ánh xạ thực thể quan hệ thông thường (Regular entities) 2. Ánh xạ thực thể quan hệ nhị phân (Binary relationships) 3. Ánh xạ thực thể kết hợp (Associative entities) 4. Ánh xạ thực thể quan hệ đơn nhất (Unary relationships) 5. Ánh xạ thực thể quan hệ bậc ba (Ternary relationships) 53 Ánh xạ các thực thể thông thường vào các mối quan hệ (Mapping regular entities to relations) Ánh xạ thực thể quan hệ thông thường ▪ Các thuộc tính đơn giản: Thuộc tính ER ánh xạ trực tiếp lên mối quan hệ ▪ Thuộc tính phức hợp: Chỉ sử dụng các thuộc tính thành phần đơn giản của chúng ▪ Thuộc tính đa giá trị: mỗi thuộc tính trở thành một mối quan hệ riêng biệt với khóa ngoại được lấy từ thực thể cấp trên 54 Ánh xạ các thực thể thông thường vào các mối quan hệ (Mapping regular entities to relations) Thực thể CUSTOMER với các thuộc tính đơn giản → quan hệ CUSTOMER Thực thể CUSTOMER có thuộc tính phức hợp Thuộc tính phức hợp 55 Ánh xạ các thực thể thông thường vào các mối quan hệ (Mapping regular entities to relations) Thực thể CUSTOMER với các thuộc tính đa giá trị Thuộc tính đa giá trị ▪ Thuộc tính đa giá trị trở thành một mối quan hệ riêng biệt với khóa ngoại ▪ quan hệ một - nhiều giữa EMPLOYEE và EMPLOYEE_SKILL 56 Ánh xạ thực thể quan hệ nhị phân (Mapping binary relationships) ▪ Một – Nhiều: khóa chính ở một bên trở thành khóa ngoại ở nhiều bên ▪ Nhiều – Nhiều: tạo mối quan hệ mới với các khóa chính của hai thực thể làm khóa chính của nó. ▪ Một – Một: khóa chính ở phía bắt buộc trở thành khóa ngoại ở phía tùy chọn 57 Ánh xạ thực thể quan hệ nhị phân (Mapping binary relationships) Một – Nhiều Khóa ngoại 58 Ánh xạ thực thể quan hệ nhị phân (Mapping binary relationships) Một – Một Khóa ngoại khóa ngoại là cơ sở thứ 2 để xdd vị trí của 1 giá trị 59 Ánh xạ thực thể quan hệ nhị phân (Mapping binary relationships) Nhiều - Nhiều tạo thêm 1 bảng phụ nữa vs 2 khóa chính của 2 bảng trước và mqh giữa 2 bảng Composite primary key Foreign key Foreign key 60 Bài tập Ánh xạ thực thể quan hệ nhị phân 61 Tóm tắt lại kiến thức buổi học Các khái niệm chính • • • • • Quy tắc kinh doanh Thực thể Loại thực thể/Phiên bản thực thể Thuộc tính Giá trị nhận dạng (thuộc tính chính) • Mối quan hệ • Loại quan hệ • Thuộc tính của quan hệ Mô hình thực thể quan hệ • Sử dụng mô hình thực thể quan hệ để để đại diện cho dữ liệu • Các thực thể trong môi trường kinh doanh • Mối quan hệ giữa các thực thể • Thuộc tính của thực thể và mối quan hệ 62 Tài liệu tham khảo • Chapter 4,5,6 – "Beginning Database Design solutions" by Wrox Programmer • Part 2 - Conceptual Data Modeling and Database Design - "Fundamentals of Database Systems" by Ramez Elmasri, Shamkant B. Navathe • Chapter 7 - Part 2 - Database Design and the E-R Model - "Database System Concepts" by Abraham Silberschatz, Henry F. Korth, and S. Sudarshan 63 Thiết kế cơ sở dữ liệu Giải đáp thắc mắc XIN CẢM ƠN !
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )