Chuyên đề Oracle
Là hệ quản trị cơ sở dữ liệu
Tập hợp các sản phẩm phục vụ cho mục đích xây dựng các ứng dụng
Cung cấp các công nghệ thông tin hoàn chỉnh
Tóm tắt nội dung Chuyên đề Oracle, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
CHUYÊN ĐỀ ORACLE Giáo viên : Trần Thị Ngọc Châu Giới thiệu về Oracle Sử dụng PL/SQL Sử dụng công cụ From * TRẦN THỊ NGỌC CHÂU Nội dung chính Sử dụng công cụ Report 1.GIớI THIệU Về ORACLE * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE * TRẦN THỊ NGỌC CHÂU Là hệ quản trị cơ sở dữ liệu Tập hợp các sản phẩm phục vụ cho mục đích xây dựng các ứng dụng Cung cấp các công nghệ thông tin hoàn chỉnh 1.GIỚI THIỆU VỀ ORACLE * TRẦN THỊ NGỌC CHÂU Oracle là một hệ thống mở Xây dựng cơ sở dữ liệu ở mọi kích cở Hỗ trợ cho nhiều người sử dụng đồng thời Hạn chế sự tranh chấp dữ liệu Đảm bảo sự thống nhất dữ liệu Hỗ trợ môi trường Client/server thật sự Tương thích với nhiều flatform (Windows, Unix… 1.GIỚI THIỆU VỀ ORACLE * TRẦN THỊ NGỌC CHÂU Oracle card : Tạo các ứng dụng dựa trên CSDL có kết hợp các đặc tính đồ họa Oracle case : Trợ giúp phân tích, thiết kế, tạo ứng dụng SQL*Plus: dùng ngôn ngữ SQL để tương tác với CSDL trên oracle Pro *Oracle : Tập hợp các tính biên dịch cho phép truy xuất csdl oracle bằng các ngôn ngữ lập trình Oracle Text retrieval: Cung cấp thêm các chức năng tìm kiếm văn bản trên Oracle Oracle lớn hơn SQL Sever nhiều lắm, một tablespace trong Oracle tương đương 1 datbase trong SQL Sever Oracle là một RDBMS multiplatform trong khi SQL Server chỉ giới hạn trên NT Server. Hầu hết các hệ Oracle high-end chạy trên UNIX. Oracle không có khái niệm một CSDL master. Tất cả CSDL chạy độc lập với các file dữ liệu của nó, sự quản lý bộ nhớ riêng và điều khiển riêng. Kiến trúc của Oracle hoàn toàn khác SQL Server (Cái này để trantuananh24hg giải thích rõ hơn) * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE Oracle không được tích hợp vào Windows như SQL Server SQL Server sử dụng mở rộng Transact-SQL cho SQL, Oracle thì sử dụng PL/SQL. Các stored procedure SQL Server trả về một Recordset nếu bạn làm một câu lệnh SELECT trong procedure. Oracle chỉ hỗ trợ điều này qua cursor variables. Trong các stored procedure, Oracle tự động sử dụng các chuyển tác, trong SQL Server sự thay đổi dữ liệu được tự động commit theo mặc định SQL Server chia sẽ khái niệm cột autonumber với Access. Trong Oracle, bạn sẽ làm việc với các sequence. * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE SQL Server hỗ trợ các bảng tạm, Oracle không có. Trong Oracle không phải debug giữa client và server như trong SQL Server. Các hàm khác nhau giữa hai hệ thống, và một số hàm không có hàm tương ứng SQL Server có một tập kiểu dữ liệu cơ sở lớn hơn Oracle Oracle không hỗ trợ cursor server-side. Oracle sử dụng lock mức hàng, trong khi trước version 7, SQL Server sử dụng lock mức trang. Giống nhau: Cả hai sản phẩm hỗ trợ SQL và các stored procedure. Chức năng của những ngôn ngữ này tương tự nhau,nhưng khác nhau về cú pháp * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE SELECT [DISTINCT ] {*, column [alias],...} FROM table; Câu lệnh truy vấn cơ bản : cả SQL và PL/SQL giống nhau Ví dụ : SELECT * FROM CUSTOMERS; * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE Trong cú pháp cơ bản nêu trên còn có thể đưa vào các thành phần khác nhau: Biểu thức toán học Column alias Các column được ghép chuỗi Literal * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE Biểu thức toán học : (+, -, *, /) Ví dụ: SELECT tennv, luong *12 , thuong FROM nhanvien; SELECT tennv, (luong+250)*12 FROM nhanvien; Biểu thức toán học * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE Column alias : là phần nhãn hiện thị cho tiêu đề Column Ví dụ: (luongnam chính là column alias) Câu lệnh PL/SQL SELECT tennv, luong*12 “lương năm”, thuong Câu lệnh của SQL : SELECT tennv,luong*12 [lương năm], thuong FROM nhanvien Cả 2 đều khác nhau * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE Ghép tiếp các cột dữ liệu :Toán tử ghép tiếp chuỗi (||) Ví dụ: PL/SQL SELECT manv || tennv “nhân viên” FROM nhanvien; SQL SELECT manv + tennv “nhân viên” FROM nhanvien; Cả 2 đều khác nhau * TRẦN THỊ NGỌC CHÂU 1.GIỚI THIỆU VỀ ORACLE Ghép tiếp chuỗi ký tự Ví dụ: PL/SQL SELECT manv || tennv || ‘làm việc trong phòng ’ || mapb “chi tiet nhan vien” FROM nhanvien; SQL SELECT manv + tennv + ‘là việc trong phòng’ + mapb [Employee Detail] FROM nhanvien KếT LUậN Lưu trữ dữ liệu thì Oracle lưu một khối lượng rất lớn Trong SQL cách đặt nhãn cho Column là dùng từ khóa as và có khoảng cách tên nhãn là dấu [ ].Con oracle la dấu nháy kép “ ”. Nối hai chuỗi thì SQL là dấu “+” , còn Oracle là dấu “||” Câu lệnh trong SQL không viết tắt được nhưng trong Oracle thì đươc. * TRẦN THỊ NGỌC CHÂU 2.Sử DụNG PL/SQL * * TRUY VẤN PL/SQL TRẦN THỊ NGỌC CHÂU * NỘI DUNG CHÍNH * TRẦN THỊ NGỌC CHÂU TRUY VẤN CƠ BẢN Thành phần cơ bản SELECT [DISTINCT] {*,COLUN [ALIAS]} FROM TABLE ORDER BY {COLUMN,EXPR} [ASC|DESC] * TRẦN THỊ NGỌC CHÂU Loại bỏ các dòng trùng nhau Bí danh cho cột || : kết nối các cột Ví dụ: User scott SELECT ENAME,JOB,SAL*12 LUONGNAM,DEPTNO FROM EMP ORDER BY ENAME * TRẦN THỊ NGỌC CHÂU TRUY VẤN CƠ BẢN Toán tử logic : >, >=, <, <=, = Toán tử SQL: * TRẦN THỊ NGỌC CHÂU TRUY VẤN CƠ BẢN * TRẦN THỊ NGỌC CHÂU TRUY VấN CÓ ĐIềU KIệN Cú pháp SELECT [DISTINCT ] {*, column [alias],...} FROM table [WHERE condition (s)]; * TRẦN THỊ NGỌC CHÂU Toán tử SQL: Ví dụ : tìm tên nhân viên bắt đầu bởi ký tự S SELECT ENAME,EMPNO FROM EMP WHERE ENAME LIKE 'S%' * TRẦN THỊ NGỌC CHÂU Truy vấn có điều kiện TRUY VẤN CÓ ĐIỀU KIỆN Ví dụ: liệt kê danh sách lương trong khoảng từ 1000 đến 2000 SELECT DEPTNO, JOB, ENAME, SAL FROM EMP WHERE SAL BETWEEN 1000 AND 2000 ; * TRẦN THỊ NGỌC CHÂU TRUY VẤN CÓ ĐIỀU KIỆN Các toán tử sử dụng trong mệnh đề where [NOT] BETWEEN x AND y : [Không] lớn hơn hoặc bằng x và nhỏ hơn hoặc bằng y IN (danh sách): Thuộc bất kỳ giá trị nào trong danh sách x [NOT] LIKE y : Đúng nếu x [không] giống khung mẫu y IS [NOT] NULL : Kiểm tra giá trị rỗng * TRẦN THỊ NGỌC CHÂU TRUY VẤN CÓ ĐIỀU KIỆN Các toán tử sử dụng trong mệnh đề where EXISTS : Trả về TRUE nếu có tồn tại NOT: Phủ định mệnh đề AND : Yêu cầu dữ liệu phải thoả mãn cả 2 điều kiện OR : Cho phép dữ liệu thoả mãn 1 trong 2 điều kiện * TRẦN THỊ NGỌC CHÂU Ví dụ 1: IN (danh sách) Chọn nhân viên có lương bằng một trong 2 giá trị 1400 hoặc 3000 SELECT * FROM emp WHERE sal IN (1400, 3000); * TRẦN THỊ NGỌC CHÂU TRUY VẤN CÓ ĐIỀU KIỆN TRUY VẤN CÓ ĐIỀU KIỆN x [NOT] LIKE y Tìm nhân viên có tên bắt đầu bằng chuỗi SMITH SELECT * FROM emp WHERE ename LIKE 'SMITH_'; Để chọn những nhân viên có tên bắt đầu bằng 'SM' SELECT * FROM emp WHERE ename LIKE 'SM%'; * TRẦN THỊ NGỌC CHÂU NỘI DUNG CHÍNH * TRẦN THỊ NGỌC CHÂU THỰC THI CÂU LỆNH VỚI CÁC BIẾN THAY THẾ Biến thay thế với dấu & Biến kiểu số : Ví dụ : select empno, ename, sal from emp where deptno = &deptnumber ; Thực thi : hiển thị yêu cầu Nhập giá trị deptnumber: 10 * TRẦN THỊ NGỌC CHÂU THỰC THI CÂU LỆNH VỚI CÁC BIẾN THAY THẾ Biến thay thế với dấu & Biến kiểu chuỗi : Ví dụ : select empno, ename, sal *12 luongnam from emp where job = '&job_title' ; Thực thi : hiển thị yêu cầu Nhập giá trị job_title= MANAGER * TRẦN THỊ NGỌC CHÂU THỰC THI CÂU LỆNH VỚI CÁC BIẾN THAY THẾ Biến thay thế với dấu & Đặt biến cho tên cột bằng một biểu thức Ví dụ : select empno, ename,job, &bieuthuc from emp ; Thực thi : hiển thị yêu cầu Nhập giá trị bieuthuc= sal/2 * TRẦN THỊ NGỌC CHÂU NỘI DUNG CHÍNH * TRẦN THỊ NGỌC CHÂU CÁC LOẠI HÀM Hàm dùng cho kiểu số * TRẦN THỊ NGỌC CHÂU CÁC LOẠI HÀM Hàm dùng cho kiểu chuỗi * TRẦN THỊ NGỌC CHÂU CÁC LOẠI HÀM Hàm dùng cho kiểu chuỗi * TRẦN THỊ NGỌC CHÂU CÁC LOẠI HÀM Hàm dùng cho kiểu ngay * TRẦN THỊ NGỌC CHÂU CÁC LOẠI HÀM Hàm dùng chuyển kiểu * TRẦN THỊ NGỌC CHÂU CÁC LOẠI HÀM Hàm dùng cho mọi kiểu dữ liệu * TRẦN THỊ NGỌC CHÂU DECODE(col/exp,search1,result1,[s1,r1….] default) Kết quả : trả về result nếu col/epx bằng với search1, ngược lại thì theo giá trị default CÁC LOẠI HÀM Hàm dùng cho mọi kiểu dữ liệu * TRẦN THỊ NGỌC CHÂU 2. NVL(cal/exp,val) Kết quả : : biến đổi giá trị null thành giá trị Ví dụ : select sal*12+nvl(comm,0),nvl(comm,1000) from emp where deptno=10; CÁC LOẠI HÀM Hàm dùng cho mọi kiểu dữ liệu * TRẦN THỊ NGỌC CHÂU 2. GREATEST(Col/value,col/value…) Kết quả : : giá trị lớn nhất trong danh sách CÁC LOẠI HÀM Hàm dùng cho mọi kiểu dữ liệu * TRẦN THỊ NGỌC CHÂU 2. LEAST(Col/value,col/value…) Kết quả : : giá trị nhỏ nhất trong danh sách NỘI DUNG CHÍNH * TRẦN THỊ NGỌC CHÂU THAO TÁC TRÊN NHÓM CÁC HÀM DÙNG CHO NHÓM * TRẦN THỊ NGỌC CHÂU THAO TÁC TRÊN NHÓM GROUP BY : chia cac dòng trong thành từng nhóm nhỏ SELECT JOB,AVG(SAL) FRO EMP GROUP BY JOB; * TRẦN THỊ NGỌC CHÂU 3. Sử DụNG CÔNG Cụ FORM &REPORT * TRẦN THỊ NGỌC CHÂU
File đính kèm:
- Chuyên đề Oracle.ppt