Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
1,04 MB
Nội dung
Có bán Photo Sỹ Giang Mới Câu hỏi ơn tập QUẢN TRỊ CƠ SỞ DỮ LIỆU -Đồng hóa sở liệu (replication) công nghệ để chép,phân phối liệu đối tượng sở liệu từ CSDL tới CSDL khácvà cập nhật thay đổi sở liệu để trì quán cho CSDL -SQL Server đưa nhiều quy chế nhân để đáp ứng yêu cầu khác ứng dụng.Mỗi loại cung cấp khả thuộc tính khác nhằm đạt đến mục tiêu tính độc lập chương trình ứng dụng quán liệu Đảm bảo an toàn cho CSDL khả truy cập từ xa đến CSDL Đảm bảo liệu sẵn sàng thời điểm, địa điểm cần -Đồng hóa sở liệu sử dụng khi: +sao chép, phân phối liệu nhiều server khác +phân phối liệu theo lịch trình định +cho phép nhiều người dùng nhiều server khác , liệu khác cách thống mà không sợ liệu +xây dựng CSDL sử dụng cho nhiều ứng dụng +xây dựng ứng dụng wed người dùng cần trình bày số lượng lớn liệu Các thành phần đồng hóa liệu Mơ tả hình vẽ mơ hình đồng hóa Publisher với Subcriber Sơ lược thành phần đồng hóa liệu: + Đối tượng: Publisher (máy chủ), Subscriber(máy khách), Distributor (cầu nối trung + gian Publisher Subscriber) Dữ liệu đồng hóa: Article (tập csdl cấu hình đề đồng hóa), Publication (tập Article), Subscription (được xem đơn đặt hàng để nhận Article từ nhiều + Publisher bao gồm nhiều ràng buộc thực phân phối Article) Dịch vụ: SQL Server Agent Có bán Photo Sỹ Giang 11 Mới Có bán Photo Sỹ Giang Mới Các thành phần đồng hóa liệu Mơ tả hình vẽ mơ hình đồng hóa Publisher với nhiều Subcriber Các thành phần đồng hóa liệu Mơ tả hình vẽ mơ hình đồng hóa nhiều Publisher với Subcriber Có bán Photo Sỹ Giang 22 Mới Có bán Photo Sỹ Giang Mới Các thành phần đồng hóa liệu Mơ tả hình vẽ mơ hình đồng hóa nhiều Publisher với nhiều Subcriber Mô tả chế độ bảo mật SQL Server.? Các chế độ bảo mật gồm có: Login user SQL Server cho phép truy nhập vào hệ thống thông qua login Chỉ có quyền mức độ định bạn tạo thêm login Trong SSMS bạn xem login cách mở rộng node Security/Logins Các login có quyền truy nhập vào server chưa hẳn truy nhập vào database chứa Có bán Photo Sỹ Giang 33 Mới Có bán Photo Sỹ Giang Mới Đến lượt database lại trì danh sách user, user ln ln đính (mapped) với login mức server Khi bạn đăng nhập vào SQL Server thơng qua login này, bạn có quyền truy nhập vào database theo quyền hạn mà user tương ứng với cung cấp Bạn xem user cách mở rộng node Security/Users database tương ứng Ví dụ, tơi có login tên vuht2000 SQL Server Ở database db1 tơi có user vuht2000 gắn với login vuht2000, user có quyền đọc Ở database db2 tơi có user vuht2000 gắn với login trên, user có quyền đọc/ghi Khi truy nhập vào SQL Server login vuht2000, bạn có quyền đọc database db1 đọc/ghi database db2 Server role Role thực chất tập hợp nhóm quyền đại diện tên để thuận tiện cho việc quản lý Server role nhóm quyền mức server mà login cấp thực số thao tác định mức server Ví dụ role sysadmin có tồn quyền hoạt động server (tạo database, khởi động lại server…) tự khắc có quyền truy nhập vào tất database, diskadmin có quyền thao tác đĩa (như bổ sung thêm file vào database…) Login tạo có role public, role thực chất khơng có quyền ngồi quyền truy nhập vào server Thơng thường DBA nên có quyền sysadmin, developer cần role public bổ sung thêm cần Database role Cũng với mục đích vậy, database role tập hợp quyền truy nhập vào database thành nhóm để dễ tạo lập sửa đổi Ví dụ role db_datareader có quyền đọc liệu từ tất bảng, role db_datawriter có quyền ghi vào tất bảng; role db_owner có quyền cao database (tạo bảng, tạo thủ tục, thực thi thủ tục…) Các user mặc định có role public Khi user có role public, user nhìn thấy tên database mà khơng có quyền khác Authentication SQL Server xác thực đăng nhập hai chế, windows authentication SQL Server authentication Việc bắt nguồn từ tạo login SQL Server Khi bạn tạo login mới, SQL Server yêu cầu bạn chọn chế xác thực windows hay 44 Có bán Photo Sỹ Giang Mới Có bán Photo Sỹ Giang Mới SQL Server cho login Nếu chọn windows, bạn cần cung cấp windows account SQL Server lưu tên account danh sách login Nếu chọn SQL Server authentication, bạn cần cung cấp login name password hai lưu SQL Server Khi đăng nhập vào SQL Server, bạn phải chọn hai chế xác thực Nếu chọn windows, account đăng nhập vào windows dùng Bạn khơng có quyền chọn login thực tế, SQL Server vòng xuống windows kiểm tra xem account đăng nhập vào windows, lấy account xem có nằm danh sách login hay khơng Nếu có cho vào khơng chặn lại Còn với SQL Server authentication chế giống bình thường – bạn cung cấp login ID password SQL Server kiểm tra định có cho vào hay không Một điểm cần lưu ý với login sử dụng windows authentication, SQL Server lưu login name không lưu password Và đăng nhập bạn cố tình chọn sang SQL Server authentication, hệ thống không xác thực cho bạn Phân biệt dạng người dùng nhóm quyền (role) SQL Server ? -Dạng người dùng: +Login: Dùng để truy cập vào hệ thống SQL Server, Login có quyền truy cập vào Server chưa hẳn có quyền truy cập vào Database Server, quyền truy cập vào Database gắn liền với người + User: Mỗi Database có danh sách người dùng phép truy cập CSDL mình, user ln gắn (mapped) với login mức Server Khi bạn đăng nhập vào SQL Server thông qua login này, bạn có quyền truy cập vào database theo quyền hạn mà user tương ứng với cấp Mỗi login gắn với nhiều user với quyền hạn khác Database -Các nhóm quyền: +Select: truy xuất liệu +Update:Cập nhập liệu +Insert:thêm liệu +Delete:xoá liệu +Execute:thực thi stored procedure hay hàm +References:tạo đối tượng tham chiếu tới đối tượng Có bán Photo Sỹ Giang 55 Mới Có bán Photo Sỹ Giang Mới +All:có tất quyền đối tượng Sao lưu phục hồi sở liệu nhằm mục đích Liệt kê số nguyên nhân cần phải xem xét tới việc lưu phục hồi liệu? Mục đích: -Sao lưu sở liệu: Sao lưu-backup sở liệu (CSDL) tạo CSDL, ta dùng để khơi phục lại CSDL CSDL bị Bản gồm tất file có CSDL kể transaction log -Phục hồi sở liệu: Việc khôi phục lưu CSDL trả CSDL trạng thái CSDL ta thực việc lưu Giao dịch (transaction) khơng hồn thành lưu (backup) CSDL roll back để đảm bảo tính quán CSDL Khôi phục lưu transaction log áp dụng lại tất giao dịch (transaction) hoàn thành transaction log CSDL Khi áp dụng lưu transaction log, SQL Server đọc trước transaction log, roll forward tất transaction Khi đến cuối lưu transaction log, SQL Server roll back tất transaction mà khơng hồn thành ta bắt đầu thực lưu, tạo lại trạng thái xác CSDL thời điểm bắt đầu thực lưu Một số nguyên nhân cần phải xem xét tới việc lưu phục hồi liệu: Nguyên nhân khách quan: Sự cố xảy ý muốn, người biết trước được, thường thảm họa (VD: thiên tai, cháy nổ,…) Do cần cất giữ xa Nguyên nhân chủ quan: Sự cố xảy thao tác khơng xác người (ví dụ: lỗi phần cứng, lỗi phần mềm, thao tác nhầm…) Do cần cất giữ vị trí cho thuận lợi cho việc phục hồi liệu, không thiết phải lưu trữ nơi xa 10 Sao lưu liệu gì? Mơ tả dạng lưu liệu SQL Server 2008 - Sao lưu CSDL tạo CSDL Bản sử dụng để khơi phục lại CSDL trường hợp CSDL gặp cố Bản gồm tất tập tin có CSDL tập tin nhật ký giao dịch ( Transaction log file ) Có bán Photo Sỹ Giang 66 Mới Có bán Photo Sỹ Giang Mới - Transaction log file chứa liệu thay đổi CSDL được sử dụng suốt q trình khơi phục để roll forward transaction hoàn thành roll back transact chưa hoàn thành Các dạng lưu liệu ( backup) SQL server 2008 ) - Full backup : lưu đầy đủ CSDL trren phương tiện lưu trữ Quá trình full backup tiến hành mà khơng cần offline CSDL , trình lại chiếm lượng lớn tài nguyên hệ thống ảnh hưởng nghiêm trọng tới thời gian đáp ứng yêu cầu hệ thống - Differential backup : xây dựng nhằm làm giảm thời gian cần thiết để thực trình full backup Differential backup lưu thay đổi liệu kể từ lần full backup gần Trong hệ thống CSDL lớn , trình differential backup sử dụng tài nguyên nhiều so với q trình full backup khơng ảnh hưởng đến hiệu suất hệ thống - Backup Compression tính SQL Server 2008 Nó giảm đến 20% kích thước vật lý file gốc Nếu tính sử dụng, Restore tự động nhận file nén Tuy nhiên có điểm yếu tính chiếm dụng nhiều tài ngun máy tính suốt trình backup - Transaction log backup : ghi nhận lại cách thứ tự tất transaction chứa transaction log file kể từ lần transaction log backup gần - File or File Group Backup : copy data file hay file group Câu 11: Phục hồi liệu gì? Mơ tả mơ hình phục hồi liệu SQL Server 2008 Trả lời: • Phục hồi liệu (Restore database), có nghĩa có khả phục hồi liệu, khơng làm mát liệu ,chỉ thực máy chủ bị cố hư ổ cứng liệu bị người dùng vơ tình cố ý xố,… Ngồi thao tác phục hổi liệu thực để chép database từ máy chủ sang máy chủ khác • Mơ tả mơ hình phục hồi liệu SQL SERVER 2008: Tình Bạn sử dụng lưu Full để phục hồi database rơi vào hai • trường hợp sau: Bản lưu Full lưu gần thời điểm xảy cố Nghĩa từ lúc tiến hành lưu Full đến lúc bị cố, bạn khơng có thêm lưu Differential Transaction log khác Có bán Photo Sỹ Giang 77 Mới Có bán Photo Sỹ Giang Mới Database lưu Full mà khơng lưu Differential Transaction • log Lý Recovery model database SIMPLE khiến bạn lưu Transaction log, đơn giản bạn khơng tiến hành lưu Differential Transaction log Lưu ý: Nếu muốn phục hồi database từ lưu Differential hay Transaction log, bạn phải phục hồi từ lưu Full trước Các bước tiến hành Q trình phục hồi database từ lưu Full tiến hành theo bước sau: Phục hồi lưu Full từ Disk/Tape/Cloud Khôi phục lưu Full vào database lệnh SQL Server Phục hồi lưu Full từ Disk/Tape/Cloud Trước tiến hành thao tác khôi phục với SQL Server, bạn cần phải có lưu Full tiến hành phục hồi liệu từ lưu vào máy tính Tùy phần mềm/cơng cụ lưu trước đây, bạn tiến hành phục hồi theo hướng dẫn tương ứng Lưu ý: Khơng có lưu khơng thể nói đến chuyện phục hồi hay thao tác khác để khơi phục lại database Do đó, bạn cần có phương án lưu lưu trữ an tồn lưu Khôi phục lưu Full vào database lệnh SQL Server Sau có lưu Full, bạn tiến hành khơi phục database vào SQL Server lệnh RESTORE DATABASE RESTORE DATABASE ERP FROM DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’ GO Mặc định, lệnh RESTORE DATABASE khôi phục Data file Log file vào thư mục trước database (giá trị PhysicalName lệnh RESTORE FILELISTONLY) Nếu thư mục không tồn có file khác trùng tên lỗi sau xuất hiện: File ‘ERP’ cannot be restored to ‘C:\Program Files\Microsoft Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\ERP_Data.mdf’ Use SQL WITH MOVE to identify a valid location for the file Để khắc phục lỗi trên, bạn cần sử dụng tùy chọn MOVE để định tên thư mục chứa Data file Log file phục hồi Nhưng trước hết, bạn cần truy xuất thông tin liệu database lệnh RESORE FILELISTONLY Có bán Photo Sỹ Giang 88 Mới Có bán Photo Sỹ Giang Mới RESTORE FILELISTONLY ERP FROM DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’ GO Sau đó, sử dụng lệnh RESTORE DATABASE với tùy chọn MOVE để khôi phục database vào thư mục định RESTORE DATABASE ERP FROM DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’ MOVE ‘ERP_Data’ TO ‘E:\SQLData\ERP_Data.mdf’ MOVE ‘ERP_Log’ TO ‘E:\SQLData\ERP_Log.ldf’ GO Sau lệnh RESTORE DATABASE thực thi, database khơi phục hồn tồn tình trạng sử dụng Do đó, bạn khơng thể tiến hành phục hồi thêm từ lưu Differential hay Transaction log Lưu ý: Nếu database cần khôi phục bị trùng database có SQL Server, lỗi sau xuất hiện: Msg 3159, Level 16, State 1, Line The tail of the log for the database “ERP” has not been backed up Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you not want to lose Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite Msg the 3013, contents Level 16, of State the 1, log Line RESTORE DATABASE is terminating abnormally Với lỗi này, bạn sử dụng tùy chọn REPLACE để ghi đè database có RESTORE FROM DATABASE ERP DISK = ‘E:\SQLRestoreData\DATABASE_ERP.bak’ WITH REPLACE GO Sau lệnh RESTORE DATABASE thực thi xong, bạn refresh lại mục Databases SSMS thấy database ERP vừa phục hồi Có bán Photo Sỹ Giang 99 Mới Có bán Photo Sỹ Giang Mới Câu 12: Thủ tục lưu trữ SQL Server gì? Thủ tục lưu trữ hỗ trợ cho hoạt động quản trị sở liệu nào? Trả lời : • Thủ tục lưu trữ SQL server (Stored procedure) là: đối tượng CSDL, bao gồm nhiều câu lệnh T-SQL tập hợp lại với thành nhóm, tất lệnh thực thi thủ tục lưu trữ thực thi Với thủ tục lưu trữ, phần khả ngơn ngữ lập trình đưa vào ngơn ngữ SQL Thủ tục lưu trữ có thành phần sau: -Các cấu trúc điều khiển (IF, WHILE, FOR) sử dụng thủ tục -Bên thủ tục lưu trữ sử dụng biến ngơn ngữ lập trình nhằm lưu giữ giá trị tính tốn được, giá trị truy xuất từ sở liệu • Thủ tục lưu trữ hỗ trợ cho hoạt động quản trị sở liệu : Một tập câu lệnh SQL kết hợp lại với thành khối lệnh bên thủ tục Một thủ tục nhận tham số truyền vào trả giá trị thông qua tham số (như ngôn ngữ lập trình) Khi thủ tục lưu trữ định nghĩa, gọi thơng qua tên thủ tục, nhận tham số truyền vào, thực thi câu lệnh SQL bên thủ tục trả • giá trị sau thực xong Lợi ích việc sử dụng thủ tục lưu trữ: SQL Server biên dịch thủ tục lưu trữ lần sử dụng lại kết biên dịch lần trừ người dùng có thiết lập khác Việc sử dụng lại kết biên dịch không làm ảnh hưởng đến hiệu suất hệ thống thủ tục lưu trữ gọi liên tục nhiều lần Có bán Photo Sỹ Giang 10 Mới Có bán Photo Sỹ Giang Mới Bài 9: bảo mật liệu Câu 1: mô tả chế độ bảo mật sql server Trả lời: + + + Người quản trị csdl thực bảo mật csdl thông qua thao tác: Tạo tài khoản người dùng phân quyền Mã hóa liệu Các chế độ bảo mật sql server: Xác thực thông qua hệ điều hành (windows Authentication): Với kiểu xác thực này, SQL Server dựa vào Windows NT/2000 để cấp bảo mật đăng nhập Khi người dùng đăng nhập vào Windows NT/2000, số định danh tài khoản người dùng kiểm tra hợp lệ SQL Server tích hợp trình bảo mật đăng nhập với q trình bảo mật đăng nhập Windows để cung cấp dịch vụ Khi người dùng xác thực hệ điều hành khơng cần thêm chế độ xác thực để truy cập SQL Server + Chế độ xác thực hỗn hợp (Mixed Mode): Với chế độ xác thực hỗn hợp người dùng truy cập vào SQL Server xác thực thực Windows xác thực SQL Server Khi chế độ xác thực kết hợp dùng, kết nối tạo từ hệ thống không bảo mật, SQL Server xác thực đăng nhập cách kiểm tra tài khoản đăng nhập có thiết lập để truy cập hay không SQL Server thực xác thực tài khoản cách so sánh tên tài khoản mật người dùng cung cấp để thực kết nối với thông tin tài khoản lưu CSDL Nếu tài khoản đăng nhập chưa thiết lập người dùng nhập sai SQL Server từ chối kết nối Có bán Photo Sỹ Giang 28 Mới Có bán Photo Sỹ Giang Mới Câu 2: phân biệt dạng người dùng nhóm quyền sql server Trả lời: - Dạng người dùng: Bài 10: tồn vẹn liệu Câu 1:giải thích đăch tính giao dịch Nêu ví dụ Trả lời: Câu 2: Giải thích mức độ tách biệt giao dịch ứng dụng mức độ Trả lời: Read uncommitted: mức độ thấp cho phép giao dịch đọc liệu viết giao dịch khác chưa xác nhận thay đổi hay có đọc liệu gốc có phiên giao dịch sửa đổi liệu Read committed: mức độ thiết lập mặc định sql server, cho phép giao dịch độc liệu gốc phiên giao dịch khác xác nhận thay đổi Repeatable read: loại bỏ vấn đề đọc liệu không lặp lại (không đồng nhất) từ kết giao dịch khác, giao dịch thực thời điểm khác việc ngăn cấm giao dịch không thay đổi liệu gốc có giao dịch khác đọc liệu gốc giao dịch xác nhận quay lui Serializble: loại bỏ vấn đề đọc liệu “ma” từ kết chèn xóa liệu giao dịch khác cách cấm giao dịch chèn vào xóa ghi vào phạm vi truy cập (tập liệu) giao dịch khác giao dịch xác nhận Snapshot: tạo liệu liệu bắt đầu giao dịch cho phép giao dịch truy xuất Bài 11: Sao lưu phục hồi csdl Câu 1: Sao lưu phục hồi csdl nhằm mục đích Liệt kê số nguyên nhân phải xem xét tới việc lưu phục hồi liệu Trả lời: - Sao lưu CSDL: tạo csdl Bản sử dụng để khơi - phục lại csdl trường hợp csdl gặp cố Phục hồi csdl: ĐỀ 1: Câu 1: đồng hóa liệu gì? Mục tiêu ngữ cảnh đồng hóa liệu? Trả lời: Có bán Photo Sỹ Giang 29 Mới Có bán Photo Sỹ Giang Mới Đồng hóa liệu (replication) cơng nghệ để chép, phân phối liệu đối tượng csdl từ csdl tới csdl khác cập nhật thay đổi csdl để trì quán cho csdl Mục tiêu đồng hóa liệu: SQL Server đưa nhiều chế nhân để đáp ứng yêu cầu khác ứng dụng Mỗi loại cung cấp khả thuộc tính khác nhằm đạt đến mục tiêu tính độc lập chương trình ứng dụng quán liệu + Nhất quán liệu: Nhất quán giao dịch: tất liệu giống CTUD thời điểm Tất các giao dịch liệu thực CTUD + Hội tụ liệu: tất CTUD quy giá trị liệu không thiết giá trị liệu bị gây tác vụ làm CTUD User tự thao tác CTUD theo cách khác Khi nút (node) đồng bộ, tất CTUD hội tụ giá trị Nếu đụng độ gây sửa đổi liệu CTUD khác sửa đổi giải cách tự động (chọn CTUD có độ ưu tiên cao hay CTUD đưa - sửa đổi đến trước ) Độc lập CTUD: Độc lập site xét đến ảnh hưởng thao tác site đến site khác Thường độc lập site tăng tính qn liệu giảm Nhân kết hợp (Merge replication) có mức độc lập site cao nhất, tạo hội tụ lại không đảm bảo tính quán liệu Ngữ cảnh ứng dụng đồng hóa liệu: Có thể thực thi CSDL Server hay Server khác nhau,được kết nối mạng Lans,Wans,hay Internet Câu 2: Cho CSDL Bán Hàng gồm lược đồ quan hệ sau: NCC(MSNCC, TênNCC, Địachỉ) MATHANG(MSMH, TênMH, Màusắc) CUNGCAP(MSCC, MSMH, Giátiền) Hãy viết câu truy vấn SQL biểu diễn yêu cầu sau: a, Đưa tên hãng có cung cấp mặt hàng màu đỏ mặt hàng màu xanh: select ncc.masoncc, tenncc from NCC inner join cungcap cc on ncc.msncc = cc.msncc inner join mathang mh on mh.msmh = cc.msmh where mh.mausac = N'đỏ' or mh.mausac = N'xanh' Có bán Photo Sỹ Giang 30 Mới Có bán Photo Sỹ Giang Mới b, Đưa mã số mặt hàng đắt cung cấp Dustin select MSMH, max(giatien) from cungcap cc inner join NCC on cc.msncc = ncc.msncc where tenncc = 'dustin' group by masomh; c, Đưa cặp mã số hãng cung ứng cho hãng cung ứng tương ứng với mã số thứ cung cấp mặt hàng với giá cao so với hãng tương ứng với mã số thứ hai cung cấp mặt hàng SELECT cc1.MaSoCC, cc2.MaSoCC, cc1.MaSoMH, cc1.GiaTien FROM CUNGCAP as cc1, CUNGCAP as cc2 WHERE cc1.MaSoMH = cc2.MaSoMH AND cc1.GiaTien > cc2.GiaTien Kiến thức bổ sung: d Đưa mã số hãng có cung ứng mặt hàng màu đỏ mặt hàng màu xanh select ncc.masoncc, tenncc from nhacungcap ncc inner join cungcap cc on ncc.masoncc = cc.masoncc inner join mathang mh on mh.masomh = cc.masomh where mh.mausac = N'Đỏ' and mh.mausac = N'xanh'; e Đưa mã số hãng cung ứng tất mặt hàng màu đỏ Select masoNCC, count(cungcap.masoMH) from cungcap inner join mathang on cungcap.masoMH= mathang.masoMH where mathang.mausac= N'đỏ’ group by (masoNCC) having count(cungcap.masoMH)=(Select count(masoMH) from mathang where mausac= N'đỏ’); f.Đưa mã số hãng cung ứng tất mặt hàng màu đỏ màu xanh Select masoNCC, count(cungcap.masoMH) from cungcap inner join mathang on cungcap.masoMH= mathang.masoMH where mathang.mausac= N'đỏ’ and mathang.mausac= N'xanh' group by (masoNCC) having count(cungcap.masoMH)=(Select count(masoMH) from mathang where mausac= N'đỏ’ and mathang.mausac= N'xanh'); g Đưa mã số hãng cung ứng tất mặt hàng màu đỏ tất mặt hàng màu xanh Select masoNCC, count(cungcap.masoMH) from cungcap 31 Có bán Photo Sỹ Giang Mới Có bán Photo Sỹ Giang inner Mới join mathang on cungcap.masoMH= mathang.masoMH where mathang.mausac= N'đỏ’ or mathang.mausac= N'xanh' group by (masoNCC) having count(cungcap.masoMH)=(Select count(masoMH) from mathang where mausac= N'đỏ’ or mathang.mausac= N'xanh'); h Đưa tên hãng có cung ứng mặt hàng màu đỏ select ncc.masoncc, tenncc from nhacungcap ncc inner join cungcap cc on ncc.masoncc = cc.masoncc inner join mathang mh on mh.masomh = cc.masomh where mh.mausac =N'đỏ' Câu 3: Hãy viết thủ tục hệ thống lưu csdl ổ đĩa phục hồi csdl ghi đè lên csdl sử dụng - Sao lưu csdl vào ổ đĩa ghi đè (chú ý: đề khơng có WITH INIT) BACKUP DATABASE banhang TO DISK = 'C:\banhangFull.bak' WITH INIT - Phục hồi csdl RESTORE DATABASE banhang FROM DISK = 'C:\banhangFULL.bak' WITH NORECOVERY Câu 4: Hãy tạo tài khoản đăng nhập cho Ngô Tuấn Phong, đặt tên PhongNT, pass Phong123 Người dùng có quyền truy cập vào csdl Bán Hàng có quyền tạo bảng, tạo khung nhìn csdl exec sp_addlogin @loginame= 'PhongNT', @passwd = 'Phong123', @defdb='BANHANG' create user PhongNT from login PhongNT grant references on DUAN to PhongNT grant references on NHANVIEN to PhongNT - ĐỀ 2: Câu 1: Mô tả chế độ bảo mật sql server: Người quản trị csdl thực bảo mật csdl thông qua thao tác: Có bán Photo Sỹ Giang 32 Mới Có bán Photo Sỹ Giang + + + Mới Tạo tài khoản người dùng phân quyền Mã hóa liệu Các chế độ bảo mật sql server: Xác thực thông qua hệ điều hành (windows Authentication): Với kiểu xác thực này, SQL Server dựa vào Windows NT/2000 để cấp bảo mật đăng nhập Khi người dùng đăng nhập vào Windows NT/2000, số định danh tài khoản người dùng kiểm tra hợp lệ SQL Server tích hợp trình bảo mật đăng nhập với q trình bảo mật đăng nhập Windows để cung cấp dịch vụ Khi người dùng xác thực hệ điều hành khơng cần thêm chế độ xác thực để truy cập SQL Server + Chế độ xác thực hỗn hợp (Mixed Mode): Với chế độ xác thực hỗn hợp người dùng truy cập vào SQL Server xác thực thực Windows xác thực SQL Server Khi chế độ xác thực kết hợp dùng, kết nối tạo từ hệ thống không bảo mật, SQL Server xác thực đăng nhập cách kiểm tra tài khoản đăng nhập có thiết lập để truy cập hay không SQL Server thực xác thực tài khoản cách so sánh tên tài khoản mật người dùng cung cấp để thực kết nối với thông tin tài khoản lưu CSDL Nếu tài khoản đăng nhập chưa thiết lập người dùng nhập sai SQL Server từ chối kết nối Câu 2: Xét sở liệu QLNV gồm lược đồ sau: Nhânviên(MSNV, Họtên, Tuổi, Lương) Phòng(MSP, TênPhòng, Địađiểm, Ngânquỹ, MSTrưởngphòng) Làmviệc (MSNV, MSP, Thờigian) Hãy viết truy vấn sau T-SQL a, Đưa tên tuổi nhân viên làm việc phòng tổ chức phòng kế hoạch Select hoten, tuoi from phong p, lamviec lv, nhanvien nv where p.maP=lv.maP and lv.manv=nv.manv and p.tenp=N'kế toán' and nv.manv=(Select nv.manv from phong p, lamviec lv, nhanvien nv where p.maP=lv.maP and lv.manv=nv.manv and p.tenp=N'tổ chức') Select hoten, from inner tuoi Làmviệc join Nhânviên Có bán Photo Sỹ Giang cc on 33 nv lv MSNV = lv MSNV Mới Có bán Photo Sỹ Giang inner join Phong Mới p on p MSP = lv MSP where p.tenphong= N' tổ chức ' and p.tenphong = N' kế hoạch '; B, đưa tên người trưởng phòng mà phòng có ngân quỹ lớn SELECT NhanVien.HoTen FROM NhanVien, Phong WHERE NhanVien.MSNV = Phong.MSTruongPhong ORDER BY Phong.NganQuy DESC C, Nếu người quản lý nhiều phòng, người có quyền kiểm sốt ngân quỹ tất phògn Hãy đưa mã số người trưởng phòng mà tổng số ngân quỹ kiểm sốt người > 5,000,000 SELECT NhanVien.MSNV, sum(Phong.NganQuy) AS sumof FROM NhanVien, Phong WHERE NhanVien.MSNV = Phong.MSTruongPhong, sumof > 5000000 GROUP BY NhanVien.MSNV Kiến thức bổ sung: d Với phòng với 20 nhân viên, đưa mã số phong số nhân viên làm phòng select p.maP, count(nv.manv) as [số nhân viên] from lamviec lv inner join phong p on p.maP = lv.maP inner join nhanvien nv on nv.manv = lv.manv group by p.maP having count(nv.manv) > 20 e Đưaratêncủacácnhânviênmàlươngcủahọcaohơncảngânquỹcủatấtcảcácphòngmànhânvi ênđólàmviệc SELECT NhanVien.* FROM NhanVien, (SELECT LamViec.MSNV, MAX(Phong.NganQuy) as maxof FROM Phong, LamViec AND Phong.MSP = LamViec.MSP GROUP BY LamViec.MSNV) as temp WHERE NhanVien.MSNV = temp.MSNV AND NhanVien.Luong>temp.maxof f Đưaramãsốtrưởngphòngcủanhữngngườitrưởngphòngmàcácphònghọquảnlýđềucóngân quỹ> 1,000,000 SELECT NhanVien.MSNV Có bán Photo Sỹ Giang 34 Mới Có bán Photo Sỹ Giang Mới FROM NhanVien, Phong WHERE NhanVien.MSNV = Phong.MSTruongPhong AND Phong.NganQuy> 1000000 Câu 3: Giong đề Câu 4: Hãy tạo tài khoản đăng nhập cho Ngô Tuấn Phong, đặt tên PhongNT, pass Phong123 Người dùng có quyền SELECT bảng Nhanvien Lamviec exec sp_addlogin @loginame= 'PhongNT', @passwd = 'Phong123', @defdb='BANHANG' create user PhongNT from login PhongNT grant references on DUAN to PhongNT grant references on NHANVIEN to PhongNT Đề 3: Câu 1: Phân biệt dạng người dùng nhóm quyền sql server * Phân biệt dạng người dùng: - Login (Đăng nhập) + Là đối tượng quyền truy nhập vào SQL Server, tùy theo chế độ bảo mật SQL Server mà login account Windows NT hay SQL Server + Login Server quản lý trực tiêp + Quyền: Vai trò Sysadmin Securityadmin Dbcreator Mơ tả Có thể thực thao tác server Theo mặc định, tất thành viên nhóm Windows BUILTIN\Administrators thành viên vai trò Có thể quản lý ID mật đăng nhập cho Server, đồng thời cấp, từ chối thu hồi quyền CSDL Có thể tạo, thay đổi, xóa khơi phục CSDL - Database User (Sử dụng CSDL) + Là đối tượng khai thác CSDL, login xác định truy nhập vào SQL Server User login ID tham gia khai thác CSDL, User CSDL quản lý trực tiếp + Mỗi CSDL có danh sách người dùng xác thực để truy cập đến CSDL + vai trò CSDL mặc định Có bán Photo Sỹ Giang 35 Mới Có bán Photo Sỹ Giang Mới Vai trò Mơ tả Db_owner Có tất quyền CSDL Db_accessadmin Có quyền thêm xóa loginID CSDL Db_securityadmin Có thể quản trị quyền đối tượng, quyền CSDL, vai trò, thành viên vai trò Db_datawriter Có thể thêm, xóa, cập nhật dl tồn bảng CSDL Db_datareader Có thể truy xuất dl từ tất bảng CSDL Db_denydatawriter Khơng thể thêm,xóa,cập nhật dl tồn bảng CSDL Db_denydatareader Không thể truy xuất dl từ tất bảng CSDL Db_backupoperator Có thể thực lưu CSDL chạy kiểm tra tính quán CSDL Câu 2: Cho CSDL DA gồm lược đồ quan hệ sau: Nhânviên(MãNV, Họtên, Ngày sinh, MãP) Phòng(MãP, TênP, Địađiểm, SốĐT) Dự án(MãDA, TênDA, Ngân sách) Thamgia(MãNV, MãDA, Sốgiờthamgia) Hãy viết truy vấn sau T-SQL: A, đưa dự án có ngân sách từ 50.000 đến 100.000 Select TenDA From Dự án Where Ngansach >=50 and Ngansach