intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài 6 - Tạo queries và views

Chia sẻ: Vo Danh | Ngày: | Loại File: DOC | Số trang:13

70
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trên thực tế, các bảng của CSDL thường có quan hệ nào đó với nhau. Mối quan hệ giữa các bảng có thể thiết lập qua lệnh (Lệnh SET RELATION - xem bài 5) - mối quan hệ tạm thời , hoặc trong quá trình thiết kế cơ sở dữ liệu - mối quan hệ bền vững. Trong phần này chúng ta chỉ xét mối quan hệ bền vững.

Chủ đề:
Lưu

Nội dung Text: Bài 6 - Tạo queries và views

  1. Bài 6 - Tạo queries và views I. Thiết lập quan hệ giữa các bảng Trên thực tế, các bảng của CSDL thường có quan hệ nào đó v ới nhau. M ối quan h ệ giữa các bảng có thể thiết lập qua lệnh (Lệnh SET RELATION - xem bài 5) - m ối quan hệ tạm thời , hoặc trong quá trình thiết kế cơ sở dữ liệu - mối quan hệ bền vững. Trong phần này chúng ta chỉ xét mối quan hệ bền vững. Để đặt quan hệ giữa các bảng thì việc đầu tiên cần làm đó là xác đ ịnh các Index cho bảng. Việc xác định các Index cho bảng có thể thực hiện qua l ệnh (l ệnh INDEX - xem bài 5) hoặc có thể xác định khi thiết kế bảng trong giao di ện Table Designer. Tạo index trong Table Designer (Xem bài 4)  Thiết lập quan hệ bền vững giữa các bảng trong CSDL  Mối quan hệ bền vững được tạo trong quá trình thiết k ế CSDL, và đ ược l ưu l ại trong file csdl (DBC) và có những đặc điểm sau: Được tự động sử dụng như các kết nối mặc nhiên (khi tạo Queries và Views) - Được thể hiện bằng các đường nối trong Database Designer. - Được thể hiện trong môi trường Data - Dùng để lưu thông tin về mối quan hệ toàn vẹn. - Không giống như các mối quan hệ tạm thời được tạo bằng lệnh SET RELATION, m ối quan hệ bền vững không không cần phải tạo lại mỗi khi sử d ụng đ ến các b ảng d ữ liệu. Tuy nhiên bởi mối quan hệ bền vững không đi ều khiển các con tr ỏ b ản ghi gi ữa các bảng dữ liệu nên mối quan hệ tạm thời vẫn rất cần thiết khi phát tri ển ứng d ụng. Các bước thiết lập quan hệ bền vững 1. Mở Project 2. Chọn Tab Data 3. Chọn mục Database và mở rộng (expand) 4. Chọn Database cụ thể cần làm việc (DIEMDB) 5. Chọn mục Modify, khi đó giao diện Database Designer xuất hi ện. 6. Trong giao diện Database Designer để tạo quan h ệ gi ữa 2 b ảng ch ỉ c ần kéo-th ả trường Index (Primary) từ bảng cha đến trường Index (Regular) c ủa b ảng con. ở đây cần lưu ý việc tạo Index cho các trường tr ước khi thi ết l ập quan h ệ gi ữa các bảng.
  2. Sau khi thiết lập xong quan hệ giữa các bảng ta có giao di ện Database Designer có dạng như hình 6.1. Hình 6.1 Quan hệ giữa các bảng trong CSDL Đường nối thể hiện quan hệ giữa các bảng. Thiết lập quan hệ toàn vẹn giữa các bảng  Thực chất là xác định các qui tắc ứng xử giữa các bảng có quan h ệ v ới nhau. Các qui tắc đó sẽ kiểm xoát các việc như thay đổi (Update), Thêm (Insert), Xoá (Delete) sao cho vẫn đảm bảo mối quan hệ giữa các bảng này không bị vi phạm. Để thiết lập quan hệ toàn vẹn giữa các bảng, nháy đúp chu ột trái vào đ ường liên k ết bất kỳ giữa 2 bảng, tiếp đến chọn lệnh Referential Integrity nh ư hình 6.2 Hình 6.2 Khi chọn Referential Integrity giao diện này xu ất hi ện nh ư hình 6.3
  3. Hình 6.3 Giao diện Referential Integrity, Rules For Updating Trong đó: Dòng (trong grid phía dưới): Thể hiện các quan h ệ hi ện có c ủa CSDL, các - thông tin của một quan hệ gồm có: Bảng cha (Parent Table), B ảng con (Child Table), Biểu thức quan hệ trên bảng cha (Parent Tag), Bi ểu th ức quan h ệ trên bảng con (Child Tag). Tab Rules for Updating: cho phép thiết lập qui t ắc ứng x ử gi ữa 2 b ảng cha/con - của một quan hệ nào đó (phía dưới) khi sửa đổi. Các qui t ắc ứng x ử ở đây là: o Ignore: Cho phép sửa các bản ghi liên quan trên b ảng con m ột cách đ ộc lập (không phụ thuộc vào bảng cha), đây là giá trị mặc định. Ví dụ o Restrict: Không cho phép sửa đổi các bản ghi trong b ảng cha n ếu t ồn t ại những bản ghi liên quan trong bảng con. Ví dụ o Cascade: Sửa tất cả những bản ghi có quan hệ trong bảng con v ới giá tr ị khoá mới tương ứng của bảng cha. Ví dụ Tab Rules for Deleting: cho phép thi ết l ập qui t ắc ứng x ử gi ữa 2 b ảng cha/con - của một quan hệ nào đó (phía dưới) khi xoá. Các qui tắc ứng x ử ở đây là: o Ignore: Cho phép xoá các bản ghi liên quan trên b ảng con m ột cách đ ộc lập (không phụ thuộc vào bảng cha), đây là giá trị mặc định. Ví dụ o Restrict: Không cho phép xoá các bản ghi trong b ảng cha n ếu t ồn t ại những bản ghi liên quan trong bảng con. Ví dụ
  4. o Cascade: Xoá tất cả những bản ghi có quan hệ trong bảng con t ương ứng với bản ghi bị xoá của bảng cha. Ví dụ Hình 6.4 Rules For Deleting Tab Rules for Inserting: cho phép thi ết lập qui t ắc ứng x ử gi ữa 2 b ảng cha/con - của một quan hệ nào đó (phía dưới) khi thêm mới. Các qui t ắc ứng x ử ở đây là: Hình 6.4 Rules For Inserting
  5. o Ignore: Cho phép thêm các bản ghi vào bảng con m ột cách đ ộc lập (không phụ thuộc vào bảng cha), đây là giá trị mặc định. Ví dụ o Restrict: Không cho phép thêm các bản ghi vào b ảng con n ếu không t ồn t ại một bản ghi tương ứng trong bảng cha. Ví dụ II. Tạo các queries Query: Công cụ truy vấn dữ liệu. Có thể tạo ra query với nhi ều lý do khác nhau nh ư: để tổ chức thông tin cho Report, để trả lời nhanh m ột câu h ỏi .... Ví d ụ, v ới b ảng DIEM khi biết mã sinh viên và cần xem sinh viên đó có tên là gì? B ảng đi ểm c ủa m ột môn học nào đó. .. Tạo mới một Query sử dụng Wizard  1. Trong Project Manager chọn Tab Data 2. Chọn Queries 3. Chọn New 4. Chọn Query Wizard 5. Chọn kiểu Query Wizard cần tạo, có các kiểu là Cross-Tab, Graph và Query. Ví dụ 1: Tạo một Cross Tab Query Giả sử cần xác định xem số lượng thí sinh thi trượt lần 1 các môn học theo l ớp có s ố lượng là như thế nào? Số liệu cần đưa ra dạng sau: Lớp /môn MH1 MH2 ... ... ... MHn 3A-04 4 7 ... ... ... ... 3B-04 3 5 ... ... ... ... ... ... ... ... ... ... ...
  6. Khi đó cần sử dụng một Cross-Tab. 1. Chọn Cross-Tab Wizard, chọn OK. 2. Step 1 - Select Fields: Chọn Database, Tables và Fields (S ử d ụng l ệnh >, >> đ ể chọn các trường cần thiết). Khi đã chọn xong các trường, ch ọn Next đ ể qua b ước 3. 3. Step 2 - Define Layout:
  7. Bước này cần định nghĩa 3 đối t ượng cho Cross-Tab đó là: Row (trong ví d ụ này là Malop), Column (Mamon) và Data (Diem1) bàng cách nh ấp-th ả (Drag) các trường vào các ô (Row, Column, Data) tương ứng. Chọn Next để ti ếp t ục 4. Step 3 - Add summary Information: Chọn các hàm th ống kê đ ối v ới đ ối t ượng Data, các hàm này có thể là: Sum, Countm Average, Max, Min, trong ví d ụ này thì Summary chọn là Count. Tuỳ chọn Subtotal cho phép thêm vào c ột cu ối đ ể tính subtotal cho mỗi dòng. Tiếp đến chọn Finish và nhập vào tên file Query đ ể hoàn tất công việc (hoặc chọn Next sẽ chuyển đến bước 4 Step 4 - Finish). Trong cửa sổ Project Manager chọn Query vừa t ạo r ồi ch ọn l ệnh Run - > Đ ược k ết quả thể hiển của Query. Ví dụ 2: Tạo một Graph Form bằng Graph Wizard Giả sử cần thể hiện số lượng sản phẩm của các mặt hàng hiện có trong kho d ạng biểu đồ. Khi đó sử dụng Graph Wizard như sau:
  8. 1. Chọn Graph Wizard, chọn OK. 2. Step 1 - Select Fields: Như ví dụ trên 3. Step 2 - Define Layout: Bước này cần định nghĩa 2 đối tượng cho là: Data series - Tr ường s ố (trong ví d ụ này là Soluong) và Axis - Trong ví d ụ này là Ma. Ch ọn Next đ ể ti ếp t ục (l ưu ý là Next và Finish chỉ cho phép khi đã chọn đủ Data series và Axis). 4. Step 3 - Select Graph Style
  9. Bước này cho phép chọn kiểu biểu đồ, trong ví d ụ này ch ọn bi ểu đ ồ c ột (th ứ 6). Chọn Next để tiếp tục 5. Step 4 - Finish: Chọn Finish rồi nhập vào tên form c ần l ưu (Kết qu ả c ủa Wizard này là một Form). Trong cửa sổ Project Manager chọn Form vừa tạo rồi ch ọn lệnh Run - > Đ ược k ết quả thể hiển của Query. Với ví dụ 2 ta có form DMHANG dạng biểu đ ồ nh ư hình sau:
  10. Tạo mới một Query sử dụng Queries Designer  Giả sử cần xem bảng điểm một môn học của một lớp nào đó, bảng điểm bao g ồm Masv, Hoten, Ngaysinh và điểm. Với yêu cầu này có thể s ủ d ụng Query đ ể l ấy thông tin theo các bước sau: 1. Trong Project Manager chọn Tab Data 2. Chọn Queries 3. Chọn New 4. Chọn New Query 5. Chọn Table hoặc View cần dùng cho Query như hình sau. Trong ví d ụ này ch ọn Table Diem (rồi Add) và Hososv (rồi Add) (b ước ch ọn B ảng này có th ể th ực hi ện về sau). Chọn Close để đóng cửa sổ Add Table or View 6. Tiếp đến giao diện Query xuất hiện như hình 6.6 Giao diện Query Designer: o Phía trên: Thể hiện các bảng (hoặc View) sử dụng trong Query. Nháy chu ột phải vào phần này ta có Popup menu như sau:
  11. Run Query: Thực hiện (chạy) query này View SQL: Xem query ở dạng SQL Remove Table: Loại bỏ bảng đã chọn khỏi Query (khi chọn vào b ảng) Add Table: Show giao diện Add Table or View Output Setting: Tuỳ chọn đầu ra cho query (xem sau). Hình 6.6 - Query Designer Đường nối thể hiện quan hệ giữa các bảng. o Phía dưới: Các tuỳ chọn cho thiết kế Query Tab Fields: Chọn các trường cho query. Available Fields: Các filed có thể chọn cho query.  Selected Fields: Các trường đã chọn.  Lệnh Add: Thêm trường đã chọn từ Available Fields vào Selected Fields.  Lệnh Add All: Thêm tất cả các trường từ Available Fields vào Selected Fields.  Lệnh Remove: Loại bỏ 1 trường đã chọn trong Selected Fields.  Lệnh Remove All: Loại bỏ tất cả các trường đã chọn trong Selected Fields.  Mục Functions and Expressions: Khai báo 1 bi ểu th ức và có th ể thêm (Add) bi ểu  thức này vào Selected fields (và nó có vai trò nh ư 1 tr ường, dùng khai báo AS để đặt tên cho biểu thức này).
  12. Tab Joint: Thiết lập các thuộc tính về kết nối giữa 2 bảng. Các bảng dùng cho 1 query thường có quan hệ nào đó v ới nhau. Khi truy xu ất d ữ li ệu, kiểu liên kết (Joint Type) có vai trò quan trọng trong vi ệc ứng x ử gi ữa các b ảng. Ví d ụ có 2 bảng Dmhang và Hoadon được dùng trong 1 query và có s ố li ệu nh ư hình sau: Bảng Dmhang có chứa các bản ghi H4, H5, các b ản ghi này không có trong Hoađon, và ngược lại trong Hoadon có mặt hàng H10 là loại hàng ch ưa có trong Dmhang. Như vậy khi ghép 2 bảng này mặt hang H4, H5 có s ố hóa đ ơn là bao nhiêu? Hóa đơn 7 mặt hàng H10 thì tên hàng là gì, đ ơn giá là bao nhiêu? Đ ể giái quyết vấn đề này chúng ta sẽ xét các Joint sau đây. Left Table: Bảng phía trái (bảng cha)  Right Table: Bảng phía phải (bảng con)  Joint Type: Có thể 1 trong các loại sau:  o Inner joint: Chỉ trả về các bản ghi có thể so kh ớp đ ược v ới nhau trên 2 bảng (khi đó các bản ghi H4, H5 và H7 trong cả 2 b ảng s ẽ không đ ược tr ả về) o Left Outer Joint: o Right Outer joint: o Full Joint:
  13. Bài tập 1. Tạo chỉ mục cho các bảng như đã chỉ ra trong bài 1.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1