Trang Chủ Tài chính Cá nhân SQL Thứ nhất, thứ hai và thứ ba Hình thức bình thường - núm vú

SQL Thứ nhất, thứ hai và thứ ba Hình thức bình thường - núm vú

Mục lục:

Video: 10 Tư Thế Quan Hệ Khiến Đàn Ông Phát Điên Rồ Dại | Giang Venux 2025

Video: 10 Tư Thế Quan Hệ Khiến Đàn Ông Phát Điên Rồ Dại | Giang Venux 2025
Anonim

Có ba nguồn dị thường sửa đổi trong SQL được định nghĩa là các dạng bình thường đầu tiên, thứ hai và thứ ba (1NF, 2NF, 3NF). Những hình thức bình thường này đóng vai trò như các biện pháp khắc phục sự dị thường của việc sửa đổi. Hình thức bình thường thứ nhất

Để có dạng bình thường đầu tiên (1NF), bảng phải có các đặc điểm sau:

Bảng là hai chiều với các hàng và cột.

  • Mỗi hàng chứa dữ liệu liên quan đến một số thứ hoặc một phần của một vật.

  • Mỗi cột chứa dữ liệu cho một thuộc tính duy nhất của điều mà nó mô tả.
  • Mỗi ô (giao điểm của một hàng và một cột) của bảng phải có chỉ một giá trị duy nhất.

  • Các mục trong bất kỳ cột nào đều phải cùng loại. Ví dụ: nếu mục nhập trong một hàng của một cột chứa một tên nhân viên, tất cả các hàng khác cũng phải chứa tên nhân viên trong cột đó.

  • Mỗi cột phải có một tên duy nhất.
  • Không có hai hàng có thể giống hệt nhau (nghĩa là mỗi hàng phải là duy nhất).

  • Thứ tự các cột và thứ tự các hàng không đáng kể.

  • Một bảng (quan hệ) ở dạng bình thường đầu tiên có thể miễn dịch với một số loại dị thường sửa đổi nhưng vẫn phụ thuộc vào một số khác. Bảng SALES ở dạng bình thường đầu tiên, và bảng có thể bị xóa và chèn bất thường. Hình thức bình thường đầu tiên có thể hữu ích trong một số ứng dụng nhưng không đáng tin cậy ở những người khác.

Hình thức bình thường thứ hai

Để đánh giá hình thức bình thường thứ hai, bạn phải hiểu ý tưởng về sự phụ thuộc chức năng. Một

chức năng phụ thuộc là một mối quan hệ giữa hoặc giữa các thuộc tính. Một thuộc tính phụ thuộc chức năng vào một giá trị khác nếu giá trị của thuộc tính thứ hai xác định giá trị của thuộc tính đầu tiên. Nếu bạn biết giá trị của thuộc tính thứ hai, bạn có thể xác định giá trị của thuộc tính đầu tiên. Giả sử, ví dụ, bảng có các thuộc tính (cột) StandardCharge, NumberOfTest và TotalCharge liên quan đến phương trình sau:

TotalCharge = StandardCharge * NumberOfTests

TotalCharge phụ thuộc chức năng của StandardCharge và NumberOfTest. Nếu bạn biết các giá trị của StandardCharge và NumberOfTest, bạn có thể xác định giá trị của TotalCharge.

Mỗi bảng ở dạng bình thường đầu tiên phải có một khoá chính duy nhất. Khóa đó có thể bao gồm một hoặc nhiều cột. Một khóa bao gồm nhiều hơn một cột được gọi là chìa khóa tổng hợp

. Để được ở dạng bình thường thứ hai (2NF), tất cả các thuộc tính không phải khóa phải phụ thuộc vào toàn bộ khóa. Do đó, mọi mối quan hệ trong 1NF với một thuộc tính duy nhất được tự động ở dạng bình thường thứ hai. Nếu một quan hệ có một phím tổng hợp, tất cả các thuộc tính không phải là chìa khóa phải phụ thuộc vào tất cả các thành phần của khoá. Nếu bạn có một bảng trong đó một số thuộc tính không phải là chìa khóa không phụ thuộc vào tất cả các thành phần của khoá, hãy chia bảng thành hai hay nhiều bảng sao cho trong mỗi bảng mới - tất cả các thuộc tính không quan trọng phụ thuộc vào tất cả các thành phần của khóa chính.

