1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập Trình Cơ Sở Dữ Liệu Với CSharp- P4

10 7 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 754,07 KB

Nội dung

Cho phép thêm những hàng vào trong một bảng hay view. UPDATE Cho phép sủa đổi những hàng trong một bảng hay view. DELETE Cho phép loại bỏ những hàng từ một bảng hay view. EXEC DRI Cho phép thực thi một thủ tục lưu trữ. Cho phép thêm hay loại bỏ những ràng buộc, sự toàn vẹn, liên hệ, sự khai báo(DRI) tới một bảng. Những sự ràng buộc bảo đảm rằng những hoạt động thích hợp được sử lý khi thêm, điều chỉnh, hay loại bỏ những giá trị khóa ngọai. Những khóa ngoại chỉ rõ một cột...

INSERT Cho phép thêm hàng vào bảng hay view UPDATE Cho phép sủa đổi hàng bảng hay view DELETE Cho phép loại bỏ hàng từ bảng hay view EXEC Cho phép thực thi thủ tục lưu trữ DRI Cho phép thêm hay loại bỏ ràng buộc, toàn vẹn, liên hệ, khai báo(DRI) tới bảng Những ràng buộc bảo đảm hoạt động thích hợp sử lý thêm, điều chỉnh, hay loại bỏ giá trị khóa ngọai Những khóa ngoại rõ cột bảng liên quan đến cột bảng khác Bạn học khóa ngoại nhiều mục " Những mối quan hệ khóa ngoại " Hình 2.10: quyền hạn vai trị cơng cộng Rules : Một quy tắc biểu thức mà định giá trị tới true hay false xác định liệu bạn gán giá trị riêng biệt tới cột không Chẳng hạn, bạn có lẽ định nghĩa quy tắc rõ phạm vi giá trị, giá trị cung cấp bên phạm vi này, bạn khơng thể gán giá trị tới cột Những quy tắc cung cấp cho tính tương thích với phiên cũ SQL Server thay ràng buộc Bạn học ràng buộc nhiều mục " Tạo ràng buộc " tiếp sau Defaults: Một giá trị mặc định giá trị ban đầu gán bạn thêm hàng vào bảng Những mặc định cung cấp cho tính tương thích với phiên cũ SQL Server thay giá trị mặc định cột Bạn học nhiều giá trị mặc định mục " Tạo Bảng " sau User-Defined Data Types: kiểu liệu người dùng định nghĩa cho phép bạn tạo kiểu dựa vào kiểu SQL Server hữu Chẳng hạn, cho bạn muốn lưu trữ mã ZIP code Mỹ vài bảng sở liệu bạn; bạn tạo kiểu để lưu trữ chuỗi năm ký tự Và bạn muốn tăng chiều dài từ năm đến tám để lưu trữ mã ZIP code mở rộng, tất bạn cần làm sửa đổi kiểu bạn thay đổi phản ánh tất bảng nơi bạn sử dụng kiểu Full-Text Catalogs : danh mục văn đầy đủ cho phép bạn tạo số toàn văn bản, mà cho phép bạn thực tìm kiếm mệnh đề thông qua số lượng lớn văn Trong chương kế tiếp, bạn thấy Trình duyệt Server Visual Studio NET cho phép bạn sử dụng nhiều đặc trưng giống chứa thư mục sở liệu Enterprise Manager Đặc biệt, Trình duyệt Server cho phép bạn xem, tạo ra, sửa đổi mục sau đây: sơ đồ sở liệu (database diagrams), bảng, views , thủ tục lưu trữ (stored procedures), hàm người dùng định nghĩa Trong mục sau đây, bạn ý nghĩa thuật ngữ relational (có quan hệ) ngữ cảnh sở liệu quan hệ, bạn khám phá số bảng sở liệu Northwind Khám phá Cơ sở liệu Northwind Một sở liệu có nhiều bảng, Một số chúng có liên hệ lẫn Chẳng hạn, sở liệu Northwind chứa nhiều bảng, bốn số có tên: Customers, Orders, Order Details, Products Hình 2.11 lặp lại sơ đồ trình bày trước minh họa mối liên hệ bảng Hình 2.11: mối quan hệ bảng Customers, Orders, Order Details, Products Những cột cho bảng trình bày bên hộp Chẳng hạn, bảng khách hàng chứa đựng 11 cột: • • • • • • • • • • • CustomerID CompanyName ContactName ContactTitle Address City Region PostalCode Country Phone Fax Trong vài mục kế tiếp, bạn học số lý thuyết sở liệu, bạn học cột cột trước định nghĩa bảng khách hàng Bạn khám phá bảng Orders, Order Details, Products Những khóa Điển hình, bảng sở liệu có nhiều cột để xác định hàng bảng Cột biết khóa cho bảng Một khóa bao gồm nhiều cột Trong trường hợp này, khóa biết khóa tổ hợp Ghi nhớ : giá trị cho khóa hàng bảng phải (không trùng với giá trị khóa hàng khác) Trong trường hợp bảng khách hàng, khóa cột CustomerID Biểu tượng chìa khóa bên trái cột CustomerID Hình 2.11 định cột khóa cho bảng khách hàng Tương tự, khóa cho bảng Orders OrderID Khóa cho bảng Order Details tổ hợp từ hai cột: OrderID ProductID Khóa cho bảng Products (những sản phẩm) ProductID Mối quan hệ Bảng khóa ngoại Những đường nối bảng Hình 2.11, trình bày trước đó, cho thấy mối quan hệ bảng Dấu vô cực (∞) cuối đường định mối quan hệ một- nhiều hai bảng có nghĩa hàng bảng liên quan đến nhiều hàng bảng khác Chẳng hạn, bảng khách hàng (Customers) có mối quan hệ một- nhiều với bảng Orders (đơn đặt) Mỗi khách hàng đặt nhiều đơn đặt Tương tự, mối quan hệ một- nhiều đơn đặt (orders) bảng chi tiết đơn đặt (Order Details) có nghĩa đơn đặt bao gồm nhiều chi tiết đơn đặt (bạn hiểu chi tiết đơn đặt hàng đơn liệt kê hàng , với hàng tham chiếu tới sản phẩm riêng biệt đặt mua) Cuối cùng, mối quan hệ một- nhiều bảng sản phẩm (Products) chi tiết đơn đặt (Order Details) có nghĩa sản phẩm xuất nhiều chi tiết đơn đặt (Order Details) Những mối quan hệ một- nhiều mơ hình hóa sử dụng khóa ngoại Chẳng hạn, bảng đơn đặt có cột tên CustomerID Cột liên quan đến cột CustomerID bảng khách hàng thơng qua khóa ngoại Điều có nghĩa hàng bảng đơn đặt phải có hàng tương ứng bảng khách hàng với giá trị tương tự cột CustomerID Chẳng hạn, hàng bảng đơn đặt (Orders) có CustomerID ALFKI, phải có hàng bảng khách hàng (Customers) với CustomerID ALFKI Do mối quan hệ khách hàng đon đặt một- nhiều, điều có nghĩa có nhiều hàng đơn đặt với cột CustomerID giống Dựa khái niệm này, Bạn hiểu khóa ngoại trỏ từ bảng đơn đặt đến bảng khách hàng Thường thường, bảng chứa khóa ngoại hiểu bảng con, bảng chứa cột tham chiếu khóa ngoại hiể bảng cha Chẳng hạn, bảng đơn đặt bảng con, bảng khách hàng bảng cha Những mối quan hệ khóa ngoại thường hiểu mối quan hệ cha Ghi chú: Thuật ngữ relational (có quan hệ ) từ relational database (cơ sở liệu quan hệ ) đến từ thực tế bảng liên quan lẫn thơng qua khóa ngoại Bạn quản lý mối quan hệ cho bảng với Enterprise Manager (trình quản lý doanh nghiệp) cách chọn Table từ nút Tables , kích nút chuột phải, chọn Design Table (Thiết kế bảng) Rồi bạn kích nút Manage Relationships (Quản lý mối quan hệ) công cụ table designer (cửa sổ thiết kế bảng) Chẳng hạn, Hình 2.12 cho thấy mối quan hệ bảng khách hàng đơn đặt Hình 2.12: Mối quan hệ bảng Customers Orders Những bảng Customers Orders có liên quan với thông qua cột CustomerID Cột CustomerID bảng đơn đặt khóa ngoại Mối quan hệ hai bảng gán tên “FK_Orders_Customers” Những giá trị Null Những sở liệu phải cung cấp khả xử lý giá trị chưa gán vào, hay nói cách khác chưa biết Những giá trị chưa biết gọi giá trị Null (null values), cột định nghĩa là: cho phép hay không cho phép giá trị null Khi cột cho phép có giá trị null, cột gán giá trị null; ngược lại định nghĩa not-null Một cột not-null hàng phải ln có giá trị Nếu bạn thử thêm hàng không cung cấp giá trị tới cột định nghĩa not-null, sở liệu thông báo lỗi thêm hàng bạn thất bại Những số (Indexs) Khi tìm kiếm đề tài riêng biệt sách, bạn duyệt qua tồn sách để tìm kiếm đề tài bạn, hay sử dụng mục sách để tìm trực tiếp vị trí xác đề tài Một số cho bảng sở liệu tương tự khái niệm mục sách, có điều số sở liệu dùng để tìm hàng riêng biệt bảng Downside (mặt tiềm ẩn?) số hàng thêm vào bảng, cần thiết thời gian bổ xung để cập nhật số cho hàng Nói chung, bạn cần phải tạo số cột bạn thấy bạn truy xuất số hàng từ bảng chứa nhiều hàng Một kinh nghiệm tốt số hữu ích bạn mong đợi câu truy vấn đơn để truy xuất 10 phần trăm so với tổng số hàng bảng điều có nghĩa cột thích hợp cho số cần phải dùng để lưu trữ phạm vi rộng giá trị Một ứng cử viên tốt cho số hóa cột chứa số xác định cho ghi (hàng), ứng cử viên cho số hóa cột chứa phạm vi nhỏ mã số 1, 2, 3, hay Sự xuy xét ứng dụng cho tất kiểu sở liệu, riêng cho số Ghi chú: SQL Server tự động tạo số cho cột khóa bảng Bình thường, DBA chiụ trách nhiệm tạo số, người phát triển ứng dụng, bạn chắn biết nhiều ứng dụng bạn DBA có khả chọn cột ứng cử viên tốt cho số hóa Bạn quản lý số cho bảng với Enterprise Manager cách chọn bảng từ (node) nút Tables, kích nút phải chuột, chọn All Tasks Manage Indexes Chẳng hạn, Hình 2.13 cho thấy số cho bảng khách hàng Bạn quản lý số từ table designer kích nút Manage Indexes/Keys Hình 2.13: số cho bảng khách hàng Bảng Customers có năm số: cột CustomerID, City, CompanyName, PostalCode, Region columns Bạn học cách thêm số vào bảng mục " Tạo số " sau Những kiểu Cột Mỗi cột bảng có kiểu sở liệu cụ thể Kiểu tương tự kiểu biến C#, ngoại trừ kiểu sở liệu ứng dụng vào kiểu giá trị mà bạn lưu trử cột bảng Bảng 2.3 liệt kê kiểu sở liệu SQL Server Bảng 2.3: kiểu sở liệu SQL Server Kiểu liệu Mô tả bigint Giá trị số nguyên từ -263 (-9,223,372,036,854,775,808) to 263-1 (9,223,372,036,854,775,807) int Giá trị số nguyên từ -231 (-2,147,483,648) to 231-1 (2,147,483,647) smallint Giá trị số nguyên từ 215 (-32,768) to 215-1 (32,767) tinyint Giá trị số nguyên từ to 255 bit Giá trị số nguyên hoặc decimal giá trị số thập phân có độ xác cố định từ -1038 to 1038 numeric Tương tự decimal money Giá trị liệu tiền tệ từ -263 (-922,337,203,685,477.5808) to 263-1 (922,337,203,685,477.5807), với độ xác tới phần mười nghìn đơn vị tiền tệ smallmoney Giá trị liệu tiền tệ từ -214,748.3648 to 214,748.3647, với độ xác tới phần mười nghìn đơn vị tiền tệ float Giá trị kiểu dấu chấm động từ -1.79E+308 to 1.79E+308 real Giá trị kiểu dấu chấm động từ -3.40E + 38 to 3.40E + 38 datetime Giá trị ngày từ tháng giêng 1, 1753, đến tháng mười hai 31, 9999, với độ xác tới 3% giây (3.33 milli giây) smalldatetime Giá trị ngày tháng thời gian từ Tháng giêng 1, 1900 đến Tháng sáu 6, 2079 với độ xác tới phút char Những ký tự khơng phải Unicode có chiều dài cố định với chiều dài cực đại 8.000 ký tự varchar Những ký tự Unicode với chiều dài cực đại 8.000 ký tự text Những ký tự Unicode với chiều dài cực đại 231 (2,147,483,647) nchar Những ký tự Unicode chiều dài cố định với chiều dài cực đại 4.000 ký tự nvarchar Những ký tự Unicode chiều dài biến đổi ,chiều dài cực đại 4.000 ký tự ntext Những ký tự Unicode chiều dài thay đổi, chiều dài cực đại 230 (1,073,741,823) ký tự binary Dữ liệu nhị phân chiều dài cố định, chiều dài cực đại 8.000 bytes varbinary Dữ liệu nhị phân chiều dài thay đổi, chiều dài cực đại 8.000 bytes image Dữ liệu nhị phân chiều dài thay đổi, chiều dài cực đại 231 (2,147,483,647) bytes cursor Sự Tham khảo tới trỏ, gán tới hàng sql_variant Có thể lưu trữ giá trị nhiều kiểu liệu SQL server ngoại trừ text, ntext, timestamp, Sql_variant table Lưu trữ tập hàng timestamp Số nhị phân cập nhật bạn sửa đổi hàng Bạn định nghĩa cột timestamp bảng uniqueidentifier Định danh toàn cục (GUID) Tốt, đầy đủ lý thuyết! Chúng ta xem xét kỹ bảng khách hàng, đơn đặt, chi tiết đơn đặt, sản phẩm Bảng khách hàng (Customers) Bảng khách hàng chứa hàng mà lưu trữ chi tiết công ty đặt đơn đặt với Công ty Northwind Hình 2.14 cho thấy số hàng cột cất giữ bảng khách hàng Hình 2.14: hàng từ bảng khách hàng Như bạn thấy, hàng trình bày cho khách hàng có tên Alfreds Futterkiste; tên cất giữ cột CompanyName bảng khách hàng CustomerID cho hàng ALFKI, bạn thấy, CustomerID cho hàng Như đề cập trước đó, khóa cho bảng khách hàng cột CustomerID Nếu bạn thử thêm hàng với khóa dùng trong hàng bảng này, sở liệu loại bỏ hàng bạn Chẳng hạn, bạn thử thêm hàng vào bảng khách hàng với CompanyID ALFKI, hàng bị loại bỏ ALFKI sử dụng hàng bảng Mẹo nhỏ: Bạn tự xem hàng từ bảng chọn bảng Enterprise Manager, kích chuột phải, chọn Open Table Return all rows Bạn học nhiều xem hàng từ bảng sau mục " xây dựng câu truy vấn " Định nghĩa Bảng khách hàng Bảng 2.4 cho thấy định nghĩa cho cột Bảng khách hàng Bảng cho thấy tên cột, kiểu sở liệu, chiều dài, liệu cột cho phép giá trị null hay không Bảng 2.4: Định nghĩa cho cột Bảng khách hàng Tên cột CustomerID Kiểu sở liệu nchar Độ dài Cho phép giá trị Null ? No CompanyName nvarchar 40 No ContactName nvarchar 30 Yes ContactTitle nvarchar 30 Yes Address nvarchar 60 Yes City nvarchar 15 Yes Region nvarchar 15 Yes PostalCode nvarchar 10 Yes Country nvarchar 15 Yes Phone nvarchar 24 Yes Fax nvarchar 24 Yes Trong mục kế tiếp, bạn học bảng Đơn đặt (Orders) Bảng đơn đặt Bảng Orders chứa hàng cất giữ đơn đặt đặt khách hàng Hình 2.15 cho thấy số hàng cột cất giữ bảng Orders Hình 2.15: hàng từ bảng Orders Khóa cho bảng Orders cột OrderID, có nghĩa giá trị cho cột phải cho hàng Nếu bạn nhìn kỹ sáu hàng bảng Orders, bạn thấy cột CustomerID ALFKI, giống gái trị cột CustomerID hàng bảng khách hàng trình bày trước Hình 2.12 Bây bạn hiểu thơng tin liên hệ khóa ngoại Cột CustomerID bảng Orders khóa ngoại tham chiếu cột CustomerID bảng khách hàng Trong ví dụ này, bảng Orders bảng con, bảng khách hàng bảng cha Bạn hiểu khóa ngoại trỏ từ bảng Orders đến bảng khách hàng Bảng 2.5 cho thấy định nghĩa cho cột bảng Orders Bảng 2.5: Định nghĩa cho cột bảng Orders Tên cột Kiểu csdl Chiều dài Cho phép giá trị null ? OrderID int No CustomerID nchar Yes EmployeeID int Yes OrderDate datetime Yes RequiredDate datetime Yes ShippedDate datetime Yes ShipVia int Yes Freight money Yes ShipName nvarchar 40 Yes ShipAddress nvarchar 60 Yes ShipCity nvarchar 15 Yes ShipRegion nvarchar 15 Yes ShipPostalCode nvarchar 10 Yes ShipCountry nvarchar 15 Yes Bảng chi tiết đơn đặt Bảng chi tiết đơn đặt chứa hàng lưu giữ chi tiết đơn đặt Trong hình 2.16, hạn chế hàng truy xuất từ bảng chi tiết đơn đặt với hàng có cột OrderID 10643 (nó giống cột OrderID hàng bảng Orders trình bày trước Hình 2.15) Hình 2.16: hàng hạn chế từ bảng chi tiết đơn đặt Khóa cho bảng chi tiết đơn đặt tổ hợp cột OrderID CustomerID, có nghĩa tổ hợp giá trị hai cột phải cho hàng Đồng thời, cột OrderID bảng Order Details (những chi tiết đơn đặt) khóa ngoại tham chiếu cột OrderID bảng Ordres Cột ProductID bảng Order Details (chi tiết đơn đặt) khóa ngoại tham chiếu đến cột ProductID bảng sản phẩm Bảng 2.6 cho thấy định nghĩa cho cột Bảng chi tiết đơn đặt Bạn học bảng sản phẩm Bảng 2.6: Định nghĩa cho cột Bảng chi tiết đơn đặt Tên cột Kiểu sở liệu Chiều dài Cho phép giá trị Null ? OrderID int Yes ProductID int Yes UnitPrice money Yes Quantity smallint Yes Discount real Yes Bảng sản phẩm Bảng sản phẩm chứa hàng lưu trữ chi tiết sản phẩm bán Công ty Northwind Hình 2.17, Tơi có hạn chế hàng truy xuất từ bảng sản phẩm với cột ProductID 22, 39, 46 (chúng tương tự giá trị cho cột ProductID cho hàng bảng Order Details trước Hình 2.16) Hình 2.17: hàng hạn chế từ bảng sản phẩm Khóa cho bảng sản phẩm cột ProductID Cột CategoryID bảng sản phẩm khóa ngoại ,nó tham chiếu tới cột CategoryID bảng Categories Bảng Categories chứa nhiều hạng lọai sản phẩm Cột SupplierID bảng sản phẩm khóa ngọai tham chiếu tới cột SupplierID bảng Suppliers (nhà cung ứng) Bảng Suppliers chứa nhà cung ứng (Suppliers ) sản phẩm cho Công ty Northwind Bảng 2.7 cho thấy định nghĩa cho cột Bảng sản phẩm Bảng 2.7: Định nghĩa cho cột Bảng sản phẩm Tên cột Kiểu liệu Chiều dài Cho phép giá trị Null ? ProductID int No ProductName nvarchar 40 No SupplierID int Yes CategoryID int Yes QuantityPerUnit nvarchar 20 Yes UnitPrice money Yes UnitsInStock smallint Yes UnitsOnOrder smallint Yes ReorderLevel smallint Yes Discontinued bit Yes Trong mục bạn học xây dựng câu truy vấn để truiy xuất hàng từ bảng Xây dựng câu truy vấn sử dụng Enterprise Manager Bạn xây dựng câu truy vấn để khảo sát hàng bảng sử dụng Enterprise Manager (Trình quản trị doanh nghiệp) Trong mục này, bạn học xây dựng chạy câu truy vấn để xem đơn đặt khách hàng với CustomerID ALFKI, Cùng với chi tiết đơn đặt sản phẩm cho đơn đặt với OrderID 10643 Đặc biệt, bạn lựa chọn cột sau đây:  Những cột CustomerID cột CompanyName từ bảng khách hàng  Những cột OrderID cột OrderDate từ bảng Orders  Những cột ProductID Quantity (số lượng) từ bảng chi tiết đơn đặt Bắt đầu xây dựng câu truy vấn, chọn bảng khách hàng Enterprise Manager từ nút Tables thư mục Databases thuộc sở liệu Northwind Kích chuột phải chọn Open Table ¾ Query việc mở query builder (trình xây dựng truy vấn), Hình 2.18 ... quan hệ) ngữ cảnh sở liệu quan hệ, bạn khám phá số bảng sở liệu Northwind Khám phá Cơ sở liệu Northwind Một sở liệu có nhiều bảng, Một số chúng có liên hệ lẫn Chẳng hạn, sở liệu Northwind chứa... có kiểu sở liệu cụ thể Kiểu tương tự kiểu biến C#, ngoại trừ kiểu sở liệu ứng dụng vào kiểu giá trị mà bạn lưu trử cột bảng Bảng 2.3 liệt kê kiểu sở liệu SQL Server Bảng 2.3: kiểu sở liệu SQL... (1,073,741,823) ký tự binary Dữ liệu nhị phân chiều dài cố định, chiều dài cực đại 8.000 bytes varbinary Dữ liệu nhị phân chiều dài thay đổi, chiều dài cực đại 8.000 bytes image Dữ liệu nhị phân chiều

Ngày đăng: 08/05/2021, 18:12