ACC: Cơ sở dữ liệu bình thường hóa khái niệm cơ bản

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:100139
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
Novice: Đòi hỏi kiến thức về giao diện người dùng trên máy tính người dùng đơn.

TÓM TẮT
Bài viết này giải thích các khái niệm cơ bản của thuật ngữ bình thường hoá cơ sở dữ liệu. Mộtsự hiểu biết cơ bản về thuật ngữ này là hữu ích khi thảo luận về cácthiết kế của một cơ sở dữ liệu quan hệ.

LƯU Ý: Microsoft cũng cung cấp một WebCast thảo luận về các khái niệm cơ bản của bình thường hoá cơ sở dữ liệu. Để xem WebCast này, xin vui lòng ghé thăm Web site sau của Microsoft:LƯU Ý: Để xem thông tin này cho Microsoft Access 2000, xin vui lòng xem bài viết sau trong cơ sở kiến thức Microsoft:
209534 ACC2000: Cơ sở dữ liệu bình thường hóa khái niệm cơ bản
THÔNG TIN THÊM

Mô tả về bình thường hoá

Bình thường là quá trình tổ chức các dữ liệu trong cơ sở dữ liệu. Điều nàybao gồm việc tạo ra bảng và thiết lập các mối quan hệ giữa những ngườibảng theo quy định thiết kế cả hai để bảo vệ dữ liệu và đếnlàm cho cơ sở dữ liệu linh hoạt hơn bằng cách loại bỏ hai yếu tố: sự thừa vàphụ thuộc không phù hợp.

Dự phòng dữ liệu chất thải dung lượng đĩa và tạo ra những vấn đề bảo trì. Nếudữ liệu mà tồn tại ở nhiều hơn một nơi phải được thay đổi, các dữ liệu phảiđược thay đổi trong cách chính xác cùng một trong tất cả các địa điểm. Một khách hàngthay đổi địa chỉ là dễ dàng hơn để thực hiện nếu dữ liệu đó được lưu trữ chỉtrong khách hàng bảng và ở đâu khác trong cơ sở dữ liệu.

Điều gì sẽ là một "không phù hợp phụ thuộc"? Trong khi đó là trực quan cho một người sử dụngđể tìm trong khách hàng bảng cho địa chỉ của một cụ thểkhách hàng, nó có ý nghĩa để tìm có mức lương của cácnhân viên kêu gọi các khách hàng đó. Tiền lương của nhân viên có liên quanđể, hoặc phụ thuộc vào, nhân viên và do đó nên được chuyển đến cácNhân viên bảng. Phụ thuộc không phù hợp có thể làm cho dữ liệu khótruy cập; con đường để tìm kiếm dữ liệu có thể bị thiếu hoặc bị hỏng.

Có một vài quy tắc cho bình thường hoá cơ sở dữ liệu. Mỗi quy tắc được gọi làmột hình dạng thông thường"." Nếu các quy tắc đầu tiên là quan sát, cơ sở dữ liệu nóiđể "dưới hình thức đầu tiên của bình thường." Nếu các quy tắc ba lần đầu tiên được quan sát thấy,cơ sở dữ liệu được coi là trong "hình dạng thông thường thứ ba." Mặc dùcác mức bình thường là có thể, thứ ba hình dạng thông thường làmức cao nhất được coi là cần thiết cho hầu hết các ứng dụng.

Như với nhiều quy tắc chính thức và thông số kỹ thuật, tình huống thế giới thực làmkhông phải luôn luôn cho phép hoàn hảo tuân thủ. Trong chung, bình thường hoáyêu cầu thêm bảng biểu và một số khách hàng tìm thấy điều này rườm rà. Nếubạn quyết định vi phạm một trong các quy tắc ba đầu tiên của bình thường hoá,đảm bảo rằng các ứng dụng dự kiến bất kỳ vấn đề nào mà có thểxảy ra, chẳng hạn như dữ liệu dự phòng và không phù hợp phụ thuộc.

LƯU Ý: Các mô tả sau đây bao gồm các ví dụ.

Đầu tiên hình thức bình thường

  • Loại bỏ các nhóm lặp lại trong bảng cá nhân.
  • Tạo một bảng riêng biệt cho mỗi bộ dữ liệu liên quan.
  • Xác định mỗi tập hợp các dữ liệu có liên quan với một khóa chính.
Không sử dụng nhiều lĩnh vực trong một bảng duy nhất để lưu trữ dữ liệu tương tự.Ví dụ, để theo dõi một mục hàng tồn kho có thể đến từ haicác nguồn có thể, một hồ sơ tồn kho có thể chứa các lĩnh vực cho nhà bánMã số 1 và nhà cung cấp mã số 2.

Nhưng những gì sẽ xảy ra khi bạn thêm một người bán hàng thứ ba? Thêm một lĩnh vực không phải làcâu trả lời; nó yêu cầu sửa đổi chương trình và bảng và khôngsuốt chứa một số năng động của nhà cung cấp. Thay vào đó, đặt tất cảnhà cung cấp thông tin trong một bảng riêng biệt được gọi là nhà cung cấp, sau đó liên kếthàng tồn kho nhà cung cấp với một mã số key, hoặc nhà cung cấp hàng tồn khovới một chìa khóa mã nhà cung cấp.

Thứ hai hình thức bình thường

  • Tạo bảng riêng biệt cho bộ giá trị áp dụng đến nhiều hồ sơ.
  • Liên hệ các bảng với một chìa khóa nước ngoài.
Hồ sơ không nên phụ thuộc vào bất cứ điều gì khác hơn là một bảng khóa chính(một hợp chất phím, nếu cần thiết). Ví dụ, hãy xem xét một khách hàngĐịa chỉ trong một hệ thống kế toán. Địa chỉ là cần thiết bởi cácKhách hàng bảng, mà còn bởi các tài khoản đơn đặt hàng, vận chuyển, hoá đơn,Thu, và các bộ sưu tập bàn. Thay vì của lưu trữ của khách hàngĐịa chỉ như là một mục riêng biệt trong mỗi của các bảng, lưu nó trong một trong nhữngđặt, hoặc trong bảng khách hàng hoặc trong một bảng địa chỉ riêng biệt.

Thứ ba hình thức bình thường

  • Loại bỏ các lĩnh vực không phụ thuộc vào quan trọng.
Các giá trị trong một kỷ lục mà không phải là một phần quan trọng rằng hồ sơ khôngthuộc về bảng. Nói chung, bất kỳ thời gian nội dung của một nhómcác lĩnh vực có thể áp dụng cho nhiều hơn một hồ sơ duy nhất trong bảng, xem xétviệc đặt các lĩnh vực này trong một bảng riêng biệt.

Ví dụ, trong một nhân viên tuyển dụng, một ứng cử viên của bảngĐại học tên và địa chỉ có thể được bao gồm. Nhưng bạn cần một hoàn thànhdanh sách các trường đại học cho nhóm thư. Nếu thông tin đại họcđược lưu trữ trong bảng ứng cử viên, đó là không có cách nào để danh sách các trường đại họcvới không có ứng cử viên hiện tại. Tạo ra một bảng các trường đại học riêng biệt vàliên kết nó với ứng cử viên bảng với một trường đại học mã khóa.

NGOẠI LỆ: Tôn trọng những thứ ba hình thức bình thường, trong khi về mặt lý thuyếtmong muốn, không phải là luôn luôn thực tế. Nếu bạn có một khách hàng bảngvà bạn muốn loại bỏ tất cả các phụ thuộc có thể interfield, bạnphải tạo bảng riêng biệt cho các thành phố, mã bưu điện, bán hàngđại diện, các lớp học khách hàng và bất kỳ yếu tố khác có thểđược nhân đôi ở nhiều hồ sơ. Theo lý thuyết, bình thường hoá làgiá trị theo đuổi; Tuy nhiên, nhiều bảng nhỏ có thể làm suy giảm hiệu suấthoặc vượt quá mở tập tin và bộ nhớ năng lực.

Nó có thể là khả thi hơn để hình dạng thông thường thứ ba chỉ áp dụng cho dữ liệu đóthay đổi thường xuyên. Nếu một số lĩnh vực phụ thuộc còn lại, thiết kế của bạnứng dụng để yêu cầu người sử dụng để xác minh tất cả liên quan đến lĩnh vực khi bất kỳmột trong được thay đổi.

Các hình thức bình thường

Thứ tư hình dạng thông thường, cũng gọi là Boyce Codd Normal Form (BCNF), vàThứ năm hình dạng thông thường tồn tại, nhưng hiếm khi được coi là trong thực tếthiết kế. Bỏ qua những quy tắc này có thể dẫn đến ít hơn hoàn hảocơ sở dữ liệu thiết kế, nhưng không nên ảnh hưởng đến chức năng.
               **********************************                 Examples of Normalized Tables               ********************************** Normalization Examples: Unnormalized table:    Student#   Advisor   Adv-Room  Class1   Class2   Class3    -------------------------------------------------------    1022       Jones      412      101-07   143-01   159-02    4123       Smith      216      201-01   211-02   214-01				
  1. Hình thức bình thường đầu tiên: Các không có lặp đi lặp lại nhóm

    Bảng nên có kích thước chỉ có hai. Kể từ khi một học sinh có một số các lớp học, các lớp học nên được liệt kê trong một riêng biệt bảng. Các lĩnh vực Class1, Class2, & Class3 thuộc kỷ lục ở trên là chỉ dẫn thiết kế rắc rối.

    Bảng tính thường sử dụng kích thước thứ ba, nhưng bàn không nên. Một cách khác để xem xét vấn đề này: với một một-cho-nhiều mối quan hệ, không đặt một bên và nhiều bên trong cùng một bảng. Thay vào đó, tạo ra một bảng đầu tiên dưới hình thức bình thường của loại bỏ nhóm lặp đi lặp lại (hạng #), như được hiển thị dưới đây:
           Student#   Advisor   Adv-Room    Class#       ---------------------------------------       1022      Jones      412       101-07       1022      Jones      412       143-01       1022      Jones      412       159-02       4123      Smith      216       201-01       4123      Smith      216       211-02       4123      Smith      216       214-01					
  2. Thứ hai hình thức bình thường: Loại bỏ dữ liệu dự phòng

    Lưu ý các nhiều giá lớp # trị cho mỗi học sinh # giá trị trong các ở trên bảng. Lớp # là không chức năng phụ thuộc vào học sinh # (khóa chính), do đó, mối quan hệ này không phải là hình thức thứ hai bình thường.

    Hai bảng sau đây chứng minh thứ hai hình dạng thông thường:
        Students:   Student#    Advisor   Adv-Room                ------------------------------                1022        Jones       412                4123        Smith       216    Registration:   Student#    Class#                    ------------------                    1022        101-07                    1022        143-01                    1022        159-02                    4123        201-01                    4123        211-02                    4123        214-01					
  3. Thứ ba hình thức bình thường: Loại bỏ dữ liệu không phụ thuộc vào chính

    Trong ví dụ cuối, Adv-phòng (số của cố vấn văn phòng) là chức năng phụ thuộc vào các thuộc tính cố vấn. Giải pháp là để di chuyển đó thuộc tính từ sinh viên bảng để bàn khoa, như được hiển thị dưới đây:
        Students:   Student#    Advisor                -------------------                1022        Jones                4123        Smith    Faculty:    Name    Room    Dept                --------------------                Jones   412     42                Smith   216     42					
THAM KHẢO
Để biết thêm chi tiết về việc thiết kế cơ sở dữ liệu, bấm vào số bài viết dưới đây để xem bài viết trong cơ sở kiến thức Microsoft:
234208 ACC2000: "Sự hiểu biết cơ sở dữ liệu quan hệ thiết kế" Document có sẵn trong tải về Trung tâm
"FoxPro 2 A Developer's Guide," Hamilton M. Ahlo Jr et al., trang220-225, M & T Books, 1991

"Bằng cách sử dụng truy cập cho Windows," Roger Jennings, trang 799-800, QueTổng công ty, 1993
BCNF mô hình quan hệ bình thường bình thường hóa

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 100139 - Xem lại Lần cuối: 12/04/2015 09:30:12 - Bản sửa đổi: 2.0

Microsoft Access 1.0 Standard Edition, Microsoft Access 1.1 Standard Edition, Microsoft Access 2.0 Standard Edition, Microsoft Access 97 Standard Edition

  • kbnosurvey kbarchive kbinfo kbusage kbmt KB100139 KbMtvi
Phản hồi
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)