Thiết kế cơ sở tài liệu là công việc vô cùng quan trọng đặc biệt trong những dự án, nếu kiến thiết đúng CSDL sẽ giúp đỡ việc thực thi dự án tiện lợi và huyết kiệm. Tuy nhiên, rất nhiều bạn khi mới vào nghề thường gặp gỡ khó khăn về vấn đề thi công cơ sở tài liệu như:

1. Làm cầm cố nào để kiến tạo được cửa hàng dữ liệu?2. Làm thế nào để biết đại lý dữ liệu xây đắp đúng?

Bài này họ sẽ bàn về những vấn đề đó.

Bạn đang xem: Thiết kế cơ sở dữ liệu

Thiết kế cấu tạo cơ sở dữ liệu

Thiết kế cấu tạo cơ sở dữ liệu là thừa trình quy mô hóa nhằm đổi khác các đối tượng người tiêu dùng từ quả đât thực (Real-world system) sang các bảng trong hệ thống cơ sở dữ liệu (Database system) đáp ứng nhu cầu các yêu thương cầu tàng trữ và khai thác dữ liệu.

*

Mô hình hóa việc thiết kế cấu trúc cơ sở dữ liệu

Trong đó,

People (con người): những người tham gia vào hệ thống, bạn cần thao tác làm việc với những người này để khẳng định các tài liệu cần lưu lại trữ, buộc phải khai thác.Documents (tài liệu): bạn phải khảo sát các tài liệu trong hệ thống để khẳng định dữ liệu.Facilities(cơ sở đồ dùng chất): bạn cần quan trung tâm những cửa hàng vật chất nào cần quản lý.Other systems(hệ thống khác, khối hệ thống tương tự): bạn cần tìm hiểu nghiên cứu vãn các khối hệ thống tương trường đoản cú để tích lũy thêm dữ liệu.

Để tiến hành việc xây đắp cơ sở dữ liệu họ cần thực hiện công việc sau đây:

1. Xác minh các thành phần dữ liệu2. Chia nhỏ các thành phần dữ liệu ra thành các phần nhỏ tuổi nhất mà khối hệ thống sử dụng3. Xác minh các bảng và những cột4. Xác minh khóa chính, khóa ngoại và mối quan tiền hệ5. Kiểm tra cấu tạo cơ sở dữ liệu có phong cách thiết kế với qui định chuẩn hóa

Thực hành xây cất Cơ sở dữ liệu

Để các bạn dễ hiểu quá trình xây đắp cơ sở dữ liệu, bọn họ sẽ thực hành thực tế thiết kế cấu trúc cơ sở dữ liệu cho hệ thống thống trị đơn hàng tất cả mẫu hóa đối kháng như sau:

*

Bước 1: xác minh các yếu tố dữ liệu

Để xác minh các nguyên tố dữ liệu chúng ta cần thực hiện các bước sau đây:

1. Phân tích hệ thống hiện tại2. Đánh giá, chu đáo các khối hệ thống tương tự3. Phỏng vấn người dùng4. Phân tích những tài liệu trong hệ thống hiện tại

Ở vấn đề trên, họ thu thập được dữ liệu quan trọng là mẫu hóa đơn của đơn vị chức năng đang áp dụng, chúng ta sẽ phân tích nó để định nghĩa các thành phần dữ liệu.

Khảo ngay cạnh hóa đơn trên chúng ta thu được những thành phần tài liệu sau đây:

InvoiceNo: Số hóa đơn

InvoiceDate: Ngày ghi hóa đơn

CustomerName: Tên khách hàng

CustomerCompany: Tên công ty khách hành

CustomerAddress: Địa chỉ khách hàng hàng

CustomerAccountNo: Số tài khoản của khách hàng

PaymentMethod: cách thức thanh toán

CustomerTaxNo: Mã số thuế của khách hàng hàng

SequenceNo: Số thiết bị tự download hành

ProductName: thương hiệu sản phẩm

Unit: Đơn vị tính của sản phẩm

Quantity: Số lượng

UnitPrice: Đơn giá

Amount: Thành tiền

TotalAmount: Tổng tiền

VAT: Thuế cực hiếm gia tăng

TotalPay: Tổng tiền cần trả

ByText: Ghi bằng chữ

Lưu ý: vày tiếng việt bao gồm dấu dễ gây nên lỗi khi code, nếu cần sử dụng không lốt thì rất dễ khiến nhầm lẫn phải tôi khuyên các bạn nên để tên những thành phần dữ liệu theo giờ đồng hồ Anh vừa né được những lỗi trên vừa giúp bạn dễ dàng tham gia các dự án quốc tế sau này.

Loại bỏ các dữ liệu trùng ở những dạng sau:

1. Nhì thành phần tài liệu nhưng trỏ cho một thành phần tài liệu thực tế2. Bỏ những thành phần giám sát được3. đông đảo trường không cần lưu trữ hoặc không tồn tại thực

Xem xét danh sách các thành phần sinh sống trên bọn họ loại những trường sau:

 Amount: nguyên tố này được xem từ 1-1 giá * số lượng

TotalAmount: nguyên tố này được xem bằng tổng những mục thành tiền.

TotalPay: yếu tắc này được tính bằng TotalAmount – VAT amount

ByText: Được phát âm từ tổng tiền đề nghị trả.

Các thành phần không nên như thông tin đơn vị bán, chữ ký tín đồ mua, chữ ký kế toán… có nhưng thực sự bạn không phải lưu cùng đơn hàng vào cơ sở dữ liệu.

Bước 2: Chia nhỏ dại các thành phần dữ liệu thành 1-1 vị nhỏ tuổi nhất hữu dụng

Để hiểu phần này chúng ta xem xét ví dụ như sau:

CustomerName có giá trị là Nguyễn Văn A, trường này có thể tách ra là Lastname (Nguyễn), Middlename (Văn) và Firstname (A). Mặc dù nhiên, có khối hệ thống thì giữ hết vào một trường là ‘Nguyễn Văn A’ như phục vụ chẳng hạn, có khối hệ thống chia ra là ‘Nguyễn Văn’, ‘A’ như hệ thống thống trị sinh viên, có hệ thống chia ra thành ‘Nguyễn’, ‘Văn’, ‘A’ như hệ thống thống trị bay… do vậy, bạn cần xem xét hệ thống bạn đang phát hành sẽ lưu như vậy nào.

Trong khối hệ thống này bởi vì hay sắp xếp theo tên quý khách hàng nên bọn chúng ta bóc nó ra thành 02 phần là CustomerLastName và CustomerFirstName.

Xem thêm: Top 8 Loại Sữa Tăng Chiều Cao Không Béo Có Thật Hay Không, Sữa Tăng Chiều Cao Không Béo Có Thật Hay Không

*

Tương từ bỏ trường CustomerAddress cung vậy, để làm chủ theo tỉnh/thành phố và quận/huyện chúng ta chia nó ra thành 03 trường như sau: CustomerAddress, CustomerDistrict cùng CustomerCity.

*

Bạn hãy xem xét những trường còn sót lại xem gồm phải bóc trường làm sao ra nữa hay không.

Sau khi bóc tách các trường cần thiết và thải trừ các trường không quan trọng ta có những thành phần dữ liệu như sau:

InvoiceNo: Số hóa đơn

InvoiceDate: Ngày ghi hóa đơn

CustomerFirstName: Tên khách hàng

CustomerLastName: Họ cùng tên lót của khách hàng

CustomerCompany: Tên công ty khách hành

CustomerAddress: Địa chỉ khách hàng

CustomerCity: Thành phố người tiêu dùng đang ở

CustomerDistrict: Quận quý khách đang ở

CustomerAccountNo: Số thông tin tài khoản của khách hàng

PaymentMethod: cách thức thanh toán

CustomerTaxNo: Mã số thuế của khách hàng hàng

SequenceNo: Số đồ vật tự sở hữu hành

ProductName: tên sản phẩm

Unit: Đơn vị tính của sản phẩm

Quantity: Số lượng

UnitPrice: Đơn giá

Amount: Thành tiền

VAT: Thuế giá trị gia tăng

Bước 3: khẳng định các bảng và các cột cho đại lý dữ liệu

Thực hiện theo công việc sau:

1. Nhóm các trường theo những thực thể (Entities)2. Soát sổ lại những trường thừa/thiếu.

Chúng ta bàn về thực thể, thực thể là người, là vật dụng tồn trên trong khối hệ thống đang coi xét. Đối với xây đắp Cơ sở dữ liệu họ chỉ cân nhắc các thực thể mang thông tin. Chú ý danh sách các thành phần dữ liệu từ bên trên xuống bạn có thể liệt kê ra những thực thể tìm ra như sau:

Invoice(Hóa đơn)Customer (Khách hàng)Product (Sản phẩm)

Có thể các bạn sẽ thấy nặng nề hiểu nơi này, các bạn cần để ý đến kỹ để hiểu tại sao vì sao chọn lựa được 03 thực thể trên.

1.Tiếp theo họ nhóm những thành phần dữ liệu khớp ứng vào các thực thể

*

 2. Kiểm tra những trường thừa/thiếu

Nếu tất cả trường quá ra, bạn phải xem xét nó có thực sự cần lưu trữ không? ví như cần tàng trữ thì các bạn cần bổ sung cập nhật thực thể chứa thuộc tính này. Còn nếu như không cần lưu trữ bạn cần thải trừ nó đi.Bạn bắt buộc kiểm tra từng thực thể xem có cần bổ sung thuộc tính bào không? Nếu nên thì các bạn thêm vào.

