Phân Tích Các Hàm Cơ Bản Trong Oracle - TaiLieu.VN

logo Mạng xã hội chia sẻ tài liệu Upload Đăng nhập Nâng cấp VIP Trang chủ » Công Nghệ Thông Tin » Mạng máy tính và truyền thông5 trang 747 lượt xem 890Phân tích các hàm cơ bản trong Oracle

Phân tích các hàm cơ bản trong Oracle và những ví dụ đơn giản giải thích, giới thiệu về hàm trong Oracle - Các hàm tập hợp tự động: Rollup, cube - Hàm xếp hạng: rank...

Chủ đề:

nsikea

Phân tích và thiết kế phần mềm

SaveLikeShareReport Download AI tóm tắt /5 NI DUNG CA BUI HCỘỦỔỌPhân tích các hàm c bn trong Oracle và nhng ví d đn gin gii thích, gii thiuơảữụơảảớệv hàm trong Oracle-Các hàm tp hp t đng: ậợựộRollup, cube-Hàm xp hng:ếạ rank, dense_rank, row_number-Hàm Lag, lead -Hàm First, last-Vn hành Oracle thc hin bng cách th 1: Vit câu truy vn SQL cht lngậựệằứếấấượcao-Vn hành Oracle thc hin bng cách th 2: S dng Index thit lp chng trìnhậựệằứửụếậươcó hiu qu caoệảI/ Phân tích các hàm tp hp t đng: Rollup và cubeậợựộ S dng ví d di đây đ tính tng các nguyên liu bng phát biu SQL thôngửụụướểổệằểthng hin th cho mi vùng(Area) ngay lp tc: ườểịỗậứselect area_code, sum(local_fare) local_fare from tgroup by area_codeunion allselect ‘TOTAL' area_code, sum(local_fare) local_fare from t;1/ Cũng vi kt qu đó nhng s dng vi câu lnh rollup:ớếảưửụớệselect nvl(area_Code, ' total ' ) area_code, sum(local_fare) local_fare from t group by rollup(nvl(area_Code, ' total ')); S dng hàm Rollup, phát biu Sql đn gin hn, có h thng hn, tài nguyên tiêuửụểơảơệốơth là rt thp so vi s dng câu truy vn thông thng.ụấấớửụấườ 2/ S dng ví d tính tng vt liu vi hàm cube:ửụụổậệớ select area_code, bill_month, sum(local_fare) local_fare from t group by cube(area_code,bill_month) order by area_code, bill_month nulls last; S dng hàm s grouping phân bit các trng tp hp. ửụốệườậợnu nh tng hin tiếưổệạlà căn c vào ct đó đ tính toán thì grouping s tr v 1 ngc li là 0ứộểẽảềượạselect decode(grouping(area_code),1,'all area', to_char(area_code)) area_code, decode(grouping(bil _month),1,'all month', bill_month) bill_month, sum(local_fare) local_fare from t group by cube(area_code,bill_month) order by area_code,bill_month nulls last; II/ Phân tích hàm: Rank, dense_rank,row_Number function 1/ Hàm Rankselect area_code, sum(local_fare) local_fare, rank() over (order by sum(local_fare) desc) fare_rank from t group by area_code;Hàm s xp hng cho ct:ẽếạộ local_fare giá tr xp hng đc đa vào ctịếạượưộfare_rank Giá tr ln nht s có hng bé nht, d liu trùng thì đng hng, hng típ theo là vịớấẽạấữệồạạếịtrí ca nó trong bng xp hng(Không ly v trí k tip ca hng trùng trc nó). ủảếạấịếếủạướArea_codeLocal_fareFare_rankA11001A21001A310132/ Hàm dense_rankselect area_code, sum(local_fare) local_fare, dense_rank() over (order by sum(local_fare) desc ) fare_rankfrom t group by area_code;Hàm s xp hng cho ct:ẽếạộ local_fare giá tr xp hng đc đa vào ct ịếạượưộfare_rank Giá tr ln nht s có hng bé nht, d liu trùng thì đng hng, hng típ theo làịớấẽạấữệồạạếhng k tip ca hng trùng trc đóạếếủạướArea_codeLocal_fareFare_rankA11001A21001A310123/ Hàm row_numberselect area_code, sum(local_fare) local_fare, row_number() over (order by sum(local_fare) desc ) fare_rankfrom t group by area_code;Hàm s xp hng cho ct:ẽếạộ local_fare giá tr xp hng đc đa vào ct ịếạượưộfare_rank Giá tr ln nht s có hng bé nht, d liu trùng không đng hng, hng = ch s caịớấẽạấữệồạạỉốủhàng d liuữệArea_codeLocal_fareFare_rankA11001A21002A31013II/ Phân tích hàm: lag, lead Hàm Lag và Lead phán đoán n tháng trc, sau nó hin th trong câu truy vn.ướểịấselect area_code,bill_month, local_fare cur_local_fare,lag(local_fare,2,0) over (partition by area_code order by bill_month) pre_local_fare,lag(local_fare,1,0) over (partition by area_code order by bill_month ) last_local_fare,lead(local_fare,1,0) over (partition by area_code order by bill_month ) next_local_fare,lead(local_fare,2,0) over (partition by area_code order by bill_month ) post_local_fare from ( select area_code, bill_month,sum(local_fare) local_fare from t group by area_code,bill_month );lag(local_fare,2,0): Trc đó 2 thángướlag(local_fare,1,0): Trc đó 1 thángướlead(local_fare,1,0): Sau đó 1 thánglead(local_fare,2,0): Sau đó 2 thángIII/ Phân tích hàm s: Sum, Avg, Min, Maxselect area_code,bill_month, local_fare, sum(local_fare) over ( partition by area_code order by to_number(bill_month) range between 1 preceding and 1 following ) "3month_sum", avg(local_fare) over ( partition by area_code order by to_number(bill_month) range between 1 preceding and 1 following ) "3month_avg", max(local_fare) over ( partition by area_code order by to_number(bill_month) range between 1 preceding and 1 following ) "3month_max", min(local_fare) over ( partition by area_code order by to_number(bill_month) range between 1 preceding and 1 following ) "3month_min" from ( select area_code, bill_month, sum(local_fare) local_fare from t group by area_code, bill_month ); Ví d phía trên, tìm ra giá tr ln nht, nh nht, trung bình ca 3 tháng tính t thángụịớấỏấủừhin ti.ệạIV/ Phân tích hàm first, last Ly ra giá tr đu và giá tr cuiấịầịốselect bill_month, area_code, sum(local_fare) local_fare, first_value(area_code) over (order by sum(local_fare) desc rows unbounded preceding) firstval, first_value(area_code) over (order by sum(local_fare) asc rows unbounded preceding) lastval from tgroup by bill_month, area_code order by bill_month;V/ Vn hành Oracle thc hin bng cách th 1: Vit câu truy vn SQL chtậựệằứếấấlng caoượ- S hiu qu ln ca câu truy vn SQL da vào trình t vit câu SQL. Oracleựệảớủấựựếs phân tích câu truy vn theo mt quy tc tên. ẽấộắ- Mnh đ FROM s đc hiu theo v trí t phi qua tráiệềẽượểịừả- V trí kt ni trong mnh đ WHERE: Oracle chn ra v trí t di lên trênịếốệềọịừướphân tích mnh đ WHERE. Điu kin đ lc ra d liu phi đc vit cui mnhệếềệểọữệảượếốệđ WHERE- Tránh s dng trong mnh đ SELECT du ‘*’: Oracle s bt đu vào bênửụệềấẽắầtrong tìm tên tt c các hàng trong sut quá trình tìm kim, phân tích d liu. Quá trìnhấảốếữệnày s làm tn rt nhiu thi gian.ẽốấềờ- C gng đánh giá hn ch các giá tr NULL trong mnh đ WHERE, Nuốắạếịệềếkhông Index s ngng s dng, và không th Scan. Khi đánh giá mt trng d liu làẽưửụểộườữệ0 bng câu truy vn: select id from t where num is null . Khi đó ta đ mc đnh ằấểặịselect id from t where num =0- X lý câu truy vn SQL: Oracle luôn phân tích phát biu SQL chuyn toàn bửấểểộthành ký t hoa đa vào x lý ựưử- C gng tránh dùng các toán t ‘/’ trong mnh đ WHERE, vì nó là lý do màốắửệềIndex không s dng đc và Scan toàn b table làm chung trình chy chm.ửụượộơạậThay vì select id from t where num/2=100 chuyn thành select id from t where num=100*2. - Không ghi các phép toán s hc, công thc bên trái ca toán t ‘=’ nu khôngốọứủửếh thng không th s dng đc Index.ệốểửụượVI/ Vn hành Oracle thc hin bng cách th 2: S dng Index thit lpậựệằứửụếậchng trình có hiu qu caoươệả-Thay th IN vi EXISTS, thay th NOT IN vi NOT EXISTSếớếớ-Phát biu di đây có hiu qu caoểướệảSELECT * FROM EMP (base table) WHERE EMPNO > 0 AND EXISTS (SELECT ‘X’ FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO AND LOC = ‘MELB’)-Thay th OR vi UNION(S dng Index đc sp xp)ếớửụượắếSELECT * FROM EMP (base table) WHERE EMPNO > 0 AND DEPTNO IN(SELECT DEPTNO FROM DEPT WHERE LOC = ‘MELB’)-Tránh s dng các phép toán làm tn tài nguyên và thi gian: DISTINCT , ORDERửụốờBY -Tránh thay đi kiu sp xp ca Index: ổểắếủoGi s EMPNO là kiu sp xp Index là kiu NumberảửểắếểoKhi ta s dng câu truy vn: ửụấSELECT … FROM EMP WHERE EMPNO = ‘123' oTi thi đim runtime s tr v cú pháp:ạờểẽảềSELECT … FROM EMP WHERE to_number(EMPNO) = 123--Không phi tt c các Index đu mang li kt qu nh mong mun. SQL đánh giáảấảềạếảưốthông tin theo cách đn d liu trong mt hình thc, khi s lung quy mô ca dếữệộứốợủữliu đc lp li trong hình thc đó. SQL không đ mnh đ ly thông tin. Nuệượặạứủạểấếcó các phn: Sex, male, female gn tách bit mt na, vic xây dng Index lyầầệộửệựấthông tin đó hiu qu là không th làm vic vi Sex.ệảểệớ-Tránh s dng IS NULL trên Index, IS NOT NULL ửụ-Example: SELECT ¡ FROM A WHERE code IS NOT NULL; Hiu qu cao: ệảSELECT ¡ FROM A WHERE CODE > =0; -Oracle s dng Index và lý do hin nhiên dn đn s kém hiu qu ca s dngửụểẫếựệảủửụsai nó . Chúng ta cn s dng tt c các k năng hp lý tránh xa Index, không lênầửụấảỹợs dng.ửụ-Kim tra: Ta có các phn: a, b, c, d, trong a, b cái đt tr thành Index trên ểầặởc_a(a,b,c) . Cài đt Index inx_a, b_b(b). Trong trng hp c bn, where a = ? and b=? and cặườợơả= ? chúng ta s s dng Index inx_a where b =? S s dng Index inx_b , tuy nhiênẽửụẽửụwhere a =? and b =? and c =? Cái index broup by b đ s dng hay không?ểửụ-Oracle s m s dng inx_b, xuyên sut qúa trình phân tích và x lý s dngẽởửụốửửụIndex s phá hu và mt thi gian rt nhiu.ẽỷấờấề

Tài liệu liên quan

Mô hình CMMI: Bài giảng Công nghệ phần mềm Bài 5

Bài giảng Công nghệ phần mềm: Bài 5 - Mô hình CMMI

32 trang Đảm bảo chất lượng phần mềm: Bài giảng Công nghệ phần mềm Bài 4

Bài giảng Công nghệ phần mềm: Bài 4 - Đảm bảo chất lượng phần mềm

46 trang Thiết kế phần mềm: Bài giảng Công nghệ phần mềm Bài 3

Bài giảng Công nghệ phần mềm: Bài 3 - Thiết kế phần mềm

79 trang Đặc tả yêu cầu phần mềm: Bài giảng Công nghệ phần mềm, Bài 2

Bài giảng Công nghệ phần mềm: Bài 2 - Đặc tả yêu cầu phần mềm

64 trang Bài giảng Công nghệ phần mềm: Tổng quan về phần mềm và công nghệ phần mềm - Bài 1

Bài giảng Công nghệ phần mềm: Bài 1 - Tổng quan về phần mềm và công nghệ phần mềm

106 trang Thiết kế xây dựng phần mềm phiên dịch ngôn ngữ ký hiệu tiếng Việt tốt nhất

Thiết kế xây dựng phần mềm phiên dịch ngôn ngữ ký hiệu tiếng Việt

9 trang Bài giảng Công nghệ phần mềm chuyên sâu: Chương 4 - Trần Anh Dũng (GV. THS)

Bài giảng Công nghệ phần mềm chuyên sâu: Chương 4 - GV. THS. Trần Anh Dũng

21 trang Bài giảng Công nghệ phần mềm chuyên sâu: Chương 3 - GV. THS. Trần Anh Dũng (Mới nhất)

Bài giảng Công nghệ phần mềm chuyên sâu: Chương 3 - GV. THS. Trần Anh Dũng

22 trang Bài giảng Công nghệ phần mềm chuyên sâu: Chương 2 - GV. THS. Trần Anh Dũng

Bài giảng Công nghệ phần mềm chuyên sâu: Chương 2 - GV. THS. Trần Anh Dũng

24 trang Bài giảng Công nghệ phần mềm chuyên sâu: Chương 1 - GV. THS. Trần Anh Dũng

Bài giảng Công nghệ phần mềm chuyên sâu: Chương 1 - GV. THS. Trần Anh Dũng

41 trang

Tài liêu mới

Bài giảng IoT và Ứng dụng: GV. Đỗ Việt Hà

Bài giảng IoT và Ứng dụng - GV. Đỗ Việt Hà

51 trang Quản trị người dùng Linux Server: Bài giảng Quản trị mạng

Bài giảng Quản trị mạng Linux Server: Quản trị người dùng

38 trang Cấu hình DHCP Server trên Linux Server: Bài giảng Quản trị mạng

Bài giảng Quản trị mạng Linux Server: Cấu hình DHCP Server

23 trang Bài giảng lập trình Shell Quản trị mạng Linux Server

Bài giảng Quản trị mạng Linux Server: Lập trình Shell

35 trang Bài giảng cấu hình mạng Linux Server: Quản trị mạng (Network Configuration)

Bài giảng Quản trị mạng Linux Server: Cấu hình mạng (Network Configuration)

20 trang Quản trị từ xa Linux Server: Bài giảng Quản trị mạng

Bài giảng Quản trị mạng Linux Server: Quản trị từ xa

28 trang Quản lý gói ứng dụng: Bài giảng Quản trị mạng Linux Server

Bài giảng Quản trị mạng Linux Server: Quản lý gói (pakage) ứng dụng

13 trang Bài giảng Quản trị mạng Linux Server: Hệ thống file và Thiết bị (Chi tiết)

Bài giảng Quản trị mạng Linux Server: Hệ thống file & Thiết bị

40 trang Cấu hình DHCP Server: Bài giảng Quản trị mạng Linux Server

Bài giảng Quản trị mạng Linux Server: Cấu hình DHCP Server

23 trang Triển khai hệ thống mạng nội bộ doanh nghiệp với Windows Server: Bài tập lớn

Bài tập lớn: Triển khai hệ thống mạng nội bộ doanh nghiệp với Windows Server

W 3 trang Đề thi cuối kì Nhập môn Mạng máy tính: Tổng hợp [Năm]

Đề thi cuối kì môn Nhập môn Mạng máy tính

8 trang Mạng đám mây ALIBABA: Bài tập nhóm về giải pháp an toàn, bảo mật (CloudNetworking/ Virtual Network/ Virtual Private Cloud...)

Bài tập nhóm: Mạng đám mây - Giải pháp an toàn và bảo mật của ALIBABA (CloudNetworking/ Virtual Network/ Virtual Private Cloud...)

W 47 trang Bài tập nhóm Mạng đám mây AZURE: Giải pháp an toàn, bảo mật (CloudNetworking/ Virtual Network/ Virtual Private Cloud...)

Bài tập nhóm: Mạng đám mây - Giải pháp an toàn và bảo mật của AZURE (CloudNetworking/ Virtual Network/ Virtual Private Cloud...) azure

W 49 trang Đề thi kết thúc môn học Mạng máy tính

Đề thi kết thúc môn học Mạng máy tính

10 trang Đề thi học kì 2 môn Nhập môn Mạng máy tính [kèm đáp án]

Đề thi học kì 2 môn Nhập môn Mạng máy tính

5 trang

AI tóm tắt

- Giúp bạn nắm bắt nội dung tài liệu nhanh chóng!

Giới thiệu tài liệu

Đối tượng sử dụng

Từ khoá chính

Nội dung tóm tắt

Giới thiệu

Về chúng tôi

Việc làm

Quảng cáo

Liên hệ

Chính sách

Thoả thuận sử dụng

Chính sách bảo mật

Chính sách hoàn tiền

DMCA

Hỗ trợ

Hướng dẫn sử dụng

Đăng ký tài khoản VIP

Zalo/Tel:

093 303 0098

Email:

[email protected]

Phương thức thanh toán

Theo dõi chúng tôi

Facebook

Youtube

TikTok

chứng nhậnChịu trách nhiệm nội dung: Nguyễn Công Hà Doanh nghiệp quản lý: Công ty TNHH Tài Liệu trực tuyến Vi Na - GCN ĐKDN: 0307893603 Địa chỉ: 54A Nơ Trang Long, P. Bình Thạnh, TP.HCM - Điện thoại: 0283 5102 888 - Email: [email protected]ấy phép Mạng Xã Hội số: 670/GP-BTTTT cấp ngày 30/11/2015

Từ khóa » Câu Lệnh Group By Trong Oracle