Database Design

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Database Design as PDF for free.

More details

  • Words: 1,729
  • Pages: 32
Database Design

Nguyễn Việt Thành Bộ môn Hệ thống thông tin – Khoa Công nghệ thông tin Đại học Khoa học tự nhiên TpHCM 2/11/2004

Mục lục  Tổng quan  Conceptual Design  Logical Design  Physical Design  Một số ví dụ

Database Design

2

April 18, 2009

Tổng quan về Database Design Mini World

Requirements collection & analysis

Processing Requirements

Database requirements Conceptual design DBMS Independent

Transaction Design (Application Design) DBMS independent

Conceptual schema (in a high level data model)

(Logical)Data model design

DBMS specific

Conceptual schema (in the data model of a specific DBMS Transaction Implementation (Application Implementation)

Physical design Internal schema (for the same DBMS) Data Definition Language Statements

Database Design

3

April 18, 2009

Vai trò quan trọng của Database Design  Những đặc điểm của dữ liệu thu thập được trong quá mình mô hình hóa đóng vai trò quan trọng trong việc thiết kế dữ liệu, chương trình, và các thành phần của hệ thống.  Nhiều ý kiến cho rằng dữ liệu chứ không phải qui hình xử lý là vấn đề phức tạp nhất của một hệ thống thông tin hiện đại. Tại sao?  Dữ liệu có tính bền vững cao hơn nhiều các qui trình xử lý sử dụng các dữ liệu này. Tại sao?

Database Design

4

April 18, 2009

Mục tiêu của Conceptual Design  Hiểu rõ về cấu trúc CSDL, ngữ nghĩa, các ràng buộc, các mối quan hệ giữa các thực thể …  Đưa ra mô hình dữ liệu không phụ thuộc vào một HQT CSDL cụ thể nào.  Có những mô tả mang tính bền vững về các đối tượng dữ liệu (thực thể, mối quan hệ, ràng buộc)  Đưa ra mô hình dữ liệu dựa trên góc nhìn của người dùng ứng dụng và người sử dụng CSDL, giúp họ hiểu thêm về ứng dụng.  Là một phương tiện hỗ trợ sự trao đổi với người dùng

Database Design

5

April 18, 2009

Cách tiếp cận ở Conceptual Design TOP-DOWN

Identify Entities

Identify Relationships

Identify Attributes

BOTTOM-UP

Identify Relationships

Identify Dependencies

DATA Collect Data

Database Design

6

April 18, 2009

Mô hình biểu diễn Conceptual Design

Relational

Object-Oriented          

UML Class Diagram Class Object Attribute Domain Structured Domain Operation Association Link Multiplicities

Database Design

7

         

EER Diagram Entity Type Entity Attribute Domain Composite Attribute ~ [Derived Attribute] Relationship Type Relationship Instance Cardinality & Participation

April 18, 2009

Thực thể trong EER Diagram Entity Thực thể là người, nơi chốn, đối tượng, sự kiện, hay một khái niệm trong môi trường của hệ thống thông tin được triển khai. Nhận xét từ loại của thực thể ! Entity Type Thực thể mạnh: tồn tại độc lập với các thực thể khác Thực thể yếu: tồn tại phụ thuộc vào một hay nhiều thực thể khác.

Database Design

8

April 18, 2009

Thuộc tính trong EER Diagram  Attribute  Thuộc tính là đặc điểm hay tính chất của một thực thể  Composite Attribute: thuộc tính có thể tách ra gồm nhiều phần nhỏ. Ví dụ ?  Simple (Atomic) Attribute: thuộc tính có thể tách ra gồm nhiều phần nhỏ.  Single-valued Attribute: Thuộc tính có duy nhất một giá trị ứng với một thực thể.  Multivalued Attribute: Thuộc tính có nhiều hơn một giá trị ứng với một thực thể. Ví dụ ?  Derive Attribute: thuộc tính có thể tính toán từ những thuộc tính khác. Ví dụ ?

Database Design

9

April 18, 2009

Các mối quan hệ cơ bản trong EER Diagram

•One-to-One •One-to-many •Many to many

Database Design

10

is married to HUSBAND

WIFE is married to

has TRACK

Trainer

April 18, 2009

belongs to

PARTICIPANTS

holds is helds in

Track

Đối tượng trong UML Class Diagram Object Đối tượng: là một thực thể có một vai trò xác định trong ứng dụng cũng như là tình trạng, phương thức và định danh. State Tình trạng: Loại và giá trị của thuộc tính. Behaviour Phương thức: Các hành động đối tượng có thể thực hiện Identity Định danh: Phân biệt giữa các đối tượng.

Database Design

11

April 18, 2009

Các mối kết hợp của UML Class Diagram Association Mối kết hợp: quan hệ giữa các lớp đối tượng Multiplicity: số lượng tối đa và tối thiểu các lớp đối tượng tham gia vào mối kết hợp. Liên tưởng đến ER.

Database Design

12

April 18, 2009

Các mối kết hợp của UML Class Diagram (cont)  Aggregation  Mối kết hợp bộ phận  Composition  Mối kết hợp thành phần (cấu tạo)  Phân biệt Aggregation và Composition

Database Design

13

April 18, 2009

EER Diagram

Database Design

14

April 18, 2009

EER Diagram to UML Class Diagram

Database Design

15

April 18, 2009

EER Diagram to UML Class Diagram (cont)

Database Design

16

April 18, 2009

Bài tập Conceptual Design Tạo một mô hình quan niệm ERR dựa trên các báo biểu sau. (Liệt kê DATA ITEMS, xác định ENTITIES và ATTRIBUTES, và mối quan hệ giữa các thực thể (entities ) List 1 Track No: 1 Participant code

Track name: Managing information using Database Participant name

Age

Position

Country

Address

List 1 is the list of participants’ information by track List 2 Country code

Country name

Participant code

Participant name

List 2 is the list of participants’ information by countries Database Design

17

April 18, 2009

Track name

Giải đáp Conceptual Design

Entity

Attribute

Participant Participant name One Participant code or many Age Address Position

Just one

Track Track number Track name

Zero one or many Just one

Relationship

Country Country code Country name

Database Design

18

April 18, 2009

Mục tiêu của Logical Design  Quan tâm đến việc xây dựng một cấu trúc logic cho CSDL  Độc lập với những cái mà người dùng ứng dụng sẽ thấy.  Độc lập với cấu trúc vật lý cũng như cách lưu trữ của HQT CSDL sẽ chọn.

Database Design

19

April 18, 2009

Cách tiếp cận ở Logical Design

Conceptual E.A.R Model

1. REFINE THE CONCEPTUAL MODEL

Refined Conceptual Model

2.APPLY THE RULES OF NORMALIZATION Logical Data Model

Database Design

20

April 18, 2009

Mô hình cho Logical Design  Relational Data Model  Mô hình dữ liệu quan hệ: bao gồm Data Structure, Data Manipulation và Data Integrity  Data Structure:  Relation: Quan hệ là một bảng 2 chiều bao gồm các dòng (row) x cột (column) dữ liệu  Attribute: cột dữ liệu  Key: - Primary key: Khóa chính - Foreign key: Khóa ngoại

 Data Manipulation: các thao tác trên dữ liệu (dựa trên chuẩn SQL)  Data Integrity: các phương tiện để đặc tả các ràng buộc về nghiệp vụ.

Database Design

21

April 18, 2009

Chuyển đổi từ ER Conceptual Design  Thực thể mạnh: thành một quan hệ  Thuộc tính (của thực thể)  Đơn trị: thành một thuộc tính của quan hệ  Tập hợp: tách thành thuộc tính con đơn giản  Đa trị: tách thành một quan hệ mới có khóa ngoại đến quan hệ biểu diễn thực thể. CUSTOMER(Customer_ID,Customer_Name, Street, City, State, Zip)

EMPLOYEE(Employee_ID, Employee_Name, Employee_Address) EMPLOYEE_SKILL(Employee_ID, Skill) Database Design

22

April 18, 2009

Chuyển đổi từ ER Conceptual Design (cont)  Thực thể yếu: thành một quan hệ có khóa ngoại đến quan hệ biểu diễn thực thể mạnh nó phụ thuộc

EMPLOYEE(Employee_ID, Employee_Name) DEPENDENT(First_Name, Middle_Initial, Last_Name, Employee_ID, Date_of_Birth, Gender) Database Design

23

April 18, 2009

Chuyển đổi từ ER Conceptual Design (cont)  Quan hệ One – Many:

CUSTOMER(Customer_ID, Customer_Name, Customer_Address) ORDER(Order_ID, Order_Date, Customer_ID)

Database Design

24

April 18, 2009

Chuyển đổi từ ER Conceptual Design (cont)  Quan hệ Many – Many:

RAW_MATERIAL(Material_ID, Standard_Cost, Unit_of_Measure) SUPPLIES(Material_ID, Vendor_ID, Unit_Price) VENDOR(Vendor_ID, Vendor_Name, Vendor_Address)

Database Design

25

April 18, 2009

Chuyển đổi từ ER Conceptual Design (cont)  Quan hệ One – One

NURSE(Nurse_ID, Name, Date-of-birth) CARE-CENTER(Center_Name, Location, Nurse_ID) Database Design

26

April 18, 2009

Chuyển đổi từ UML Conceptual Design Tương tự như ER Conceptual Design với một số vấn đề cần lưu ý:  Một lớp chuyển thành một quan hệ  Thuộc tính của lớp chuyển thành thuộc tính (cột) của quan hệ  Biểu diễn các phương thức thành các thủ tục và hàm CSDL

Database Design

27

April 18, 2009

Chuẩn hóa CSDL ở Logical Design  Tăng tính toàn vẹn của dữ liệu bằng cách loại trừ các dữ liệu trùng lắp  Giải quyết các hiện tượng “nhập nhằng” nghĩa của thuộc tính  Synonym: Hai thuộc tính có tên khác nhau nhưng vùng ý nghĩa. Ví dụ?  Hynonym: Hai thuộc tính có tên giống nhau nhưng khác ý nghĩa. Ví dụ?  Tại sao có hiện tượng này?  Đưa về những dạng chuẩn đã được công nhận rộng rãi như 3NF, 4-NF, BCK-NF.  Có nhất thiết luôn đưa về dạng chuẩn cao nhất không? Lưu ý vấn đề mâu thuẫn giữa kích thước lưu trữ và tốc độ truy xuất trong một số trường hợp.

Database Design

28

April 18, 2009

Mục tiêu của Physical Design  Chọn lựa HQT CSDL sẽ cài đặt. Theo những yếu tố nào? Giá thành, Tính năng và công cụ, Mô hình cơ sở. Tính dễ chuyển đổi, Phần cứng yêu cầu.  Biến đổi các quan hệ (của mô hình Logical Design) thành các bảng với các trường dữ liệu có kiểu và kích thước xác định  Cài đặt các ràng buộc toàn vẹn thành dựa trên tính năng và các công cụ của HQT CSDL đã chọn

Database Design

29

April 18, 2009

Cách tiếp cận ở Physical Design

Logical Data Model

Logical Process Model Track

01

TR

Physical Implementation Process

Database Design

30

Database creation CREATE DATABASE CREATE TABLE LOAD

April 18, 2009

Country

Tham khảo  Book, “Modern Database Management”, 5th Edition, McFadden, F.R., Hoffer, J.A., Prescott, 1999  Course Slides, “Database Architecture Models and Design”, Prof Ian HORROCKS, The University of Manchester  Track 3: “Managing Information Using Databases”, WENT2001 Asian Women's Electronic Network Training Workshop  Article “Database Modelling in UML”, Geoffrey Sparks, 2001

Database Design

31

April 18, 2009

Thảo luận

Q&A Database Design

32

April 18, 2009

Related Documents

Database Design
April 2020 14
Database Design
November 2019 20
Database Design
November 2019 31
Database Design
May 2020 15