Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
914,77 KB
Nội dung
KiếntrúcdữliệuRationalDAvàDB29:XâydựngmộtlệnhSQL 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ếntrúcdữliệu này, cụ thể hơn là về khả năng xâydựng các lệnhSQL gặp trong cơ sở dữliệu (CSDL) của bạn. XâydựngmộtlệnhSQLRationalDA (kiến trúcdữ 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 RationalDA như sử dụng bảng ảo Database Explorer… Hãy xem xâydựng truy vấn bên dưới sử dụngRationalDA 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âydựngmộtlệnhSQL 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. 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, RationalDA 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)). Tuỳ chọn SQL builder viện dẫn một công cụ tạo lệnhSQL hỗ trợ đồ hoạ, cho phép bạn xâydựnglệnhSQL 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ệnhSQL như hình bên dưới: Tuỳ chọn SQL editor chỉ mở trình soạn thảo lệnhSQL (là một phần của trình tạo SQL, nơi chứa các lệnhSQL 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âydự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. 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ệnhSQL dễ dàng hơn. Khi sử dụng bí danh để thể hiện bảng (hoặc bảng ảo), RationalDA sẽ điều chỉnh cú pháp SQLvà giao diện tương ứng như hình bên dưới: 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 RationalDA sẽ có dạng: RationalDA 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âydựng truy vấn tự nhiên hơn: 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: 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, RationalDA 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ệnhSQL 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. Chú ý xem lệnhSQL mà bạn đang xâydự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 RationalDA 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ệnhSQL 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: Như hình trên bạn có thể thấy, phần kết quả của lệnhSQL 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ệnhSQL (ví dụ mệnh đề WHERE) bằng cách chọn thẻ Conditions vàxâydự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âydự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ệnhSQL 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 [...]... 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ệnhSQL 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âydựng lệnh SQL từ bảng ảo Database Explorer Nếu muốn ghi lệnhSQLdùng lại cho tương lai, bạn cần tạo nó như một phần của mộtdự án (Tất nhiên luôn luôn có thể dùng thao tác copy/paste để cắt/dán lệnhSQL vào mộtdự án Rational. .. RationalDA hoặc vào một file riêng) Nếu để ý kỹ hơn ở các hình minh hoạ lệnhSQL 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ộtdự á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à. .. muốn tạo lệnhSQL mới và bấm Next Mặc định, dự án tạo từ Wizard này được dùng để lưu trữ lệnhSQL mới Bạn có thể chọn từ các dự án khác tồn tại trong RationalDA 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ệnhSQL này, bảng ảo RationalDA Data Project... với bộ trợ giúp thời gian thiết kế bên trong RationalDA như các hỗ trợ mã và bộ phân tích cú pháp lệnhSQL 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ộtlệnh SQL, RationalDA sẽ cảnh báo bạn rằng lệnhSQL 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ể thấy rằng lệnhSQL 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ùngmột kết nối CSDL để tạo mới lệnhSQLvà tất cả những hỗ trợ phát triển RationalDA 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ệnhSQL về sau bằng cách dùngmộtdự án Data Development... 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 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 DB29: Để... định bởi RationalDA 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ộtdự á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 RationalDA (bạn có thể điều chỉnh vị trí thứ tự này bất cứ lúc nào) 5 Mở rộng dự án mới, chọn SQL Scripts->New- >SQL Statement 6 Trong cửa sổ New SQL Statement,...qua về nó phòng trường hợp lệnhSQL mà bạn đang xâydự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âydự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... tạo lệnhSQL Thực hiện như sau: 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 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. .. thành PAULZ.DEPARTMENT.DEPTNUMB, không đúng với cơ sở dữliệuvà ấn Ctrl+S RationalDA 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, . 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?. 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