- Trong bài viết này
- Một số điều khoản về cơ sở dữ liệu cần biết
- Thiết kế cơ sở dữ liệu tốt là?
- Quy trình thiết kế
- Xác định mục đích của cơ sở dữ liệu
- Tìm và sắp xếp thông tin cần thiết
- Phân chia thông tin vào các bảng
- Biến mục thông tin thành các cột
- Chỉ định khóa chính
- Tạo mối quan hệ cho bảng
- Tạo mối quan hệ một đối nhiều
- Tạo mối quan hệ nhiều đối nhiều
- Tạo mối quan hệ một đối một
- Tinh chỉnh thiết kế
- Tinh chỉnh bảng Sản phẩm
- Áp dụng các quy tắc chuẩn hóa
- Biểu mẫu bình thường đầu tiên
- Biểu mẫu bình thường thứ hai
- Biểu mẫu bình thường thứ ba
- Video liên quan
Bài viết này sẽ cung ứng hướng dẫn để lên kế hoạch tạo cơ sở dữ liệu trên máy tính. Bạn sẽ biết cách để quyết định hành động những thông tin mình cần, cách phân loại thông tin đó vào những bảng và cột thích hợp, cũng như mối quan hệ của chúng với nhau. Bạn cần đọc bài viết này trước khi tạo cơ sở dữ liệu trên máy tính lần đầu .
Quan trọng:
Access mang đến các trải nghiệm thiết kế, giúp bạn tạo các ứng dụng cơ sở dữ liệu dành cho Web. Nhiều điểm cần cân nhắc về thiết kế sẽ khác với khi bạn thiết kế cho Web. Bài viết này không thảo luận về thiết kế ứng dụng cơ sở dữ liệu Web. Để biết thêm thông tin, hãy xem bài viết Xây dựng cơ sở dữ liệu để chia sẻ trên Web.
Bạn đang đọc: Thao tác nào sau đây không phải là thao tác cập nhật hồ sơ">Thao tác nào sau đây không phải là thao tác cập nhật hồ sơ
Xem Tóm Tắt Bài Viết Này
- 1 Trong bài viết này
- 2 Một số điều khoản về cơ sở dữ liệu cần biết
- 3 Thiết kế cơ sở dữ liệu tốt là?
- 4 Quy trình thiết kế
- 5 Xác định mục đích của cơ sở dữ liệu
- 6 Tìm và sắp xếp thông tin cần thiết
- 7 Phân chia thông tin vào các bảng
- 8 Biến mục thông tin thành các cột
- 9 Chỉ định khóa chính
- 10 Tạo mối quan hệ cho bảng
- 10.1 Tạo mối quan hệ một đối nhiều
- 10.2 Tạo mối quan hệ nhiều đối nhiều
- 10.3 Tạo mối quan hệ một đối một
- 11 Tinh chỉnh thiết kế
- 11.1 Tinh chỉnh bảng Sản phẩm
- 12 Áp dụng các quy tắc chuẩn hóa
- 12.1 Biểu mẫu bình thường đầu tiên
- 12.2 Biểu mẫu bình thường thứ hai
- 12.3 Biểu mẫu bình thường thứ ba
- 12.4 Video liên quan
Trong bài viết này
- Một số lao lý về cơ sở dữ liệu cần biết
- Thiết kế cơ sở dữ liệu tốt là gì ?
- Quy trình phong cách thiết kế
- Xác định mục tiêu của cơ sở dữ liệu
- Tìm và sắp xếp thông tin thiết yếu
- Phân chia thông tin vào những bảng
- Biến mục thông tin thành những cột
- Chỉ định khóa chính
- Tạo mối quan hệ cho bảng
- Tinh chỉnh phong cách thiết kế
- Áp dụng những quy tắc chuẩn hóa
Một số điều khoản về cơ sở dữ liệu cần biết
Access sẽ sắp xếp thông tin của bạn vào các bảng: danh sách các hàng và cột gợi nhớ đến một bảng hoặc bảng tính của nhân viên kế toán. Trong cơ sở dữ liệu đơn giản, bạn có thể chỉ có một bảng. Với hầu hết cơ sở dữ liệu, bạn sẽ cần nhiều bảng. Ví dụ: bạn có thể có một bảng lưu trữ thông tin về sản phẩm, một bảng khác lưu trữ thông tin về đơn hàng và một bảng khác nữa chứa thông tin về khách hàng.
Chính xác hơn, mỗi hàng sẽ được gọi là một bản ghi, còn mỗi cột sẽ được gọi là một trường. Bản ghi là một cách hữu dụng và nhất quán để tổng hợp thông tin về nội dung nào đó. Trường là một mục thông tin đơn một loại mục xuất hiện trong mọi bản ghi. Ví dụ: trong bảng Sản phẩm, mỗi hàng hoặc bản ghi sẽ chứa thông tin về một sản phẩm. Mỗi cột hoặc trường sẽ chứa một số loại thông tin về sản phẩm đó, như tên hoặc giá cả.
Đầu Trang
Thiết kế cơ sở dữ liệu tốt là?
Một số nguyên tắc hướng dẫn quá trình phong cách thiết kế cơ sở dữ liệu. Nguyên tắc tiên phong : thông tin trùng lặp ( hay còn gọi là dữ liệu dự trữ ) là có hại vì thông tin này gây tiêu tốn lãng phí về dung tích và làm tăng năng lực lỗi cũng như sự không đồng điệu. Nguyên tắc thứ hai là sự đúng chuẩn và sự hoàn hảo của thông tin rất quan trọng. Nếu cơ sở dữ liệu của bạn có chứa thông tin không đúng chuẩn thì mọi báo cáo giải trình sử dụng thông tin từ cơ sở dữ liệu đó cũng sẽ chứa thông tin không đúng chuẩn. Kết quả là mọi quyết định hành động bạn đưa ra dựa trên những báo cáo giải trình đó sẽ trở thành thông tin xô lệch .
Do đó, phong cách thiết kế cơ sở dữ liệu tốt là một phong cách thiết kế :
- Phân chia thông tin của bạn vào những bảng theo đối tượng người dùng để giảm thông tin thừa .
- Cung cấp cho Access thông tin thiết yếu để phối hợp thông tin trong những bảng với nhau, khi cần .
- Giúp tương hỗ và bảo vệ tính đúng chuẩn cũng như tính toàn vẹn cho thông tin của bạn .
- Điều chỉnh nhu yếu báo cáo giải trình và giải quyết và xử lý dữ liệu của bạn .
Đầu Trang
Quy trình thiết kế
Quy trình phong cách thiết kế gồm có những bước sau :
-
Xác định mục đích của cơ sở dữ liệu
Việc này giúp bạn sẵn sàng chuẩn bị cho những bước tiếp theo .
-
Tìm và sắp xếp thông tin cần thiết
Thu thập mọi loại thông tin bạn hoàn toàn có thể muốn ghi vào cơ sở dữ liệu, như tên loại sản phẩm và số đơn hàng .
-
Phân chia thông tin vào các bảng
Phân chia mục thông tin vào những thực thể hoặc đối tượng người tiêu dùng chính, như Sản phẩm hoặc Đơn hàng. Mỗi đối tượng người dùng sau đó sẽ trở thành một bảng .
-
Biến mục thông tin thành các cột
Quyết định loại thông tin bạn muốn tàng trữ trong từng bảng. Mỗi mục sẽ trở thành một trường và được hiển thị dưới dạng cột trong bảng. Ví dụ : một bảng Nhân viên hoàn toàn có thể chứa những trường như Họ và Ngày Tuyển dụng .
-
Chỉ định khóa chính
Chọn khóa chính cho mỗi bảng. Khóa chính là một cột, dùng để xác lập từng hàng riêng. Ví dụ hoàn toàn có thể là ID Sản phẩm hoặc ID Đơn hàng .
-
Thiết lập mối quan hệ cho bảng
Xem bảng và quyết định hành động mối quan hệ của dữ liệu trong bảng đó với dữ liệu ở những bảng khác. Thêm những trường vào bảng hoặc tạo bảng mới để làm rõ mối quan hệ, nếu cần .
-
Tinh chỉnh thiết kế của bạn
Phân tích phong cách thiết kế để tìm lỗi. Tạo bảng và thêm 1 số ít bản ghi dữ liệu mẫu. Xem liệu bạn hoàn toàn có thể nhận được hiệu quả mong ước từ bảng không. Tiến hành kiểm soát và điều chỉnh phong cách thiết kế, nếu cần .
-
Áp dụng các quy tắc chuẩn hóa
Áp dụng những quy tắc chuẩn hóa dữ liệu để xem liệu bảng của bạn đã được cấu trúc tương thích chưa. Tiến hành kiểm soát và điều chỉnh bảng, nếu cần .
Đầu Trang
Xác định mục đích của cơ sở dữ liệu
Tốt nhất, bạn nên ghi lại mục tiêu của cơ sở dữ liệu ra giấy mục tiêu của cơ sở dữ liệu, bạn dự tính sử dụng cơ sở dữ liệu như thế nào và ai sẽ sử dụng cơ sở dữ liệu. Đối với cơ sở dữ liệu nhỏ dành cho doanh nghiệp mái ấm gia đình, ví dụ : bạn hoàn toàn có thể ghi đơn thuần như ” Cơ sở dữ liệu người mua lưu danh sách thông tin người mua cho mục tiêu tạo quảng cáo qua thư và tạo báo cáo giải trình “. Nếu cơ sở dữ liệu phức tạp hơn hoặc có nhiều người dùng, như thường xảy ra trong môi trường tự nhiên doanh nghiệp thì mục tiêu hoàn toàn có thể đơn thuần chỉ là một đoạn văn hoặc nhiều hơn và cần gồm có thời hạn, cũng như cách mỗi người sử dụng cơ sở dữ liệu. Tốt nhất, bạn nên có công bố thiên chức được kiến thiết xây dựng tốt hoàn toàn có thể được tham chiếu trong suốt quy trình tiến độ phong cách thiết kế. Việc có công bố này sẽ giúp bạn tập trung chuyên sâu vào tiềm năng khi đưa ra quyết định hành động .
Đầu Trang
Tìm và sắp xếp thông tin cần thiết
Để tìm và sắp xếp thông tin thiết yếu, hãy khởi đầu bằng thông tin hiện có. Ví dụ : bạn hoàn toàn có thể ghi lại đơn hàng vào sổ cái hoặc giữ lại thông tin người mua trên biểu mẫu giấy trong tủ hồ sơ. Thu thập những tài liệu đó và liệt kê từng loại thông tin hiển thị ( ví dụ : mỗi hộp bạn điền trên một biểu mẫu ). Nếu bạn không có sẵn bất kỳ biểu mẫu nào thì thay vào đó, hãy tưởng tượng bạn phải phong cách thiết kế một biểu mẫu để ghi lại thông tin người mua. Bạn muốn đưa thông tin nào vào biểu mẫu ? Bạn sẽ tạo những ô nào để điền ? Xác định và liệt kê từng mục trong số này. Ví dụ : giả sử bạn hiện đang giữ list người mua trên thẻ chỉ mục. Việc kiểm tra những thẻ này hoàn toàn có thể cho biết rằng mỗi thẻ lưu giữ một tên người mua, địa chỉ, thành phố, tiểu bang, mã bưu chính và số điện thoại thông minh. Mỗi mục trong số này đại diện thay mặt cho một cột tiềm năng trong bảng .
Khi bạn chuẩn bị sẵn sàng list này, đừng lo ngại về việc phải tạo bảng tuyệt vời và hoàn hảo nhất ngay từ đầu. Thay vào đó, hãy liệt kê từng mục bạn nghĩ ra. Nếu người khác sử dụng cơ sở dữ liệu, hãy hỏi cả quan điểm của họ. Bạn hoàn toàn có thể điều khiển và tinh chỉnh list sau đó .
Tiếp theo, hãy xem xét loại báo cáo giải trình hoặc quảng cáo qua thư bạn hoàn toàn có thể muốn tạo ra từ cơ sở dữ liệu. Ví dụ : bạn hoàn toàn có thể muốn báo cáo giải trình doanh thu loại sản phẩm hiển thị doanh thu theo khu vực hoặc báo cáo giải trình tóm tắt hàng tồn dư hiển thị mức tồn dư mẫu sản phẩm. Có thể bạn cũng muốn tạo thư biểu mẫu để gửi đến người mua, công bố một sự kiện bán hàng hoặc đưa ra phí trả thêm. Thiết kế báo cáo giải trình trong đầu và tưởng tượng báo cáo giải trình sẽ trông như ra làm sao. Bạn muốn đưa thông tin nào vào báo cáo giải trình ? Liệt kê từng mục. Thực hiện tựa như cho thư biểu mẫu và cho mọi báo cáo giải trình khác bạn dự tính tạo .
Việc đưa sáng tạo độc đáo vào báo cáo giải trình và thư tín bạn hoàn toàn có thể muốn tạo sẽ giúp xác lập được những mục thiết yếu trong cơ sở dữ liệu. Ví dụ : giả sử bạn mang đến cho người mua thời cơ chọn tham gia ( hoặc không tham gia ) cập nhật email định kỳ và bạn muốn in một list những người đã chọn tham gia đó. Để ghi lại thông tin đó, bạn cần thêm một cột Gửi email vào bảng người mua. Đối với mỗi người mua, bạn hoàn toàn có thể đặt trường là Có hoặc Không .
Yêu cầu gửi thư email cho người mua sẽ yêu cầu một mục khác để ghi lại. Khi bạn biết có người mua muốn nhận thư email, bạn cũng sẽ cần biết địa chỉ email để gửi thư cho họ. Do đó, bạn cần ghi lại địa chỉ email của từng người mua .
Việc tạo một mẫu thử nghiệm cho mỗi báo cáo giải trình hoặc list đầu ra và xem xét những mục bạn cần để tạo báo cáo giải trình. Ví dụ, khi bạn kiểm tra một bức thư biểu mẫu, một số ít điều hoàn toàn có thể sẽ xảy ra. Nếu bạn muốn đưa ra lời chào đúng mực ví dụ : chuỗi ” Mr. “, ” Mrs. ” hoặc ” MS. ” mở màn lời chào, bạn sẽ phải tạo một mục chào mừng. Ngoài ra, bạn thường hoàn toàn có thể mở màn một vần âm với ” Dear Mr. Smith “, chứ không phải là ” Dear. Mr. Sylvester Smith “. Điều này gợi ý rằng bạn thường muốn tàng trữ tên sau cuối với tên tiên phong .
Điểm chính cần ghi nhớ là bạn nên tách từng mẩu thông tin thành những phần nhỏ nhất, hữu dụng. Đối với tên, để giúp họ luôn sẵn dùng, bạn sẽ tách tên thành hai phần Tên và Họ. Chẳng hạn để sắp xếp báo cáo giải trình theo tên, sẽ hữu dụng nếu nhu yếu tàng trữ riêng họ của người mua. Nói chung, nếu bạn muốn sắp xếp, tìm kiếm, thống kê giám sát hoặc báo cáo giải trình dựa trên một mục thông tin thì bạn nên đặt mục đó vào một trường riêng .
Hãy nghĩ tới những câu hỏi bạn hoàn toàn có thể muốn cơ sở dữ liệu vấn đáp. Ví dụ : bạn đã kết thúc bán hàng được cho bao nhiêu mẫu sản phẩm điển hình nổi bật tháng trước ? Khách hàng thân thương của bạn sống ở đâu ? Nhà phân phối loại sản phẩm cháy khách nhất của bạn là ai ? Việc xem xét trước những câu hỏi này sẽ giúp bạn hướng tới những mục bổ trợ cần ghi lại .
Sau khi tích lũy thông tin này, bạn đã sẵn sàng chuẩn bị cho bước tiếp theo .
Đầu Trang
Phân chia thông tin vào các bảng
Để phân loại thông tin vào những bảng, hãy chọn những thực thể hoặc đối tượng người dùng chính. Ví dụ : sau khi tìm và sắp xếp thông tin về một cơ sở dữ liệu doanh thu loại sản phẩm, list sơ bộ sẽ trông như sau :
Những thực thể chính được hiển thị ở đây là loại sản phẩm, nhà sản xuất, người mua và đơn hàng. Do đó, tốt nhất, bạn nên khởi đầu với bốn bảng sau : một bảng dữ kiện về mẫu sản phẩm, một bảng dữ kiện về nhà phân phối, một bảng dữ kiện về người mua và một bảng dữ kiện về đơn hàng. Mặc dù bảng này không hoàn thành xong list nhưng đây là một điểm khởi đầu tốt. Bạn hoàn toàn có thể liên tục tinh chỉnh và điều khiển list này cho đến khi có được phong cách thiết kế tối ưu .
Khi lần đầu xem xét list mục sơ bộ, bạn hoàn toàn có thể muốn đặt toàn bộ chúng vào một bảng duy nhất, thay vì bốn bảng như hiển thị trong hình minh họa trước đó. Bạn sẽ biết nguyên do tại sao không nên đặt toàn bộ vào cùng một bảng ở đây. Hãy xem xét một chút ít, bảng hiển thị ở đây :
Trong trường hợp này, mỗi hàng đều chứa thông tin về cả mẫu sản phẩm lẫn nhà cung ứng. Do bạn hoàn toàn có thể có nhiều mẫu sản phẩm từ cùng một nhà phân phối nên thông tin tên và địa chỉ nhà cung ứng sẽ bị lặp lại nhiều lần. Như vậy rất tốn dung tích ổ đĩa. Việc chỉ ghi lại thông tin nhà cung ứng một lần trong bảng Nhà cung ứng riêng, rồi link bảng đó với bảng Sản phẩm là giải pháp tốt hơn nhiều .
Vấn đề thứ hai của phong cách thiết kế này là khi bạn cần sửa đổi thông tin về nhà phân phối. Ví dụ : giả sử bạn cần biến hóa địa chỉ của nhà sản xuất. Vì địa chỉ Open ở nhiều nơi nên bạn hoàn toàn có thể vô tình đổi khác địa chỉ ở chỗ này nhưng quên biến hóa địa chỉ ở những chỗ khác. Việc ghi lại địa chỉ của nhà sản xuất ở một nơi duy nhất sẽ xử lý được yếu tố .
Khi bạn phong cách thiết kế cơ sở dữ liệu của mình, hãy cố gắng nỗ lực chỉ ghi mỗi dữ kiện một lần. Nếu bạn thấy mình đang lặp lại cùng một thông tin ở nhiều chỗ, ví dụ điển hình như địa chỉ của một nhà phân phối đơn cử, hãy đặt thông tin đó vào một bảng riêng .
Cuối cùng, giả sử chỉ có một loại sản phẩm được phân phối bởi Coho Winery và bạn muốn xóa loại sản phẩm mà vẫn giữ lại thông tin tên và địa chỉ của nhà sản xuất. Bạn sẽ làm thế nào để xóa bản ghi mẫu sản phẩm mà không làm mất luôn thông tin nhà phân phối ? Không thể. Vì mỗi bản ghi sẽ chứa dữ kiện về một loại sản phẩm, cũng như dữ kiện về một nhà phân phối nên bạn không hề xóa bảng này mà không xóa bảng kia. Để tách riêng những dữ kiện này, bạn phải phân tách một bảng thành hai : một bảng thông tin loại sản phẩm và một bảng khác chứa thông tin nhà phân phối. Việc xóa bản ghi loại sản phẩm sẽ chỉ xóa dữ kiện về loại sản phẩm, chứ không xóa dữ kiện về nhà cung ứng .
Sau khi bạn chọn đối tượng người tiêu dùng mà bảng trình diễn, những cột trong bảng đó sẽ chỉ tàng trữ dữ kiện về đối tượng người dùng. Ví dụ : bảng loại sản phẩm sẽ chỉ tàng trữ dữ kiện về mẫu sản phẩm. Vì địa chỉ nhà cung ứng là một dữ kiện về nhà cung ứng, không phải dữ kiện về mẫu sản phẩm nên dữ kiện này sẽ nằm trong bảng nhà cung ứng .
Đầu Trang
Biến mục thông tin thành các cột
Để xác lập những cột trong bảng, hãy quyết định hành động thông tin bạn cần theo dõi về đối tượng người dùng được ghi trong bảng. Ví dụ : với bảng Khách hàng, Tên, Địa chỉ, mã Zip Thành phố Tiểu bang, Gửi email, Lời chào và Địa chỉ email sẽ gồm có một list cột khởi đầu tốt. Mỗi bản ghi trong bảng chứa cùng một tập hợp cột để bạn hoàn toàn có thể tàng trữ thông tin Tên, Địa chỉ, mã Zip Thành phố-Tiểu bang, Gửi email, Lời chào và Địa chỉ email về từng bản ghi. Ví dụ : cột địa chỉ có chứa địa chỉ của người mua. Mỗi bản ghi sẽ chứa dữ liệu về một người mua và trường địa chỉ sẽ chứa địa chỉ của người mua đó .
Sau khi đã quyết định hành động nhóm tập hợp cột khởi đầu của từng bảng, bạn hoàn toàn có thể tinh chỉnh thêm cho những cột. Ví dụ : bạn nên tàng trữ tên người mua thành hai cột riêng không liên quan gì đến nhau : tên và họ để hoàn toàn có thể sắp xếp, tìm kiếm và lập chỉ mục trên chính những cột đó. Tương tự, địa chỉ thực sự gồm năm thành phần riêng không liên quan gì đến nhau, địa chỉ, thành phố, tiểu bang, mã bưu điện và vương quốc / vùng chủ quyền lãnh thổ, bạn cũng nên tàng trữ chúng vào những cột riêng không liên quan gì đến nhau. Nếu bạn muốn thực thi tìm kiếm, lọc hoặc sắp xếp hoạt động giải trí, ví dụ điển hình như theo tiểu bang thì bạn cần lưu thông tin tiểu bang ở một cột riêng .
Bạn cũng cần xem xét xem liệu cơ sở dữ liệu chỉ giữ thông tin có nguồn gốc trong nước hay có nguồn gốc quốc tế. Ví dụ : nếu bạn dự tính tàng trữ những địa chỉ quốc tế, bạn nên có cột Khu vực thay cho cột Tiểu bang vì cột này hoàn toàn có thể tương thích cho cả những tiểu bang trong nước và những khu vực thuộc vương quốc / vùng chủ quyền lãnh thổ khác. Tương tự, Mã Bưu điện sẽ hữu dụng hơn Mã Zip nếu bạn chuẩn bị sẵn sàng tàng trữ những địa chỉ quốc tế .
Danh sách sau trình diễn 1 số ít mẹo cho việc quyết định hành động số cột của bạn .
-
Đừng bao gồm dữ liệu đã tính toán
Trong hầu hết trường hợp, bạn không nên tàng trữ hiệu quả giám sát trong bảng. Thay vào đó, bạn hoàn toàn có thể nhu yếu Access triển khai thống kê giám sát khi muốn xem tác dụng. Ví dụ : giả sử có một báo cáo giải trình Sản phẩm Đã Đặt hàng, hiển thị tổng phụ số đơn vị chức năng đã đặt cho từng hạng mục loại sản phẩm trong cơ sở dữ liệu. Tuy nhiên, sẽ không có cột tổng phụ Sản phẩm Đã Đặt hàng trong bất kỳ bảng nào. Thay vào đó, bảng Sản phẩm sẽ gồm có cột Số đơn vị chức năng Đã Đặt hàng, tàng trữ số đơn vị chức năng đã đặt cho từng loại sản phẩm. Access sẽ sử dụng dữ liệu đó để giám sát tổng phụ mỗi khi bạn in báo cáo giải trình. Không nên lưu tổng phụ trong bảng .
-
Lưu trữ thông tin trong các phần logic nhỏ nhất
Bạn hoàn toàn có thể muốn để trường đơn cho tên vừa đủ hoặc cho tên mẫu sản phẩm kèm theo miêu tả mẫu sản phẩm. Nếu bạn tích hợp nhiều loại thông tin trong một trường thì sau đó sẽ rất khó để truy xuất dữ kiện riêng. Hãy tìm cách tách thông tin thành những phần logic, ví dụ : tạo những trường riêng cho tên và họ hoặc cho tên loại sản phẩm, hạng mục và diễn đạt .
Sau khi tinh chỉnh và điều khiển những cột dữ liệu trong từng bảng, bạn đã sẵn sàng chuẩn bị chọn khóa chính cho từng bảng .
Đầu Trang
Chỉ định khóa chính
Mỗi bảng cần có một cột hoặc tập hợp cột riêng giúp xác định từng hàng được lưu trữ trong bảng. Đây thường là số nhận dạng duy nhất, chẳng hạn như số ID nhân viên hoặc số sê-ri. Trong thuật ngữ về cơ sở dữ liệu, thông tin này được gọi là khóa chính của bảng. Access sử dụng các trường khóa chính để liên kết nhanh dữ liệu từ nhiều bảng và kết hợp dữ liệu với nhau giúp bạn.
Nếu bạn đã có mã định danh duy nhất cho bảng, như số loại sản phẩm để xác lập riêng từng loại sản phẩm trong hạng mục, bạn hoàn toàn có thể sử dụng mã định danh đó làm khóa chính của bảng nhưng chỉ khi những giá trị trong cột này sẽ luôn khác với từng bản ghi. Khóa chính của bạn không hề có giá trị trùng lặp. Ví dụ : không sử dụng tên người làm khóa chính vì tên không phải là duy nhất. Bạn rất dễ gặp trường hợp hai người có cùng tên trong bảng .
Khóa chính sẽ luôn chỉ có một giá trị. Nếu một lúc nào đó, giá trị cột trở thành không xác lập hoặc không rõ ( giá trị bị thiếu ), bạn sẽ không hề sử dụng giá trị đó làm thành phần trong khóa chính .
Bạn phải luôn chọn khóa chính có giá trị không đổi. Trong một cơ sở dữ liệu sử dụng nhiều bảng, bạn hoàn toàn có thể sử dụng khóa chính của mình làm tham chiếu trong bảng khác. Nếu khóa chính biến hóa, biến hóa cũng cần được vận dụng ở những nơi khóa được tham chiếu. Việc sử dụng khóa chính sẽ không biến hóa việc giảm thời cơ khóa chính hoàn toàn có thể trở nên không đồng điệu với những bảng khác tham chiếu đến khóa .
Thông thường, người ta sẽ sử dụng 1 số ít duy nhất bất kể làm khóa chính. Ví dụ : bạn hoàn toàn có thể gán một số ít đơn hàng duy nhất cho từng đơn hàng. Mục đích duy nhất của số đơn hàng là để xác lập đơn hàng. Sau khi gán, số đơn hàng sẽ không khi nào đổi khác .
Nếu bạn không có sẵn cột hoặc tập hợp cột hoàn toàn có thể làm khóa chính tốt, hãy xem xét sử dụng cột có kiểu dữ liệu Số Tự động. Khi bạn sử dụng kiểu dữ liệu Số Tự động, Access sẽ tự động hóa gán một giá trị cho bạn. Mã định danh không chứa dữ kiện ; mã định danh không chứa thông tin trong thực tiễn miêu tả hàng mà mã đại diện thay mặt. Mã định danh không chứa dữ kiện là lựa chọn lý tưởng để dùng làm khóa chính vì chúng sẽ không biến hóa. Một khóa chính sẽ chứa những dữ kiện về một hàng số điện thoại cảm ứng hoặc tên người mua ví dụ điển hình nhiều năng lực sẽ biến hóa vì tự bản thân thông tin thực tiễn hoàn toàn có thể biến hóa .
1. Một cột được đặt là kiểu dữ liệu Số Tự động thường sẽ là một khóa chính tốt. Không có hai sản phẩm nào có ID giống nhau.
Trong một số ít trường hợp, bạn hoàn toàn có thể muốn sử dụng hai trường trở lên cùng nhau, cung ứng khóa chính cho bảng. Ví dụ : một bảng Chi tiết Đơn hàng tàng trữ những khoản mục về đơn hàng sẽ sử dụng hai cột trong khóa chính : ID Đơn hàng và ID Sản phẩm. Khi khóa chính tiến hành nhiều cột, khóa còn được gọi là khóa tổng hợp .
Với cơ sở dữ liệu doanh thu mẫu sản phẩm, bạn hoàn toàn có thể tạo ra cột Số Tự động cho từng bảng để làm khóa chính : ID_Sản_phẩm cho bảng Sản phẩm, ID_Đơn_hàng cho bảng Đơn hàng, ID_Khách_hàng cho bảng người mua và ID_Nhà_cung_cấp cho bảng Nhà cung ứng .
Đầu Trang
Tạo mối quan hệ cho bảng
Giờ bạn đã phân loại thông tin vào những bảng, bạn cần một cách để phối hợp thông tin lại với nhau theo những cách có ý nghĩa. Ví dụ : biểu mẫu sau đây gồm có thông tin từ một vài bảng .
1. Các thông tin trong biểu mẫu này được lấy từ bảng Khách hàng …
2. … bảng Nhân viên …
3. … bảng Đơn hàng …
4. … bảng Sản phẩm …
5. … và bảng Chi tiết Đơn hàng .
Access là một mạng lưới hệ thống quản trị cơ sở dữ liệu đối sánh tương quan. Trong cơ sở dữ liệu đối sánh tương quan, bạn phân loại thông tin vào những bảng riêng, dựa theo đối tượng người tiêu dùng. Sau đó, bạn sử dụng mối quan hệ giữa những bảng để phối hợp thông tin với nhau khi cần .
Đầu Trang
Tạo mối quan hệ một đối nhiều
Hãy xem xét ví dụ sau : bảng Nhà cung ứng và Sản phẩm trong cơ sở dữ liệu đơn hàng mẫu sản phẩm. Một nhà cung ứng hoàn toàn có thể phân phối bất kể số mẫu sản phẩm nào. Kết quả là, với mọi nhà phân phối được trình diễn trong bảng Nhà phân phối, hoàn toàn có thể có nhiều mẫu sản phẩm được trình diễn trong bảng Sản phẩm. Do đó, mối quan hệ giữa bảng Nhà cung ứng và bảng Sản phẩm là mối quan hệ một đối nhiều .
Để biểu lộ mối quan hệ một đối nhiều trong phong cách thiết kế cơ sở dữ liệu của bạn, hãy lấy khóa chính ở bên ” một ” của mối quan hệ rồi thêm khóa đó dưới dạng một cột hay nhiều cột bổ trợ vào bảng ở bên ” nhiều ” của mối quan hệ. Ví dụ : trong trường hợp này, bạn thêm cột ID Nhà phân phối từ bảng Nhà cung ứng vào bảng Sản phẩm. Khi đó, Access hoàn toàn có thể sử dụng số ID nhà phân phối trong bảng Sản phẩm để xác lập đúng nhà phân phối cho từng mẫu sản phẩm .
Cột ID Nhà cung ứng trong bảng Sản phẩm được gọi là khóa ngoại. Khóa ngoại là một khóa chính khác của bảng. Cột ID Nhà cung ứng trong bảng Sản phẩm là một khóa ngoại vì cột này cũng là khóa chính trong bảng Nhà cung ứng .
Bạn cung ứng cơ sở để link những bảng tương quan trải qua thiết lập ghép đôi khóa chính và khóa ngoại. Nếu bạn không chắc những bảng nào có chung cột, việc xác lập mối quan hệ một đối nhiều sẽ bảo vệ hai bảng có tương quan thực sự sẽ nhu yếu cột chung .
Đầu Trang
Tạo mối quan hệ nhiều đối nhiều
Hãy xem xét mối quan hệ giữa bảng Sản phẩm và bảng Đơn hàng .
Mỗi một đơn hàng hoàn toàn có thể gồm có nhiều loại sản phẩm. Mặt khác, mỗi một mẫu sản phẩm hoàn toàn có thể Open trên nhiều đơn hàng. Vì vậy, so với mỗi bản ghi trong bảng Đơn hàng, hoàn toàn có thể có nhiều bản ghi trong bảng Sản phẩm. Và so với mỗi bản ghi trong bảng Sản phẩm, hoàn toàn có thể sẽ có nhiều bản ghi trong bảng Đơn hàng. Mối quan hệ loại này được gọi là mối quan hệ nhiều đối nhiều vì với mẫu sản phẩm bất kể, hoàn toàn có thể có nhiều đơn hàng ; và với đơn hàng bất kể, hoàn toàn có thể có nhiều loại sản phẩm. Lưu ý rằng để phát hiện mối quan hệ nhiều đối nhiều giữa những bảng, điều quan trọng là bạn hãy xem xét cả hai phía của mối quan hệ .
Đối tượng của hai bảng đơn hàng và mẫu sản phẩm có mối quan hệ nhiều đối nhiều. Vấn đề Open ở đây. Để hiểu rõ yếu tố, hãy tưởng tượng điều gì xảy ra nếu bạn cố gắng nỗ lực tạo mối quan hệ giữa hai bảng bằng cách thêm trường ID Sản phẩm vào bảng Đơn hàng. Để có nhiều mẫu sản phẩm trên mỗi đơn hàng, bạn cần nhiều bản ghi trong bảng Đơn hàng cho mỗi đơn hàng. Bạn sẽ lặp lại thông tin đơn hàng cho từng hàng tương quan đến một đơn hàng duy nhất tác dụng là phong cách thiết kế không hiệu suất cao, dẫn đến dữ liệu không đúng mực. Bạn sẽ gặp phải yếu tố tựa như nếu bạn đặt trường ID Đơn hàng vào trong bảng Sản phẩm bạn sẽ có nhiều bản ghi trong bảng Sản phẩm cho từng loại sản phẩm. Bạn xử lý yếu tố này như thế nào ?
Câu vấn đáp là tạo một bảng thứ ba, thường gọi là bảng nối, tách mối quan hệ nhiều đối nhiều thành hai mối quan hệ một đối nhiều. Bạn chèn khóa chính từ một trong hai bảng vào bảng thứ ba. Kết quả là, bảng thứ ba sẽ ghi lại từng lần Open hoặc trường hợp mối quan hệ .
Mỗi bản ghi trong bảng Chi tiết Đơn hàng đại diện thay mặt cho một khoản mục trên đơn hàng. Khóa chính của bảng Chi tiết Đơn hàng gồm có hai trường khóa ngoại từ bảng Đơn hàng và bảng Sản phẩm. Việc sử dụng trường ID Đơn hàng riêng không hiệu suất cao như khóa chính cho bảng này vì một đơn hàng hoàn toàn có thể có nhiều khoản mục. ID Đơn hàng được lặp lại cho từng khoản mục trên đơn hàng để trường không chứa những giá trị duy nhất. Việc sử dụng trường ID Sản phẩm riêng cũng không hiệu suất cao vì một loại sản phẩm hoàn toàn có thể Open trên nhiều đơn hàng khác nhau. Nhưng tích hợp lại, hai trường sẽ luôn tạo ra một giá trị duy nhất cho từng bản ghi .
Trong cơ sở dữ liệu doanh thu loại sản phẩm, bảng Đơn hàng và bảng Sản phẩm không tương quan trực tiếp đến nhau. Thay vào đó, chúng tương quan gián tiếp qua bảng Chi tiết Đơn hàng. Mối quan hệ nhiều đối nhiều giữa đơn hàng và loại sản phẩm được biểu lộ trong cơ sở dữ liệu bằng cách sử dụng hai mối quan hệ một đối nhiều :
- Bảng Đơn hàng và bảng Chi tiết đơn hàng có mối quan hệ một đối nhiều. Mỗi đơn hàng hoàn toàn có thể có nhiều khoản mục nhưng mỗi khoản mục chỉ được liên kết với một đơn hàng .
- Bảng Sản phẩm và bảng Chi tiết Đơn hàng có mối quan hệ một đối nhiều. Mỗi loại sản phẩm hoàn toàn có thể có nhiều khoản mục link nhưng mỗi khoản mục chỉ tham chiếu đến một mẫu sản phẩm .
Từ bảng Chi tiết Đơn hàng, bạn hoàn toàn có thể xác lập mọi sản phẩn trên một đơn hàng đơn cử. Bạn cũng hoàn toàn có thể xác lập mọi đơn hàng về một mẫu sản phẩm đơn cử .
Sau khi phối hợp bảng Chi tiết Đơn hàng, list bảng và trường sẽ trông như sau :
Đầu Trang
Tạo mối quan hệ một đối một
Một kiểu mối quan hệ khác là mối quan hệ một đối một. Ví dụ : giả sử bạn cần ghi lại 1 số ít thông tin bổ trợ về loại sản phẩm đặc biệt quan trọng mà bạn sẽ hiếm khi cần hoặc chỉ vận dụng cho một vài loại sản phẩm. Vì bạn không cần thông tin này liên tục và vì việc tàng trữ thông tin trong bảng Sản phẩm sẽ tạo ra dung tích trống cho tổng thể loại sản phẩm vận dụng nên bạn cần đặt thông tin vào bảng riêng. Giống như bảng Sản phẩm, bạn sẽ sử dụng ID Sản phẩm làm khóa chính. Mối quan hệ giữa bảng bổ trợ này và bảng Sản phẩm là mối quan hệ một đối một. Với mỗi bản ghi trong bảng Sản phẩm, sẽ có sẵn một bản ghi khớp duy nhất trong bảng bổ trợ. Khi bạn xác lập mối quan hệ này, cả hai bảng phải có chung trường .
Khi bạn phát hiện có nhu yếu về mối quan hệ một đối một trong cơ sở dữ liệu, hãy xem xét xem liệu bạn hoàn toàn có thể phối hợp thông tin từ hai bảng vào trong một bảng không. Nếu vì nguyên do nào đó mà bạn không muốn phối hợp, có lẽ rằng vì việc đó hoàn toàn có thể dẫn đến nhiều dung tích trống, list sau đây sẽ cho biết cách bạn sẽ trình diễn mối quan hệ trong phong cách thiết kế :
- Nếu hai bảng có cùng đối tượng người dùng, có lẽ rằng bạn hoàn toàn có thể thiết lập mối quan hệ bằng cách sử dụng cùng khóa chính trong cả hai bảng .
- Nếu hai bảng có đối tượng người tiêu dùng khác nhau với khóa chính khác nhau, hãy chọn một trong hai bảng ( bảng này hoặc bảng kia ) và chèn khóa chính của bàng vào bảng còn lại làm khóa ngoại .
Việc xác lập mối quan hệ giữa những bảng sẽ giúp bạn bảo vệ rằng bạn có những bảng và cột đúng. Khi sống sót mối quan hệ một đối một hoặc một đối nhiều, những bảng tương quan sẽ cần có chung một hoặc nhiều cột. Khi sống sót mối quan hệ nhiều đối nhiều thì sẽ cần có một bảng thứ ba để biểu lộ mối quan hệ .
Đầu Trang
Tinh chỉnh thiết kế
Sau khi bạn có những bảng, trường và mối quan hệ thiết yếu, bạn nên tạo và điền dữ liệu mẫu vào những bảng, đồng thời thử thao tác với thông tin : tạo những truy vấn, thêm những bản ghi mới và v.v.. Việc này sẽ giúp tô sáng những yếu tố tiềm ẩn ví dụ : bạn hoàn toàn có thể cần thêm một cột bạn đã quên chèn trong quy trình tiến độ phong cách thiết kế hoặc bạn hoàn toàn có thể có một bảng cần phân tách thành hai bảng để vô hiệu trùng lặp .
Xem liệu bạn hoàn toàn có thể sử dụng cơ sở dữ liệu để nhận được câu vấn đáp mong ước không. Tạo bản thảo thô cho những biểu mẫu và báo cáo giải trình và xem liệu chúng có hiển thị dữ liệu như dự kiến không. Tìm dữ liệu trùng lặp không thiết yếu khi bạn tìm thấy bất kỳ trùng lặp nào, hãy đổi khác phong cách thiết kế để vô hiệu trùng lặp .
Khi dùng thử cơ sở dữ liệu bắt đầu, bạn sẽ hoàn toàn có thể phát hiện ra thời cơ để cải tổ. Sau đây là một vài nội dung cần kiểm tra :
- Bạn có quên bất kỳ cột nào không ? Nếu có, thông tin có thuộc về bảng hiện có không ? Nếu đó là thông tin về yếu tố khác, bạn hoàn toàn có thể cần tạo ra một bảng khác. Tạo cột cho mọi mục thông tin bạn cần theo dõi. Nếu không hề thống kê giám sát thông tin từ những cột khác thì hoàn toàn có thể bạn sẽ cần tạo cột mới cho thông tin .
- Có cột nào là dư thừa vì thông tin hoàn toàn có thể được thống kê giám sát từ những trường hiện tại không ? Nếu một mục thông tin hoàn toàn có thể được đo lường và thống kê từ những cột hiện có khác giá chiết khấu được tính từ giá kinh doanh nhỏ ví dụ điển hình tốt hơn bạn nên tính luôn, tránh tạo cột mới .
- Bạn có nhập lại thông tin trùng lặp vào một trong những bảng của mình không ? Nếu vậy, có lẽ rằng bạn cần phân loại bảng thành hai bảng có mối quan hệ một đối nhiều .
- Bạn có bảng với nhiều trường, số bản ghi hạn chế và nhiều trường trống trong bản ghi riêng ? Nếu vậy, hãy xem xét phong cách thiết kế lại bảng để bảng có ít trường và có nhiều bản ghi hơn .
- Mỗi mục thông tin đã được tách thành nhiều phần hữu dụng nhỏ nhất ? Nếu bạn cần báo cáo giải trình, sắp xếp, tìm kiếm hoặc đo lường và thống kê trên một mục thông tin, hãy đặt mục vào chính cột thông tin đó .
- Mỗi cột có chứa dữ kiện về đối tượng người dùng của bảng không ? Nếu cột không chứa thông tin về đối tượng người tiêu dùng của bảng thì cột sẽ thuộc về một bảng khác .
- Tất cả mối quan hệ giữa những bảng đã được trình diễn bằng trường chung hay bằng bảng thứ ba chưa ? Các mối quan hệ một đối một và một đối nhiều nhu yếu cột chung. Mối quan hệ nhiều đối nhiều nhu yếu bảng thứ ba .
Tinh chỉnh bảng Sản phẩm
Giả sử mỗi loại sản phẩm trong cơ sở dữ liệu doanh thu loại sản phẩm đều thuộc về cùng một hạng mục, ví dụ điển hình như đồ uống, gia vị hoặc món ăn hải sản. Bảng Sản phẩm hoàn toàn có thể chứa một trường hiển thị hạng mục cho từng loại sản phẩm .
Giả sử sau khi kiểm tra và tinh chỉnh và điều khiển phong cách thiết kế của cơ sở dữ liệu, bạn quyết định hành động tàng trữ diễn đạt hạng mục cùng với tên hạng mục. Nếu bạn thêm trường Mô tả Danh mục vào bảng Sản phẩm, bạn phải lặp lại từng diễn đạt hạng mục cho từng mẫu sản phẩm thuộc hạng mục đó đây không phải là giải pháp tốt .
Giải pháp tốt hơn là đưa Danh mục thành một đối tượng người dùng mới cho cơ sở dữ liệu để theo dõi, với bảng riêng và khóa chính riêng. Khi đó, bạn hoàn toàn có thể thêm khóa chính từ bảng Danh mục vào bảng Sản phẩm làm khóa ngoại .
Các bảng Danh mục và Sản phẩm có mối quan hệ một đối nhiều : một hạng mục hoàn toàn có thể gồm có nhiều mẫu sản phẩm nhưng một loại sản phẩm chỉ hoàn toàn có thể nằm trong một hạng mục .
Khi bạn xem lại cấu trúc bảng, hãy theo dõi những nhóm lặp lại. Chẳng hạn, xem xét bảng chứa những cột sau :
- ID Sản phẩm
- Tên
- ID Sản phẩm1
- Tên1
- ID Sản phẩm2
- Tên2
- ID Sản phẩm3
- Tên3
Ở đây, mỗi mẫu sản phẩm là một nhóm cột lặp lại khác với những cột khác chỉ khi thêm số vào cuối tên cột. Khi bạn thấy những cột được đánh số theo cách này, bạn cần truy nhập lại vào phong cách thiết kế .
Thiết kế này có một vài thiếu sót. Với người mới khởi đầu, phong cách thiết kế buộc bạn đặt số lượng giới hạn trên cho số mẫu sản phẩm. Ngay khi vượt quá số lượng giới hạn đó, bạn phải thêm một nhóm cột mới vào cấu trúc bảng, đây là một tác vụ quản trị chính .
Một yếu tố nữa là nếu những nhà phân phối đó có số mẫu sản phẩm ít hơn mức tối đa thì sẽ làm tiêu tốn lãng phí khoảng trống, vì những cột bổ trợ sẽ trống. Thiếu sót nghiêm trọng nhất với phong cách thiết kế này là phong cách thiết kế khiến bạn khó hoàn toàn có thể thực thi nhiều tác vụ, như sắp xếp hoặc lập chỉ mục bảng bằng ID hay tên loại sản phẩm .
Bất cứ khi nào bạn thấy nhóm tái diễn, hãy xem kỹ lại phong cách thiết kế, quan tâm đến việc phân tách bảng thành hai. Trong ví dụ ở trên, tốt hơn bạn nên sử dụng hai bảng, một bảng cho nhà phân phối và một bảng cho loại sản phẩm, được link bằng ID nhà cung ứng .
Đầu Trang
Áp dụng các quy tắc chuẩn hóa
Bạn hoàn toàn có thể vận dụng những quy tắc chuẩn hóa dữ liệu ( nhiều lúc được gọi là những quy tắc chuẩn hóa ) làm bước tiếp theo trong phong cách thiết kế. Bạn sử dụng những quy tắc này để xem liệu bảng của bạn đã được cấu trúc đúng chưa. Quy trình vận dụng quy tắc vào phong cách thiết kế cơ sở dữ liệu của bạn được gọi là chuẩn hóa cơ sở dữ liệu hoặc đơn thuần là chuẩn hóa .
Chuẩn hóa sẽ hữu dụng nhất sau khi bạn trình diễn mọi mục thông tin và đạt đến phong cách thiết kế sơ bộ. Ý tưởng này giúp bạn bảo vệ mình đã phân loại những mục thông tin vào bảng thích hợp. Chuẩn hóa không hề bảo vệ rằng bạn đã có toàn bộ những mục dữ liệu đúng để khởi đầu .
Bạn vận dụng những quy tắc này liên tục, ở mỗi bước để bảo vệ phong cách thiết kế của bạn đạt đến một trong những trạng thái được gọi là ” biểu mẫu thông thường “. Năm biểu mẫu thông thường được đồng ý thoáng rộng biểu mẫu thông thường tiên phong đến biểu mẫu thông thường thứ năm. Bài viết này phân phối thêm chi tiết cụ thể về ba biểu mẫu tiên phong vì chúng là biểu mẫu bắt buộc cho phần nhiều phong cách thiết kế cơ sở dữ liệu .
Biểu mẫu bình thường đầu tiên
Biểu mẫu thông thường tiên phong nêu rõ mỗi giao điểm giữa hàng và cột trong bảng đó sống sót một giá trị duy nhất và không phải là list giá trị. Ví dụ : bạn không hề đặt tên trường là Giá cả và đặt nhiều Giá cả trong đó. Nếu bạn ý niệm mỗi giao điểm của hàng và cột là một ô thì mỗi ô chỉ hoàn toàn có thể nhận một giá trị .
Biểu mẫu bình thường thứ hai
Biểu mẫu thông thường thứ hai nhu yếu mỗi cột không khóa phải trọn vẹn nhờ vào trên khóa chính, chứ không chỉ trên một phần khóa. Quy tắc này được vận dụng khi bạn có khóa chính chứa nhiều cột. Ví dụ : giả sử bạn có bảng chứa những cột sau, khi ID Đơn hàng và ID Sản phẩm hình thành khóa chính :
- ID Đơn hàng ( khóa chính )
- ID Sản phẩm ( khóa chính )
- Tên Sản phẩm
Thiết kế này vi phạm biểu mẫu thông thường thứ hai vì Tên Sản phẩm phụ thuộc vào vào ID Sản phẩm chứ không phải ID Đơn hàng nên phong cách thiết kế không phụ thuộc vào trọn vẹn vào khóa chính. Bạn phải vô hiệu Tên Sản phẩm khỏi bảng. Tên Sản phẩm thuộc một bảng khác ( Sản phẩm ) .
Biểu mẫu bình thường thứ ba
Biểu mẫu thông thường thứ ba không chỉ nhu yếu toàn bộ cột không khóa nhờ vào trọn vẹn vào khóa chính mà còn nhu yếu chúng độc lập với nhau .
Nói cách khác, mỗi cột không khóa phải phụ thuộc vào vào khóa chính và không gì ngoài khóa chính. Chẳng hạn, giả sử bạn có bảng chứa những cột sau :
- ID_Sản_phẩm ( khóa chính )
- Tên
- SRP
-
Chiết khấu
Giả sử Chiết khấu nhờ vào vào giá kinh doanh bán lẻ đề xuất kiến nghị ( SRP ). Bảng này vi phạm biểu mẫu thông thường thứ ba vì cột Chiết khấu không khóa phụ thuộc vào vào một cột không khóa khác, SRP. Sự độc lập của cột nghĩa là bạn hoàn toàn có thể đổi khác bất kỳ cột không khóa nào mà không làm tác động ảnh hưởng đến những cột khác. Nếu bạn biến hóa giá trị trong trường SRP, cột Chiết khấu sẽ đổi khác theo vì vi phạm quy tắc này. Trong trường hợp này, cột Chiết khấu sẽ được vận động và di chuyển sang bảng khác có khóa trên SRP .
Đầu Trang
Video liên quan
Source: https://sangtaotrongtamtay.vn
Category: Công nghệ