1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đề cương ôn thi môn quản trị cơ sở dữ liệu

42 67 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 1,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đảm bảo dữliệu luôn sẵn sàng trong mọi thời điểm, địa điểm khi cần -Đồng bộ hóa cơ sở dữ liệu được sử dụng khi: +sao chép, phân phối dữ liệu trên nhiều server khác nhau +phân phối bản sa

Trang 1

Câu hỏi ôn tập QUẢN TRỊ CƠ SỞ DỮ LIỆU

-Đồng bộ hóa cơ sở dữ liệu (replication) là một bộ công nghệ để sao chép,phânphối dữ liệu và các đối tượng cơ sở dữ liệu từ một CSDL này tới một CSDL khácvàcập nhật thay đổi giữa các cơ sở dữ liệu để duy trì sự nhất quán cho CSDL

-SQL Server đã đưa ra nhiều quy chế nhân bản để đáp ứng các yêu cầu khácnhau của ứng dụng.Mỗi loại cung cấp các khả năng và thuộc tính khác nhau nhằm đạtđến mục tiêu chính của tính độc lập của các chương trình ứng dụng và sự nhất quán

dữ liệu

Đảm bảo an toàn cho CSDL và khả năng truy cập từ xa đến CSDL Đảm bảo dữliệu luôn sẵn sàng trong mọi thời điểm, địa điểm khi cần

-Đồng bộ hóa cơ sở dữ liệu được sử dụng khi:

+sao chép, phân phối dữ liệu trên nhiều server khác nhau

+phân phối bản sao dữ liệu theo lịch trình nhất định

+cho phép nhiều người dùng nhiều server khác nhau , dữ liệu khác nhau 1 cáchthống nhất mà không sợ mất dữ liệu

+xây dựng CSDL sử dụng cho nhiều ứng dụng

+xây dựng ứng dụng wed khi người dùng cần trình bày một số lượng lớn dữ liệu

2 Các thành phần đồng bộ hóa dữ liệu Mô tả bằng hình vẽ mô hình đồng

bộ hóa một Publisher với một Subcriber

Sơ lược về thành phần của đồng bộ hóa dữ liệu:

+ Đối tượng: Publisher (máy chủ), Subscriber(máy khách), Distributor (cầu nối trunggian giữa Publisher và Subscriber)

+ Dữ liệu đồng bộ hóa: Article (tập csdl được cấu hình đề đồng bộ hóa), Publication (tậpcác Article), Subscription (được xem như đơn đặt hàng để nhận các Article từ nhiềuPublisher bao gồm nhiều ràng buộc khi thực hiện phân phối Article)

+ Dịch vụ: SQL Server Agent

Trang 2

4 Các thành phần đồng bộ hóa dữ liệu Mô tả bằng hình vẽ mô hình đồng

bộ hóa một Publisher với nhiều Subcriber

5 Các thành phần đồng bộ hóa dữ liệu Mô tả bằng hình vẽ mô hình đồng

bộ hóa nhiều Publisher với một Subcriber

Trang 3

6 Các thành phần đồng bộ hóa dữ liệu Mô tả bằng hình vẽ mô hình đồng

bộ hóa nhiều Publisher với nhiều Subcriber

7 Mô tả các chế độ bảo mật trong SQL Server.?

Các chế độ bảo mật gồm có:

1 Login và user

SQL Server cho phép truy nhập vào hệ thống thông qua các login Chỉ khi cóquyền ở mức độ nhất định bạn mới có thể tạo thêm login Trong SSMS bạn có thểxem các login này bằng cách mở rộng node Security/Logins Các login này mới chỉ cóquyền truy nhập vào server chứ chưa hẳn đã truy nhập được vào các database chứatrong đó

Trang 4

Đến lượt mỗi database lại duy trì một danh sách các user, các user này luôn luônđính (mapped) với một login ở mức server Khi bạn đăng nhập vào SQL Server thôngqua login này, bạn sẽ có quyền truy nhập vào database theo quyền hạn mà user tươngứng với nó được cung cấp Bạn xem các user này bằng cách mở rộng nodeSecurity/Users của database tương ứng.

Ví dụ, tôi có một login tên là vuht2000 trong SQL Server Ở database db1 tôi cóuser vuht2000 được gắn với login vuht2000, và user này chỉ có quyền đọc Ở databasedb2 tôi cũng có user vuht2000 được gắn với cùng login trên, và user này có quyềnđọc/ghi Khi truy nhập vào SQL Server bằng login vuht2000, bạn sẽ có quyền đọc trêndatabase db1 và đọc/ghi trên database db2

2 Server role

Role thực chất là tập hợp một nhóm các quyền và đại diện bằng một tên để thuậntiện cho việc quản lý Server role là nhóm các quyền ở mức server mà login khi đượccấp sẽ có thể thực hiện một số thao tác nhất định ở mức server Ví dụ role sysadmin cótoàn quyền hoạt động trong server (tạo database, khởi động lại server…) và tự khắc nócũng có quyền truy nhập vào tất cả database, diskadmin chỉ có quyền trong các thaotác về đĩa (như bổ sung thêm file vào database…) Login khi mới được tạo sẽ có rolepublic, role này thực chất không có quyền gì ngoài quyền truy nhập vào server Thôngthường chỉ DBA mới nên có quyền sysadmin, còn các developer chỉ cần role public và

bổ sung thêm khi cần

4 Authentication

SQL Server xác thực các đăng nhập bằng hai cơ chế, windows authentication vàSQL Server authentication Việc này bắt nguồn từ khi tạo login trong SQL Server Khibạn tạo một login mới, SQL Server sẽ yêu cầu bạn chọn cơ chế xác thực windows hay

Trang 5

SQL Server cho login đó Nếu chọn windows, bạn cần cung cấp một windows account

và SQL Server sẽ chỉ lưu tên của account đó trong danh sách login Nếu chọn SQLServer authentication, bạn cần cung cấp login name và password và cả hai đều đượclưu trong SQL Server

Khi đăng nhập vào SQL Server, bạn cũng sẽ phải chọn một trong hai cơ chế xácthực Nếu chọn windows, chính account hiện đang đăng nhập vào windows đượcdùng Bạn không có quyền chọn login và thực tế, SQL Server sẽ vòng xuống windows

và kiểm tra xem account nào đang đăng nhập vào windows, nó sẽ lấy account đó vàxem có nằm trong danh sách login của nó hay không Nếu có thì nó cho vào còn nếukhông nó sẽ chặn lại

Còn với SQL Server authentication thì cơ chế giống như bình thường – bạn cungcấp login ID và password SQL Server sẽ kiểm tra và quyết định có cho vào haykhông

Một điểm cần lưu ý là với login sử dụng windows authentication, SQL Serverchỉ lưu login name và không hề lưu password Và khi đăng nhập nếu bạn cố tình chọnsang SQL Server authentication, hệ thống sẽ không xác thực cho bạn

8 Phân biệt các dạng người dùng và nhóm quyền (role) trong SQL Server ?

-Dạng người dùng:

+Login: Dùng để truy cập vào hệ thống SQL Server, các Login chỉ mới có

quyền truy cập vào Server chứ chưa hẳn có quyền truy cập vào các Database trênServer, các quyền truy cập vào Database được gắn liền với các người

+ User: Mỗi Database có một danh sách các người dùng được phép truy cậpCSDL của mình, mỗi user luôn được gắn (mapped) với một login ở mức Server Khibạn đăng nhập vào SQL Server thông qua login này, bạn sẽ có quyền truy cập vàodatabase theo quyền hạn mà user tương ứng với nó được cấp Mỗi login có thể gắn vớimột hoặc nhiều user với quyền hạn khác nhau trên các Database

+Execute:thực thi một stored procedure hay một hàm

+References:tạo các đối tượng tham chiếu tới đối tượng này

Trang 6

+All:có tất cả các quyền đối với đối tượng.

9 Sao lưu và phục hồi cơ sở dữ liệu nhằm mục đích gì Liệt kê một số nguyên nhân cần phải xem xét tới việc sao lưu và phục hồi dữ liệu?

Mục đích:

-Sao lưu cơ sở dữ liệu: Sao lưu-backup một cơ sở dữ liệu (CSDL) là tạo mộtbản sao CSDL, ta có thể dùng bản sao để khôi phục lại CSDL nếu CSDL bị mất Bảnsao gồm tất cả những file có trong CSDL kể cả transaction log

-Phục hồi cơ sở dữ liệu: Việc khôi phục một bản sao lưu CSDL sẽ trả về CSDLcùng trạng thái của CSDL khi ta thực hiện việc sao lưu Giao dịch (transaction) nàokhông hoàn thành trong khi sao lưu (backup) CSDL được roll back để đảm bảo tínhnhất quán CSDL

Khôi phục một bản sao lưu transaction log là áp dụng lại tất cả giao dịch(transaction) hoàn thành trong transaction log đối với CSDL Khi áp dụng bản sao lưutransaction log, SQL Server đọc trước transaction log, roll forward tất cả cáctransaction Khi đến cuối bản sao lưu transaction log, SQL Server roll back tất cảtransaction mà không hoàn thành khi ta bắt đầu thực hiện sao lưu, tạo lại trạng tháichính xác của CSDL tại thời điểm bắt đầu thực hiện sao lưu

Một số nguyên nhân cần phải xem xét tới việc sao lưu và phục hồi dữ liệu:

Nguyên nhân khách quan: Sự cố xảy ra ngoài ý muốn, con người không thể biếttrước được, thường là các thảm họa (VD: thiên tai, cháy nổ,…) Do đó cần cất giữ bảnsao ở xa bản chính

Nguyên nhân chủ quan: Sự cố xảy ra do những thao tác không chính xác của conngườ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ữ bảnsao ở vị trí sao cho thuận lợi cho việc phục hồi dữ liệu, không nhất thiết phải lưu trữ ởnơi xa bản chính

10 Sao lưu dữ liệu là gì? Mô tả các dạng sao lưu dữ liệu trong SQL Server 2008

- Sao lưu CSDL là tạo một bản sao CSDL Bản sao này có thể được sử dụng đểkhôi phục lại CSDL trong trường hợp CSDL gặp sự cố Bản sao gồm tất cả các tập tin

có trong CSDL và tập tin nhật ký giao dịch ( Transaction log file )

Trang 7

- Transaction log file chứa những dữ liệu thay đổi trong CSDL và được được sửdụng trong suốt quá trình khôi phục để roll forward những transaction hoàn thành vàroll back những transact chưa hoàn thành.

Các dạng sao lưu dữ liệu ( backup) trong SQL server 2008 )

- Full backup : sao lưu một bản đầy đủ của CSDL trren các phương tiện lưu trữ Quá trình full backup có thể tiến hành mà không cần offline CSDL , nhưng quá trìnhnày lại chiếm một lượng lớn tài nguyên hệ thống và có thể ảnh hưởng nghiêm trọngtới thời gian đáp ứng các yêu cầu của hệ thống

- Differential backup : được xây dựng nhằm làm giảm thời gian cần thiết để thựchiện quá trình full backup Differential backup chỉ sao lưu những thay đổi trên dữ liệu

kể từ lần full backup gần nhất Trong những hệ thống CSDL lớn , quá trình differentialbackup sẽ sử dụng tài nguyên ít hơn rất nhiều so với quá trình full backup và có thểkhông ảnh hưởng đến hiệu suất của hệ thống

- Backup Compression là một tính năng mới trong SQL Server 2008 Nó có thểgiảm được đến 20% kích thước vật lý của file gốc Nếu tính năng này được sử dụng,Restore sẽ tự động nhận ra file nén này Tuy nhiên có một điểm yếu đối với tính năngnày đó là chiếm dụng nhiều tài nguyên máy tính trong suốt quá trình backup

- Transaction log backup : ghi nhận lại một cách thứ tự tất cả các transactionchứa trong transaction log file kể từ lần transaction log backup gần nhất

- File or File Group Backup : copy một data file hay một file group

Câu 11: Phục hồi dữ liệu là gì? Mô tả các mô hình phục hồi dữ liệu trong SQL Server 2008

Trang 8

• Database chỉ được sao lưu Full mà không sao lưu Differential hoặc Transactionlog Lý do có thể vì Recovery model của database là SIMPLE khiến bạn không thểsao lưu Transaction log, hoặc đơn giản vì bạn không tiến hành sao lưu Differentialhoặc Transaction log.

Lưu ý: Nếu muốn phục hồi database từ bản sao lưu Differential hay Transaction

log, bạn vẫn phải phục hồi từ bản sao lưu Full ngay trước đó

Các bước tiến hành

Quá trình phục hồi database từ bản sao lưu Full được tiến hành theo 2 bước sau:

1. Phục hồi bản sao lưu Full từ Disk/Tape/Cloud

2. Khôi phục bản sao lưu Full vào database bằng lệnh của SQL Server

1 Phục hồi bản sao lưu Full từ Disk/Tape/Cloud

Trước khi tiến hành bất kỳ thao tác khôi phục nào với SQL Server, bạn cần phải

có bản sao lưu Full và tiến hành phục hồi dữ liệu từ bản sao lưu này vào máy tính.Tùy phần mềm/công cụ sao lưu trước đây, bạn tiến hành phục hồi theo hướng dẫntương ứng

Lưu ý: Không có bản sao lưu thì không thể nói đến chuyện phục hồi hay bất kỳ

thao tác nào khác để khôi phục lại database Do đó, bạn cần có phương án sao lưu vàlưu trữ an toàn các bản sao lưu

2 Khôi phục bản sao lưu Full vào database bằng lệnh của SQL Server

Sau khi có được bản sao lưu Full, bạn tiến hành khôi phục database vào SQLServer bằng lệnh RESTORE DATABASE

GO

Mặc định, lệnh RESTORE DATABASE sẽ khôi phục Data file và Log file vàothư mục trước đây của database (giá trị PhysicalName của lệnh RESTOREFILELISTONLY) Nếu thư mục này không tồn tại hoặc đã có file khác trùng tên thìlỗi sau xuất hiện:

File ‘ERP’ cannot be restored to ‘C:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\ERP_Data.mdf’ Use WITHMOVE 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 để chỉ định tên thư mục

sẽ chứa Data file và Log file được phục hồi Nhưng trước hết, bạn cần truy xuất cácthông tin dữ liệu của database bằng lệnh RESORE FILELISTONLY

Trang 9

RESTORE FILELISTONLY ERP

GO

Sau đó, sử dụng lệnh RESTORE DATABASE với tùy chọn MOVE để khôi phụcdatabase vào thư mục chỉ định

Lưu ý: Nếu database cần khôi phục bị trùng database đã có trong SQL Server,

lỗi sau sẽ xuất hiện:

The tail of the log for the database “ERP” has not been backed up Use BACKUP LOGWITH NORECOVERY to backup the log if it contains work you do not want to lose.Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just

RESTORE DATABASE is terminating abnormally

Với lỗi này, bạn sử dụng tùy chọn REPLACE để ghi đè database đang có

WITH REPLACE

GO

Sau khi lệnh RESTORE DATABASE được thực thi xong, bạn refresh lại mụcDatabases trong SSMS và thấy database ERP vừa được phục hồi

Trang 10

Câu 12: Thủ tục lưu trữ trong SQL Server là gì? Thủ tục lưu trữ có thể hỗ trợ cho hoạt động quản trị cơ sở dữ liệu như thế nào?

Trả lời :

• Thủ tục lưu trữ trong SQL server (Stored procedure) là: một đối tượng trong CSDL,bao gồm nhiều câu lệnh T-SQL được tập hợp lại với nhau thành một nhóm, và tất cảcác lệnh này sẽ được thực thi khi thủ tục lưu trữ được thực thi

Với thủ tục lưu trữ, một phần nào đó khả năng của ngôn ngữ lập trình được đưavào trong ngôn ngữ SQL Thủ tục lưu trữ có thể có các thành phần sau:

-Các cấu trúc điều khiển (IF, WHILE, FOR) có thể được sử dụng trong thủ tục.-Bên trong thủ tục lưu trữ có thể sử dụng các biến như trong ngôn ngữ lập trìnhnhằm lưu giữ các giá trị tính toán được, các giá trị được truy xuất được từ cơ sở dữliệu

• Thủ tục lưu trữ có thể hỗ trợ cho hoạt động quản trị cơ sở dữ liệu :

Một tập các câu lệnh SQL được kết hợp lại với nhau thành một khối lệnh bêntrong một thủ tục Một thủ tục có thể nhận các tham số truyền vào cũng như có thể trả

về các giá trị thông qua các tham số (như trong các ngôn ngữ lập trình) Khi một thủtục lưu trữ đã được định nghĩa, nó có thể được gọi thông qua tên thủ tục, nhận các tham số truyền vào, thực thi các câu lệnh SQL bên trong thủ tục và có thể trả vềcác giá trị sau khi thực hiện xong Lợi ích của việc sử dụng thủ tục lưu trữ:

• SQL Server chỉ biên dịch các thủ tục lưu trữ một lần và sử dụng lại kết quả biên dịchnày trong các lần tiếp theo trừ khi người dùng có những thiết lập khác Việc sử dụnglại kết quả biên dịch không làm ảnh hưởng đến hiệu suất hệ thống khi thủ tục lưu trữđược gọi liên tục nhiều lần

Trang 11

• Thủ tục lưu trữ được phân tích, tối ưu khi tạo ra nên việc thực thi chúng nhanh hơnnhiều so với việc phải thực hiện một tập rời rạc các câu lệnh SQL t ương đương theocách thông thường.

• Thủ tục lưu trữ cho phép chúng ta thực hiện cùng một yêu cầu bằng một câu lệnh đơngiản thay vì phải sử dụng nhiều dòng lệnh SQL Điều này sẽ làm giảm thiểu sự lưuthông trên mạng

• Thay vì cấp phát quyền trực tiếp cho người sử dụng trên các câu lệnh SQL và trên cácđối tượng cơ sở dữ liệu, ta có thể cấp phát quyền cho người sử dụng thông qua các thủtục lưu trữ, nhờ đó tăng khả năng bảo mật đối với hệ thống

Câu 13: Kích hoạt (Trigger) là gì? Đặc điểm của Trigger Trigger được sử dụngnhư thế nào trong việc đảm bảo tính toàn vẹn của của dữ liệu?

Trả lời :

• Kích hoạt ( Trigger) là : Triger có thể xem là một dạng đặc biệt của thủ tục nội tại, bởi

vì bên trong nội dung của triger lưu trữ các câu lệnh dùng để thực hiện một số hànhđộng nào đó mà người lập trình sẽ chỉ ra

• Đặc điểm của Trigger :

Khác với thủ tục nội tại, trigger hoàn toàn không có tham số Ngoài ra chúng ta

có thể gọi thực hiện trực tiếp trigger bằng lệnh EXECUTE như thủ tục nội tại hoặcbằng bất kỳ một lệnh nào khác, thay vào đó trigger sẽ được thực hiện một cách tựđộng khi dữ liệu của bảng có liên quan đến trigger bị cập nhật Chính nhờ vào tínhnăng đặc biệt là tự động thực hiện mà nội dung các lệnh bên trong trigger được dùngcho các công việc sau :

• Kiểm tra các ràng buộc toàn vẹn dữ liệu phức tạp

• Thực hiện các xử lý được thiết kế thi hành tại server (trong mô hình client/server).Các xử lý mà ta muốn chúng sẽ được tự động thực hiện khi có thao tác INSERT,UPDATE hoặc DELETE xảy ra

• Trigger cũng được dùng để thay thế các constraint trong trường hợp ta muốn việckiểm tra ràng buộc dữ liệu kèm theo các câu thông báo thích hợp theo ý muốn ngườidùng

• Trigger được sử dụng trong việc đảm bảo tính toàn vẹn của CSDL:

Trên SQL Server, có 2 cách thực hiện ràng buộc toàn vẹn dữ liệu :

Trang 12

• Ràng buộc toàn vẹn dữ liệu bằng phương pháp mô tả (declarative data integrity).

• Thực hiện ràng buộc dữ liệu theo phương pháp này chính là các công việc xác địnhràng buộc khóa chính, khóa ngoại, kiểm tra miền giá trị, … và mô tả chúng tại thờiđiểm tạo table

• Đặc điểm cần biết của phương pháp này là việc kiểm tra sẽ được thực hiện trước khicho phép ghi vào table

• Ràng buộc toàn vẹn dữ liệu bằng phương pháp theo thủ tục (procedural data integrity)

• Trong phương pháp này, việc ràng buộc toàn vẹn dữ liệu được xác định bởi tập hợpcác câu lệnh T-SQL Các câu lệnh chứa bên trong đối tượng Trigger, chúng sẽ đượcgọi thi hành khi có thao tác thêm, xóa, hoặc sửa dữ liệu xảy ra trên table tương ứng

• Đặc điểm cần biết của phương pháp này là việc kiểm tra sẽ được thực hiện sau khi dữliệu được ghi vào table

Câu 14: Triger là gì? Có mấy loại Triger và trường hợp ứng dụng của từng loại

Trả lời:

• Trigger là một kiểu stored procedure đặc biệt được kích nổ (thực thi) một cách tựđộng khi xảy ra một sự kiện trên Database server và không thể thực thi bằng tay

• Trigger ược chia ra làm hai nhóm: DML và DDL trigger

+ DML triggers (hay Standart triggers) thực thi khi một người sử dụng cố gắngsửa đổi dữ liệu thông qua sự kiện thao tác dữ liệu (data manipulation language -DML) INSERT, UPDATE, hoặc DELETE trên bảng hoặc view DML triggers thườngđược sử dụng trong chính sách đảm bảo các quy tắc thương mại hoặc đảm bảo tínhtoàn vẹn dữ liệu

+ DDL triggers được thực thi đáp ứng các sự kiện định nghĩa lược đồ dữ liệu(data definition language - DDL) Nhóm lệnh chính của các lệnh định nghĩa lược đồ

dữ liệu là CREATE, ALTER, và DROP Nhóm DDL trigger là nhóm trigger mới được

bổ xung trong SQL Server 2005 Database Engine

Câu 15: Ngôn ngữ T-SQL trong SQL Server có những điểm khác biệt gì so với SQL chuẩn? Sự khác biệt này giúp ích gì cho hoạt động quản trị cơ sở dữ liệu trong môi trường SQL Server.

Trả lời:

• Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (InternationalOrganization for Standardization) và ANSI (American National Standards Institute)được sử dụng trong SQL Server khác với P-SQL (Procedural-SQL) dùng trong Oracle

Trang 13

Câu 16: Hệ quản trị cơ sở dữ liệu là gì? Mô tả ba dịch vụ cơ bản của SQL Server

Người dùng truy cập dữ liệu trên Server thông qua ứng dụng Người quảntrị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị vàthực hiện các thao tác bảo trì CSDL

Ngoài ra, SQL Server là một CSDL có khả năng mở rộng, nghĩa là chúng

có thể lưu một lượng lớn dữ liệu và hỗ trợ tính năng cho phép nhiều người dùng truycập dữ liệu đồng thời

• Mô tả ba dịch vụ cơ bản của SQL Server ( từ phiên bản 2008):

Gồm các dịch vụ cơ bản sau:

Dịch vụ MS SQL Server:

Dùng quản lý tất cả các file gồm các CSDL mà SQL Server quản lý, là thànhphần xử lý tất cả các lệnh của Transact-SQL được gửi từ các trình ứng dụng client,phân phối các nguồn tài nguyên khi có nhiều user cùng truy nhập một lúc Đây là dịch

vụ quản trị cơ bản, khi ngắt dịch vụ này hệ thống sẽ ngưng tất cả các công việc khaithác dữ liệu

Dịch vụ SQL Server Agent:

Hỗ trợ các tính năng cho phép lập thời biểu các hoạt dộng theo từng giai đoạntren SQL Server, hoặc thông báo cho người quản lý hệ thống về những sự cố của hệthống, bao gồm các thành phần Jobs, Alerts, Operator

Trang 15

Là dịch vụ cho phép trong một phiên giao vận có thể sử dụng dữ liệu được phânphối trên nhiều server khác nhau, thực hiện theo các bước cơ bản sau:

+ Gọi các thủ tục lưu trữ trên các server xa sử dụng SQL Server

+ Tự động gọi hoặc tạo các phiên giao vận cục bộ và các giao vận với các máychủ từ xa

+ Tạo bộ dữ liệu được cập nhật hoặc được phân phối bởi các server xa Xem xét

sơ đồ hoạt động sau:

Như sơ đồ trên khi client triệu gọi một thủ tục có sẵn đến server cục bộ, khi

có yêu cầu dữ liệu trên server khác, thông qua dịch vụ MS DTC server cục bộ sẽ triệugọi các thủ tục từ server từ xa, kết quả có thể tạo được bộ dữ liệu được tập trung từnhiều server khác nhau:

Trang 16

Câu 17: Mô tả cách thức căn bản để tăng tốc câu lệnh truy vấn cơ sở dữ liệu Execution Plan trong SQL Server cung cấp cho nhà quản trị những thông tin gì?

• Cách thức căn bản để tăng tốc câu lệnh truy vấn cơ sở dữ liệu:

Chỉ mục là một trong những công cụ mạnh có sẵn đối với người thiết kếCSDL Một chỉ mục là một cấu trúc phụ cho phép cải thiện hiệu suất thực thi các truyvấn bằng cách giảm thiểu các hoạt động nhập/xuất dữ liệu cần thiết để được dữ liệuyêu cầu Tùy thuộc vào kiểu của nó, mà chỉ mục được lưu với dữ liệu hoặc tách biệtvới dữ liệu

- Chỉ mục khóa: Chỉ mục khóa chỉ dõ cột hoặc các cột được dùng để sinh ra chỉmục Nó cho phép tìm nhanh chóng dòng dữ liệu muốn tìm Để truy cập dòng dữ liệudùng chỉ mục, ta chỉ cần đưa ra giá trị khóa của chỉ mục hoặc đưa các giá trị vào mệnh

đề WHERE trong khối câu lệnh SELECT

- Chỉ mục duy nhất: Là chỉ mục chỉ chứa một dòng dữ liệu cho mỗi khóa chỉmục Một chỉ mục là duy nhất nếu bản thân dữ liệu là duy nhất, nếu không duy nhất ta

có thể tạo chỉ mục kết hợp trên nhiều cột để đạt được chỉ mục duy nhất

- Các kiểu chỉ mục: Các chỉ mục được lưu trữ dữ liệu dưới dạng cây nhị phân Tree

B-Có hai kiểu chỉ mục

Trang 17

- Chỉ mục liên cung (clustered): Là chỉ mục lưu trữ các dòng dữ liệu thực sự của bảngtrong nút lá, theo thứ tự đã được sắp xếp.

- Chỉ mục phi liên cung (Nonclustered): Không chứa dữ liệu trong nút lá, mà nó chứathông tin về v ị trí của dòng dữ liệu: nếu không có chỉ mục liên cung trên bảng thì nóchứa số nhận dạng dòng (Row ID); nếu có chỉ mục liên cung thì trong nút lá này sẽchứa giá trị khóa chỉ mục liên cung cho dữ liệu đó

Chú ý: Indexes được tạo tự động khi các ràng buộc PRIMARY KEY và

UNIQUE được định nghĩa trên các cột của bảng

• Execution Plan trong SQL Server cung cấp cho nhà quản trị:

Trang 18

hiện các tuyên bố, giá trị này nên càng thấp càng tốt.

Số hàng được sản xuất bởi các nhà điều hành

Câu 18: Mô hình hệ quản trị cơ sở dữ liệu khách/chủ (client /server) là gì? SQL Server có những đặc trưng gì để đáp ứng là một hệ quản trị cơ sở dữ liệu theo mô hình khách/chủ.

• Mô hình hệ quản trị cơ sở dữ liệu khách/chủ (client /server) là: một mô hìnhnổi tiếngtrong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện

có Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu(request) để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trảkết quả về cho máy khách Trong mô hình khách/chủ, toàn bộ CSDL được tập trunglưu trữ trên máy chủ (Server), mọi thao tác xử lý dữ liệu được thực hiện trên máy chủbằng các lệnh SQL Máy trạm (Client) chỉ dùng để cập nhật dữ liệu cho máy chủ hoặclấy thông tin từ máy chủ

• SQL Server có những đặc trưng gì để đáp ứng là một hệ quản trị cơ sở dữ liệu theo môhình khách/chủ:

SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở

dữ liệu cung cấp cho người dùng bao gồm:

- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu trúclưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu

- Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện các thaotác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu

- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao táccủa người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu

- Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệunhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũngnhư các lỗi của hệ thống

Như vậy có thể cho rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trongcác hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị

Trang 19

cơ sở dữ liệu Mặc dù SQL không phải là một ngôn ngữ lập trình như C++, Java, songcác câu lệnh mà SQL cung ccaps có thể được nhúng vào trong các ngôn ngữ lập trìnhnhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.

Câu 20: Bảo mật cơ sở dữ liệu là gì? Các khái niệm chính trong bảo mật cơ

sở dữ liệu được quản trị bằng SQL Server.

• Bảo mật cơ sở dữ liệu là:

- Ngăn chặn các truy cập không được phép

- Hạn chế tối đa các sai sót của người dùng

- Đảm bảo thông tin không bị mất mát và thay đổi ngoài ý muốn

- Không tiết lộ nội dung dữ liệu cũng như chương trình xử lý

• Một số khái niệm cơ bản

Login và User:

Login: Dùng để truy cập vào hệ thống SQL Server, các Login chỉ mới có quyềntruy cập vào Server chứ chưa hẳn có quyền truy cập vào các Database trên Server, cácquyền truy cập vào Database được gắn liền với các người dùng CSDL (Users) Đểxem tất cả các login của Server, dùng lệnh execsp_helplogins hoặc trong SSMS(Server/Security/Logins)

User: Mỗi Database có một danh sách các người dùng được phép truy cập

CSDL của mình, mỗi user luôn được gắn (mapped) với một login ở mức Server Khibạn đăng nhập vào SQL Server thông qua login này, bạn sẽ có quyền truy cập vàodatabase theo quyền hạn mà user tương ứng với nó được cấp Mỗi login có thể gắn vớimột hoặc nhiều user với quyền hạn khác nhau trên các Database

Để xem tất cả các users của một database, có thể dùng lệnh execsp_helpuser hoặc trong SSMS (Database/Security/Users)

Server role (vai trò phía Server)

Role là tập hợp một số các quyền được nhóm lại và có một tên đại diện để thuận tiện cho việc quản lý Server role là nhóm các quyền ở mức server mà login khi được cấp

sẽ có thể thực hiện một số thao tác xác định ở mức server Các Server Roles trong SQL Server như sau:

Trang 20

Database role (vai trò phía Database)

Database role tập hợp các quyền truy xuất database thành từng nhóm và được đại diệnbởi một tên dùng để cấp phát quyền truy cập CSDL cho các users

Sau đây là các Database role trong SQL Server

sẽ chỉ lưu tên của account đó trong danh sách login Nếu chọn SQL Server

authentication, bạn cần cung cấp login name và password và cả hai được lưu trong SQL Server

Cấp phát và thu hồi quyền trong SQL

Cấp phát quyền truy cập (GRANT)

GRANT PRIVILEGES|ALL

ON DatabaseObjects

TO USERS

Trang 21

[WITH GRANT OPTION ]

Trong đó:

PRIVILEGES : Các quyền truy cập Database (Select, Insert, Update, Excute…)DatabaseObjects: Các đối tượng cơ sở dữ liệu (Table, View, Stored Procedure,Functions…)

USERS: Người dùng| nhóm người dùng

WITH GRANT OPTION: Cho phép người dùng chuyển tiếp quyền cho ngườidùng khác

Ví dụ: Cấp phát quyền SELECT, UPDATE trên bảng ACCOUNTS cho ngườidùng ‘khoa’ và cho phép người dùng này có thể cấp phát các quyền này cho ngườidùng khác

GRANTSELECT,UPDATE

ON ACCOUNTS

TO khoa

WITHGRANTOPTION

Thu hồi quyền truy cập cơ sở dữ liệu

Ví dụ: Thu hồi quyền Update trên bảng ACCOUNTS từ người dùng khoa và thuhồi quyền này từ những người dùng khác mà User khoa đã cấp phát cho họ

- Quản lý tài nguyên (CSDL, hệ QTCSDL, phần mềm liên quan

- Cài đặt CSDL vật lý, cấp phát quyên truy cập các phần mềm, phần cứng

- Duy trì hoạt động hệ thống

Người quản trị CSDL phải hiểu sâu sắc và có kĩ năng trong các lĩnh vực CSDL,

Hệ QTCSDL và môi trường hệ thống

Nhiệm vụ chính của người quản trị cơ sở dữ liệu là cấp phát quyền truy cập cơ sở dữ

liệu cho các đối tượng người dùng cơ sở dữ liệu khác nhau Ngoài ra họ còn phải duy

Ngày đăng: 16/02/2020, 20:35

TỪ KHÓA LIÊN QUAN

w