Bước 4: khẳng định khóa chính, khóa ngoại và mối quan hệ giữa những thực thể

1. Xác minh khóa chính cho các thực thể2. Khẳng định quan hệ giữa những thực thể3. Phân bóc tách để chuyển về mô hình nhị nguyên4. Bổ sung khóa ngoạia. Khẳng định khóa chính cho những thực thể

Khái niệm về khóa chính các bạn xem ở bài bác Cơ phiên bản về cửa hàng dữ liệu. Trong phần này chúng ta bàn về cách xác định khóa chính cho thực thể. Khóa bao gồm của thực thể rất có thể xác định như sau:

-> Chọn xuất phát điểm từ một trường tất cả sẵn đủ đk làm khóa bao gồm như InvoiceNo chẳng hạn.-> Nếu không có bạn có thể bổ sung một trường từ bỏ tăng để làm khóa chủ yếu như CustomerNo, ProductNo.

Lúc này bọn họ có các thực thể như sau:

*

b. Xác minh mối quan hệ giới tính giữa các bảng

Xem xét các thực thể chúng ta có để xác minh các định quan hệ của chúng, họ có các thực thể Customer, Product cùng Invoice thì mối quan hệ của bọn chúng chỉ rất có thể là Customer mua Product và có mặt Invoice để ghi nhận thông tin.

*

Mối tình dục trong trái đất thực của những thực thể. Chuyển sang quy mô thực thể nó được biểu diễn như sau:

*

Xác định một số loại quan hệ giữa những thực thể như sau:

1. Quan hệ giới tính giữa Customer và Invoice, chúng ta thấy mỗi khách hàng hàng có thể mua nhiều solo hàng, tuy nhiên mỗi đơn hàng chỉ bán cho 1 khách hàng. Thế nên quan hệ này là 1-n.2. Tương tự quan hệ giữa Invoice với Product, mỗi hóa đơn hoàn toàn có thể mua nhiều sản phẩm, mỗi sản phẩm có thể xuất bán cho nhiều hóa đối kháng nên quan hệ này là quan hệ n-n.

*

c. Phân tách bóc các quan liêu hệ để mang về mô hình nhị nguyên

Theo quy mô cơ sở tài liệu quan hệ nếu khách hàng để tồn tại quan hệ n-n nó sẽ gây ra dư thừa tài liệu (xem bài vụ việc dư thừa dữ liệu). Bởi vì vậy, chúng ta cần tách bóc quan hệ ra thành các quan hệ 1-n bằng phương pháp thêm vào bảng tài liệu mới. Trong ví dụ trên bọn họ thêm vào bảng InvoiceDetails để tách nó ra thành 02 quan hệ 1-n như sau:

*

d. Bổ sung khóa ngoại cho các mối quan tiền hệ

Khi sẽ xác định kết thúc các mọt quan hệ, bạn cần đặt những khóa nước ngoài vào những bảng mặt n trong dục tình 1-n nhằm tạo link giữa chúng. Lúc này chúng ta có kết cấu cơ sở tài liệu như sau:

*

Bước 5: chuẩn hóa cửa hàng dữ liệu

Bước này giúp bạn xem lại cơ sở dữ liệu vừa xây cất có thỏa mãn nhu cầu được hiệ tượng của cơ sở tài liệu quan hệ tuyệt không. Tuy nhiên, đó là một chủ thể dài đề nghị tôi sẽ tách ra thành một bài xích riêng, bạn tìm hiểu thêm ở bài Chuẩn hóa cơ sở dữ liệu nhé.

Làm cố kỉnh nào để biết được cơ sở dữ liệu được thiết kế theo phong cách đúng?

Bạn chỉ có thể kết luận cửa hàng dữ liệu được thiết kế theo phong cách đúng khi các tính năng của hệ thống setup thành công bên trên nó. Vị vậy, bạn có thể chạy test (dry run) các tính năng trên cấu tạo cơ sở dữ liệu để kiểm tra xây đắp của nó có tương xứng hay không.

Kết luận

Thiết kế đại lý dữ liệu là 1 chủ đề khó, liên quan đến nhiều chủ đề nên bạn phải đọc kỹ cùng đọc các bài liên quan của chuỗi nội dung bài viết này để nắm rõ hơn về nó. Ko kể ra, bạn cũng cần thực tập thi công nhiều đại lý dữ để có kinh nghiệm thiết kế giỏi hơn.

Bài tiếp: chuẩn chỉnh hóa cơ sở dữ liệu

Bài trước: Cơ sở tài liệu là gì? Cơ sở tài liệu quan hệ là gì?

Nếu các bạn có điều gì không rõ hoặc thắc mắc chúng ta cũng có thể để lại bình luận bên dưới tôi sẽ sẵn sàng chuẩn bị trao thay đổi với bạn.