1. Trang chủ
  2. » Giáo án - Bài giảng

Nhập liệu và chỉnh sửa dữ liệu

42 930 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 759,5 KB

Nội dung

       Ch nh s a d li u b ng các l nh INSERT, UPDATE, ỉ ử ữ ệ ằ ệ DELETE, TRUNCATE TABLE.  Th c thi Viewự  !" #  Vi c b o trì 1 database liên quan đ n vi c b sung ệ ả ế ệ ổ thông tin m i, s a l i d li u không chính xác xóa ớ ử ạ ữ ệ đi d li u cũ.ữ ệ  Nhóm l nh ệ Data Manipulation Language (DML) c a T–ủ SQL đ c dùng đ b o trì d li u, bao g m 3 l nh ượ ể ả ữ ệ ồ ệ sau:       $%&'()**+, -  L nh dùng đ thêm các hàng vào 1 b ng hay view.ệ ể ả  Cú pháp: INSERT [INTO] table_name| view_name[(column_list)] VALUES (values_list)|select_statement | DEFAULT VALUES ./ 0  Giá tr có th đ c phát t đ ng cho các c t sau:ị ể ượ ự ộ ộ                            Khi dùng giá tr DEFAULT :ị        !                        "          #                        $$ +1 2  Hãy xem c u trúc c a b ng ấ ủ ả Sales: Create table Sales ( ItemCode char(6) not null, ItemName char(40) null, QtySold int not null, SaleDate datetime not null default getdate() ) +1 3  INSERT Sales VALUES ('I005', 'Printer', 100, '05/12/01')  INSERT Sales (ItemCode, ItemName, QtySold, SaleDate) VALUES ('I005', 'Printer', 100, '05/12/01')  INSERT Sales (ItemName, ItemCode, QtySold, SaleDate) VALUES ('Printer', 'I005', 100, '05/12/01')  INSERT Sales VALUES ('I005', NULL, 100, '05/12/01')  INSERT Sales VALUES ('I005', 'Printer', 100, Default)  Các l nh trên có cho cùng k t qu khôngệ ế ả ?? +1 4  CREATE TABLE T1 ( column_1 int IDENTITY, column_2 varchar(30))  INSERT T1 VALUES ('Row #1')  INSERT T1 (column_2) VALUES ('Row #2')  CREATE TABLE T1 ( column_1 int identity, column_2 varchar(30) DEFAULT ('column default'), column_3 timestamp, column_4 int NULL)  INSERT INTO T1 DEFAULT VALUES %&'()**&'$'.) 5  Truy v n con SELECT trong l nh INSERT đ c dùng ấ ệ ượ đ thêm giá tr vào b ng t 1 hay nhi u b ng/view ể ị ả ừ ề ả khác.  M t hay nhi u hàng đ c thêm vào cùng 1 lúc.ộ ề ượ  Ví d :ụ USE pubs INSERT INTO MyBooks SELECT title_id, title, type FROM titles WHERE type = 'mod_cook' $678)' 9  L nh update dùng đ thay đ i giá tr hi n có trong ệ ể ổ ị ệ 1 b ngả .  Cú pháp: UPDATE table_name| view_name SET column_name = expression | DEFAULT | NULL | @variable_name = expression | @variable_name = column = expression [FROM table_name] [WHERE search_conditions] [...]...  Cung cấp dữ liệu thích hợp cho người dùng  Che giấu sự phức tạp của dữ liệu  Kết hợp dữ liệu từ các nguồn không đồng nhất  View được dùng như 1 cơ chế bảo mật (security mechanism) bằng cách cho phep người dùng truy xuất dữ liệu thông qua view mà không cấp cho người dùng quyền được truy xuất tr ực 27 tiếp dữ liệu từ bảng gốc Ví dụ: view từ 2 bảng 28 Partitioned view  Kết nối dữ liệu được phân... mệnh đề SELECT 19 Lệnh CREATE VIEW  [ WITH CHECK OPTION ]: bắt buộc tất cả các lệnh chỉnh sửa dữ liệu liên quan đến view đều phải tuân theo điều kiện lọc trong mệnh đề select Khi 1 hàng bị sửa đổi thông qua view, tuỳ chọn WITH CHECK OPTION này bảo đảm là dữ liệu vẫn còn nhìn thấy được thông qua view sau khi việc sửa đổi này được thực hiện 20 Lệnh CREATE VIEW  Ví dụ:  View được tạo ra để khôi phục... là 1 bảng ảo (virtual table) cho phép truy xuất vào 1 tập con các cột từ 1 hay nhiều bảng  View bảo đảm được tính bảo mật cho dữ liệu nhờ vào việc hạn chế truy xuất (restricting access), chỉ cho phép hiển thị: • 1 số hàng của bảng • 1 số cột của bảng • Chỉ 1 số hàng cột của bảng • Một tập con của 1 view khác hay 1 tập con của 1 vài view hay bảng • Số liệu thống kê trong 1 bảng được cho 17 Khái quát... 24 Sửa đổi, xoá đặt tên lại view  Sửa đổi View ALTER VIEW view_name [(column_name)] AS select_statement [WITH CHECK OPTION]  Xoá View DROP VIEW view_name  Đặt lại tên View sp_rename old_viewname, new_viewname 25 Ba loại view  Standard view  Indexed view  Partitioned view 26 Standard view  Kết hợp dữ liệu từ nhiều bảng tùy theo m ục đích s ử dụng  Các lợi ích khi sử dụng view:  Cung cấp dữ. .. 1 bảng được cho 17 Khái quát về View  Khi 1 view đã được định nghĩa, thì nó có thể được dùng như bất kỳ bảng nào khác trong cơ sở dữ liệu  Mặc view tương tự như bảng, nhưng nó không được lưu trữ thực sự trong cơ sở dữ liệu Nó chỉ suy dẫn các giá trị từ những bảng dữ liệu gốc 18 Lệnh CREATE VIEW  CREATE VIEW [ < database_name >.] [ < owner > ] view_name [ ( column [ , n ] ) ] [ WITH SCHEMABINDING]... chọn SCHEMABINDING  Dùng để gán view vào lược đồ Khi đó, mệnh đề select bắt buộc phải dùng tên 2 thành phần (owner.object) cho các bảng, hàm của người dùng  View table tham gia vào view có mệnh đề schema binding không thể xóa (drop) được nếu view không bị xóa hay được thay đổi để không còn schema binding nữa Lệnh ALTER TABLE dùng cho các bảng có tham gia vào view có schema binding cũng sẽ bị lỗi... viên đã tham dự kỳ thi đầu vào hơn hai năm trước trong cơ sở dữ liệu HeadHunt? 14 Lệnh DELETE Use Headhunt DELETE FROM ExternalCandidate WHERE dTestDate < dateadd(yy,-2,getdate())  Ví dụ 2: USE pubs DELETE titleauthor FROM titleauthor INNER JOIN titles ON titleauthor.title_id = titles.title_id WHERE titles.title LIKE '%computers%'  Xoá các hàng trong bảng titleauthor dựa vào các tiêu đề sách trong... view sẽ không còn được nhìn thấy nhân viên này nữa  Nếu mệnh đề WITH CHECK OPTION được dùng khi định nghĩa view, thì các hàng sẽ không thể bị chỉnh sửa theo cách mà làm cho chúng bị biến mất khỏi view Bất kỳ lệnh sửa đổi nào mà gây ra vấn đề này sẽ bị loại trừ hiển thị thông báo lỗi 21 Ví dụ CREATE VIEW CAonly AS SELECT au_lname, au_fname, city, state FROM authors WHERE state = 'CA' WITH CHECK OPTION... bảng dữ liệu thường xuyên hay cập nhật 33 Tạo Indexed view  Để tạo clustered index cho 1 view, cần phải đáp ứng các yêu cầu sau:  Không được tham chiếu đến các view khác, chỉ từ bảng g ốc Tất cả bảng gốc này phải cùng 1 database có cùng 1 owner  View phải được tạo ra với tùy chọn SCHEMABINDING  Các hàm người dùng được tham chiếu đến trong view phải đuợc ra với tùy chọn SCHEMABINDING  Bảng và. .. ALL SELECT * FROM Dec1998Sales Cách sử dụng partitioned view  Từ view có thể xem dữ liệu bán hàng của bất kỳ tháng nào trong năm 1998 SELECT * FROM Year1998Sales WHERE OrderMonth IN (5,6) AND CustomerID = 64892 32 Indexed view  Là view đã được hiện thực hóa (materialized), nghĩa là view đã được tính toán thực thi lưu trữ như 1 bảng thực View có 1 chỉ mục clustered duy nhất  Lý do sử dụng indexed . cho phép truy xu t vào ấ 1 t p con các c t t 1 hay nhi u b ngậ ộ ừ ề ả  View b o đ m ả ả đ c ượ tính b o m t cho d li u nh ả ậ ữ ệ ờ vào vi c h n ch truy xu t (ệ ạ ế ấ restricting access), ch. ( column [ , n ] ) ] [ WITH SCHEMABINDING] AS select_statement [ WITH CHECK OPTION ]  Column: là tên c t đ c dùng trong view. Ch nên đ t ộ ượ ỉ ặ tên c t cho view khi:ộ    ". tên cho c t c a view thì nó s có cùng ế ặ ộ ủ ẽ tên v i các c t trong m nh đ SELECTớ ộ ệ ề . $.('8)'+%'? 9  [ WITH CHECK OPTION ]: b t bu c t t c các l nh ắ ộ ấ ả ệ ch nh

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

TỪ KHÓA LIÊN QUAN

w