Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 19 kết quả

Đề tài: Introduction to SQL - Oracle 9i

  1. #1
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    Mặc định Introduction to SQL - Oracle 9i

    Dear all!
    Thể theo ý kiến của thread poll (mặc dù mới chỉ có 3 ) nhưng tôi vẫn quyết định sẽ post thread Introduction to SQL, môn đầu tiên trong Oracle. Chú ý rằng các phiên bản khác nhau của Oracle sẽ có một số sự thay đổi trong SQL đặc biệt là Oracle 7 và 8. Tôi chọn Oralce 9i một phần cũng vì tôi đang học, phần khác Oracle 9i được thiết kế dành cho môi trường hướng Internet nhiều.

    Bắt đầu từ bài này, nếu bất kỳ member nào có ý kiến, câu hỏi hoặc đề nghị về Oracle, rất mong các bạn đưa những ý kiến, câu hỏi và đề nghị đó và thread do tôi đã tạo "Thread dành cho các bạn tham khảo về Oracle" để tránh trường hợp Thread bị loãng (vì là thread dành cho việc post kiến thức mà). Và bất kỳ ai đó nếu có ý định giúp tôi post trong thread này, mong các bạn PM trước cho tôi để chúng ta cùng thảo luận cách thức chung khi post bài, tránh trường hợp mọi người bị lôi cuốn vào những chủ đề, những chương có phạm vi xa hơn nội dung hiện tại dễ dẫn đến tình trạng bị phân tâm vì chưa biết được hết nội dung của chương này đã biết đến thành phần kế tiếp của chương sau.

    Trước khi đi vào nội dung môn thứ I, đề nghị mọi người nếu có ý định tham khảo hoặc học, xin hãy tự mình Install Oracle, trước hết là để các bạn có môi trường làm việc, sau đó mọi điều thảo luận sẽ được dựa trên nội dung mà chúng ta đang xem xét bằng những hình ảnh các bạn đưa ra (nếu error bị xuất hiện) hoặc các câu hỏi nhưng cần ghi chi tiết quá trình mình làm. Về phần Install Oracle như thế nào, tôi đã có bài post riêng trong box này, xin mời các bạn xem trước (Thread dành cho các bạn muốn tham khảo Oracle).

    Vì cũng là người đang học Oracle, nên rất có thể tôi không đủ trình độ và kiến thức để giải đáp tất cả những thắc mắc của mọi người, nên tôi mong rằng chúng ta sẽ dựa trên cơ sở là thảo luận từng nội dung hơn là đi sâu vào những chủ đề khác ngoài nội dung đó.

    Khi các bạn đã có môi trường làm việc, với riêng môn Introduction to SQL này, các bạn có thể sử dụng 1 trong 2 môi trường làm việc là SQL*Plus hoặc i*SQL/Plus để có thể view kết quả rõ ràng hơn, vì 2 môi trường trên để tạo report rất tốt.


    Chú ý: Một số bạn khi login được vào SQL*Plus, thông thường các bạn không để ý rằng các bạn đã login vào bằng account nào. Do đó tôi xin show ra hình minh họa giúp cho các bạn login.
    Khi các bạn start SQL*Plus, các bạn nên login vào bằng account system. Account này bao gồm 2 thành phần: User name: System, Password : Password các bạn tạo ra khi Install Oracle (nếu không nhớ, xin mời view lại thread tôi đã hướng dẫn Install Oracle).

    Tiếp đó, khi các bạn đã login được vào SQL, công việc tiếp theo của chúng ta là Unlock một account đã có sẵn khi Install Oracle, với account này, các bạn có thể làm việc được với các Tables có trong đó. Các Tables này để chúng ta thực tập và học. Account này (Username : hr, Password: hr) mặc định bị Lock, do đó chúng ta cần phải login vào account system để unlock cho acc trên.
    Câu lệnh Unlock như sau:


    Các bạn đừng quan tâm tới tại sao chúng ta phải học những câu lệnh đại loại kiểu này. Lý do duy nhất chúng ta chỉ cần biết đến mỗi một câu lệnh này là: "Phải có cái j để thao tác với nó chứ". Do đó, đây là câu lệnh bạn chỉ cần ghi nhớ một lần là đủ, vì trong suốt quá trình môn Introduction to SQL này, chúng ta sẽ không phải đụng chạm tới những câu lệnh kiểu như thế này.
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  2. #2
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    Lưu ý tiếp theo: Tuy nhiên, khi các bạn đã Unlock được account hr (HR - Human Resource), nhưng không có nghĩa là các bạn đang sử dụng account đó để login vào Database. Hình minh họa dưới đây sẽ show cho các bạn cách connect vào account hr.



    Các bạn lưu ý rằng host string khi các bạn connect vào bằng SQL*Plus, cũng chính là SID của các bạn khi login. (SID - System Identified).

    Sẽ có một số bạn đã học trước Oracle, các bạn có thể thắc mắc về thuật ngữ SID không phải là System mà là Service, nếu các bạn đã có thắc mắc như vậy, xin mời PM tôi qua Yahoo, chúng ta cùng trao đổi kiến thức, vì phạm vi đó thuộc về môn Fund II.
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  3. #3
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    Trước khi chính thức đi vào nội dung môn này, chúng ta phải kiểm tra xem có đúng là chúng ta đã sử dụng account hr này hay chưa, và account hr này đã có đủ các Tables như nó đã có hay không. 2 hình minh họa dưới đây sẽ giúp các bạn kiểm tra lại điều đó:

    - Kiểm tra account:



    - Kiểm tra tables trong account HR:

    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  4. #4
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    Mặc định SQL Statements Concepts



    Đây là nội dung những câu lệnh chúng ta sẽ học và sử dụng với môn SQL. Các bạn nhớ rằng 5 nhóm lệnh chính trên tạo ra sự khác biệt rất nhiều. Chúng ta sẽ dần dần khám phá từng câu lệnh một, sự vận dụng uyển chuyển của nó đối với dữ liệu.

    P/S: SQL không phải là một ngôn ngữ lập trình, nó là ngôn ngữ truy vấn.
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  5. #5
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    Những tính năng trong câu lệnh SQL chúng ta bàn luận và sử dụng nhiều:

    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  6. #6
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    Mặc định Introduction to SQL - Oracle 9i



    Câu lệnh đầu tiên chúng ta thảo luận là câu lệnh SELECT. Với câu lệnh này sẽ bao gồm:
    - Mệnh đề SELECT chỉ ra Columns nào được show
    - Mệnh đề FROM chỉ ra Table nào chứa những Columns được liệt kê trong câu lệnh SELECT
    - Optional:
    + *: Chọn tất cả các Columns
    + DISTINCT : Hạn chế việc trùng lặp
    + column/expression : Biểu thị đó là tên Column nào hoặc biểu thức điều kiện nào
    + alias : Hiển thị một column đã được chọn dưới một tên khác thay cho column đó

    Lưu ý: Trong suốt module này, một số thuật ngữ nhằm đề miêu tả một cách tường tận và rõ ràng trong SQL sẽ bao gồm: keyword, clause, statement
    - Một từ khóa (keyword) chỉ ra một từ đặc biệt trong SQL. Ví dụ: SELECT, FROM.
    - Một mệnh đề (clause) là một phần của câu lệnh SQL. Ví dụ:
    SELECT employee_id, department_id, last_name... là một mệnh đề (clause).
    - Một câu lệnh (statement) là tập hợp của từ 2 mệnh đề trở lên. Ví du: SELECT last_name, first_name, employee_id
    FROM EMPLOYEES
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  7. #7
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112



    Hình minh họa trên show cho các bạn thấy toàn bộ thông tin trong Table có tên là DEPARTMENTS.
    Bằng cách đưa ra câu lệnh SELECT * From table_name, ta có thể view hết những j có trong table được chọn
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  8. #8
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112



    Nào, bây giờ, chúng ta vận dụng câu lệnh SELECT một cách uyển chuyển hơn nhé. Như các bạn đã thấy, trong account HR có những Tables có sẵn. Chúng ta sử dụng câu lệnh SELECT như hình trên để đưa ra một số thông tin trong Table có tên là EMPLOYEES. Câu lệnh SELECT này sẽ show cho users thấy toàn bộ ID - mã của nhân viên, tên và nghề nghiệp của họ (employee_id, last_name, first_name, job_id).

    Thú thật rằng, khi mới bắt đầu làm quen với Oracle, tôi cảm thấy rất dễ dàng để hiểu được những Statements kiểu này, hẳn là khi mọi người đều đã làm quen với ít nhất một ngôn ngữ lập trình, các thuật toán, sẽ thấy rằng "Oh, có cái j là khó khăn đâu nhỉ, từ một câu lệnh đơn giản như trên, mình có thể du lịch quanh cái account này luôn ấy chứ". Tất nhiên rồi, với một người đã có tư duy lập trình, thì những Statements kiểu như thế này không bao giờ làm khó chúng ta được. Nhưng xin các bạn nhớ rằng, chúng ta đang làm việc không phải với một ngôn ngữ lập trình, mà là với ngôn ngữ truy vấn. Tiếp cận và hiểu một cách nhanh chóng bao giờ cũng làm chúng ta cảm thấy dễ chịu hơn rất nhiều, có điều rằng, mục đích của chúng ta không phải là chỉ tập trung vào tư duy logic với câu lệnh Statement mà chúng ta phải xác định rõ mục đích chúng ta đang làm j. Ai đó đã trải qua môn này, và lại là một programmer, tôi chắc rằng cũng sẽ có cảm giác như tôi, và ngôn ngữ để lập trình trong Oracle sẽ là PL/SQL.
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  9. #9
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    * Hì! Lâu rồi không post tiếp Thread này, bây giờ xin đưa thêm ra một vài điều nữa về câu lệnh SQL - SQL Statement với các chú ý:

    - 1 câu lệnh SQL có thể được viết thành nhiều dòng. Ví dụ:
    SQL> SELECT deparment_id, location_id
    FROM DEPARTMENTS;
    chứ không nhất thiết phải viết cùng trên một dòng. Có thể tùy cách viết của mỗi người thôi, miễn sao nó đưa ra cùng một kết quả là được

    - Lưu ý: Đối với các từ khóa như SELECT, FROM, WHERE...tất nhiên không được viết tắt và chia cắt chúng, có thể là có blank chèn vào giữa chẳng hạn

    - Nhưng một mệnh đề lại có thể được viết thành những dòng riêng biệt. Ví dụ:
    SQL> SELECT department_id, location_id,
    manager_id
    FROM DEPARTMENTS;
    - Với 1 câu lệnh SQL, chúng ta có thể viết sao cho dễ hiểu nhất, tùy vào từng yêu cầu, nhưng thông thường đối với những từ khóa và Tables, sẽ là chữ hoa, các columns có thể là chữ thường. Tuy nhiên, nó không bắt buộc trong SQL.

    * i*SQL/Plus là một product riêng biệt của Oracle, chạy trên nền Web Server, như bài hướng dẫn trong kiến trúc Oracle đối với môi trường chạy, tôi có show ra image này. Bây giờ tôi đưa ra một vài điểm khác nhau giữa SQL*Plus và i*SQL/Plus:
    - Với i*SQL/Plus: Hiển thị Heading của một Column ở giữa, còn với SQL*Plus nếu Heading của column là kiểu ký tự và ngày tháng thì sẽ được hiển thị ở bên trái, với Heading của column là kiểu số thì hiển thị ở bên phải
    - Cả 2 i*SQL/Plus và SQL*Plus, Heading sẽ hiển thị bằng chữ hoa (Uppercase)

    * Toán tử trong SQL sẽ bao gồm: "+" ; "-" ; "*" ; "/" Các biểu thức có các kiểu toán tử trên có thể thực hiện được với kiểu ngày tháng và kiểu số.

    Lưu ý: Các toán tử trên có thể thực hiện ở bất kỳ mệnh đề nào trong câu lệnh SQL, trừ mệnh đề FROM. Ví dụ:
    SQL> SELECT last_name, employee_id, job_id, salary + 300
    FROM EMPLOYEES;
    Với sự hiện diện của column salary + 300 thì khi đưa ra kết quả, Heading của column này không phải là Salary nữa, mà là : "Salary+300"
    - 1 lưu ý nữa: Riêng đối với môi trường i*SQL/Plus, ta có thể không cần dấu ";" khi kết thúc một câu lệnh, nhưng đối với các môi trường khác, nó biểu thị kết thúc câu lệnh.
    - Đối với các toán tử trên, thứ tự ưu tiên cũng như trong toán học: * ; / ; + ; - . Và khi có dấu ngoặc đơn () , nó sẽ thực hiện các biểu thức trong () trước khi thực hiện toán tử bên ngoài. Ví dụ: 2*(3-1) khác với 2*3-1;
    - Toán tử sẽ được thực hiện theo thứ tự từ bên trái trước.

    * NULL là một giá trị rỗng , khác với giá trị "0", do đó, ta không thể thực hiện các toán tử với NULL, mà ta phải dùng một hàm để chuyển đổi NULL về kiểu số, hàm này tôi sẽ bàn đến sau, bây giờ chỉ đưa ra khái niệm đã.
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


  10. #10
    Ngày gia nhập
    08 2006
    Nơi ở
    Hà Nội
    Bài viết
    112

    Oài! Sao cứ load một page xong, thì nó tự động generate ra một bài khác thế nhỉ! Có vè cái thread này không được nhiều người đọc rồi.
    Đã được chỉnh sửa lần cuối bởi trantuananh24hg : 21-09-2006 lúc 11:50 AM.
    ITGATEVN - Cộng đồng IT Việt Nam
    http://www.itgatevn.com.vn


Các đề tài tương tự

  1. Kết nối DB Oracle Server không cần cài Oracle Client
    Gửi bởi ducvu153 trong diễn đàn Thắc mắc Oracle
    Trả lời: 3
    Bài viết cuối: 04-02-2015, 09:15 AM
  2. Introduction C++ - ĐH MIT
    Gửi bởi _C_ trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 1
    Bài viết cuối: 09-12-2011, 09:36 AM
  3. Introduction to SQL!
    Gửi bởi trantuananh24hg trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 11
    Bài viết cuối: 21-08-2008, 10:54 PM
  4. Introduction to SQL - Oracle 9i
    Gửi bởi trantuananh24hg trong diễn đàn Thủ thuật, Tutorials Database
    Trả lời: 4
    Bài viết cuối: 12-07-2007, 03:55 PM
  5. Introduction to SQL or Oracle Server Fundamental I?
    Gửi bởi trantuananh24hg trong diễn đàn Thủ thuật, Tutorials Database
    Trả lời: 2
    Bài viết cuối: 21-09-2006, 05:04 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn