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

1. Làm thế nào để thi công được các đại lý dữ liệu?2. Làm cụ nào nhằm biết các đại lý dữ liệu xây cất đúng?

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

Bạn đang xem: Các bước thiết kế cơ sở dữ liệu

Thiết kế cấu trúc cơ sở dữ liệu

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

*

Mô hình hóa bài toán 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, các bạn cần thao tác làm việc với những người dân này để xác minh các tài liệu cần giữ trữ, bắt buộc khai thác.Documents (tài liệu): bạn cần khảo sát những tài liệu trong khối hệ thống để xác minh dữ liệu.Facilities(cơ sở đồ vật chất): bạn cần quan vai trung phong những cơ sở vật chất nào cần quản lý.Other systems(hệ thống khác, hệ thống tương tự): chúng ta cần tìm hiểu nghiên cứu vãn các hệ thống tương từ bỏ để thu thập thêm dữ liệu.

Để thực hiện việc kiến tạo cơ sở dữ liệu bọn họ cần thực hiện công việc sau đây:

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

Thực hành kiến tạo Cơ sở dữ liệu

Để các bạn dễ hiểu quá trình kiến thiết cơ sở dữ liệu, chúng ta sẽ thực hành thực tế thiết kế cấu tạo cơ sở dữ liệu cho hệ thống thống trị đơn hàng có mẫu hóa solo như sau:

*

Bước 1: xác định các nguyên tố dữ liệu

Để khẳng định các nguyên tố dữ liệu chúng ta cần thực hiện công việc sau đây:

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

Ở việc trên, họ thu thập được dữ liệu đặc biệt quan trọng là chủng loại hóa solo của đơn vị chức năng đang áp dụng, họ sẽ so sánh nó để định nghĩa những thành phần dữ liệu.

Khảo cạnh bên hóa 1-1 trên bọn họ thu được những thành phần dữ 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 doanh nghiệp 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 hàng

PaymentMethod: cách làm thanh toán

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

SequenceNo: Số lắp thêm tự cài 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ế quý hiếm gia tăng

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

ByText: Ghi bằng chữ

Lưu ý: do tiếng việt bao gồm dấu rất dễ khiến cho lỗi khi code, nếu cần sử dụng không dấu thì rất dễ khiến nhầm lẫn đề nghị tôi khuyên các bạn nên đặt tên những thành phần tài liệu theo giờ đồng hồ Anh vừa né được các 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ỏ những dữ liệu trùng ở các dạng sau:

1. Nhì thành phần dữ liệu nhưng trỏ mang lại một thành phần tài liệu thực tế2. Vứt những thành phần tính toán được3. Những trường ko cần tàng trữ hoặc không tồn tại thực

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

 Amount: thành phần này được xem từ đối chọi giá * số lượng

TotalAmount: yếu tắc này được tính bằng tổng các mục thành tiền.

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

ByText: Được phát âm từ tổng tiền yêu cầu trả.

Các yếu tắc không phải như thông tin đơn vị chức năng bán, chữ ký fan mua, chữ cam kết kế toán… có nhưng thực sự các bạn không nên lưu cùng deals vào đại lý dữ liệu.

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

Để hiểu phần này các bạn xem xét lấy ví dụ như sau:

CustomerName có mức giá trị là Nguyễn Văn A, trường này có thể bóc tách ra là Lastname (Nguyễn), Middlename (Văn) cùng Firstname (A). Tuy 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ư ship hàng chẳng hạn, có hệ thống chia ra là ‘Nguyễn Văn’, ‘A’ như hệ thống quản lý sinh viên, có hệ thống chia ra thành ‘Nguyễn’, ‘Văn’, ‘A’ như hệ thống làm chủ bay… vì chưng vậy, bạn cần xem xét khối hệ thống bạn đang tạo sẽ lưu như thế nào.

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

Xem thêm: Lễ Trao Giải Vtv Awards 2016, “Zippo, Mù Tạt Và Em” Thắng Lớn Tại

*

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

*

Bạn hãy xem xét những trường còn sót lại xem có phải tách trường như thế nào ra nữa giỏi không.

Sau khi bóc các trường cần thiết và đào thải 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 hàng

CustomerLastName: Họ và tên lót của khách hàng 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 hàng đang ở

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ố đồ vật tự tải 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

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

Bước 3: xác minh các bảng và các cột cho cơ sở dữ liệu

Thực hiện theo quá trình sau:

1. Nhóm các trường theo những thực thể (Entities)2. Kiểm tra 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à đồ gia dụng tồn trên trong hệ thống đang coi xét. Đối với kiến tạo Cơ sở dữ liệu họ chỉ lưu ý đến các thực thể với thông tin. Xem xét danh sách những thành phần dữ liệu từ trên xuống bạn cũng có thể liệt kê ra những thực thể tìm tòi 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 khó hiểu nơi này, chúng ta cần quan tâm đến kỹ để hiểu tại sao vì sao chọn được 03 thực thể trên.

1.Tiếp theo chúng ta nhóm các thành phần dữ liệu tương xứng vào những thực thể

*

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

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

Bước 4: xác định khóa chính, khóa nước ngoài và quan hệ giữa các thực thể

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

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

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

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

*

b. Khẳng định mối tình dục giữa các bảng

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

*

Mối quan hệ trong quả đât thực của những thực thể. Gửi sang mô hình thực thể nó được màn biểu diễn như sau:

*

Xác định nhiều loại quan hệ giữa những thực thể như sau:

1. Quan hệ nam nữ giữa Customer cùng Invoice, họ thấy mỗi khách hàng hoàn toàn có thể mua nhiều đơn hàng, nhưng mỗi giao dịch chỉ xuất bán cho 1 khách hàng. Do thế quan hệ này là 1-n.2. Giống như quan hệ thân Invoice cùng Product, mỗi hóa đơn hoàn toàn có thể mua những sản phẩm, mỗi thành phầm có thể bán cho nhiều hóa đơn nên quan hệ tình dục này là tình dục n-n.

*

c. Phân bóc các quan 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ẽ tạo ra dư thừa dữ liệu (xem bài vụ việc dư quá dữ liệu). Vì vậy, chúng ta cần bóc tách quan hệ ra thành các quan hệ 1-n bằng cách thêm vào bảng tài liệu mới. Trong lấy ví dụ như trên bọn họ thêm vào bảng InvoiceDetails để bóc nó ra thành 02 quan hệ 1-n như sau:

*

d. Bổ sung cập nhật khóa ngoại cho những mối quan liêu hệ

Khi vẫn xác định xong các mọt quan hệ, bạn phải đặt những khóa nước ngoài vào các bảng bên n trong quan hệ nam nữ 1-n nhằm tạo liên kết giữa chúng. Bây giờ chúng ta có cấu trúc cơ sở dữ liệu như sau:

*

Bước 5: chuẩn hóa các đại lý dữ liệu

Bước này giúp bạn xem lại cơ sở dữ liệu vừa xây dựng có đáp ứng nhu cầu được nguyên lý của cơ sở dữ liệu quan hệ tuyệt không. Mặc dù nhiên, đó là một chủ thể dài cần tôi sẽ bóc tách ra thành một bài xích riêng, bạn bài viết liên quan ở bài xích Chuẩn hóa cửa hàng dữ liệu nhé.

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

Bạn chỉ hoàn toàn có thể kết luận cửa hàng dữ liệu có thiết kế đúng lúc các chức năng của hệ thống cài đặt thành công trên nó. Bởi vậy, bạn có thể chạy demo (dry run) các công dụng trên cấu trúc cơ sở tài liệu để kiểm tra thi công của nó có tương xứng hay không.

Kết luận

Thiết kế cửa hàng dữ liệu là một trong chủ đề khó, tương quan đến các chủ đề nên bạn cần đọc kỹ với đọc các bài liên quan của chuỗi bài viết này để hiểu rõ hơn về nó. Ngoài ra, bạn cũng cần thực tập xây dựng nhiều các đại lý dữ để sở hữu kinh nghiệm thiết kế giỏi hơn.

Bài tiếp: chuẩn chỉnh hóa các đại lý 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ì chưa rõ hoặc thắc mắc bạn cũng có thể để lại bình luận bên dưới tôi sẽ sẵn sàng trao đổi với bạn.