Trang Chủ Tài chính Cá nhân Làm thế nào để Tạo một Bảng Xem với SQL - núm vú

Làm thế nào để Tạo một Bảng Xem với SQL - núm vú

Mục lục:

Video: Bài 1. Hướng dẫn kết nối, tạo database, tạo table và tạo liên kết giữa các table trong Sql Server 2025

Video: Bài 1. Hướng dẫn kết nối, tạo database, tạo table và tạo liên kết giữa các table trong Sql Server 2025
Anonim

Đôi khi, bạn muốn lấy thông tin cụ thể từ bảng KHÁCH HÀNG trong SQL. Bạn không muốn nhìn vào mọi thứ - chỉ các cột và hàng cụ thể. Những gì bạn cần là một cái nhìn.

Một xem là một bảng ảo. Trong hầu hết các triển khai, quan điểm không có sự tồn tại vật lý độc lập. Định nghĩa của khung nhìn chỉ tồn tại trong siêu dữ liệu của cơ sở dữ liệu, nhưng dữ liệu đến từ bảng hoặc bảng mà bạn lấy được khung nhìn. Dữ liệu của khung nhìn không được nhân đôi.

Chế độ xem bảng đơn

Nếu thông tin bạn muốn tồn tại trong một bảng duy nhất, bạn có thể tạo một chế độ xem bảng dữ liệu đơn. Ví dụ: giả sử bạn muốn xem tên và số điện thoại của tất cả khách hàng đang sống ở tiểu bang New Hampshire. Bạn có thể tạo một khung nhìn từ bảng CUSTOMER chỉ chứa dữ liệu bạn muốn. Câu lệnh SQL sau tạo ra khung nhìn này:

TẠO NHANH NH_CUST AS CHỌN KHÁCH HÀNG. FirstName, KHÁCH HÀNG. LastName, KHÁCH HÀNG. Điện thoại T FROM KHÁCH HÀNG TẠI KHÁCH HÀNG. Nhà nước = 'NH';

Bạn có thể thực hiện cùng một nhiệm vụ với việc gõ ít hơn nếu triển khai SQL của bạn giả định rằng tất cả các tham chiếu bảng giống như những người trong mệnh đề FROM. Nếu hệ thống của bạn đưa ra giả định mặc định hợp lý, bạn có thể giảm câu lệnh thành các dòng sau:

TẠO NHIEWNG NH_C NHƯ AS SELECT Tên, Họ, Điện thoại T FROM KHÁCH HÀNG Ở ĐÂU STATE = 'NH';

Mặc dù phiên bản thứ hai dễ đọc và dễ đọc hơn nhưng nó dễ bị gián đoạn hơn từ lệnh ALTER TABLE. Sự gián đoạn như vậy không phải là vấn đề cho trường hợp đơn giản này, không có JOIN, nhưng chế độ xem với JOIN mạnh mẽ hơn khi họ sử dụng tên đầy đủ.

Chế độ xem đa năng

Thông thường, bạn cần kéo dữ liệu từ hai bảng trở lên để trả lời câu hỏi của bạn. Ví dụ: ví dụ: bạn làm việc cho cửa hàng bán đồ thể thao và bạn muốn gửi thư khuyến mại tới tất cả khách hàng đã mua thiết bị trượt tuyết kể từ khi cửa hàng mở cửa vào năm ngoái.

Bạn cần thông tin từ bảng KHÁCH HÀNG, bảng PRODUCT, bảng INVOICE và bảng INVOICE_LINE. Bạn có thể tạo một khung nhìn đa năng cho thấy dữ liệu bạn cần. Mỗi lần bạn sử dụng chế độ xem, nó phản ánh bất kỳ thay đổi nào xảy ra trong các bảng bên dưới kể từ lần cuối cùng bạn sử dụng chế độ xem.

Cơ sở dữ liệu cho cửa hàng bán đồ thể thao này có bốn bảng: KHÁCH HÀNG, SẢN PHẨM, HOẠT ĐỘNG, và INVOICE_LINE.

Cột Kiểu dữ liệu Hạn chế KHÁCH HÀNG
CustomerID INTEGER KHÔNG NULL FirstName
CHAR (15) LastName < CHAR (20)
NOT NULL Đường phố CHAR (25)
Thành phố CHAR (20)
Bang CHAR (2)
Zipcode > CHAR (10) Điện thoại
CHAR (13) PRODUCT
ProductID INTEGER
KHÔNG NULL Tên CHAR (25) Mô tả > CHAR (30)
Danh mục CHAR (15)
VendorID INTEGER
VendorName CHAR (30)
HỢP ĐỒNG InvoiceNumber
INTEGER KHÔNG NULL
CustomerID INTEGER InvoiceDate DATE
TotalSale NUMERIC (9, 2)
TotalRemitted NUMERIC (9, 2)
FormOfPayment > CHAR (10) INVOICE_LINE
LineNumber INTEGER
KHÔNG NULL InvoiceNumber
INTEGER KHÔNG NULL ProductID INTEGER
KHÔNG NULL > Số lượng INTEGER Giá bánSố
NUMERIC (9, 2) Lưu ý rằng một số cột có chứa ràng buộc NOT NULL.Các cột này là các khóa chính của các bảng hoặc cột tương ứng mà bạn quyết định phải
có chứa một giá trị. Khóa chính của bảng phải xác định duy nhất mỗi hàng. Để làm điều đó, khóa chính phải chứa một giá trị không phải null trong mỗi hàng. Các bảng liên quan đến nhau thông qua các cột mà chúng có điểm chung. Danh sách dưới đây mô tả các mối quan hệ này:
Bảng CUSTOMER có một một-nhiều mối quan hệ

vào bảng INVOICE. Một khách hàng có thể mua nhiều lần, tạo ra nhiều hóa đơn. Tuy nhiên, mỗi hóa đơn liên quan đến một và chỉ một khách hàng. Bảng INVOICE mang một mối quan hệ một đến nhiều với bảng INVOICE_LINE. Hóa đơn có thể có nhiều dòng nhưng mỗi dòng xuất hiện trên một, và chỉ một, hóa đơn. Bảng PRODUCT cũng có quan hệ một đến nhiều với bảng INVOICE_LINE. Một sản phẩm có thể xuất hiện trên nhiều dòng trên một hoặc nhiều hóa đơn. Mỗi dòng, tuy nhiên, đề cập đến một, và chỉ có một, sản phẩm.

Bảng CUSTOMER liên kết đến bảng INVOICE bằng cột CustomerID phổ biến. Bảng INVOICE liên kết đến bảng INVOICE_LINE bằng cột InvoiceNumber chung. Bảng PRODUCT liên kết đến bảng INVOICE_LINE bằng cột ProductID phổ biến. Các liên kết này là những gì làm cho cơ sở dữ liệu này là

  • quan hệ cơ sở dữ liệu. Để truy cập thông tin về khách hàng đã mua thiết bị trượt tuyết, bạn cần Tên, Họ, Phố, Thành phố, Tiểu bang và Mã bưu điện từ bảng KHÁCH HÀNG; Danh mục từ bảng PRODUCT; InvoiceNumber từ bảng INVOICE; và LineNumber từ bảng INVOICE_LINE. Bạn có thể tạo chế độ xem mà bạn muốn theo các giai đoạn bằng cách sử dụng các câu lệnh sau:

  • TẠO XEM SKI_CUST1 AS SELECT FirstName, LastName, Street, City, State, Zipcode, InvoiceNumber FROM CUSTOMER JOIN INVOICE S US DỤNG (CustomerID); TẠO VIEW SKI_CUST2 AS SELECT Tên, Họ, Phố, Thành phố, Tiểu bang, Mã bưu điện, ProductID FROM SKI_CUST1 CHUYỂN NHẬP TRONG S US DỤNG (InvoiceNumber); TẠO VIEW SKI_CUST3 AS SELECT Tên, Họ, Phố, Thành phố, Tiểu bang, Mã Zip, Loại FROM SKI_CUST2 THAM GIA SẢN PHẨM S US DỤNG (ProductID); TẠO VIEW SKI_CUST AS SELECT DISTINCT Tên, Họ, Phố, Thành phố, Tiểu bang, Mã bưu cục FROM SKI_CUST3 WHERE CATEGORY = 'Ski';

  • Các câu lệnh CREATE VIEW kết hợp dữ liệu từ nhiều bảng bằng cách sử dụng toán tử JOIN.

Dưới đây là một tóm lược của bốn câu lệnh CREATE VIEW: Câu lệnh đầu tiên kết hợp các cột từ bảng CUSTOMER với một cột của bảng INVOICE để tạo ra khung nhìn SKI_CUST1. Câu lệnh thứ hai kết hợp SKI_CUST1 với một cột từ bảng INVOICE_LINE để tạo chế độ xem SKI_CUST2.

Câu lệnh thứ ba kết hợp SKI_CUST2 với một cột từ bảng PRODUCT để tạo chế độ xem SKI_CUST3.

Câu lệnh thứ tư lọc tất cả các hàng không có danh mục Ski. Kết quả là chế độ xem (SKI_CUST) có chứa tên và địa chỉ của tất cả khách hàng đã mua ít nhất một sản phẩm trong danh mục Trượt tuyết.

Từ khoá DISTINCT trong mệnh đề SELECT CREATE VIEW thứ tư đảm bảo rằng bạn chỉ có một mục cho mỗi khách hàng, ngay cả khi một số khách hàng mua nhiều mặt hàng trượt tuyết.

Làm thế nào để Tạo một Bảng Xem với SQL - núm vú

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

Làm thế nào để Resize Elements và Tạo Gradient với CSS3 - núm vú

Làm thế nào để Resize Elements và Tạo Gradient với CSS3 - núm vú

Bạn có thể làm theo nghĩa đen hàng trăm thủ thuật trên trang web của bạn với CSS3. Trong số các thủ thuật chính là thay đổi kích thước các phần tử của trang web và tạo gradient cho nền của bạn. Làm thế nào để thay đổi kích thước các yếu tố với CSS3 Bạn đã không nghi ngờ gì về việc thay đổi kích thước cửa sổ trình duyệt. Với CSS3, giờ đây bạn có thể thay đổi kích thước của bất kỳ trang web nào.

Làm thế nào để cung cấp một tài liệu phác thảo với CSS3 - núm vú

Làm thế nào để cung cấp một tài liệu phác thảo với CSS3 - núm vú

Bằng CSS3 để tạo ra một phác thảo tài liệu rất hữu ích khi một trang chứa rất nhiều tài liệu và bạn muốn người dùng điều hướng nó một cách dễ dàng. Đề cương dựa vào các thẻ khác nhau mà bạn cung cấp. Phương pháp hiện tại để tạo một phác thảo tài liệu là sử dụng thẻ thông qua . Phương pháp này hoạt động tốt ...

Làm thế nào để đăng ký tài khoản Google - núm vú

Làm thế nào để đăng ký tài khoản Google - núm vú

Google Page creator cung cấp các công cụ tinh vi cho phép người mới bắt đầu thiết kế các trang web. Trước khi bạn có thể sử dụng Google Page Creator để xây dựng trang web của riêng bạn, bạn phải đăng ký tài khoản Google. Để đăng ký và bắt đầu xây dựng một trang Web, hãy làm theo các bước sau:

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

Các văn bản cần thiết của Office 2007 - núm vú

Các văn bản cần thiết của Office 2007 - núm vú

Bạn có thể chạy chương trình Office 2007 dễ dàng hơn nếu bạn sử dụng các phím tắt đơn giản này. Các lệnh này, chẳng hạn như hoàn tác sai lầm và phóng to và thu nhỏ sẽ giúp bạn tiết kiệm thời gian. Nhập các ký hiệu: Để nhập một ký hiệu hoặc ký tự ngoại quốc không có trên bàn phím của bạn, hãy chuyển đến tab Chèn và nhấp vào biểu tượng ...

Tùy biến các lệnh Menu trong Office 2003 - núm vú

Tùy biến các lệnh Menu trong Office 2003 - núm vú

Office 2003 cung cấp hai kỹ thuật để tùy biến menu và lệnh menu. Bạn có thể bắt đầu từ hộp thoại các Lệnh sắp xếp lại hoặc sử dụng phương pháp kéo và thả. Hãy đọc tiếp. Xử lý các lệnh menu trong hộp thoại Learrange Commands Kỹ thuật nút nút Thanh công cụ cho phép xử lý các nút trên thanh công cụ và tinh vi, nhưng nếu bạn muốn ...

10 Excel Các loại biểu đồ và khi nào sử dụng chúng - những núm vú

10 Excel Các loại biểu đồ và khi nào sử dụng chúng - những núm vú

Xây dựng biểu đồ trong Excel trong và ngoài bản thân nó không phải là một điều rất khó khăn để làm. Phần khó khăn là nhận được tâm trí của bạn xung quanh những loại biểu đồ để sử dụng trong tình huống đó. Excel có 11 loại biểu đồ chính với các biến thể trên mỗi loại. Đối với hầu hết các bảng điều khiển và báo cáo kinh doanh, bạn sẽ chỉ cần một ...

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

Phương pháp Java là gì? - núm vú

Phương pháp Java là gì? - núm vú

Sự hiểu biết về phương pháp Java cũng giống như hiểu biết về các công việc khác mà bạn có thể thực hiện trong cuộc sống hàng ngày của mình. Giả sử bạn đang làm việc như một thợ cơ khí tự động trong một nhà để xe sang trọng. Ông chủ của bạn, người luôn vội vàng và có thói quen chạy các từ với nhau, nói, "fixTheAlternator trên junkyOldFord đó. "Tâm trí, bạn chạy qua một danh sách ...

ĐIều gì để cài đặt trên máy tính của bạn để tạo các chương trình Java - núm vú

ĐIều gì để cài đặt trên máy tính của bạn để tạo các chương trình Java - núm vú

Một lập trình Java sử dụng các chương trình hiện có như các công cụ để tạo ra các chương trình mới. Các chương trình hiện có và các chương trình mới có thể thực hiện các nhiệm vụ rất khác nhau. Ví dụ: chương trình Java (chương trình bạn tạo) có thể theo dõi khách hàng của doanh nghiệp. Để tạo một chương trình theo dõi khách hàng, bạn có thể sử dụng một chương trình hiện có ...

ĐIều bạn cần biết về các ngoại lệ trong Java - núm vú

ĐIều bạn cần biết về các ngoại lệ trong Java - núm vú

Ngoại lệ là một đối tượng được tạo ra khi một lỗi xảy ra trong một chương trình Java, và Java không thể tự động sửa lỗi. Đối tượng ngoại lệ chứa thông tin về loại lỗi xảy ra. Thông tin quan trọng nhất - nguyên nhân gây ra lỗi - được chỉ ra bởi tên của lớp ngoại lệ được sử dụng ...