sách gpt4 ăn đã đi

Kỹ năng thiết kế cơ sở dữ liệu[chuyển]

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN Mẹo thiết kế cơ sở dữ liệu [đăng lại] này được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.

1. Mối quan hệ giữa tài liệu gốc và thực thể có thể là một-một, một-nhiều hoặc nhiều-nhiều. Nói chung, chúng là mối quan hệ một-một: nghĩa là, một tài liệu gốc tương ứng với và chỉ một thực thể. Trong trường hợp đặc biệt, chúng có thể là mối quan hệ một-nhiều hoặc nhiều-một, nghĩa là một tài liệu gốc tương ứng với nhiều thực thể hoặc nhiều tài liệu gốc tương ứng với một thực thể. Các thực thể ở đây có thể hiểu là các bảng cơ bản. Sau khi làm rõ sự tương ứng này, nó sẽ rất có lợi cho chúng ta trong việc thiết kế giao diện đầu vào.

  〖Ví dụ 1〗: Thông tin sơ yếu lý lịch của nhân viên tương ứng với ba bảng cơ bản trong hệ thống thông tin nhân sự: bảng thông tin cơ bản của nhân viên, bảng quan hệ xã hội và bảng sơ yếu lý lịch công việc. Đây là ví dụ điển hình của “một tài liệu gốc tương ứng với nhiều thực thể”.

   2. Khóa chính và khóa ngoại Nói chung, một thực thể không thể có cả khóa chính và khóa ngoại. Trong sơ đồ E-R, thực thể ở vị trí lá có thể xác định khóa chính hoặc không (vì nó không có con cháu), nhưng nó phải có khóa ngoại (vì nó có cha mẹ). Việc thiết kế khóa chính và khóa ngoại đóng vai trò quan trọng trong việc thiết kế cơ sở dữ liệu toàn cầu. Sau khi thiết kế cơ sở dữ liệu toàn cầu hoàn thành, một chuyên gia thiết kế cơ sở dữ liệu người Mỹ cho biết: "Chìa khóa ở khắp mọi nơi và không có gì ngoại trừ chìa khóa". Đây là kinh nghiệm của ông trong việc thiết kế cơ sở dữ liệu và nó cũng phản ánh sự hiểu biết của ông về thông tin. cốt lõi của hệ thống (mô hình dữ liệu). Bởi vì: khóa chính là một thực thể có tính trừu tượng cao và việc ghép khóa chính và khóa ngoại thể hiện sự kết nối giữa các thực thể.

   3. Thuộc tính của các bảng cơ bản Các bảng cơ bản khác với các bảng trung gian và các bảng tạm thời vì chúng có bốn đặc điểm sau: (1) Tính nguyên tử. Các trường trong bảng cơ sở không thể phân tách được. (2) Tính nguyên thủy. Các bản ghi trong bảng cơ sở là các bản ghi của dữ liệu gốc (dữ liệu cơ sở). (3) Suy diễn. Tất cả dữ liệu đầu ra có thể được lấy từ dữ liệu trong bảng cơ bản và bảng mã. (4) Tính ổn định. Cấu trúc của bảng cơ bản tương đối ổn định, các bản ghi trong bảng cần được lưu trữ lâu dài. Sau khi hiểu rõ bản chất của bảng cơ bản, bạn có thể phân biệt bảng cơ bản với bảng trung gian và bảng tạm thời khi thiết kế cơ sở dữ liệu.

   4. Mối quan hệ giữa bảng cơ sở chuẩn tắc và các trường của nó phải thỏa mãn dạng chuẩn thứ ba càng nhiều càng tốt. Tuy nhiên, một thiết kế cơ sở dữ liệu thỏa mãn mô hình thứ ba thường không phải là thiết kế tốt nhất. Để nâng cao hiệu quả vận hành của cơ sở dữ liệu, người ta thường phải hạ thấp tiêu chuẩn mô hình: tăng độ dư thừa một cách thích hợp để đạt được mục đích trao đổi không gian lấy thời gian. 〖Ví dụ 2〗: Có một bảng cơ bản để lưu trữ hàng hóa, như trong Bảng 1. Sự tồn tại của trường "Số tiền" cho thấy thiết kế của bảng không đáp ứng dạng thông thường thứ ba, bởi vì "Số tiền" có thể thu được bằng cách nhân "Đơn giá" với "Số lượng", cho biết rằng "Số tiền" là trường dư thừa . Tuy nhiên, việc thêm "số lượng" trường dự phòng có thể tăng tốc độ thống kê truy vấn. Đây là cách đánh đổi không gian lấy thời gian. Trong Rose 2002, có hai loại cột: cột dữ liệu và cột tính toán. Các cột như "số tiền" được gọi là "cột tính toán", trong khi các cột như "đơn giá" và "số lượng" được gọi là "cột dữ liệu". Bảng 1 Cấu trúc bảng của bảng sản phẩm Tên sản phẩm Mẫu sản phẩm Đơn giá Số lượng Số lượng TV 29 inch 2.500 40 100.000 5. Hiểu biết toàn diện về ba mô hình Sự hiểu biết phổ biến về ba mô hình mang lại lợi ích lớn cho thiết kế cơ sở dữ liệu. Trong thiết kế cơ sở dữ liệu, để áp dụng tốt hơn 3 mô thức, cần hiểu 3 mô hình này một cách phổ biến (cách hiểu phổ biến là hiểu đầy đủ chứ không phải cách hiểu khoa học và chính xác nhất): Dạng chuẩn thứ nhất: 1NF là một cặp thuộc tính Ràng buộc nguyên tử yêu cầu các thuộc tính phải là nguyên tử và không thể phân tách được; Dạng chuẩn thứ hai: 2NF là ràng buộc duy nhất trên các bản ghi, yêu cầu các bản ghi phải có mã định danh duy nhất, tức là tính duy nhất của các thực thể; Dạng chuẩn thứ ba: 3NF là một ràng buộc về tính dư thừa của trường, nghĩa là bất kỳ trường nào cũng không thể được dẫn xuất từ ​​các trường khác. Nó yêu cầu các trường không có tính dư thừa. Không có thiết kế cơ sở dữ liệu dự phòng nào có thể thực hiện được điều này. Tuy nhiên, cơ sở dữ liệu không có dự phòng có thể không phải là cơ sở dữ liệu tốt nhất. Đôi khi, để nâng cao hiệu quả vận hành, cần phải hạ thấp tiêu chuẩn mô hình và giữ lại dữ liệu dư thừa một cách thích hợp. Cách tiếp cận cụ thể là: tuân thủ mô hình thứ ba khi thiết kế mô hình dữ liệu khái niệm và cân nhắc công việc hạ thấp tiêu chuẩn mô hình khi thiết kế mô hình dữ liệu vật lý. Hạ thấp biểu mẫu thông thường có nghĩa là thêm các trường và cho phép dự phòng.

   6. Giỏi xác định và xử lý chính xác mối quan hệ nhiều-nhiều. Nếu có mối quan hệ nhiều-nhiều giữa hai thực thể thì nên loại bỏ mối quan hệ này. Giải pháp là thêm thực thể thứ ba vào giữa hai thực thể này. Bằng cách này, mối quan hệ nhiều-nhiều ban đầu bây giờ trở thành hai mối quan hệ một-nhiều. Các thuộc tính của hai thực thể ban đầu phải được phân bổ hợp lý cho ba thực thể đó. Thực thể thứ ba ở đây về cơ bản là một mối quan hệ phức tạp hơn, tương ứng với một bảng cơ bản. Nói chung, các công cụ thiết kế cơ sở dữ liệu không thể nhận ra mối quan hệ nhiều-nhiều, nhưng chúng có thể xử lý các mối quan hệ nhiều-nhiều.

  〖Ví dụ 3〗: Trong "Hệ thống thông tin thư viện", "sách" là một thực thể và "người đọc" cũng là một thực thể. Mối quan hệ giữa hai thực thể này là mối quan hệ nhiều-nhiều điển hình: một cuốn sách có thể được nhiều người đọc mượn vào những thời điểm khác nhau và một người đọc có thể mượn nhiều cuốn sách. Để đạt được mục đích này, một thực thể thứ ba cần được thêm vào giữa hai thực thể này được đặt tên là "Mượn và trả sách". Thuộc tính của nó là: thời gian mượn và trả, cờ mượn và trả (0 có nghĩa là mượn một cuốn sách, 1 có nghĩa là trả lại một cuốn sách). sách), Ngoài ra, nó phải có hai khóa ngoại (khóa chính cho "Sách" và khóa chính cho "Người đọc") để có thể kết nối với "Sách" và "Người đọc".

   7. Phương thức giá trị của khóa chính PK. PK là một công cụ kết nối giữa các bảng dành cho người lập trình. Nó có thể là một chuỗi kỹ thuật số không có ý nghĩa vật lý, được chương trình tự động thêm 1. Nó cũng có thể là tên trường có ý nghĩa vật lý hoặc sự kết hợp của các tên trường. Nhưng cái trước tốt hơn cái sau. Khi PK là sự kết hợp của các tên trường, không nên có quá nhiều trường. Nếu có quá nhiều, chỉ mục sẽ không những chiếm nhiều dung lượng mà còn bị chậm.

   8. Hiểu đúng về dự phòng dữ liệu. Việc lặp lại khóa chính và khóa ngoại trong nhiều bảng không phải là dự phòng dữ liệu. Trên thực tế, nhiều người vẫn chưa rõ ràng. Sự xuất hiện lặp đi lặp lại của các trường không có khóa là sự dư thừa dữ liệu! Và nó là một loại dư thừa ở mức độ thấp, tức là dư thừa lặp đi lặp lại. Sự dư thừa mức cao không phải là sự xuất hiện lặp lại của một trường mà là sự xuất hiện xuất phát của một trường.

  〖Ví dụ 4〗: Trong ba trường "đơn giá, số lượng và số lượng" trong sản phẩm, "số lượng" được lấy từ "đơn giá" nhân với "số lượng". dư thừa. Mục đích của việc dự phòng là để tăng tốc độ xử lý. Chỉ dự phòng ở mức độ thấp mới làm tăng tính không nhất quán của dữ liệu vì cùng một dữ liệu có thể được nhập nhiều lần từ các thời điểm, vị trí và vai trò khác nhau. Vì vậy, chúng tôi ủng hộ sự dư thừa ở mức độ cao (dự phòng phái sinh) và phản đối sự dư thừa ở mức độ thấp (dự phòng lặp lại).

   9. Không có câu trả lời chuẩn cho sơ đồ E-R. Không có câu trả lời chuẩn cho sơ đồ E-R của hệ thống thông tin, bởi vì phương pháp thiết kế và vẽ của nó không phải là duy nhất miễn là nó bao quát được phạm vi nghiệp vụ và nội dung chức năng của hệ thống. yêu cầu thì khả thi. Nếu không, hãy sửa đổi sơ đồ E–R. Mặc dù nó không có một câu trả lời tiêu chuẩn duy nhất nhưng điều đó không có nghĩa là nó có thể được thiết kế theo ý muốn. Tiêu chí cho một sơ đồ E-R tốt là: cấu trúc rõ ràng, mối quan hệ ngắn gọn, số lượng thực thể vừa phải, phân bổ thuộc tính hợp lý và không có sự dư thừa ở mức độ thấp.

   10. Công nghệ View rất hữu ích trong việc thiết kế cơ sở dữ liệu. Khác với các bảng cơ bản, bảng mã và bảng trung gian, View là một bảng ảo dựa vào bảng thực của nguồn dữ liệu để tồn tại. Khung nhìn là cửa sổ để người lập trình sử dụng cơ sở dữ liệu, một dạng tổng hợp dữ liệu bảng cơ sở, phương pháp xử lý dữ liệu và phương tiện giữ bí mật dữ liệu người dùng. Để thực hiện xử lý phức tạp, cải thiện tốc độ tính toán và tiết kiệm dung lượng lưu trữ, độ sâu định nghĩa của chế độ xem thường không vượt quá ba cấp độ. Nếu chế độ xem ba lớp vẫn chưa đủ, thì phải xác định bảng tạm thời trên chế độ xem và chế độ xem sẽ được xác định trên bảng tạm thời. Bằng cách lặp đi lặp lại các định nghĩa chồng chéo theo cách này, độ sâu của chế độ xem không bị giới hạn.

  Đối với một số hệ thống thông tin nhất định liên quan đến lợi ích chính trị, kinh tế, kỹ thuật, quân sự, an ninh quốc gia thì vai trò của quan điểm càng quan trọng hơn. Sau khi hoàn thành thiết kế vật lý của các bảng cơ bản của các hệ thống này, các chế độ xem cấp độ đầu tiên được thiết lập ngay trên các bảng cơ bản. Số lượng và cấu trúc của các cấp độ xem này hoàn toàn giống với các bảng cơ bản. Người ta cũng quy định rằng tất cả các lập trình viên chỉ được phép thao tác trên các khung nhìn. Chỉ người quản trị cơ sở dữ liệu, với "khóa bảo mật" được chia sẻ bởi nhiều người, mới có thể thao tác trực tiếp trên các bảng cơ bản. Người đọc được yêu cầu suy nghĩ: Tại sao lại như vậy?

   11. Bảng trung gian, báo cáo và bảng tạm thời là bảng lưu trữ dữ liệu thống kê. Chúng được thiết kế cho kho dữ liệu, báo cáo đầu ra hoặc kết quả truy vấn. Đôi khi chúng không có khóa chính và khóa ngoại (trừ kho dữ liệu). Các bảng tạm thời được các lập trình viên thiết kế để lưu trữ các bản ghi tạm thời cho mục đích sử dụng cá nhân. Bảng cơ sở và bảng trung gian được DBA duy trì và bảng tạm thời được chính lập trình viên tự động duy trì.

   12. Ràng buộc toàn vẹn phản ánh tính toàn vẹn của miền theo ba khía cạnh: Sử dụng Kiểm tra để triển khai các ràng buộc Trong công cụ thiết kế cơ sở dữ liệu, khi xác định phạm vi giá trị của một trường, có một nút Kiểm tra để xác định giá trị của trường. Tính toàn vẹn tham chiếu: được triển khai bằng cách sử dụng trình kích hoạt PK, FK và cấp bảng. Tính toàn vẹn do người dùng xác định: Đó là một tập hợp các quy tắc kinh doanh được triển khai bằng cách sử dụng các thủ tục và trình kích hoạt được lưu trữ.

   13. Phương pháp ngăn chặn việc vá thiết kế cơ sở dữ liệu là "Ba vài nguyên tắc" (1) Số lượng bảng trong cơ sở dữ liệu càng ít thì càng tốt. Chỉ khi số lượng bảng giảm đi mới cho thấy sơ đồ E-R của hệ thống nhỏ và chính xác, loại bỏ các thực thể lặp lại và dư thừa, tạo thành mức độ trừu tượng cao của thế giới khách quan và thực hiện tích hợp dữ liệu có hệ thống để ngăn chặn việc vá lỗi . Thiết kế; (2) Số lượng trường khóa chính kết hợp trong một bảng càng ít thì càng tốt. Do vai trò của khóa chính, một bên là xây dựng chỉ mục khóa chính, một bên là làm khóa ngoại cho bảng con nên số lượng trường trong khóa chính kết hợp bị giảm đi, không chỉ tiết kiệm thời gian chạy mà còn tiết kiệm không gian lưu trữ chỉ mục; (3) Trong một bảng Càng ít trường thì càng tốt. Chỉ khi số lượng trường giảm đi mới có nghĩa là không có hiện tượng trùng lặp dữ liệu trong hệ thống và ít dư thừa dữ liệu. Quan trọng hơn, người đọc được khuyến khích học cách “đổi cột thành hàng”, từ đó ngăn chặn việc tồn tại các trường trong bảng con. kéo ra bảng chính, để lại nhiều ô trống trong bảng chính. Cái gọi là “column to row” là lấy ra một phần nội dung trong bảng chính và tạo ra một bảng con riêng. Phương pháp này rất đơn giản nhưng một số người không quen, không áp dụng và không thực hiện. Một nguyên tắc thực tế trong thiết kế cơ sở dữ liệu là tìm ra sự cân bằng phù hợp giữa tính dư thừa dữ liệu và tốc độ xử lý. “Ba thiếu gia” là một khái niệm tổng thể, một cái nhìn toàn diện và không thể tách rời một nguyên tắc. Nguyên tắc này là tương đối, không tuyệt đối. Nguyên tắc “ba nữa” chắc chắn là sai. Hãy tưởng tượng: nếu cùng một chức năng của hệ thống được thực hiện, sơ đồ E-R gồm một trăm thực thể (tổng cộng một nghìn thuộc tính) chắc chắn sẽ tốt hơn nhiều so với sơ đồ E-R gồm hai trăm thực thể (tổng cộng hai nghìn thuộc tính). Ủng hộ nguyên tắc "Ba ít" là dạy người đọc sử dụng công nghệ thiết kế cơ sở dữ liệu để tích hợp dữ liệu có hệ thống. Các bước tích hợp dữ liệu là tích hợp hệ thống tệp vào cơ sở dữ liệu ứng dụng, cơ sở dữ liệu ứng dụng vào cơ sở dữ liệu chủ đề và cơ sở dữ liệu chủ đề vào cơ sở dữ liệu toàn diện. Mức độ tích hợp càng cao thì khả năng chia sẻ dữ liệu càng mạnh, càng ít đảo thông tin và số lượng thực thể, khóa chính và thuộc tính trong sơ đồ ER toàn cầu của toàn bộ hệ thống thông tin doanh nghiệp càng ít. Mục đích của việc ủng hộ nguyên tắc “Ba Ít” là ngăn cản người đọc sử dụng công nghệ vá lỗi để liên tục thêm, xóa, sửa đổi cơ sở dữ liệu, biến cơ sở dữ liệu doanh nghiệp thành “bãi rác” gồm các bảng cơ sở dữ liệu được thiết kế ngẫu nhiên, hay một “sân nhỏ” Cuối cùng, kết quả là trong cơ sở dữ liệu có vô số bảng cơ bản, bảng mã, bảng trung gian, bảng tạm thời khiến hệ thống thông tin của doanh nghiệp, tổ chức không thể bảo trì, tê liệt. Bất cứ ai cũng có thể thực hiện nguyên tắc "ba nữa", đó là sai lầm của thiết kế cơ sở dữ liệu "phương pháp vá". Nguyên tắc "Ba ít" là nguyên tắc ít hơn nhưng tốt hơn. Nó đòi hỏi kỹ năng và nghệ thuật thiết kế cơ sở dữ liệu cao mà không ai có thể đạt được, bởi vì nguyên tắc này là cơ sở lý thuyết để loại bỏ việc sử dụng "phương pháp vá lỗi" để thiết kế cơ sở dữ liệu.

   14. Các cách nâng cao hiệu quả vận hành của cơ sở dữ liệu Trong các điều kiện phần cứng và phần mềm hệ thống nhất định, cách nâng cao hiệu quả vận hành của hệ thống cơ sở dữ liệu là: (1) Trong thiết kế vật lý của cơ sở dữ liệu, giảm bớt mô hình, tăng sự dư thừa và sử dụng ít trình kích hoạt hơn, các thủ tục lưu trữ đa mục đích. (2) Khi phép tính rất phức tạp và số lượng bản ghi rất lớn (ví dụ: 10 triệu bản ghi), phép tính phức tạp phải được hoàn thành bên ngoài cơ sở dữ liệu trong hệ thống tệp bằng ngôn ngữ C++, rồi cuối cùng được thêm vào cơ sở dữ liệu và thêm vào bảng. Đây là kinh nghiệm thiết kế hệ thống thanh toán viễn thông. (3) Nếu phát hiện một bảng nào đó có quá nhiều bản ghi, ví dụ hơn 10 triệu bản ghi, bảng phải được chia theo chiều ngang. Phương pháp chia ngang là sử dụng một giá trị nhất định của khóa chính PK của bảng làm ranh giới để chia theo chiều ngang các bản ghi của bảng thành hai bảng. Nếu phát hiện một bảng có quá nhiều trường, ví dụ lớn hơn 80, bảng sẽ được chia theo chiều dọc và bảng gốc sẽ được chia thành hai bảng. (4) Tối ưu hóa hệ thống của hệ thống quản lý cơ sở dữ liệu DBMS, nghĩa là tối ưu hóa các tham số hệ thống khác nhau, chẳng hạn như số lượng bộ đệm. (5) Khi sử dụng ngôn ngữ SQL hướng dữ liệu để lập trình, hãy thử áp dụng các thuật toán tối ưu hóa. Nói tóm lại, để nâng cao hiệu quả hoạt động của cơ sở dữ liệu, chúng ta phải làm việc đồng thời trên ba cấp độ: tối ưu hóa cấp độ hệ thống cơ sở dữ liệu, tối ưu hóa cấp độ thiết kế cơ sở dữ liệu và tối ưu hóa cấp độ triển khai chương trình.

  Mười bốn kỹ năng trên dần dần được nhiều người tóm tắt thông qua một số lượng lớn các phương pháp phân tích và thiết kế cơ sở dữ liệu. Về việc áp dụng những kinh nghiệm này, người đọc không nên ghi nhớ, ghi nhớ một cách máy móc mà nên tiêu hóa và hiểu chúng, tìm kiếm sự thật từ các sự kiện và nắm vững chúng một cách linh hoạt. Và dần dần đạt được: phát triển trong ứng dụng, ứng dụng trong phát triển.

Cuối cùng, bài viết về kỹ năng thiết kế cơ sở dữ liệu [tái bản] này kết thúc tại đây. Nếu bạn muốn biết thêm về kỹ năng thiết kế cơ sở dữ liệu [tái bản], vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan. blog! .

30 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress