CƠ SỞ LÝ THUYẾT 2.1 T ổng quan lý thuy t ế 2.2.1 Sơ lược về cách lưu trữ dữ liệu truyền thống Dữ liệu chính là tập hợp bao gồm các loại thông tin, những thông tin này vô cùng quan trọn
GIỚI THIỆU TỔNG QUAN VỀ CƠ SỞ THỰC TẬP
Gi i thi u v ớ ệ ề cơ sở thực tập
Đơn vị: Công Ty TNHH Giải Pháp Phân Tích D ữLiệu Insight Data
Tên vi t tế ắt: INDA
Trụ sở chính: T ng 5, Tòa nhà NO2 Gold Season, 47 ph Nguyầ ố ễn Tuân, Thanh Xuân, Hà N i ộ
Công ty TNHH Giải Pháp Phân Tích Dữ Liệu Insight Data, thành lập năm 2019, quy tụ đội ngũ chuyên gia dày dạn kinh nghiệm trong phát triển phần mềm quản lý và tư vấn quản trị kinh doanh Trong suốt quá trình phát triển, công ty đã cung cấp giải pháp công nghệ thông tin chất lượng cho gần 1000 khách hàng tại Việt Nam và được công nhận là đối tác quan trọng của nhiều tập đoàn công nghệ hàng đầu như Oracle, Google, Salesforce và Amazon Web Services Hiện tại, Insight Data có hơn 100 nhân sự làm việc tại Hà Nội và TP Hồ Chí Minh.
Cơ cấ u T ổ chức bộ máy
Hình 1 Sơ đồ t ổ ch ứ c b ộ máy công ty
Chức năng các phòng ban
Giám đốc công ty đóng vai trò quan trọng trong việc xác định phương hướng phát triển và chiến lược kinh doanh Họ tổ chức và điều hành các hoạt động kinh doanh, mở rộng mối quan hệ đối tác, thu hút khách hàng và đưa ra quyết định đầu tư.
Phòng đào tạo có nhiệm vụ tư vấn cho Ban giám đốc về việc xây dựng và phát triển nguồn nhân lực Đồng thời, phòng cũng thực hiện quản lý các chương trình đào tạo nhằm nâng cao kỹ năng chuyên môn và kiến thức cho đội ngũ nhân viên.
Phòng Data Analyst chịu trách nhiệm quản lý, thu thập, phân tích và xử lý dữ liệu Họ chọn lọc thông tin để phục vụ cho việc phân tích kinh doanh, từ đó đưa ra báo cáo hoặc đánh giá về các vấn đề quan trọng cho doanh nghiệp.
Phòng Google giúp quản lý dữ liệu để phân tích số liệu thống kê và xây dựng quản lý website Họ phát triển các ứng dụng trên hệ thống mà Google sử dụng cho các sản phẩm như Google Search, G Suite, YouTube, và Google Maps Điều này hỗ trợ doanh nghiệp trong quá trình lên kế hoạch, xây dựng và phát triển ứng dụng nhằm tối ưu hóa và quản lý hệ thống hiệu quả.
Phòng Quản lý dự án đóng vai trò quan trọng trong việc tư vấn cho Ban giám đốc công ty về quản lý quá trình thực hiện dự án Đội ngũ này nghiên cứu và đề xuất các phương án hiệu quả nhằm phát triển dự án, đáp ứng tốt nhất yêu cầu của thị trường Nhờ đó, doanh nghiệp có thể hoàn thành các chiến lược kinh doanh và đạt được sự tăng trưởng kinh tế mong muốn.
Phòng Kinh doanh và Marketing chịu trách nhiệm xây dựng và phát triển hình ảnh thương hiệu, thiết lập mối quan hệ với truyền thông, và tư vấn cho Ban Giám đốc về chiến lược marketing, sản phẩm và khách hàng Phòng cũng thực hiện các chiến lược marketing, tiến hành công việc kinh doanh theo chỉ đạo của Ban Giám đốc, nghiên cứu và theo dõi diễn biến của thị trường, đồng thời báo cáo cho Ban Giám đốc để kịp thời có phương hướng thích hợp, tìm kiếm và phát triển thị trường.
Phòng Kế toán, Hành chính, Nhân sự có trách nhiệm lập sổ sách kế toán và thực hiện các hoạt động liên quan đến tài chính, quản trị hành chính - nhân sự Phòng tham mưu và hỗ trợ Ban giám đốc trong việc tổ chức và quản lý nhân sự, quản lý nghiệp vụ hành chính, cũng như giải quyết các vấn đề pháp lý, chế độ trách nhiệm và các công việc đã thực hiện trong phạm vi nhiệm vụ được giao.
Chính sách nhân sự
Công ty xem nguồn nhân lực là tài sản quý giá và yếu tố cốt lõi, do đó, chính sách nhân sự được thiết kế nhằm biến nguồn nhân lực thành ưu thế cạnh tranh hàng đầu Chúng tôi tập trung vào mối quan hệ giữa Công ty và nhân viên, với mục tiêu phát triển bền vững của Công ty gắn liền với sự thỏa mãn công việc và lợi ích của nhân viên.
Công ty TNHH Giải Pháp Phân Tích Dữ Liệu Insight Data cam kết tạo điều kiện thuận lợi cho sự phát triển nghề nghiệp của từng cá nhân, đồng thời xây dựng một đội ngũ nhân viên chuyên nghiệp Chương trình đào tạo của công ty tập trung vào việc nâng cao kỹ năng chuyên môn và thống nhất quy trình nghiệp vụ Tất cả các chương trình học tập đều được thiết kế dựa trên nhu cầu cụ thể của nhân viên, khuyến khích họ chủ động trong việc học hỏi và phát triển sự nghiệp cá nhân.
Công ty cam kết đa dạng hóa các phương thức đào tạo để mang lại nhiều cơ hội học tập và phát triển cho nhân viên Các hình thức học tập bao gồm: học trên lớp, học ngay trong công việc, học từ các nguồn khác, và tự học qua trang web E-learning.
Lĩnh vự c ho ạt động
1 Tư vấn và xây dựng hệ thống Big Data: Khảo sát, đánh giá hệ thống dữ liệu hiện tại của các công ty; cung cấp các giải pháp phân tích dữ liệu lớn, vận hành, bảo trì hệ thống dữ liệu
2 Cho thuê nhân sự: Dịch vụ cung cấp nhân sự IT cho các tập đoàn, ngân hàng
3 Đào tạo: Cung cấp khoá đào tạo về Phân tích dữ liệu cho cá nhân và doanh nghiệp
4 Bản quyền phần mềm: Cung cấp bản quyền phần mềm của các tập đoàn lớn Microsoft, Google, Oracle cho các doanh nghiệp tại Việt Nam
1.6 T m nhìn, s m nh và giá tr cầ ứ ệ ị ốt lõi
Trong kỷ nguyên cách mạng công nghiệp 4.0, dữ liệu được coi là "dầu mỏ mới", đóng vai trò quan trọng trong việc ra quyết định nhanh chóng và đảm bảo sự tồn tại cũng như phát triển của doanh nghiệp Công ty TNHH Giải Pháp Phân Tích Dữ Liệu Insight Data phấn đấu trở thành một trong những đơn vị hàng đầu trong lĩnh vực phân tích dữ liệu phục vụ chiến lược kinh doanh Chúng tôi cam kết cung cấp dịch vụ chất lượng cao, hướng tới việc phục vụ các đối tác trong và ngoài nước một cách nghiêm túc và đáng tin cậy.
Công ty TNHH Giải Pháp Phân Tích Dữ Liệu Insight Data chuyên cung cấp giải pháp khai thác dữ liệu tối ưu, giúp doanh nghiệp xác định và giải quyết hiệu quả các thách thức Chúng tôi cam kết đồng hành và hỗ trợ đối tác trong việc xây dựng các chiến lược kinh doanh với tỷ lệ thành công cao.
- Chuyên nghi“ ệp – ợ H p tác Sáng t– ạo – Linh hoạt ” - Chuyên nghi p, sáng ệ tạo, linh ho t trong làm viạ ệc, thúc đẩy sự hợp tác đôi bên cùng phát triển
- Đội ngũ tư vấn trình độ chuyên môn cao, giàu kinh nghiệm
- Phương châm: Tận tâm, nhiệt huyết với khách hàng
- Khát vọng phát triển và không ngừng thay đổi
- Sự minh bạch trong hoạt động kinh doanh.
CƠ SỞ LÝ THUYẾT
T ổng quan lý thuyết
2.2.1 Sơ lược về cách lưu trữ dữ liệu truyền thống
Dữ liệu là tập hợp các loại thông tin thiết yếu, đóng vai trò quan trọng trong mọi quy trình hoạt động của tổ chức.
Dữ liệu được sử dụng để tối ưu hóa nhu cầu công việc của tổ chức,cơ quan, doanh nghiệp,
Việc lưu trữ và tổ chức dữ liệu thông minh là rất quan trọng đối với mỗi doanh nghiệp Có nhiều phương pháp khác nhau để tổ chức và sắp xếp dữ liệu, nhưng tất cả đều nhằm mục đích tạo ra một hệ thống hợp lý, giúp người dùng dễ dàng tìm kiếm thông tin khi cần thiết.
Hình 2 Cách lưu trữ d ữ li ệ u ki ể u truy n th ề ố ng
- Sử dụng tài liệu & hồ sơ giấy
- S d ng t p tin - ng d ng công ngh ử ụ ậ Ứ ụ ệ thông tin trong lưu trữ dữ liệu
- Sử dụng bảng dữ liệu
Những nhược điểm chung của các cách lưu trữ dữ liệu truy n th ng k trên: ề ố ể
- D ữliệu b tách bi t, khó chia s ị ệ ẻ
- D ữliệu b trùng l p, tị ặ ốn không gian lưu trữ
- Thông tin gi a các file có thữ ể không đồng nh t (s c t khác nhau, ki u d ấ ố ộ ể ữ liệu,…)
- Không tìm kiếm được thông tin nhanh chóng
- Khi file lưu trữ lớn sẽ chậm, không thể mở được, khó kiểm soát
Việc lưu trữ tổ chức dữ liệu theo cách truyền thống không thể đáp ứng được , nhu cầu lưu trữ dữ liệu của doanh nghiệp hiện tại.
Giai đoạn dịch bệnh Covid-19 đã thúc đẩy mạnh mẽ quá trình chuyển đổi số trong mọi ngành nghề và doanh nghiệp, đặc biệt là trong cách lưu trữ và tổ chức dữ liệu Phương pháp lưu trữ dữ liệu hiện đại này chính là việc sử dụng cơ sở dữ liệu (Database).
Hình 3 Sử dụng cơ sở dữ liệu
Sử dụng cơ sở dữ liệu là phương pháp lưu trữ và tổ chức dữ liệu phổ biến nhất hiện nay Dữ liệu được tối ưu hóa theo những khuôn mẫu nhất định với tính thống nhất cao Khác với bảng dữ liệu thông thường, cơ sở dữ liệu được tổ chức theo mô hình quan hệ, cho phép các tập tin dữ liệu liên kết với nhau.
2.1.2 Tổng quan về Cơ Sở Dữ Liệu ( Database)
Cơ sở dữ liệu (Database) là tập hợp dữ liệu có cấu trúc và tổ chức, thể hiện mối liên quan giữa các yếu tố trong thế giới thực Nó được thiết kế nhằm xây dựng và cung cấp dữ liệu cho các nhiệm vụ cụ thể.
2 Vai trò và t m quan tr ng cầ ọ ủa CSDL
- Database giúp đảm bảo an toàn d ữliệu
- Giúp lưu trữ thông tin có h ệthống
- Đảm b o kh ả ả năng truy xuất dữ liệu
- Linh hoạt thay đổi theo nhu cầu của người dùng
Cơ sở dữ liệu quan hệ
Mô hình dữ liệu quan hệ, được đề xuất bởi tiến sĩ E.F Codd vào năm 1969, đã trở thành mô hình phổ biến và hiệu quả nhất trong các hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu quan hệ tổ chức dữ liệu trong các bảng có mối quan hệ với nhau, trong đó mỗi bảng bao gồm các dòng (bản ghi) và các cột (trường).
Cơ sở dữ liệu quan hệ tổ chức dữ liệu dưới dạng các bảng có mối quan hệ với nhau, giúp giảm thiểu sự dư thừa dữ liệu và đảm bảo hiệu quả trong việc lưu trữ cũng như truy xuất thông tin.
Hình 4 Các b ng trong m ả ột cơ sở ữ li ệ u d
Mô hình dữ liệu quan hệ: Làm vi c trên b ng hay trên quan hệ ả ệ trong đó: Mỗi cột là một thu c tính, m i dòng là m t b ộ ỗ ộ ộ(mộ ảt b n ghi)
Các ưu điểm của mô hình d u quan hữliệ ệ
+ Cấu trúc d ữliệu dễ dùng, không c n hi u bi t sâu v k thuầ ể ế ề ỹ ật cài đặt + Cải thiện tính độ ậc l p d ữliệu và chương trình
+ Cung c p ngôn ng thao tác phi th t c ấ ữ ủ ụ
+ Tối ưu hoá cách truy xuất dữ liệu
+ Tăng tính bảo mật và toàn v n d ẹ ữliệu
+ Cung cấp các phương pháp thiết kế có hệ thống Và mở ra cho nhiều loại ứng d ng (l n và nhụ ớ ỏ)
4 Nhược điểm của Cơ sở dữ liệu
- Chi phí Ph n c ng và Phầ ứ ần m m cề ủa một h ệthống Cơ sở ữ d liệu đang triển khai cao có th ể làm tăng ngân sách của các tổ chức
- Nhi u hề ệ thống DBMS thường là nh ng hữ ệ thống ph c t p, vì v y c n phứ ạ ậ ầ ải đào tạo cho người dùng cách sử dụng DBMS
- DBMS không th ểthực hi n các phép tính ph c t p ệ ứ ạ
- Các vấn đề liên quan đến khả năng tương thích với các h ệthống đã có
- Người qu n lý d ả ữliệu có th m t quy n ki m soát d ể ấ ề ể ữliệu, gây ra các vấn đề về b o m t, quy n s h u và quyả ậ ề ở ữ ền riêng tư
5 Các Ứng dụng của cơ sở dữ liệu
Ngày nay, cơ sở dữ liệu quan hệ được dùng trong hầu hết các hệ thống phần mềm từ kế toán, ngân hàng, doanh nghiệp, …
Trong lĩnh vực ngân hàng, việc sử dụng công nghệ giúp thu thập thông tin khách hàng và quản lý các hoạt động liên quan đến tài khoản, thanh toán, tiền gửi, cho vay và thẻ tín dụng Trong ngành hàng không, công nghệ được áp dụng để đặt chỗ và cung cấp thông tin lịch trình cho hành khách.
Trường học Để lưu trữ thông tin sinh viên, đăng ký khóa học, kết quả
Viễn thông Nó giúp lưu trữ hồ sơ cuộc gọi, hóa đơn hàng tháng, duy trì số dư, v.v
Tài chính Giúp lưu trữ thông tin liên quan đến chứng khoán, bán và mua cổ phiếu và trái phiếu
Bán hàng & Sản xuất Sử dụng để lưu trữ thông tin chi tiết về khách hàng, sản phẩm và bán hàng
Nó được sử dụng để quản lý dữ liệu của chuỗi cung ứng và theo dõi sản xuất các mặt hàng, tình trạng hàng tồn kho
Quản lý nhân sự Chi tiết về tiền lương của nhân viên, khoản khấu trừ, việc tạo ra các phiếu lương, v.v
Bảng 1: Các lĩnh vực sử dụng CSDL
2.1.3 Tổng quan về Hệ quản trị CSDL (Database Management System -
Hệ quản trị cơ sở dữ liệu (DBMS) là một phần mềm cho phép tạo lập, quản lý và điều khiển mọi truy cập đối với cơ sở dữ liệu.
Trên thị trường phần mềm hiện nay ở Việt Nam, có nhiều hệ quản trị cơ sở dữ liệu nổi bật như Microsoft Access, Foxpro, DB2, SQL Server và Oracle.
Hệ quản trị cơ sở ữ liệu quan h (Relation Database Management System - d ệ RDBMS) là một h ệquản tr ị cơ sở ữ d liệu theo mô hình quan h ệ
2 Các chức năng của hệ quản trị CSDL quan hệ
Các chức năng của h ệquản tr CSDL quan h có th ị ệ ể được phân thành các tầng chức năng như hình 1.4:
Hình 5 Các ch ức năng củ a h ệ qu ả n tr ị CSDL quan h ệ
Tầng giao diện quản lý giao diện giữa các ứng dụng, cho phép các chương trình ứng dụng cơ sở dữ liệu (CSDL) hoạt động trên các khung nhìn của CSDL Đối với mỗi ứng dụng, khung nhìn rất hữu ích trong việc biểu diễn một hình ảnh cụ thể về CSDL, được sử dụng chung bởi nhiều ứng dụng khác nhau.
Khung nhìn quan h là m t quan hệ ộ ệ ảo, được d n xu t t các quan hẫ ấ ừ ệ cơ sở (base relation) b ng cách áp dằ ụng các phép toán đại s quan h ố ệ
Quản lý khung nhìn bao gồm việc phiên dịch câu hỏi và ấn tín người dùng trên dữ liệu ngoài thành dữ liệu khái niệm Nếu câu hỏi và tín hiệu của người dùng được diễn đạt rõ ràng bằng các phép toán quan hệ, câu hỏi ấn tín sẽ được áp dụng cho dữ liệu khái niệm và giữ nguyên dạng này Điều này đảm bảo trách nhiệm khi xử lý câu hỏi ấn tín.
Tầng điều khiển (Control Layer): chị ệm điề ể ấ bằng cách đưa thêm các vị từ toàn v n ng ẹ ữ nghĩa và các vị từ cấp quyền u trách nhi m ánh x câu
Tầng xử lý v n tin (Query processing layer) chịu trách nhiệm chuyển đổi câu truy vấn thành chuỗi thao tác tối ưu hóa ở mức thấp hơn, tập trung vào hiệu năng Tầng này phân rã câu truy vấn thành cây biểu thị các phép toán đại số quan trọng và tìm ra phương pháp tối ưu cho các phép toán này Kết quả của tầng này là câu truy vấn được diễn đạt bằng đại số quan hệ hoặc một dạng mã hóa ở mức thấp.
Tầng thực thi (Execution layer) có vai trò quan trọng trong việc thực hiện các hoạch định truy xuất, bao gồm quản lý giao dịch và đồng bộ hóa các phép đại số quan hệ Nó đảm nhiệm việc thực hiện các phép toán đại số quan hệ bằng cách gửi yêu cầu truy xuất dữ liệu và cập nhật thông tin.
Tầng truy xuất dữ liệu (data access layer) quản lý các cấu trúc dữ liệu để thiết lập các quan hệ như tập tin và chỉ mục Tầng này cũng quản lý các vùng đệm bằng cách lưu trữ tạm thời các dữ liệu thường xuyên được truy xuất, giúp giảm thiểu việc truy xuất trực tiếp đến đĩa.
Giới thiệu sơ lược về Hệ quản trị cơ sở dữ liệu Oracle
Oracle là một sản phẩm của tập đoàn Oracle, cung cấp hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) RDBMS của Oracle hỗ trợ mọi loại mô hình dữ liệu và có các phiên bản khác nhau như Standard Edition, Enterprise Edition, Express Edition và Personal Edition, cho phép người dùng lựa chọn hệ thống cơ sở dữ liệu phù hợp với nhu cầu của họ Các sản phẩm của Oracle nổi bật về độ ổn định và an toàn, với hiệu suất cao so với các cơ sở dữ liệu khác trên thị trường.
Oracle là một hệ thống quản trị cơ sở dữ liệu (RDBMS - Relational Database Management System) cho phép người dùng quản lý người dùng và cơ sở dữ liệu Đây là giải pháp hàng đầu được nhiều đơn vị lựa chọn để tiết kiệm chi phí và nâng cao hiệu quả quản lý Oracle cho phép tương tác với cơ sở dữ liệu thông qua ngôn ngữ SQL.
Tính năng ủ c a h ệquản s d u Oracletrị cơ ỡ ữliệ
Hình 6 T ính năng củ a HQTDL Oracle
Oracle Database cung c p các chấ ức năng sau để phục v yêu c u c a Database ụ ầ ủ Management:
- Có thể phát tri n ể và hiệu su t ấ
2.2.3 Ưu điểm và nhươc điểm của Oracle Ưu điểm
Nhân diện đối tượng tự động với sự chính xác của các chế độ và trình kích hoạt được tích hợp sẵn giúp hạn chế nguy cơ khi sử dụng phần mềm Điều này cũng cho phép dễ dàng điều chỉnh khi gặp phải các tình huống phức tạp.
Oracle đóng vai trò quan trọng trong việc đa dạng hóa SQL và hỗ trợ PL/SQL, sử dụng các dòng lệnh hiệu quả để quản lý những thay đổi, từ đó mang lại lợi ích cao và hiệu quả trong thiết kế giải pháp.
Có khả năng lưu trữ dữ liệu mạnh mẽ với sự ổn định trong việc quản lý dữ liệu trên cả nền tảng cục bộ và đám mây Hệ thống hỗ trợ phân phối vai trò quản trị, điều khiển tự động, chuỗi băng thông, và kiểm soát thông tin, đồng thời phát huy sức mạnh của SQL thông qua các hàm Windowing.
Chức năng bảo mật của cơ sở dữ liệu Oracle là một trong những đặc tính nổi bật, giúp phân phối và bảo vệ thông tin hiệu quả Oracle được công nhận có khả năng bảo vệ danh tính tốt hơn so với các đối thủ trong lĩnh vực này.
- Không có nhi u cề ấu trúc câu được ứng dụng trong PL/ SQL, d sễ ửa đổ ằng i b các ngôn ng khác ữ
- Các lớp đào tạo không được đánh giá cao về độ ữ h u hiệu, các hướng d n trái ẫ ngược v i các nhu cầu tìm hi u c a khách hàng ớ ể ủ
- Chi phí ph i trả ả đang là mộ ấn đề khi các đốt v i thủ đua tranh công tác trên khu v c kinh doanh m t m c giá r ự ở ộ ứ ẻ hơn.
Dịch vụ tư vấn và hỗ trợ thường chậm chạp, không đáp ứng kịp thời các thắc mắc của khách hàng mà không qua khâu trung gian để xử lý vấn đề.
2.2.2 Lý do doanh nghiệp lựa chọn Oracle
- Có ki n trúc d ế ữliệu ch t ch ặ ẽ và đảm bảo tính nh t quán cao ấ
Tính nguyên t (Atomicity):ố Đảm b o m t giao d ch có nhi u thao ả ộ ị ề tác thì ho c là toàn b ặ ộ thao tác được th c hi n ho c là không thao táo nào ự ệ ặ được hoàn thành
Tính nh t quán (Consistency):ấ M t giao d ch ho c là có tr ng thái ộ ị ặ ạ mới hoặc nếu có l i s chuy n toàn b ỗ ẽ ể ộtrạng thái v ề trước đó
Tính độc lập (Isolation): M t giao dộ ịch đang thực thi và chưa được xác nh n phậ ải đảm báo tách biệt kh i các giao d ch khác ỏ ị
Tính bền vững (Durability) đảm bảo rằng dữ liệu sẽ được hệ thống lưu trữ ngay cả trong trường hợp xảy ra sự cố hoặc lỗi hệ thống, giúp dữ liệu luôn ở trạng thái chính xác.
- Hoạt động trên Windows, Linux, UNIX
- Tối ưu cho việc lưu trữ và truy v n d ấ ữliệ ớn u l
Oracle là phần mềm quản lý cơ sở dữ liệu, cho phép lưu trữ và quản lý thông tin có tổ chức một cách hiệu quả Hệ thống này không chỉ cung cấp hiệu suất cao mà còn tích hợp các tính năng phục hồi truy cập và kiểm soát quyền truy cập Oracle mang đến giải pháp dễ sử dụng cho việc quản lý các hoạt động cơ sở dữ liệu, phục vụ từ ứng dụng cá nhân đến quy mô doanh nghiệp.
Bảng 2 Chi tiết tính năng của Oracle :
Hỗ trợ trên cả 4 hệ điều hành
Hiệu suất lưu trữ số liệu Độ lớn CSDL
Không giới hạn Độ lớn bảng tối đa Độ lớn hàng tối đa
Số cột tối đá cho mỗi hàng 1000
Expect Inner Join Outer Join Inner selects Merge Join
Phương thức quản lý và phân vùng
Hash Composite (Range+ Hash) List
Mã Hóa mạng có nguồn gốc
Bảo vệ Brute-force Có Quy định mật khẩu phức tạp Chứng nhận an toàn
Gi i thi ớ ệu sơ lược v Oracle SQL Developer ề
SQL Developer là một môi trường phát tri n tích hể ợp để làm vi c v i SQL ệ ớ trong cơ sở dữ liệu Oracle
Oracle SQL Developer là một công cụ miễn phí giúp nâng cao năng suất và đơn giản hóa các tác vụ phát triển cơ sở dữ liệu Đây là phiên bản cải tiến của SQL*Plus, cung cấp cho các nhà phát triển cơ sở dữ liệu một cách thuận tiện để thực hiện các tác vụ cơ bản.
SQL Developer giúp người dùng duy trì, tạo, chỉnh sửa và xóa các đối tượng cơ sở dữ liệu Nó cho phép chạy các câu lệnh SQL và tập lệnh SQL, chỉnh sửa và gỡ lỗi các câu lệnh PL/SQL, thao tác và xuất dữ liệu, cũng như xem và tạo báo cáo.
Có thể kết nối và di chuyển dữ liệu từ cơ sở dữ liệu Oracle sang các cơ sở dữ liệu của bên thứ ba (không phải Oracle) Điều này bao gồm việc xem xét siêu dữ liệu và dữ liệu để đảm bảo quá trình chuyển đổi diễn ra suôn sẻ.
SQL Developer cũng tích hợp giao diện vào m t s công ngh liên quan, bao ộ ố ệ gồm Oracle Data Miner, Oracle OLAP, Oracle TimesTen In-Memory Database và SQL Developer Data Modeler
CÁC NHIỆM VỤ KIẾN TẬP
Cài đặt công cụ
Truy cập trang Web: Oracle SQL Developer Downloads
Hình 8 Truy c ập trang web để t ả i công c ụ
Lựa chọn phiên bản phù hợp theo hệ điều hành và cấu hình máy tính
- Windows 64-bit có kèm theo JDK 11– Bản tải xuống này có nhúng sẵn JDK
- Các phiên bản khác không có sẵn JDK và sẽ phải cài đặt JDK riêng mới nhất
Bấm Download cửa sổ Dowload của phiên bản hiện lên tích vào ô vuông để
“Chấp nhận Th a thu n C p phép Oracle và nhấp vào Download ỏ ậ ấ để bắt đầu tải xu ng.ố
Hình 1.8 Dowload SQL Developer Đăng nhâp tài khoản Oracle Thao tác này s m ra mẽ ở ột trang đăng nhập, nhập tên người dùng và m t kh u tài khoậ ẩ ản Oracle
Hình 10 Đăng nhậ p tài kho n Oracle ả Bước 3: hởi chạy SQL DeveloperK
Giải nén thư mục đã tải xuống và sau khi cài đặt xong JDK cùng với SQL Developer, hãy chạy file “sqldeveloper.exe” trong thư mục SQL Developer vừa được giải nén.
Hình 11 Kh i ch y Oracle SQL Developer ở ạ
Hình 12 Màn hình kh i ch y ở ạ Giao diện hiển thị sau khi khởi chạy SQLDeveloper
Hình 13 Giao di n Oracle SQL Developer ệ Bước 4: Tạo kết nối với Oracle
Oracle SQL Developer là công cụ giúp chúng ta giao tiếp, tương tác với Oracle Database bằng ngôn ngữ SQL thông qua Oracle Client
Hình 14 Mô hình k t n i v i Oracle Database ế ố ớ
(2) Nhập thông tin đăng nhập: Tên User trên database s k t n i vàoẽ ế ố , mật khẩu của user ( được công ty c p) ấ
(4) Nhập thông tin của database bao gồm:
- Hostname: Địa chỉ IP của Server/Database
- Port: Mặc định của Oracle
- SID (System ID): tên định danh duy nhất Database
(5) Chọn Test để hệ thống kiểm thử kết nối
Kết nối thành công màn hình sẽ hiển thị Status: Success phía dưới bên trái
(6) Chọn Connect để đăng nhập lại và kết nối hoàn tất.
Các hàm truy vấn cơ bản
Tên Hàm Diễn gi i ả Truy v n ấ Kết quả
ABS (x) Giá tr tuyị ệt đối của số 'x' ABS (1), ABS (-1) 1
CEIL (x) Giá tr s nguyên Lị ố ớn hơn hoặc bằng số 'x' CEIL(2,83) 3
FLOOR (x) Giá tr s nguyên nh ị ố ỏ hơn hoặc bằng số
TRUNC (x, y) Cắt b t giá tr cớ ị ủa s ố 'x' lên đến chữ số thập phân 'y' TRUNC (140.234, 2) 140.23
ROUND (x, y) Làm tròn giá tr c a s ị ủ ố 'x' đến số 'y' ở vị trí th p phân ậ ROUND (125.456, 1) 125.5
Bảng 4 Hàm xử lý chu i ỗ
Tên Hàm Diễn giải Truy v n ấ Kết quả
Tất c các ch cái trong ả ữ 'string_value' được chuyển đổi thành ch ữ thường
LOWER ('Good Morning) good morning
Tất c các ch cái trong ả ữ 'string_value' được chuyển thành ch hoa ữ
Tất c các ch cái trong ả ữ 'string_value' được chuyển đổi ký t ự đầu tiên c a m i t ủ ỗ ừ sang ch hoa, còn các ký t ữ ự còn l i sang ch ạ ữ thường
Tất c các lả ần xu t hi n cấ ệ ủa 'trim_text' đều bị xóa khỏi bên trái c a 'string_value' ủ
Tất c các lả ần xu t hi n cấ ệ ủa 'trim_text' đều bị xóa khỏi bên ph i cả ủa 'string_value '
Trả v 'n' s ký t cề ố ự ủa string_value' bắt đầ ừ ịu t v trí 'm'
Trả v s ký t trong ề ố ự 'string_value'
(string_value, n, pade_value) Đệm vào bên trái
'pade_value ' Kích thước của toàn b chuộ ỗi đã cho sẽ là 'n' ký t ự
(string_value, n, pade_value) Đệm vào bên ph i ả
'pade_value ' Kích thước của toàn b chuộ ỗi đã cho sẽ là 'n' ký t ự
Bảng 5 Hàm xử lý Date
Tên Hàm Diễn gi i ả Truy v n ấ Kết quả
Trả v giá tr ngày sau ề ị khi thêm 'n' tháng vào ngày 'x '
Trả v s tháng gi a các ề ố ữ ngày x1 và x2
Trả v ngày ti p theo cề ế ủa ' week_day ' hoặc sau ngày 'x'
NEXT_DAY ('01-Jun- 08', 'Wednesday') 04-JUN-08
Nó được sử dụng để xác định số ngày còn l i trong ạ một tháng k t ngày 'x' ể ừ được ch nh ỉ đị
Trả v ngày hi n t i cề ệ ạ ủa hệ thống cùng với th i ờ gian
Tên Hàm Diễn gi i ả Truy v n ấ Kết quả
Chuyển đổi giá trị Số và Ngày thành giá tr chuị ỗi ký tự
TO_CHAR (SYSDATE, 'Day, Month YYYY')
Chuyển đổi giá tr S và ị ố
Ký t h p l thành giá tr ự ợ ệ ị Ngày Ngày được tạo bởi 'date_format'
Nếu 'x' là NULL, thay th ế nó b ng 'y' 'x' và 'y' phằ ải có cùng ki u d ể ữliệu
Kiểm tra giá tr c a 'a', nị ủ ếu a = b, thì tr v 'c' Nả ề ếu a d, thì tr v 'e' Khác, tr ả ề ả về giá tr mị ặc định
Tên Hàm Diễn gi i ả Truy v n ấ Kết quả
SUM () Tính tổng SUM (Salary) 50000
COUNT () Đếm m t số hàng ộ COUNT
AVG () Tính giá tr trung ị bình AVG (Age) 500
MIN () Tìm giá tr ịnhỏnhất Min (Age) 25
MAX () Tìm giá tr l n nh t ị ớ ấ Max (Age) 40
Truy vấn và trích xuất báo cáo
EMPLOYEES Thông tin nhân viên bán hàng
CUSTOMERS Thông tin v khách hàng ề
CONTACTS Thông tin liên l c c a Khách hàng ạ ủ
Thông tin v nhóm s n ph m ề ả ẩ (Liên k t v i b ng PRODUCTS qua Product_ID) ế ớ ả
ORDERS Thông tin v ề Đơn hàng: Đơn hàng, sale bán, Khách hàng, giá tr Tị ổng đơn hàng
ORDER_ITEMS Thông tin chi ti t c a tế ủ ừng đơn hàng: Sản phẩm gì, số lượng, đơn giá (Liên k t v i b ng ORDERS qua ORDER_ID) ế ớ ả
Hình 17 Liên K t gi a các b ng - Data Modeler ế ữ ả
3.3.2 Một số thao tác truy vấn và trích xuất báo cáo được thực hành
1 Lấy ra thông tin khách hàng (Mã khách hàng, Tên khách hàng) đã từng hủy đơn và có số lượng đơn hủy lớn hơn đơn trong năm 20170
SELECT CU.CUSTOMER_ID AS MA_KH,
CU.NAME AS TEN_KH,
COUNT (1) AS SO_LUONG_DON
ON CU.CUSTOMER_ID = ORD.CUSTOMER_ID
WHERE ORD.STATUS ='Canceled' AND
EXTRACT(YEAR FROM ORD.ORDER_DATE) = '2017'
GROUP BY CU.CUSTOMER_ID, CU.NAME
2.Lấy ra thông tin khách hàng (Mã khách hàng, Tên khách hàng) đã mua hàng thành công và mua tổng sản phẩm > 10 sản phẩm
SELECT CUS.CUSTOMER_ID AS MA_KH,
CUS.NAME AS TEN_KH,
COUNT(ORD_ITEM.PRODUCT_ID) AS SO_SP
WHERE CUS.CUSTOMER_ID = ORD.CUSTOMER_ID
AND ORD.ORDER_ID = ORD_ITEM.ORDER_ID
GROUP BY CUS.CUSTOMER_ID,CUS.NAME
HAVING COUNT(ORD_ITEM.PRODUCT_ID) >10;
3.Lấy ra báo cáo chi tiết sản phẩm theo các tiêu chí sau: Tổng số lượng bán,
Tổng giá trị bán, trung bình giá trị bán (Nếu sản phẩm chưa từng bán thì mặc định là 0)
SELECT PROD.PRODUCT_ID AS MA_SP,
PROD.PRODUCT_NAME AS TEN_SP,
NVL(SUM(ORD_ITEM.QUANTITY),0) AS TONG_LUONG_BAN,
NVL(SUM(ORD_ITEM.QUANTITY*ORD_ITEM.UNIT_PRICE),0) AS TONG_GTR_BAN,
NVL(ROUND(AVG(ORD_ITEM.QUANTITY*ORD_ITEM.UNIT_PRICE),2),0) AS TB_GT_BAN FROM PRODUCTS PROD
LEFT JOIN ORDER_ITEMS ORD_ITEM
ON PROD.PRODUCT_ID = ORD_ITEM.PRODUCT_ID
GROUP BY PROD.PRODUCT_ID,PROD.PRODUCT_NAME
Trong ba tháng đầu năm 2017, chúng tôi đã tổng hợp báo cáo về các danh mục sản phẩm dựa trên số lượng đơn bán hàng Báo cáo này bao gồm tên danh mục sản phẩm và số lượng đơn hàng tương ứng.
SELECT PROD_CAT.CATEGORY_ID AS MA_DM,
PROD_CAT.CATEGORY_NAME AS TEN_DM,
COUNT(ORD_ITEM.QUANTITY) AS SO_LUONG_DON
FROM PRODUCT_CATEGORIES PROD_CAT
ON PROD_CAT.CATEGORY_ID = PROD.CATEGORY_ID
LEFT JOIN ORDER_ITEMS ORD_ITEM
ON PROD.PRODUCT_ID = ORD_ITEM.PRODUCT_ID
ON ORD_ITEM.ORDER_ID = ORD.ORDER_ID
WHERE ORD.ORDER_DATE BETWEEN TO_DATE('1/1/2017','DD/MM/YYYY')
AND ADD_MONTHS(TO_DATE('1/1/2017','DD/MM/YYYY'),3)
GROUP BY PROD_CAT.CATEGORY_ID,PROD_CAT.CATEGORY_NAME
5 Lấy ra báo cáo chi tiết sản phẩm đang không có tồn kho (mã sản phẩm, tên sản phẩm)
SUM (INV.QUANTITY) SL_TONKHO
ON PRD.PRODUCT_ID = INV.PRODUCT_ID
GROUP BY PRD.PRODUCT_ID, PRD.PRODUCT_NAME
HAVING SUM (INV.QUANTITY) IS NULL OR SUM (INV.QUANTITY) = 0;
Lấy báo cáo chi tiết về các sản phẩm không có tồn kho, bao gồm mã sản phẩm, tên sản phẩm và tên danh mục sản phẩm.
SELECT PRO.PRODUCT_ID AS MA_SP,
PRO.PRODUCT_NAME AS TEN_SP,
ON PRO.PRODUCT_ID = INV.PRODUCT_ID
LEFT JOIN PRODUCT_CATEGORIES PROD_CAT
ON PRO.CATEGORY_ID = PROD_CAT.CATEGORY_ID
GROUP BY PRO.PRODUCT_ID,
OR SUM(INV.QUANTITY) IS NULL
ORDER BY PRO.PRODUCT_ID;
7.Lấy ra báo cáo chi tiết sản phẩm tồn theo từng kho: Mã sản phẩm, Tên sản phẩm, tên kho tồn, tổng số lượng tồn tại kho
SELECT PRO.PRODUCT_ID AS MA_SP,
PRO.PRODUCT_NAME AS TEN_SP,
WH.WAREHOUSE_NAME AS TEN_KHO_TON,
SUM(INV.QUANTITY)AS SL_TON_KHO
ON PRO.PRODUCT_ID = INV.PRODUCT_ID
ON INV.WAREHOUSE_ID = WH.WAREHOUSE_ID
GROUP BY PRO.PRODUCT_ID,
ORDER BY PRO.PRODUCT_ID;
8 Lấy ra báo cáo thống kê tổng số sản phẩm đã bán theo nhân viên (mã nhân viên, họ và tên nhân viên) trong 4 tháng đầu năm 2016 Sắp xếp theo số lượng sản phẩm
EMP.EMPLOYEE_ID AS MA_NV,
EMP.FIRST_NAME AS TEN_NV,
EMP.LAST_NAME AS HO_NV,
SUM(ORD_ITEM.QUANTITY) AS SL_SAN_PHAM
ON ORD.SALESMAN_ID = EMP.EMPLOYEE_ID
LEFT JOIN ORDER_ITEMS ORD_ITEM
ON ORD.ORDER_ID = ORD_ITEM.ORDER_ID
WHERE ORD.ORDER_DATE BETWEEN TO_DATE('1/1/2016','DD/MM/YYYY')
AND ADD_MONTHS(TO_DATE('1/1/2016','DD/MM/YYYY'),4)
ORDER BY SL_SAN_PHAM DESC;
9.Lấy ra top 100 sản phẩm đang tồn ít nhất theo quốc gia ( mã sản phẩm, tên sản phẩm, tên kho tồn, quốc gia kho, tổng sl tồn tại kho)
SELECT PRO.PRODUCT_ID AS MA_SP,
PRO.PRODUCT_NAME AS TEN_SP,
WH.WAREHOUSE_NAME AS TEN_KHO_TON,
LO.ADDRESS AS DIA_CHI_KHO,
COU.COUNTRY_NAME AS QUOC_GIA,
SUM(INV.QUANTITY)AS SL_TON_KHO
ON PRO.PRODUCT_ID = INV.PRODUCT_ID
ON INV.WAREHOUSE_ID = WH.WAREHOUSE_ID
ON WH.LOCATION_ID = WH.LOCATION_ID
ON LO.COUNTRY_ID = COU.COUNTRY_ID
GROUP BY PRO.PRODUCT_ID,
ORDER BY SUM(INV.QUANTITY) ASC
10.Sử dụng lệnh With để thực hiện yêu cầu sau:
- 1 truy vấn Doanh_thu_SP: Mã sản phẩm, tên sản phẩm, Doanh thu
(tổng tiền mà sản phẩm đó bán được)
- 1 truy vấn tính tổng doanh thu toàn bộ các sản phẩm
Trả về kết quả sau: Mã sản phẩm, tên sản phẩm, Doanh thu, % doanh thu ( doanh thu / tổng doanh thu)
WITH DOANH_THU_SP AS (
WHERE P.PRODUCT_ID = OI PRODUCT_ID
AND OI.ORDER_ID = O.ORDER_ID
ROUND(DOANHTHU/( SELECT SUM(TOTAL) FROM ORDERS),3) AS PHANTRAMDOANHTHU FROM DOANH_THU_SP;
CHƯƠNG IV NHỮNG KẾT QUẢ ĐẠT ĐƯỢC
Trong thời gian thực tập tại Công ty TNHH Giải Pháp Phân Tích Dữ Liệu INDA, tôi đã học hỏi được nhiều điều bổ ích, bao gồm các thao tác làm việc nhanh chóng và tác phong chuyên nghiệp khi đến công ty Tôi cũng nắm rõ các quy định và nội dung công việc tại đây Kinh nghiệm quý báu từ đợt kiến tập này đã giúp tôi tích lũy thêm kiến thức và kỹ năng cần thiết cho sự nghiệp sau này.
Hiểu được một cách tổng quan về CSDL, SQL
Các ứng dụng SQL đóng vai trò quan trọng trong việc tạo lập và quản trị dữ liệu, đồng thời hỗ trợ phân tích dữ liệu cho từng nghiệp vụ cụ thể Việc hiểu rõ cách sử dụng SQL giúp tối ưu hóa quy trình làm việc và nâng cao hiệu quả trong việc ra quyết định dựa trên dữ liệu.
Hiểu rõ ngữ pháp truy vấn dữ liệu và các kỹ thuật trích xuất dữ liệu, cũng như cách thực hiện tính toán có điều kiện Nắm vững nguyên tắc và biết cách viết mã báo cáo một cách nhanh chóng, dễ dàng và dễ hiểu nhất.
Hiểu về ngữ pháp xây dựng, chỉnh sửa cấu trúc dữ liệu đảm bảo hiệu quả sử dụn, làm việc lâu dài
Truy xuất dữ liệu cần thiết theo các điều kiện nghiệp vụ yêu cầu
Xử lý tình huống dữ liệu chưa chuẩn, thiếu chính xác
Tổ chức dữ liệu nghiệp vụ khoa học thành 1 hoặc các cơ sở dữ liệu để từ đó hiểu hơn về nghiệp vụ và công việc
Tự tổng hợp, update dữ liệu và cơ sở dữ liệu, giúp tăng hiệu quả làm việc Xây dựng báo cáo phân tích
Mỗi trường đại học cung cấp cho sinh viên kiến thức cơ bản về lý thuyết và thực hành Tuy nhiên, lượng kiến thức này có thể không đủ để hoàn thành tốt công việc khi được giao Do đó, sinh viên cần bổ sung kiến thức và kỹ năng mới thông qua việc học hỏi thêm tại nơi làm việc và trong xã hội Việc thực tập cũng đóng vai trò quan trọng trong việc nâng cao kiến thức và kỹ năng Chúng ta nên chú trọng vào việc xây dựng nền tảng vững chắc, từ đó có thể phát triển thêm trong việc học hỏi các vấn đề khác.