Âm thanh khó hiểu? Xem ví dụ để làm rõ vấn đề. Xem xét bảng SALES. Thay vì chỉ ghi một lần mua cho mỗi khách hàng, bạn thêm một hàng mỗi khi khách hàng mua một mặt hàng lần đầu tiên. Sự khác biệt nữa là khách hàng điều lệ (những người có giá trị Customer_ID từ 1001 đến 1007) được giảm giá so với giá thông thường.

Customer_ID không xác định duy nhất một hàng. Trong hai hàng, Customer_ID là 1001. Trong hai hàng khác, Customer_ID là 1010. Sự kết hợp của cột Customer_ID và cột Product xác định duy nhất một hàng. Hai cột này lại với nhau là một khóa tổng hợp.

Nếu không phải vì thực tế là một số khách hàng đủ điều kiện để giảm giá và những người khác thì không, bảng sẽ không ở dạng bình thường thứ hai, bởi vì Price (một thuộc tính không thuộc khóa) sẽ chỉ phụ thuộc vào một phần của khóa (Sản phẩm). Bởi vì một số khách hàng đủ điều kiện được giảm giá, Giá phụ thuộc vào cả CustomerID và Product, và bảng ở dạng bình thường thứ hai.

Hình thức bình thường thứ ba

Các bảng trong hình thức bình thường thứ hai đặc biệt dễ bị tổn thương đối với một số loại dị thường sửa đổi - đặc biệt là các loại phụ thuộc.

Sự phụ thuộc quá cảnh xảy ra khi một thuộc tính phụ thuộc vào thuộc tính thứ hai, phụ thuộc vào thuộc tính thứ ba. Xoá trong một bảng với sự phụ thuộc như vậy có thể gây ra mất mát thông tin không mong muốn. Một mối quan hệ trong hình thức bình thường thứ ba là một mối quan hệ ở dạng bình thường thứ hai không có phụ thuộc chuyển tiếp. Hãy nhìn lại bảng SALES, mà bạn biết là ở dạng bình thường đầu tiên. Miễn là bạn hạn chế các mục để chỉ cho phép một hàng cho mỗi Customer_ID, bạn có một khóa chính một thuộc tính duy nhất, và bảng đó ở dạng bình thường thứ hai. Tuy nhiên, bảng vẫn còn phải đối mặt với sự bất thường. Điều gì sẽ xảy ra nếu khách hàng 1010 không hài lòng với chất tẩy clo, và trả lại hàng hoá để hoàn lại tiền?

Bạn muốn loại bỏ hàng thứ ba khỏi bảng, ghi lại thực tế là khách hàng mua 1010 chất tẩy chlorine. Bạn có vấn đề: Nếu bạn loại bỏ hàng đó, bạn cũng mất thực tế là thuốc tẩy chlorine có giá $ 4. Tình huống này là một ví dụ về sự phụ thuộc xuyên suốt. Giá phụ thuộc vào Sản phẩm, mà đến lượt nó phụ thuộc vào khóa chính Customer_ID.

Việc chia bảng SALES thành hai bảng giải quyết vấn đề phụ thuộc chuyển tiếp. Hai bảng tạo nên một cơ sở dữ liệu ở dạng bình thường thứ ba.

SQL Thứ nhất, thứ hai và thứ ba Hình thức bình thường - núm vú

Lựa chọn của người biên tập

Quản trị mạng: Làm thế nào Các Tác vụ DHCP - núm vú

Quản trị mạng: Làm thế nào Các Tác vụ DHCP - núm vú

Bạn có thể cấu hình và sử dụng Dynamic Host Configuration Protocol (DHCP) các chi tiết về cách cấu hình máy khách DHCP thực sự hoạt động. Tuy nhiên, sự hiểu biết cơ bản về quá trình này có thể giúp bạn hiểu được DHCP thực sự đang làm gì. Sự hiểu biết này không chỉ đơn giản là sáng tỏ, mà nó còn có thể giúp ích khi bạn đang khắc phục sự cố DHCP. Các

Quản trị mạng: Cấu hình FTP - núm vú

Quản trị mạng: Cấu hình FTP - núm vú

Bạn cấu hình vsftpd mặc dù tệp cấu hình có tên vsftpd. conf, nằm trong / etc. Mặc định vsftpd. conf được hiển thị như sau. Bạn có thể học hỏi rất nhiều về cách vsftpd hoạt động đơn giản bằng cách đọc qua tập tin cấu hình này. Vsftpd. conf File # Ví dụ tập tin cấu hình / etc / vsftpd. conf # # Mặc định biên soạn trong các cài đặt khá paranoid. ...

Quản trị mạng: Cài đặt và Cấu hình Máy chủ DHCP - núm vú

Quản trị mạng: Cài đặt và Cấu hình Máy chủ DHCP - núm vú

Các bước chính xác mà bạn nên làm khi cấu hình và quản lý máy chủ DHCP (Dynamic Host Configuration Protocol) tùy thuộc vào hệ điều hành mạng mà bạn đang sử dụng. Các thủ tục sau đây cho bạn thấy làm thế nào để làm việc với một máy chủ DHCP trong Windows Server 2008. Thủ tục cho các hệ điều hành khác cũng tương tự. Để cài đặt DHCP ...

Lựa chọn của người biên tập

Các công cụ để trò chuyện với cộng đồng trực tuyến của bạn - những người có núm vú

Các công cụ để trò chuyện với cộng đồng trực tuyến của bạn - những người có núm vú

Cuộc trò chuyện trực tiếp rất có giá trị để phát triển cộng đồng trực tuyến của bạn và tạo sự tin tưởng giữa bạn, công ty bạn làm việc, và những người tạo nên cộng đồng của bạn. Xin lưu ý rằng những buổi này đòi hỏi một chút cam kết vì bạn phải quảng bá sự kiện, mời cộng đồng và kiểm duyệt cuộc trò chuyện. Ở đó ...

Theo dõi ý tưởng Blog của bạn với Evernote - núm vú

Theo dõi ý tưởng Blog của bạn với Evernote - núm vú

Nếu bảng nội thất làm bằng tay hoặc một trên Pinterest dường như không hấp dẫn, hãy thử Evernote để thu thập các mặt hàng cho bảng thiết kế blog. Evernote là một chương trình giúp bạn dễ dàng lưu trữ các bài viết, hình ảnh và thậm chí các bản ghi âm của riêng bạn ở một nơi. Evernote cũng có một ứng dụng mạnh mẽ cho điện thoại thông minh.

Theo dõi Các liên kết liên kết để cải thiện mẹ Blog Sales - núm vú

Theo dõi Các liên kết liên kết để cải thiện mẹ Blog Sales - núm vú

Sub-ID, SID, bit của văn bản mà bạn có thể thêm vào hầu hết các liên kết liên kết sẽ được theo dõi trong quá trình bán hàng. Khi bạn bắt đầu thiết lập được bằng cách sử dụng các liên kết liên kết, bạn sẽ thấy các trường hợp mà bạn muốn biết chi tiết hơn về cách bán hàng diễn ra như thế nào. Đặc biệt nếu bạn sử dụng

Lựa chọn của người biên tập

Tránh Hacks với Linux Test Tools - núm vú

Tránh Hacks với Linux Test Tools - núm vú

Bạn có thể sử dụng nhiều công cụ an ninh UNIX để kiểm tra các hệ thống Linux của bạn . Một số tốt hơn nhiều so với những người khác. Dù bằng cách nào, bạn cần phải có biện pháp chống lại tin tặc và kiểm tra hệ thống của bạn! Các công cụ thương mại dựa trên Windows dường như làm tốt công việc như bất kỳ. Một số mục yêu thích như sau: Bộ công cụ BackTrack Linux trên một đĩa CD có khả năng khởi động ...

Banner Grabs có thể cho một Hacker Thông tin để tấn công E-mail - núm vú

Banner Grabs có thể cho một Hacker Thông tin để tấn công E-mail - núm vú

Khi hacker một máy chủ e-mail, một đơn hàng đầu tiên của hacker đang thực hiện một banner cơ bản để xem liệu anh ta có thể phát hiện được phần mềm máy chủ thư điện tử nào đang chạy. Đây là một trong những bài kiểm tra quan trọng nhất để tìm ra thế giới biết về máy chủ SMTP, POP3 và IMAP của bạn. Thu thập thông tin Bạn có thể ...

Các Thiết lập Mạng Mac cơ bản - núm vú

Các Thiết lập Mạng Mac cơ bản - núm vú

Hầu hết các thiết lập mạng trên hệ điều hành OS X của Mac đều tự động. Nếu bạn muốn, bạn có thể xem và thay đổi cài đặt mạng mặc định bằng cách làm theo các bước sau: