« Home « Kết quả tìm kiếm

Quản Lý Dữ Liệu - Cơ Sở Dữ Liệu phần 2


Tóm tắt Xem thử

- Ví dụ:.
- Một rule có thể được áp dụng cho nhiều thuộc tính của nhiều bảng khác nhau, hoặc cho các kiểu dữ liệu người dùng định nghĩa trong database..
- Tùy chọn futureonly chỉ dùng khi kết buộc rule với kiểu dữ liệu người dùng định nghĩa, có nghĩa các cột thuộc kiểu dữ liệu này trước đó không bị ảnh hưởng bởi rule..
- Các thao tác trên dữ liệu.
- Chú ý khi thêm/ xóa/ cập nhật dữ liệu:.
- Dữ liệu nhập phải phù hợp với kiểu dữ liệu..
- Định dạng giá trị kiểu chuỗi unicode, kiểu datetime..
- Nhập giá trị rỗng (Null)..
- Thêm từng dòng dữ liệu vào bảng.
- Thêm 0-n dòng dữ liệu từ bảng khác/ từ kết quả của một câu truy vấn Insert [into] Table_name.
- Lưu ý: trong câu select, ta có thể đọc dữ liệu từ các bảng trong database khác..
- Lệnh cập nhật dữ liệu.
- Lệnh xoá dữ liệu.
- Truy vấn dữ liệu 1.
- Câu truy vấn tổng quát.
- Cú pháp tổng quát của câu truy vấn dữ liệu:.
- SELECT [tính chất] <danh sách các thuộc tính_1>.
- [ORDER BY <danh sách các thuộc tính_3>.
- Danh sách các thuộc tính_1: tên các thuộc tính cho biết thông tin cần lấy..
- Các thuộc tính cách nhau bởi dấu.
- Nếu lấy tất cả các thuộc tính của 1 bảng R thì dùng: R.*.
- Nếu tồn tại 1 thuộc tính sau select xuất hiện ở 2 bảng sau FROM thì phải chỉ định rõ thuộc tính đó thuộc bảng nào..
- Danh sách các table/query/view: các bảng, câu truy vấn, hoặc khung nhìn chứa thông tin cần lấy.
- Khi tìm kiếm thông tin trên nhiều hơn 2 bảng/truy vấn thì phải kết các bảng lại với nhau (có thể đặt điều kiện kết đặt sau where hoặc đặt trong mệnh đề From… join/ left join/ right join/full join … on.
- Alias: bí danh (tên tắt) của bảng dùng cho các bảng có tên quá dài, hoặc một bảng được dùng nhiều lần trong mệnh đề from của câu truy vấn..
- điều kiện_1: là điều kiện để lọc dữ liệu (chọn các bộ thoả điều kiện)..
- danh sách các thuộc tính_2: dữ liệu sẽ được gom nhóm theo các cột này, độ ưu tiên tính từ trái sang..
- danh sách các thuộc tính_3:sắp xếp dữ liệu theo cột nào, thứ tự là tăng (ASC) hoặc giảm (DESC).
- Mặc định là dữ liệu được sắp theo thứ tự tăng dần.
- Nếu câu truy vấn không có mệnh đề Group By thì cũng không có mệnh đề Having..
- Nếu câu truy vấn có chứa mệnh đề Group By thì Danh sách các thuộc tính_1 chỉ chứa các thuộc tính hoặc biểu thức liên quan đến các thuộc tính trong danh sách các thuộc tính_2 và các hàm gộp (max, min, avg, sum, count)..
- Tạo và sử dụng khung nhìn (View) 1.
- Khái niệm khung nhìn:.
- Khung nhìn (View) là một bảng ảo, có cấu trúc như một bảng, khung nhìn không lưu trữ dữ liệu mà dữ liệu của nó được tạo ra khi sử dụng, khung nhìn là đối tượng thuộc CSDL.
- Khung nhìn được tạo ra từ câu lệnh truy vấn dữ liệu (lệnh Select), truy vấn từ một hoặc nhiều bảng dữ liệu..
- Sử dụng khung nhìn.
- o Khung nhìn được sử dụng khai thác dữ liệu như một bảng dữ liệu, có thể được chia sẻ bởi nhiều người dùng, an toàn trong khai thác..
- o Có thể thực hiện truy vấn dữ liệu trên cấu trúc của khung nhìn..
- o Các khung nhìn được tạo từ nhiều bảng hoặc trong khung nhìn có chứa từ khóa DISTINCT, hàm gộp, mệnh đề group by đều không cho phép cập nhật dữ liệu từ khung nhìn vào các bảng gốc trong cơ sở dữ liệu..
- Cú pháp tạo khung nhìn:.
- Tạo và sử dụng chỉ mục (Index).
- Chỉ mục (Index) là một phần quan trọng đối với CSDL, đặc biệt là cơ sở dữ liệu lớn..
- Chỉ mục được thiết lập từ một hoặc nhiều cột dữ liệu của bảng dữ liệu.
- Các giá trị của Chỉ mục sẽ được sắp xếp và lưu trữ theo một danh sách (bảng khác).
- Mỗi giá trị chỉ mục là duy nhất trong danh sách và nó sẽ liên kết đến giá trị trong bảng dữ liệu (liên kết dạng con trỏ).
- Việc lưu trữ dữ liệu của bảng có khóa chỉ mục được thực hiện theo cấu trúc B-Cây nhằm tăng tốc độ truy xuất dữ liệu đối với ổ đĩa (thiết bị thứ cấp)..
- Khi tìm kiếm một giá trị trong cột dữ liệu, mà cột này tham gia tạo Chỉ mục, đầu tiên câu lệnh xác định vị trí của giá trị nằm trong Chỉ mục bằng phép duyệt cây, sau đó thực hiện tìm theo liên kết đến bản ghi chứa giá trị tương ứng với khóa trong bảng..
- Lựa chọn chỉ mục.
- Không có chỉ mục, hệ quản trị CSDL thực hiện truy vấn bằng cách duyệt qua từng dòng trong bảng..
- Cài đặt các chỉ mục cho bảng giúp truy vấn thông tin nhanh hơn (tìm kiếm trên B-Cây)..
- Khóa chính và các ràng buộc unique hiển nhiên là các chỉ mục của bảng..
- Cơ sở để chọn cài đặt chỉ mục: dựa vào các nhu cầu truy vấn thực hiện thường xuyên trên CSDL..
- Nên cài đặt chỉ mục cho các trường hợp sau:.
- Trường hợp 1: Có nhu cầu truy vấn thường xuyên các bộ của bảng Q theo một số (tập) thuộc tính nào đó..
- Ví dụ: GiaoDich(MãGD, …,NgàyGD): Có nhu cầu truy xuất thường xuyên các bộ của giao dịch trong một ngày hoặc trong một khoảng thời gian nhất định: cài đặt chỉ mục trên thuộc tính NgayGD của quan hệ GiaoDich..
- Trường hợp 2: tập thuộc tính tham gia vào phép kết của một câu truy vấn xảy ra thường xuyên..
- Ví dụ: cho 2 lược đồ quan hệ:.
- Thường xuyên có nhu cầu truy vấn: cho biết kết quả học tập của một học sinh..
- Câu lệnh truy vấn như sau:.
- Cài đặt chỉ mục (STT, Lop) cho quan hệ KetQua.
- Lưu ý: một chỉ mục (AB) khác với hai chỉ mục (A) và (B)..
- Các loại chỉ mục Có hai loại chỉ mục:.
- Dữ liệu thật sự được sắp xếp vật lý theo chỉ mục (thật sự nằm ở nút lá của cây)..
- Chỉ mục logic, dữ liệu thật sự không được sắp xếp vật lý theo chỉ mục..
- Nút lá là con trỏ trỏ đến vị trí của bộ dữ liệu, hoặc trỏ đến giá trị của clustered chỉ mục (trong trường hợp bảng có clustered index)..
- Một số cân nhắc khi chọn chỉ mục:.
- Sử dụng nhiều chỉ mục tăng tốc độ truy vấn, nhưng làm giảm hiệu quả của các thao tác thêm/xoá/cập nhật dữ liệu..
- Không nên tạo chỉ mục trên các bảng quá nhỏ (vài trăm dòng)..
- Chỉ nên chọn chỉ mục mà mỗi giá trị của nó tương ứng với một số ít bộ.
- Nếu mỗi giá trị chỉ mục ứng với trên 20% số lượng bộ trong bảng, thực hiện truy vấn bình thường bằng cách duyệt qua các dòng trong bảng sẽ hiệu quả hơn..
- Các giá trị chỉ mục phải phân bố đều các bộ trong bảng..
- Cố gắng dùng các chỉ mục với số thuộc tính ít (chiếm ít không gian và cần ít chi phí duy trì hơn chỉ mục với số thuộc tính lớn)..
- Clustered index phải nhỏ (số thuộc tính ít, kích thước nhỏ), vì các chỉ mục nonclustered đều phải gắn kết tới nó..
- Cài đặt chỉ mục với SQL Server Một số qui định:.
- Một bảng có tối đa 249 nonclustered chỉ mục (bao gồm cả những chỉ mục ngầm định khi khai báo khóa chính và chỉ mục)..
- Kích thước tối đa của một chỉ mục (tổng kích thước các thuộc tính tham gia vào chỉ mục) không quá 900 bytes..
- Mặc định: chỉ mục clustered được khai báo ngầm định cùng với khai báo khóa chính, các trường hợp khác là nonclustered (tất nhiên có thể chỉ định khác đi)..
- Cú pháp khai báo chỉ mục:.
- Cluster| Nonclustered] Chỉ mục chỉ mục_name.
- Create nonclustered chỉ mục idx_STTHS_Lop On KETQUA (STTHS, Lop).
- Cú pháp xóa chỉ mục:.
- Drop Chỉ mục table_name (chỉ mục_name) Ví dụ:.
- Drop Chỉ mục KETQUA(idx_STTHS_Lop) IX.
- Chuyển đổi dữ liệu với các ứng dụng khác.
- Là một đối tượng có thể chứa giá trị thuộc một kiểu dữ liệu nhất định, tên biến bắt đầu bằng một ký tự.
- Biến cục bộ có giá trị trong một query batch hoặc trong một thủ tục thường trú (stored procedure) hoặc hàm (function)..
- Khai báo biến cục bộ bằng lệnh declare: cung cấp tên biến và kiểu dữ liệu:.
- Declare tên_biến Kiểu_dữ_liệu Ví dụ:.
- Để gán giá trị cho một biến cục bộ dùng lệnh set.
- Giá trị gán cho biến phải phù hợp với kiểu dữ liệu của biến..
- Set tên_biến = giá_trị Set tên_biến = tên_biến Set tên_biến = biểu_thức.
- Set tên_biến = kết_quả_truy_vấn Ví dụ:.
- from SinhVien) Set @MaLop = ‘TH’+Year(@NgayTuyenSinh) Đưa kết quả truy vấn vào biến:.
- Lưu ý: nếu câu truy vấn trả về nhiều dòng, các biến chỉ nhận giá trị tương ứng của dòng đầu tiên..
- SQL tự cập nhật giá trị cho các biến này, người sử dụng không thể gán giá trị trực.
- o @fetch_status: cho biết thao tác lấy dữ liệu từ cursor có thành công không..
- If biểu_thức_điều kiện Lệnh| Khối_lệnh [Else Lệnh| Khối_lệnh].
- While biểu_thức_điều_kiện Lệnh| Khối lệnh.
- When Giá_trị then kết_quả [...n].
- When biểu_thức_điều kiện then kết_quả [...n]

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt