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

Kiến trúc dữ liệu Rational DA và DB2 9: Xây dựng một lệnh SQL

Chia sẻ: Hoang Nhan | Ngày: | Loại File: PDF | Số trang:19

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

Bạn đã từng quen thuộc với Database Explorer? Dù đã, hay chưa thì cũng xin mời đọc bài sau để biết về một số chức năng, thành phần của kiểu kiến trúc dữ liệu này, cụ thể hơn là về khả năng xây dựng các lệnh SQL gặp trong cơ sở dữ liệu (CSDL) của bạn.

Chủ đề:
Lưu

Nội dung Text: Kiến trúc dữ liệu Rational DA và DB2 9: Xây dựng một lệnh SQL

  1. Kiến trúc dữ liệu Rational DA và DB2 9: Xây dựng một lệnh SQL Nguồn : quantrimang.com  Bạn đã từng quen thuộc với Database Explorer? Dù đã, hay chưa thì cũng xin mời đọc bài sau để biết về một số chức năng, thành phần của kiểu kiến trúc dữ liệu này, cụ thể hơn là về khả năng xây dựng các lệnh SQL gặp trong cơ sở dữ liệu (CSDL) của bạn. Xây dựng một lệnh SQL Rational DA (kiến trúc dữ liệu hữu tỷ) tích hợp sẵn một công cụ hỗ trợ tạo các lệnh SQL. Bạn có thể truy cập nó từ nhiều nguồn khác nhau của Rational DA như sử dụng bảng ảo Database Explorer… Hãy xem xây dựng truy vấn bên dưới sử dụng Rational DA như thế nào: SELECT DEPARTMENT.LOCATION, EMPLOYEE.EMPNO, EMPLOYEE.FIRSTNME, EMPLOYEE.LASTNAME, EMPLOYEE.PHONENO FROM DEPARTMENT, EMPLOYEE WHERE DEPARTMENT.DEPTNO = EMPLOYEE.WORKDEPT AND EMPLOYEE.SEX = 'F' ORDER BY LASTNAME DESC, FIRSTNME DESC Truy vấn này trả ra kết quả là tất cả nhân viên nữ có trong công ty. Để xây dựng một lệnh SQL từ bảng ảo Database Explorer, thực hiện các bước sau: 1. Kích phải chuột lên đối tượng kết nối CSDL và chọn New SQL Statement.
  2. Bạn có thể chọn tuỳ chọn này từ một đối tượng kết nối CSDL liền mạch hoặc tách rời. Nếu chọn New SQL Statement từ đối tượng rời, nó sẽ tự động tạo một kết nối tới CSDL. Sau đó kích phải chuột lên đối tượng CSDL và chọn tuỳ chọn. 2. Trong cửa sổ New SQL Statement, gõ tên lệnh ở ô Statement name và chọn kiểu truy vấn trong danh sách Statement template. Ví dụ, đặt tên cho Statement name là FemaleEmployees, Statement template là SELECT và đặt SQL builder cho ô Edit using, sau đó bấm OK. Trình tạo SQL sẽ được mở ra với mẫu lệnh là SELECT. Trong danh sách Statement template, Rational DA cung cấp các mẫu gốc cho tất cả kiểu truy vấn, chẳng hạn như: INSERT, UPDATE, DELETE, FULLSELECT, và WITH (cho các định nghĩa biểu thức bảng chung (Common Table Expression)).
  3. Tuỳ chọn SQL builder viện dẫn một công cụ tạo lệnh SQL hỗ trợ đồ hoạ, cho phép bạn xây dựng lệnh SQL với thao tác kéo-thả, các thay đổi thuộc tính trỏ-và- kích… đơn giản (bạn sẽ thấy ở những bước phía dưới của bài). Trình tạo lệnh SQL như hình bên dưới: Tuỳ chọn SQL editor chỉ mở trình soạn thảo lệnh SQL (là một phần của trình tạo SQL, nơi chứa các lệnh SQL trong SQL builder). Trình soạn thảo SQL cung cấp một số mã trợ giúp thông thường như tô màu cú pháp và tra tìm giản đồ tự động, nhưng không cung cấp các chức năng kéo-thả gắn với trình tạo SQL để xây dựng các lệnh SQL. Chúng ta sẽ quan tâm đến trình soạn thảo SQL trong một bài gần đây. 3. Kích phải chuột lên ô Tables và chọn Add Table. Cửa sổ Add Table mở ra. Chúng ta sẽ lấy ví dụ với hai bảng EMPLOYEE và DEPARTMENT đặt trong cơ sở dữ liệu SAMPLE.
  4. Bạn có thể thấy như ở hình trên, giản đồ dữ liệu HR và PAULZ được hiển thị trong cửa sổ Add Table. Để ý bạn cũng sẽ thấy có tuỳ chọn tạo bí danh cho bảng trong mỗi truy vấn cũng được hiển thị. Bí danh bảng giúp việc tham chiếu tới nó trong lệnh SQL dễ dàng hơn. Khi sử dụng bí danh để thể hiện bảng (hoặc bảng ảo), Rational DA sẽ điều chỉnh cú pháp SQL và giao diện tương ứng như hình bên dưới:
  5. Khi thêm cả hai bảng vào vùng làm việc của trình tạo SQL , workspace của Rational DA sẽ có dạng:
  6. Rational DA hỗ trợ các thao tác kéo-thả từ bảng ảo Database Explorer tới trình tạo SQL builder. Đơn giản chỉ cần kích chuột và kéo bảng bạn muốn thêm vào khung Tables, sau đó nhả nút chuột để đưa bảng vào vị trí mong muốn. Hỗ trợ kéo-thả này thay thế cho tuỳ chọn Add Table mô tả ở bước trên; quá trình chọn bảng theo kiểu kéo-thả cung cấp hình thức xây dựng truy vấn tự nhiên hơn:
  7. 4. Kích phải chuột lên ô Tables, chọn Create Join để tạo liên kết như minh hoạ ở hình dưới: Ví dụ, tạo liên kết giữa các bảng DEPARTMENT và EMPLOYEE, dùng cột DEPARTMENT.DEPTNO và EMPLOYEE.WORKDEPT như hình trên. Nếu chọn hai cột kết nối không tương thích, trình tạo SQL builder sẽ không cho phép liên kết hai bảng vì sẽ xảy ra lỗi trong thời gian chạy. Kiểu lỗi có dạng:
  8. Bạn có thể dùng hình thức kéo-thả để tạo liên kết trực tiếp từ ô Tables bằng cách di chuột trên cột kết nối ở một bảng, sau đó nhả chuột trên cột kết nối ở bảng đích: Như trên hình minh hoạ, khi di chuột tới một cột, kiểu dữ liệu của cột bên dưới được đưa ra trong phần giải thích bên cạnh. Điều này làm phong phú thêm khả năng về thời gian thiết kế và tối thiểu hoá khả năng xảy ra lỗi liên kết. Nếu tạo liên kết giữa hai kiểu dữ liệu không tương thích, Rational DA sẽ thay đổi biểu tượng chuột thành bộ chỉ báo lỗi và ngừng thao tác. 5. Kích vào ô vuông tương ứng bên cạnh các cột nếu bạn muốn có chúng trong tập hợp kết quả của lệnh SQL từ cả hai bảng. Hãy đảm bảo rằng trình tạo SQL có dạng tương tự như ví dụ bằng cách chọn các cột sau: DEPARTMENT.DEPTNAME, DEPARTMENT.LOCATION, EMPLOYEE.EMPNO, EMPLOYEE.FIRSTNME, EMPLOYEE.LASTNAME, và EMPLOYEE.PHONENO.
  9. Chú ý xem lệnh SQL mà bạn đang xây dựng trong ô SQL Source thay đổi tích cực như thế nào khi thực hiện một số thao tác khác nhau như thêm hay loại bỏ bảng, thêm hay giới hạn các cột, nhận dạng thuộc tính liên kết… Cũng chú ý rằng Rational DA cung cấp cho bạn phần giải thích trực quan bởi các quan hệ thương mại được mã hoá bên trong giản đồ dữ liệu liên quan đến các cột của mỗi bảng. Ví dụ, như ở hình trên, bạn có thể thấy các cột DEPTNO và EMPNO là trường khoá chính bởi dấu hiệu khoảng trống ở đằng sau: . Các cột MGRNO và ADMRDEPT của bảng DEPARTMENT cũng như cột WORKDEPT của bảng EMPLOYEE là trường khoá ngoại liên kết tới bảng khác cũng bởi dấu hiệu khoảng trống đằng sau: . Bạn có thể dùng thẻ Columns ở cuối trình tạo SQL để thêm cột vào lệnh SQL của mình, đơn giản bằng cách kích vào danh sách Column và chọn một hay nhiều cột muốn thêm vào. 6. Sử dụng thẻ Columns, sắp xếp thứ tự thông qua các cột Sort Type (kiểu sắp xếp) và Sort Order (trình tự sắp xếp). Kích chuột lên chúng và chọn tuỳ chọn tương ứng. Ví dụ, thẻ Columns có dạng:
  10. Như hình trên bạn có thể thấy, phần kết quả của lệnh SQL ví dụ đầu tiên sẽ được sắp xếp theo trường LASTNAME (họ) với trình tự giảm dần từ Z về A (bạn có thể chọn tăng dần từ A -> Z nếu muốn); sau đó tiếp tục được sắp xếp theo trường FIRSTNAME (tên), theo mô tả trong cột Sort Order, cũng với trình tự giảm dần như mô tả ở cột Sort Type. 7. Sử dụng thuộc tính điều kiện cho lệnh SQL (ví dụ mệnh đề WHERE) bằng cách chọn thẻ Conditions và xây dựng điều kiện khi kích vào từng cột tương ứng: Ví dụ, để nhập giá trị cho trường Value đơn giản chỉ cần kích vào nó và nhập giá trị vào thay vì xây dựng biểu thức. Chú ý: Đừng quên rằng cột SEX (giới tính) của bảng EMPLOYEE có kiểu CHARACTER (ký tự). Do đó, giá trị bạn mô tả trong cột Value là chữ hoa và phải được đặt trong cặp nháy đơn (‘’). Đó là lý do vì sao tôi dùng ký tự ‘F’ ở hình trên. 8. Bạn có thể sử dụng các tuỳ chọn nhóm nếu muốn thêm nó vào lệnh SQL thông qua thẻ Groups và Group Conditions ở cuối trình tạo SQL. Bước này có thể được bỏ qua nếu thấy không cần thiết. Nhưng bạn nên tìm hiểu
  11. qua về nó phòng trường hợp lệnh SQL mà bạn đang xây dựng yêu cầu. 9. Ấn Ctrl+S để ghi lại truy vấn. Truy vấn sẽ có dạng tương tự như hình bên dưới: 10. Kiểm tra truy vấn vừa xây dựng bằng cách bấm Run->Run SQL hoặc bấm vào biểu tượng tương ứng như hình bên dưới: Phần kết quả trả ra và tập hợp kết quả đi kèm được hiển thị trong thẻ Data Output ở phía dưới vùng làm việc của Rational DA: Giảm tối thiểu các lỗi thiết kế thời gian với Rational DA Với một Database Explorer, bạn có thể thiết lập kết nối CSDL làm việc trong mô hình offline. Nó đem lại tác động hiệu quả cho quá trình tạo cache schema (bộ nhớ lưu trữ tạm thời giản đồ dữ liệu) cho các đối tượng CSDL. Tuỳ chọn này cho phép tạo mô hình, lệnh SQL và nhiều hơn thế mà không cần dùng đến một kết
  12. nối CSDL. Nó cũng tăng cường khai thác thêm lợi ích với bộ trợ giúp thời gian thiết kế bên trong Rational DA như các hỗ trợ mã và bộ phân tích cú pháp lệnh SQL. Thành phần này cũng giúp giảm một lượng lớn các lỗi mã hoá mà thông thường bạn không phát hiện được cho đến khi triển khai trên thực tế. Ví dụ như khi ghi một lệnh SQL, Rational DA sẽ cảnh báo bạn rằng lệnh SQL thất bại (cho dù cú pháp đúng) khi có một lỗi nào đó xảy ra như thay đổi từ PAULZ.DEPARTMENT.DEPTNO thành PAULZ.DEPARTMENT.DEPTNUMB, không đúng với cơ sở dữ liệu và ấn Ctrl+S. Rational DA ngay lập tức sẽ thể hiện một thông báo lỗi cho bạn, tương tự như: (Lỗi về xác định tính hợp lệ: Không thể tìm thấy cột PAULZ.DEPARTMENT.DEPTNUMB . Một số chức năng của trình tạo SQL đã ngưng hoạt động. Để cho phép các chức năng này hoạt động, thay đổi cú pháp và ghi lại lệnh. Để phục hồi các thay đổi mới thực hiện gần đây, chọn “Revert to Last Correct Source” trên menu SQL ). Lại một lần nữa bạn có thể thấy cơ chế cache schema giúp bạn tiết kiệm được thời gian quý báu của mình như thế nào khi thiết kế các lệnh SQL. Nó được dùng để cảnh báo những lệnh có vấn đề trong thời gian thiết kế thay vì ở giai đoạn kiểm tra hay trong thời gian chạy. Ở hình minh hoạ bên dưới, bạn có thể thấy Rational DA cung cấp một số nguyên nhân có thể cho lệnh SQL xuất hiện lỗi. Ở bên trái hình, phần phía dưới trình tạo SQL có màu xám để chỉ ra rằng có lỗi xảy ra. (Ký hiệu r được đặt để hiển thị truy vấn này không chính xác). Phía bên phải hình (ký hiệu a) là lệnh SQL được viết chinh xác. Chú ý, các phần của trình tạo SQL không được đánh bóng.
  13. Rational DA còn cung cấp một số công cụ khác giúp giảm tối thiểu lỗi thời gian thiết kế, nhưng để tìm hiểu chi tiết về chúng thì vượt quá giới hạn của bài. Hy vọng chúng ta sẽ gặp lại chủ đề này vào một ngày gần nhất. Không thể ghi được lệnh SQL? Đôi khi bạn không thể ghi được lệnh SQL mới tạo vì không có chỗ để ghi nó. Đây là một trong những điểm hạn chế của quá trình xây dựng lệnh SQL từ bảng ảo Database Explorer. Nếu muốn ghi lệnh SQL dùng lại cho tương lai, bạn cần tạo nó như một phần của một dự án. (Tất nhiên luôn luôn có thể dùng thao tác copy/paste để cắt/dán lệnh SQL vào một dự án Rational DA hoặc vào một file riêng). Nếu để ý kỹ hơn ở các hình minh hoạ lệnh SQL trong bài, bạn sẽ thấy có một dấu hoa thị (*) bên cạnh tên truy vấn để chỉ ra rằng đó không phải là truy vấn mãi mãi. Nếu muốn tạo truy vấn ghi trực tiếp bên trong Rational DA, bạn cần tạo một dự án Data Design (thiết kế dữ liệu) hoặc Data Development (phát triển dữ liệu). Thực hiện các bước sau để tạo dự án Data Development và sử dụng các bước đã nói chi tiết ở trên để tạo lệnh SQL. Thực hiện như sau:
  14. 1. Vào File->New->Project, chọn Data Development Project từ cửa sổ New Project, sau đó kích Next. (Bạn có thể chọn Show All Wizards để xem dự án này). 2. Nhập tên cho dự án Data Development (ví dụ MyFirstRDAProject) và bấm Next.
  15. Bạn có thể dùng cửa sổ này để thiết lập các tuỳ chọn khác như giản đồ dữ liệu mặc định cho dự án và tuỳ chọn tên nhân dạng giản đồ trong các lệnh được tạo. Nhưng trong phạm vi của bài này, chúng ta sẽ bỏ qua bước này. 3. Mô tả kết nối CSDL mặc định muốn dùng cho dự án (trong trường hợp này là DB2SAMPLE) và kích Next. Ở đây, kết nối cơ sở dữ liệu DB2SAMPLE được chọn. Nếu chưa có một kết nối
  16. tới CSDL đích, bạn có thể vào Create a new connection và bấm Next. (Các khung trong Wizard Add Database Connection sẽ xuất hiện. Vì thế chỉ cần thực hiện theo các bước đã chỉ dẫn). 4. Mô tả đường dẫn mặc định cho JDK và kích Finish. Mặc định, ô này được điền sẵn đường dẫn JavaTM trong Database DB2 9: Để ý ở bước 3, nút Finish hoạt động sau khi bạn chọn đối tượng kết nối CSDL đích. Điều này xảy ra là do trường JDK home được điền mặc định bởi Rational DA. Nếu trường này không được điền, nút Finish sẽ không hoạt động. Và sau này, bạn chỉ cần kích vào Finish là đủ. Một dự án Data Development được tạo trong bảng ảo Data Project, thường nằm trên Database Explorer trong vùng làm việc của Rational DA (bạn có thể điều chỉnh vị trí thứ tự này bất cứ lúc nào).
  17. 5. Mở rộng dự án mới, chọn SQL Scripts->New->SQL Statement. 6. Trong cửa sổ New SQL Statement, chọn dự án bạn muốn tạo lệnh SQL mới và bấm Next.
  18. Mặc định, dự án tạo từ Wizard này được dùng để lưu trữ lệnh SQL mới. Bạn có thể chọn từ các dự án khác tồn tại trong Rational DA bằng cách kích vào Project hoặc tạo mới dự án bằng cách kích New. 7. Theo các bước đã được giới thiệu ở trên để tạo lại lệnh FEMALEEMPLOYEES (tìm ra nhân viên nữ trong công ty). Khi ghi và kiểm tra lệnh SQL này, bảng ảo Rational DA Data Project Explorer có dạng:
  19. Bạn có thể thấy rằng lệnh SQL FemaleEmployees bây giờ có thể được ghi (và truy vấn) từ bên trong dự án Data Development mới được tạo. Tóm tắt Trong bài này, tôi đã chỉ ra cho các bạn cách dùng một kết nối CSDL để tạo mới lệnh SQL và tất cả những hỗ trợ phát triển Rational DA cung cấp cho quá trình này. Bên cạnh đó còn là cách đảm bảo có thể truy vấn được lệnh SQL về sau bằng cách dùng một dự án Data Development. (Chú ý: Bạn cũng có thể dùng dự án Data Design thay thế cho Data Development). Chúng ta sẽ gặp lại nhau trong phần tiếp theo của bài này với những gì có thể làm được ở Rational DA với một lệnh SQL đã được ghi cũng như một số chức năng khác của trình soạn thảo SQL chưa được giới thiệu trong bài.  
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0