1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ quản trị cơ sở dữ liệu Oracle - Trường ĐH Đồng Tháp

119 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Quản Trị Cơ Sở Dữ Liệu Oracle
Tác giả ThS. Nguyễn Thị Mỹ Dung, ThS. Nguyễn Trọng Nhân, ThS. Nguyễn Thị Thanh Thảo
Trường học Trường Đại Học Đồng Tháp (https://www.udt.edu.vn)
Chuyên ngành Khoa học máy tính
Thể loại Bài giảng
Năm xuất bản 2022
Thành phố Đồng Tháp
Định dạng
Số trang 119
Dung lượng 7,43 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng “Hệ quản trị Cơ sở dữ liệu Oracle là tài liệu hướng dẫn học tập dùng cho sinh viên ngành Khoa học máy tính, Sư phạm Tin học ở bậc đại học của Trường Đại học Đồng Tháp. Bài giảng này trình bày hệ quản trị cơ sở dữ liệu bằng Oracle và trọng tâm là thiết kế cơ sở dữ liệu, truy vấn dữ liệu, và kết nối dữ liệu Oracle với công cụ lập trình cơ sở dữ liệu mà cụ thể là NetBeans IDE. Các nội dung được giới thiệu một cách súc tích, có nhiều ví dụ minh họa. Cuối mỗi chương đều có câu hỏi hoặc bài tập ôn luyện để người học củng cố những vấn đề đã tìm hiểu.

Trang 1

TRUGNG DAI HOC DONG THAP

KHOA SU PHAM TOAN - TIN

@

ThS NGUYEN THI MY DUNG ThS NGUYEN TRONG NHAN ThS NGUYEN THỊ THANH THẢO

BÀI GIẢNG

E QUAN TRI

CO SO DM LIEW ORACLE

Trang 2

TRUONG DAI HOC DONG THAP

KHOA SU PHAM TOAN - TIN

NGUYÊN THỊ MỸ DUNG NGUYÊN THỊ THANH THẢO

Trang 3

LOI NOI DAU

Bài giảng “Hệ quản trị Cơ sở dữ liệu Oracle" là tài liệu hướng dẫn học tập dùng cho

sinh viên ngành Khoa học máy tỉnh, Sư phạm Tin học ở bậc đại học của Trường Đại học

Đồng Tháp Bài giảng này trình bày hệ quản trị cơ sở dữ liệu bằng Oraclc và trọng tâm là

nhiều ví dụ minh họa Cuối mỗi chương đều có câu hỏi hoặc bải tập ôn luyện đề người

học củng cố những vấn đề đã tìm hiểu

Nội dung của bải giảng được chia thành 7 chương như sau:

- Chuong 1: Téng quan về hệ quản trị cơ sở dữ liệu Oraele Trình bày các khái niệm,

lịch sử phát triển, hướng dẫn cài đặt và cấu hinh Oracle

~_ Chương 2: Cơ bản về Oracle Trình bày ngôn ngữ thiết kế CSDL quan hệ với hệ quản

trị Oracle Hướng dẫn người dùng thao tác CSDL (tạo CSDL, backup dữ liệu, restore

dữ liệu) quan hệ trên hệ quản trị này

-_ Chương 3: Truy vấn cơ sở dữ liệu Thực hiện thao tác dữ liệu: thêm,

cập nhật, thống kê với các câu lệnh như: insert, update, delete, select from where (having) group by

-_ Chương 6: Quản trị người dùng Trình bảy phương thức quản trị người dùng, phân

quyền hệ thống, cấp phát và thu hồi các quyền hạn người dùng

-_ Chương 7: Kết nối cơ sở dữ liệu Trình bày ngôn ngữ lập trình cơ sở dữ liệu Netbeans

IDE Thực hiện kết

tìm kiếm dữ liệu

Oracle, hiển thị dữ liệu, thực thi câu truy vấn, thêm, sửa, xóa,

Nhóm biên soạn hy vọng tài liệu này sẽ có ích cho việc dạy và học môn hệ quán trị cơ

sở dữ liệu Oracle của trường ngày cảng tốt hơn Trong quá trình biên soạn có thể còn

nhiều thiếu sót, nhóm biên soạn rất mong nhận được sự góp ý của bạn đọc cũng như các

đồng nghiệp Chúng tôi chân thành cảm ơn!

Đồng Tháp, Tháng 05 năm 2022

“Nhóm biên soạn

Trang 4

DANH MUC TU VIET TAT

was Distrib Databite Management System — Hé quản trị

cơ sở dữ liệu phân tán Procedural Language/Struetured Query Language - Ngôn PL/SQL ropediusal Language(s 1 Query guage - Ng

ngữ lập trình lập trình hướng thủ tục

XE Express Edition

SQL Structured Query Language — Ngôn ngữ truy vấn cấu trúc

Trang 5

13.2 Kétndi Oracle voi SqlDeveloper

1.4 Câu hỏi ôn tập và bài tập

CHƯƠNG2 CƠ BẢN VẺ ORACLE

2.1 Các khái niệm được sử dụng trong Oracle

2.4.3 Kiểu dữ liệu ngày tháng năm

2.4.4 Kiểu dữ liệu luận lý

2.4.5 Kiểu dữ liệu đối tượng LOB

2.4.6 Bảng tóm tắt kiểu dữ liệu cơ bản

Trang 6

2.7 Câu hỏi ôn tập

CHƯƠNG 3 _ TRUY VẤN CƠ SỞ DU LIEU SQL

3.1 Câu lệnh tạo, sửa, xóa, thêm dữ liệu bảng

3.1.1 Tạo bảng (ereate table)

3.1.2 _ Lệnh sửa cấu trúc bảng

3.13 Lệnh xóa bảng

3.1.4 Xem mối quan hệ Relationshil

3.2 Phát biểu SELECT, INSERT, UPDATE, DELETE

3.2.1 Truy vấn SELECT

3.2.2 Câu lệnh INSERT (thêm dữ liệu)

3.2.3 Câu lệnh UPDATE (Sita théng tin)

3.2.4 Câu lệnh DELETE (Xóa dòng dừ

3.3 Select lồng, Group by, Having

3.3.2 Truy vấn gom nhóm - group by

3.3.3 Truy vấn con sử dụng toán tử HAVING

Trang 7

4.6 Bai tap 6n tap

CHƯƠNG 5 PROCEDURE, FUNCTION & TRIGGER

5.3.1 Giới thiệu Trigger

S.3.2 Cit phap và các thành phần Trigger

5.3.3 Thao tac Trigger

ip nhat User

Trang 8

6.3.3 Thu hỏi quyền hệ thống

63.4 Xemqu

6.4 Quản lý quyền đối tượn;

6.4.1 Gan quyền cho đối tượng

CHUONG7 LAP TRINH KET NOI CO SO DU LIEU

7.1 Giới thiệu ngôn ngữ lập trình

7.1.1 — Điều kiện cản thị

7.1.2 Tao Project bing NetBeans IDE

7.2 Kết nối cơ sở dữ liệu Oracle

72.1 JDBC trong Java

7.2.2 Cac thanh phan trong JDBC API

7.2.3 Két ndi JDBC voi NetBeans IDE

7.3 Lập trình cập nhật dữ liệu

7.3.1 Cập nhật dữ liệu thém (insert)

7.3.2 Cập nhật dữ liệu sửa (update)

7.3.3 Cập nhật dữ liệu xóa (delete)

7.3.4 Cập nhật dữ liệu tìm kiếm (selecU)

7.3.5 Hiến thị thực thi thi tục, hàm

1.1 Cai dat Oraclel 1g Express

1.2 Két néi Oracle với SqlDeveloper

2 Cai dat Oraclel9e

2.1, Cai dat Oracle Server

2.2 Kiểm tra cài đặt và xem c:

hình Host, Port Oracle

Trang 9

2.3 Kết nỗi Oracle Server với SqlDeveloper

TÀI LIỆU THAM KHẢO

108

110

Trang 10

CHUONG 1 TONG QUAN VE HE QUAN TRI

CO SO DU LIEU ORACLE

.Mục tiêu của chương

Sau khi học xong chương này, người học sẽ:

- Mô tả được những khái niệm cơ bản vẻ hệ quản trị cơ sở dữ liệu, kiến trúc tổng quát của một hệ cơ sở dữ liệu Oracle, lịch sử phát triển;

- Cài đặt được hệ quản trị cơ sở dữ liệu Oracle phiên bản Express và Server,

kết nỗi được Oracle với công cụ SạlDeveloper

và phân phối bởi tập đoàn Oracle

Sau nhiều năm phát triển công ty Oracle Corp đang phát triển mạnh trong lĩnh vực

cung cấp các hệ thống quản trị Với nhiều phiên bản, Oracle đang được sử dụng pi

biến trong nhiều đơn vị, công ty, đáp ứng nhu cầu của nhiều mô hình kinh doanh Phẩn mềm này vẫn đang được phát triển lên những phiên bản cao hơn, và vẫn đang là một

trong những phần mẻm quản trị CSDL hàng đầu thế giới

1.1.2 Các tính năng nổi b

Oracle có nhiều tính năng nỗi bật, giúp người dùng dễ dàng sử dụng, quản lý hệ

thống dữ liệu Điễu này giúp hệ thông Database này trở nên phô biến và được sử dụng

rộng rãi Một số tính năng tiêu biểu như:

~ Khả năng mở rộng và hiệu suất: Oracle được thiết kế để đảm bảo đáp ứng đầy đủ các yêu cầu của hệ thống quản lý thông tin, thông qua một số cơ chế như:

¥ Tối đa hỏa hệ thống dữ liệu trong trường hợp có nhiều người sử dụng đồng thời Giúp nâng cao hiệu suất với việc cho nhiều người cùng sử dụng trên một hệ thống

+ Giúp việc sửa và đọc dữ liệu trở nên nhất quán hơn (trong trường hợp có người sử dụng đang xem thông tin, thông tin đó sẽ không thể bị thay đổi bởi một người nào khác)

~ Sao lưu và phục hồi CSDL (Backup và Recovery): Trong quả trình sử dụng hệ

Trang 11

thống cơ sở, chắc chắn sẽ không thể tránh được tình trạng xảy ra lỗi Và khi gặp lỗi, người dùng có thể sẽ phải đối mặt với các rủi ro, trong đó có việc mắt dữ liệu Oracle

đã giúp khắc phục hạn chế này thông qua việc:

⁄_ Phục hồi cơ sở dữ liệu theo yêu cầu của người sử dụng

Y Vige sao lưu, phục hồi dữ liệu sẽ được tích hợp sẵn, ngay cả trong trường

hợp người dùng đang làm việc

- Tinh kha dung: Oracle cung cap tính năng Oracle Data Guard Đây là tính năng nâng cao tính khả dụng của cơ sở dữ liệu, giúp duy trì CSDL thứ cắp Người dùng sẽ

có thêm một bản sao, song song với CSDL chính Vì thế, trong quá trình sử dụng,

người dùng có thể thay thế khi cần chuyển đổi

~ Bảo mật thông tin: Oracle có tính năng bảo mật thông qua 2 giải pháp bảo vệ tại

nguồn đó là ngay cả khi đăng xuất Hệ thống Oracle luôn đảm bảo hệ thống bảo mật, đảm bảo quyền lợi của người sử dụng:

¥ TDE (Transparent Data Encryption): Ma héa dir ligu trong thai gian thuc, giúp bảo vệ thông tin nhạy cảm

Y Data Redaction: giúp mã hóa, che giấu dữ liệu

~ Tích hợp thông tin: Oracle có tính năng bổ sung dữ liệu, trao đổi dữ liệu tử xa,

giúp người dùng dễ dàng tích hợp thông tin Đặc biệt, tất cả các dữ liệu được điều

chỉnh bởi hệ thông này sẽ luôn đảm bảo tính nhất quán

~ Tỉnh năng quản lý: Oracle cho phép người dùng dễ dàng quản lý thông qua các công cụ quản lý; tự quản lý cơ sở dữ liệu thông qua các hệ thống: hỗ trợ lưu trữ tự động; sử dụng hệ ngôn ngữ SQL plus; có sẵn bộ lập trình và quản lý tài nguyên

1.1.3 Ướ và nhược điểm của cơ sở dữ liệu Oracle

Cơ sở dữ liệu Oracle đang được đa số các doanh nghiệp trên thé g

những tru điểm như sau: i tin dùng nhờ

Y Sw ôn định cao, dữ liệu luôn trong trạng thái sẵn sàng đề truy cập

*⁄ Khả năng đáp ứng nhanh: tạo ra hệ thông quản

tốc độ truy vấn nhanh, chính xác

quy mô lớn với

v⁄_ Khả năng bảo mật tốt, giám sát chống xâm nhập trái phép

v Hoạt động đa nền tảng: có khả năng hoạt động trên nhiều nền tảng khác

nhau đối với một công ty lớn vả có dữ liệu phức tạp

“_ Hỗ trợ từ nhà phát triển: các sự cô xảy ra sẽ được hãng phát hành tư vẫn, hỗ

trợ giải quyết

Bên cạnh đó, Oracle cũng đang tổn tại không ít nhược điểm như sau:

“ Rào cản lớn nhất là chưa tương thích với các công nghé và các ứng dung

Trang 12

phát triển của Microsoft

“ˆ Ngôn ngữ sử dụng là Java nên khó khăn trong việc tiếp cận các công cụ thiết

kế, lập trình

1.2 Phién ban Oracle

12.1 Giới thiệu

Hiện nay Oracle có 4 phiên bản chính, đó là:

Enterprise Edion: Đây là phiên bản được xem là mạnh mẽ và bảo mật nhất, nó có đây đủ các tính năng từ căn bản đến nâng cao, bao gồm cả các tính năng về bảo mật, đương nhiên sẽ có phí

Standard Edion: Đây là gói cơ bản dành cho người dùng, gói này chứa các tính năng cơ bản cần thiết đê quản trị cơ sở dữ liệu, gói này có tinh phi

Express Edition (XE): Đây là gói tương đối nhẹ dành cho cả hai hệ điều hành Windows và Linux, nó không có đầy đủ các tính năng như hai phiên bản trên nên miễn phí Người dùng chỉ cần đăng ký vào trang chủ Oracle có thé tai về va cai di

Oracle Lite: Được thiết kế dành cho các thiết bị di động, nghĩa là dữ liệu sẽ được

lưu dành cho việc xử lý trên các thiết bị smartphone

1999: ra mắt Oracle 8i, có hỗ trợ Internet

2001: ra mat Oracle 9i, có hỗ trợ RAC (Real Application Clusters)

2003: ra mắt Oracle 10g, hỗ trợ tính toán lưới

2007: ra mắt Oracle 11g, chạy được trên cả môi trường Windows và Unix

2013: ra mắt Oracle 12c, hỗ trợ tính toán đám mây

2018: Oracle Database 18c, ting cdc tính năng bảng đa hình, tính liên tục của ứng dụng, xử lý truy vấn Top-N gần đúng

2019: Oracle Database 19¢, phat triển nhiều tính năng chuyển hướng DML bảo vệ

dữ liệu tích cực, tạo chỉ mục tự động, bảo trì thống kê thời gian thực, truy vấn SQL trên dữ liệu hướng đối tượng, bô sung bộ nhớ luồng dữ liệu IoT, quản lý sao lưu truy vấn tự động,

2020: Oracle Database 21c, tăng cường các chức năng bảng Blockchain, công cụ

đa ngôn ngữ (thực thi JavaScript trong cơ sở dữ liệu), kiểu dữ liệu JSON nhị phân,

i Vids Dar DR thaw nan ani WA han wd A® Hiếu đa Ai

OnE AA ALN Wat We han 8

Trang 13

tượng), tự quản lý trong bộ nhớ, chế độ xem được thực thẻ hóa tự động, tính năng bảo

mật cũng được cải thiệt

1.3 Cài đặt Oracle Express và nối kết SQLDeveloper

1.3.1 Cai dt Oracle Express

Tải và sao chép 2 file OracleXExxx_Win64 va sqldeveloper-x.x.x.x ty theo phién ban tir trang chii Oracle

Yêu cầu cầu hình hệ thông khi cài đặt:

Y Processor: AMD64 or Intel EM64T;

Y Physical RAM: 2 GB minimum;

¥ Swap (virtual memory): at least the same size as the physical memory (2 GB minimum);

Y Available disk space: 12 GB (OS excluded);

Y Video adapter: 256 colors;

Y Display (screen resolution): 1024 x 768 minimum

Yêu cầu không gian cứng:

Trang 14

~ Bước 1: Giai nén file Oracle21 XE va Run (hình 1.1)

Hinh 1.1 Buéc 1 ~ Run Setup Oracle Databse 21c Express

- Bước 2: Xác nhận cai đặt (hình 1.2)

$8) Oracte Database 21c Express Edition x

Welcome to the InstallShield Wizard for Oracle Database 21c Express Edition

‘The Instalshield(R) Wizard nil install Orade Database 21¢ Express Editon on your computer To continue, cick Next

Trang 15

- Bước 3: Đọc thỏa thuận trước khi cai đặt (hình 1.3)

$8) Oracle Database 21c Express Edition x

License Agreement 21 ORACLE Please read the folowing Icense agreement carefully Dan, Edition

Inc "You" and

Trang 16

~ Bước 5: Xác nhận mật khẩu đăng nhập (hình 1.5)

$9 Oracle Database 21c Express Edition x Oracle Database Information 2 ¢ ORACLE

Database Specify the database password Barres Edition

‘This password willbe used for SYS, SYSTEM and PDBADMIN accounts

Hinh 1.5 Buée 5 — Dat mat khẩu để đăng nhập vao Database

~ Bước 6: Tiến hành cải đặt và chờ cài đặt (hình 1.6)

BP Oracle Database 21c Express Edition x

‘Summary 21° Seats

‘These are the parameters that willbe applied in this Darras instalation Express Edition Destination Folder: C:wppTHUWroduet2ic\

rade Home: C;bppTHUWroduetlZicvEhomeYE\

'(Orade Base: C:eppTHUroductl2ic\

‘Cick Install to begin the instalation

TẾ you want to review or change any of your: settings, cick Back, Click Cancel to

‘ext the wizard

Trang 17

- Bước 7: Chờ cải đặt hoàn tắt (hình 1.7)

S8 Oracle Database 21c Express Edition _ x

Installing Oracle Database 21c Express Edition 21° ORACLE

‘The program features you selected are se beng netsled Express Edition Please wait while Orade Database 2c Express Editon is instaled This may

take several mnutes

seus; | _ B7: Chờ cài đặt hoàn tắt, Nhấn Next sang Bước 8

engin Orne Osan compen

Hình 1.7 Bước 7~ Chờ quá trình cài đặt hoàn tắt

~ Bước 8: Hoàn thành cài đặt (hình 1.8)

$8 Oracle Database 21c Express Edition x

Oracle Database Installed Successfully

The InstallShield Wirard has successfuly instaled Orade Database 21c Express Editon Cick Finish to exit the wizard

‘Oracle Database Express Edition Connection Information:

C ORACLE

Database ‘Maltitenant container database: localhost: 1521

Express Edition

Puggable database: localhost: 1521/NEPDB1

EM Express URL: https:/localhest:S500/em

Hình 1.8 Bước 8~ Thông tin cài đặt và xác nhận thành công

Trang 18

B Kiém tra cai dat va xem cau hinh Host, Port oracle

~ Bước I: Start / All Program / Oracle Database home

Hinh 1.9 Céc buée xem cau hinh két noi Oracle

- Bude 2: Chon LISTENER / Address! / Xem Host, Port

ace Het Manager - Capp DTV pdt chee ORME NETWORE ADM - 0 x

Hinh 1.10 Cau hinh Listener

Trang 19

C Tao Database user bang SQLPlus

- Bude 1: Két néi Database SYSTEM

SQL> CONNECT SYSTEM;

ENTER PASSWORD: ****** Nhap password luc cai đặt ở phần A.B5 /*ERROR at line 1: ORA-65096: invalid common user or role name

- xu ly bang dong lenh ben duoi (néu có) */

SQL> alter session set "_ORACLE_SCRIPT"=true;

- Bước 2: Tao User Database méi

SQL> CREATE USER Myconnect01 IDENTIFIED BY 123456

2 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp

3 QUOTA 20M ON users PROFILE default ACCOUNT UNLOCK;

~ Bước 3: Cấp phát quyền và vai trỏ cho Database

SQL> GRANT CONNECT, RESOURCE, DBA TO Myconnect01;

SQL> GRANT UNLIMITED TABLESPACE TO Myconnect01;

1.3.2 Kết nối Oracle với SqlDeveloper

Giải nén sqldeveloper phiên bản gần nhất (19, 21, ) tại đường dẫn cài đặt (hoặc đĩa C:/) và test

Trang 20

Hinh 1.12 Giao dign SqlDeveloper

1.4 Câu hỏi ôn tập và bài tập

1 Nêu các tính năng nỗi bật của oracle? Tính năng nào người dùng quan tâm nhất? Tại sao?

2 Trình bảy tóm tắt các phiên bản (Edion) của Oracle? So sánh ưu nhược điểm giữa các phiên bản?

3 Trình bày các bản phát hành (version) Oracle cho đến thời điểm hiện tại

(2022) va cai tiến nồi bât qua từng bản phát hành?

Trang 21

4 Lựa chọn bản phát hành và cài đặt theo cấu hình máy tính cá nhân?

5 Nêu một số lỗi phát thường gặp khi cài đặt Oracle và cách khắc phục (chọn l

run sql SQL> GRANT UNLIMITED TABLESPACE TO MYCONNECTO1;

run sql SQL> CONNECT MYCONNECTO1;

Trang 23

CHUONG 2 CO BAN VE ORACLE

Sau khi học xong chương này người học sẽ:

- Xác định được các thành phẩn cơ bản, chỉ tiết hóa cẩu trúc một cơ sở dit

ligu Oracle;

- Dién giai duge chire nang kiêu dữ liệu, khai báo và sứ dụng thành thạo kiểu

dữ liệu cơ bản;

~ Phân biệt được vai trỏ, quyên hạn của một số user; thiết kế được cơ sở dữ

liệu Oraele và kết nổi với sạlDeveloper; Kiểm thử được chức năng impor† và

đối tượng và cũng có thể chứa các tập tin CSDL hệ thống

Thể hiện CSDL và CSDL là mối quan hệ một ~ một Chúng ta có thê cài đặt nhiều thể hiện CSDL đơn lẻ trên cùng máy chủ (server) Mỗi CSDL có một thê hiện CSDL

=1 [5 (memory and processes)

|_ Packet || Ustener}- Connects {Server | (chert process) | processes SQL +

Hình 2.1 Mô hình kiên trúc của Oracle Database Server

Trang 24

Hinh 2.2 Mé hinh Oracle Database Instance

2.1.3 SGA - System Global Area

Lä một vùng bộ nhớ đề lưu trữ các thông tin điều khiên của một instance SGA bao gồm một vài cấu trúc bộ nhớ chính như:

~ Shared pool: Đề chia sẻ các cầu trúc bộ đệm khác nhau giữa nhiều người dùng; ví

dụ: chia sẻ mã SQL, PL/SQL, phân tích cú pháp, lưu trữ các tham số hệ thống và

thông tin tử điền dữ liệu

~ Database buffer cache: Là vùng nhớ đề lưu trữ bản sao của khối đữ liệu được đọc

từ tệp dữ liệu, nơi lưu trữ các dữ liệu được sử dụng gần nhất

~ Redo log buffer: Được sử dụng để lưu thông tin về những thay đổi được thực hiện

đối với CSDL và thực hiện bởi các xử lý nền (background process)

~ Large Pool: Chia sẻ các cấu trúc bộ đệm khác nhau giữa nhiều người dùng: ví dụ: chia sẻ lưu trừ mã SQL, PL/SQL được phân tích cú pháp, các tham số hệ thống và

thông tin từ điển dữ liệu, sao lưu và phục hồi hệ thống

~ Java pool: những yêu cầu về cú pháp đối với các câu lệnh Java.

Trang 25

Tập hợp file hệ thống, file dữ liệu, lưu trữ và trả về các thông tin liên quan Được

lưu trữ dưới hai cấu trúc: vật lý và luận lý

~ Control files: Chứa các mục thông tin quy định cấu trúc vật lý của DB như tên

DB, noi luu trữ các datafiles hay redo log files, time stamp tao lap DB

- Datafiles: Chita toàn bộ dữ liệu trong DB, có thê tự động mở rộng kích thước mỗi

khi DB hết chỗ lưu trữ dữ liệu Một hay nhiều datafiles tạo nên một đơn vị logic của

DB gọi là không gian bảng (tablespace)

~ Redo log files: Ghỉ lại tắt cả các thay đổi dữ liệu trong DB Bảo vệ DB khỏi

những hư hỏng do sự có

Trang 26

Online Redo ‘Archive Redo

Log Files Log Files

Hình 2.5 Mô hình Cắu trác vét lj; Database Oracle

2.2.2 Cấu trúc luận lý:

Mô tả vùng nhớ dùng đề lưu trữ các đối tượng như các bảng, hàm, thủ tục Gỗm

các đối tượng tablespaces, schema objects, data blocks, extents, va segments

~ Tablespaces: tablespaces lưu trữ toàn bộ cơ sở dữ liệu về mặt logic

~ Schema: Là tập hợp các đối tượng (objects) có trong DB bao gém: tables, views,

sequences, stored procedures, synonyms, indexes, clusters, va DB links

~ Extents: Phân chia các vùng không gian trong DB, bao gồm: data blocks liên tiếp

nhau, cùng được lưu trữ tại một thiết bị lưu giữ và cùng kiều

~ Segments: Cũng là phân chia các vùng không gian trong DB, bao gồm tập hợp các extents

~ Database: Là một cơ sở dữ liệu gồm I hay nhiều vùng nhớ tablespace đề lưu trữ

Trang 27

2.3 Không gian dữ liệu và bảng dữ liệu

Không gian dữ liệu có định: Chứa các đối tượng dữ liệu tồn tại lâu dài (datafile)

Undo tablespace: Quan lý việc hoàn tác dữ liệu có thé thay cho rollback segment

Không gian dữ liệu tạm thời: Chứa các đối tượng CSDL trong một tập tin làm việc

Bảng dữ li

+ Hàng: Mẫu tin / record

+ Cột: Có tên và kiểu dữ liệu xác định

lun If Database Oracle

'ó định danh duy nhất, gồm nhiều hàng và cột để lưu trữ dữ liệu

Trang 29

2.4.2 Các kiểu dữ liệu số

Cac kiểu dữ liệu số bao gồm:

NUMBER [(p [ s])]: Kiêu số với độ dài tối đa p chữ số bao gồm cả phần thập phân (tối đa 38 chữ số), trong đó phần thập phân có s chữ số (từ -84 đến 127)

FLOAT (p): Kiểu số có dấu chấm phây động, độ dài tối đa p chữ số nhị phân (VD

float(126) sẽ hỗ trợ tối đa 38 chữ số thập phân)

Ngoài ra, Oracle cũng hỗ trợ các kiểu dữ liệu theo tiêu chuẩn ANSI hay IBM Do

đó, ta cũng thường thấy các kiểu dữ liệu số khác được sử dụng như Smallint, Integer,

Real, Decimal Ta có thẻ tạo bảng (Table) với các kiểu dữ liệu trên, Oracle sẽ tự

động chuyển đồi về kiểu dữ liệu chuân của Oracle là Number hay Float

3.4.3 Kiểu dữ liệu ngày tháng năm

DATE: Dùng đẻ chứa dữ liệu ngày và thời gian Mặc dù kiểu ngày và thời gian có

thể được chứa trong kiều CHAR và NUMBER

Với giá trị kiểu DATE, những thông tin được lưu trữ gồm thể kỷ, năm, tháng, ngày, giờ, phút, giây Oracle không cho phép gán giá trị kiều ngày trực tiếp, để gán giá

trị kiểu ngày, bạn phải dùng TO_DATE để chuyển giá trị kiểu chuỗi ký tự hoặc kiểu

số sang kiểu ngày tháng

Nếu gần một giá trị kiểu ngảy mà không chỉ thời gian thi thời gian mặc định là 12 giờ đêm, nếu gán giá trị kiểu ngày mà không chỉ ra ngày thì ngày mặc định là ngày

đầu của tháng Hàm SYSDATE cho biết ngày và thời gian hệ thống

2.4.4 Kiểu dữ liệu luận lý

BOOLEAN: La kiéu dit ligu luận lý, có 3 gid tri True, False, Null

2.4.5 Kiểu dữ liệu đối trợng LOB

Trong Oracle có các kiểu dữ liệu như CLOB, BLOB, BFILE, hé trợ người dùng

có thể lưu trữ các file văn bản, hình ảnh, âm thanh, v.v vao trong Oracle Database LOB là kiểu dữ liệu dùng để lưu những dữ liệu lớn không có cấu trúc như file text, hình, phim ảnh, v.v Có 4 kiểu dit ligu LOB la:

~ BLOB: Dùng cho dữ liệu lớn ở dạng nhị phân (binary large object)

~ CLOB: Dùng cho dữ liệu lớn ở dạng text (character large object)

~ NCLOB: Tương tự như CLOB nhưng với ký tự >lbyte (multibyte character)

Trang 30

- BFILE: Ding cho cdc file dang nhi phan (binary file) trong hé théng duge

nhóm thành Internal LOB (CLOB, BLOB, NCLOB) tức được lưu vào trong databasc

và External files (BFILE) lưu bên ngoài database

2.4.6 Băng tóm tắt kiểu dữ liệu cơ bản

'VARCHAR2 | Dùng đề khai báo chuỗi ký tự với chiều dài thay đôi (2000 byte)

VARCHAR | Tương tự VARCHAR2 (Oracle khuyên nên dùng Varchar2)

Dùng đẻ chửa các mục tin dạng số đương, số âm, số với dấu chấm

genes: dong Number(p, s); Number(p), Number

INTEGER | Dùng để khai báo kiểu chuỗi ký tự với độ dài bién déi, (2Gb)

DATE Dùng để chứa dữ liệu ngày, thời gian

CHAR Dùng để khai báo chuỗi ký tự với chiều dài có định (255 byte)

FLOAT Dùng để khai báo kiểu dấu chấm động

Dùng đẻ khai báo kiêu chuỗi ký tự với độ dài biển đôi (2GB) Thường

2.5.1 Privilege - Quyén han

Một quyền là một sự cho phép thực hiện một câu lệnh SQL nào đỏ hoặc được phép

truy xuất đến một đối tượng nào đó truy cập đến các đối tượng người dùng khác Bao gồm quyền trên hệ thống và quyền trên đối tượng

~ System Privileges - Quyền trên hệ thống bao gồm:

ˆ Create session: Cho phép nỗi kết và truy cập đến CSDL

ˆ Create table, view, procedure, : Cho phép tạo bảng, khung nhìn, thủ tục trong CSDL

⁄ Sysdba: Thực hiện start/stop backup/restore create database.

Trang 31

~ Quyền trên đối tượng (Schema Objeet Privilege hode Object Privilege): Là quyền thực hiện một hành động cụ thẻ trên một đối tượng schema (Insert, delete, update,

select, ) Dùng để quản lý việc truy xuất đến các đối tượng schema cụ thể nào đó

User có tất cả mọi quyền đối tượng trên tất cả các đối tượng thuộc schema của mình

Vì vậy user có quyền cấp bắt kỳ quyền đối tượng trên bất kỳ đối tượng nào thuộc sở

hữu của mình cho bắt cứ user nào khác

~ Ủser có quyền GRANT ANY OBJECT PRIVILEGE

~ User được cấp quyền đối tượng đó với tùy chọn WITH GRANT OPTION

2.5.2 Role- Vai trò

Role là một tập hợp bao gồm các quyền và các role khác Role được gắn cho các

user hoặc các role khác Role giúp cho việc quản trị người dùng dễ dàng và tiết kiệm công sức hơn

Có một số role có sẵn do hệ thống định nghĩa như: DBA, RESOURCE,

CONNECT nhưng đa phần các role là do người quản trị CSDL tạo ra

2.6 Import va Export dif ligu Oracle

2.6.1 Chức nang import vi export

Chức năng export cho phép xuất nội dung luận lý của một CSDL vào một tập tin nhị phân định nghĩa bởi Oracle được gọi là tập tin dump Chức nang import sé ding

tập tin này đê tạo lại dữ liệu trên cùng mộy CSDL hoặc trên một CSDL khác, ngay cả khi các CSDL này được cài đặt dưới những cấu hình phần cứng và phần mềm khác

nhau Ví dụ, tập tin dump của một CSDL trên hệ điều hành Windows có thể dùng đẻ

tạo lại các đối tượng CSDL trên hệ điều hành Linux

Trong Windows, để thực hiện 2 chức năng này ta dùng lệnh hệ thống exp vả imp (thực thi trong windows command console)

2.6.2 Các phương thức của chức năng import và export

2.6.2.1 Cấp độCSDL

Đây là phương thức phức tạp nhất Với chức năng export, tất cả các đối tượng của CSDL được xuất ra tập tin dump trừ các đối tượng của một số người dùng như: SYS,

ORDSYS, CTXSYS, MDSYS, và ORDPLUGINS Đồng thời, tập tin dump bao gồm

các thông tin liên quan đến cấu trúc của CSDL như định nghĩa các tablespace và các

segments, rollback Với chức nang import, tắt cả các đối tượng sẽ được tạo lại trong

Trang 32

CSDL đích Tham số FULL cho phép xác định phương thức này trong các chức năng

import và export

Chú ý: Trong trường hợp import cả CSDL, cần phải tạo lại tất cả người dủng và

các quyền tương ứng trong CSDL nguồn

2.6.2.2 Cấp độ người dùng

Tắt cả các đối tượng của người dùng bao gồm các bảng dữ liệu, thủ tục, Trigger,

đều được xuất ra tập tin dump Trong các chức năng export, tham số OWNER cho

phép chỉ định các đối tượng của người dùng cần xuất Với chức năng import, tham số

EROMUSER chỉ định tạo lại các đối tượng của người dùng nào trong tập tin dump và tham số

TOUSER chỉ định người dùng đích

2.6.2.3 Cấp độ bảng dữ liệu

Tất cả các đối tượng liên quan đến bảng dữ liệu (index, rằng buộc, các quyển )

sẽ được xuất ra tập tin dump

2.6.2.4 Cấp độ không gian dữ liệu

Các metadata, tablespace và các đối tượng CSDL được xuất ra tap tin dump,

2.6.2.5 Yêu cầu về quyền

export username/password@net_service name £ile=<đường dãn/tên

file>.dump log file=<duéng dẫn/tên file>.log owner= username

Vi dy 2.1: export userid=system/admin@db1 file=c:\db1.dmp tables=(cuahang) 2.6.3.2 Cú pháp import dữ liệu

imp username/password@net_service name £ile=<đường dẫn/tên

file>.dump fromuser= username touser=username

Trang 33

Vi dy 2.2: imp system/admin@db1 file=c:\db1 dump tables=(cuahang)

ignore=y 2.7 Câu hỏi ôn tập

1 Mô tả kiến trúc của một Database Server?

2 Sơ lược mô hình kiến trúc của bộ nhớ lưu trữ thông tin điều khiển Instance

(SGA)?

3 Liệt kê các thành phần cơ bản của một database trong oracle?

Trinh bay cau tric vit ly cita Oracle Database?

Trinh bay cầu trúc luận ly cla Oracle Database?

4

5

6 Nhiệm vụ của TableSpace?

7 Hãy minh họa kiểu dữ liệu ký tự trong thực tế?

8

Ví dụ về các kiểu dữ liệu số thường gặp?

9 Chức năng của Privileges và Role trong Oracle?

10 Sự cần thiết của import và export dữ liệu trong Oracle là gì? Thực hiện import

dữ liệu mẫu vào user Myconnect01?

Trang 34

CHƯƠNG 3 TRUY VẤN CƠ SỞ DỮ LIEU SQL

ÄMục tiêu của chương

Sau khi học xong chương này, người học sẽ:

- Vận dụng các truy van: select, insert, update, delete, select from

where vào các bài tập quản lý cơ sở đữ liệu;

3.1 Câu lệnh tạo, sửa, xóa, thêm dữ liệu bảng,

3.1.1 Tạo bảng (creafe table)

Trong Oracle, dé tạo một bảng mới thì bạn có thể sử dụng lệnh CREATE TABLE

và phải chạy nó trong một database cụ thê Có hai thành phần quan trọng khi tạo bảng,

đó là tên của bảng và các trường (cột - thuộc tỉnh) sẽ có trong bảng Mỗi trường sẽ có tên, loại dữ liệu, giới hạn dữ liệu và các thuộc tính bỗ sung như: khóa ngoại, khóa chính, giá trị mặc định,

Cú pháp:

CREATE [GLOBAL TEMPORARY] TABLE Table name

( Column_name Datatype [CONSTRAINT constraint def

DEFAULT default_exp]

[, column_name type [CONSTRAINT constraint_def

DEFAULT default _exp] ]

~_ Global Temporary: Nếu có từ khóa này bảng được tạo sẽ là bảng tạm

~_ Table name: Tên bảng do người dùng đặt

- Column_name: Tén cét trong bang

- Datatype: Kiêu dữ liệu của cột

- Constraint: Từ khóa cho phép tạo ràng buộc trên cột

- Contraint_def: Rang buộc của cột

- Default: Từ khóa cho phép xác định giá trị mặc định cho cột

~ Default exp: Dữ liệu của cột nhận giá trị default_exp nếu người dùng không

han di Hếu vàn 2Ất

Trang 35

= Table_constraint: Rang buộc của toàn bảng dữ liệu

Cho một lược đồ CSDL “Quản lý đề tài sinh viên” như bên dưới dé dùng làm ví

ĐETAI ( MADT, TENDT, CHUNHIEM, KINHPHI)

có mã để tài duy nhất để biết tên đề tài, chủ nhiệm là người hướng dẫn đề

tài và kinh phí thực hiện đề tài đó

SV_DT (MASV MADT, NOIAD, KETQUA)

Sinh viên thực hiện đề tài cùng với nơi áp dụng và kết quả thực hiện để tài

Vi du 3.1: Tao bang sinh viên, bảng đề tài và bảng sinh viên đề tài

CREATE TABLE SINHVIEN (

MASV CHAR(10) PRIMARY KEY,

HOTENSV VARCHAR2 (40) ,

NAMSINH INT,

QUEQUAN VARCHAR2 (40) ,

HOCLUC FLOAT );

CREATE TABLE DETAI(

MADT CHAR(10) PRIMARY KEY,

TENDT VARCHAR2 (40) ,

CHUNHIEM VARCHAR2 (40) ,

KINHPHI NUMBER ) ;

CREATE TABLE SVDT (

MASV CHAR(10) NOT NULL,

MADT CHAR(10) NOT NULL,

NOIAD CHAR (40),

KETQUA FLOAT,

PRIMARY KEY (MASV, MADT) ,

Trang 36

CONSTRAINT SVDT_SV FOREIGN KEY (MASV)

REFERENCES SINHVIEN (MASV) ,

CONSTRAINT SVDT_DT FOREIGN KEY (MADT)

Kiểu ràng buộc Điễn giải

NULL/NOT NULL Cho phép/không cho phép cột chứa giá trị rồng

CHECK (Criteria) Giá trị nhập vào cột phải thỏa Criteria

UNIQUE Giá trị nhập vào cột phải là duy nhất

PRIMARY KEY Ràng buộc khóa chính cho cột

REFERENCES <Table_name> | Ràng buộc khóa ngoại cho cột sẽ tham chiếu tới (Column_ name) Colimm_ name đã tồn tại trong bang Table_name

ALTER TABLE <Tén_bang> ADD

<Tên cột> <Kiêu đữ liệu> [<RBTV>]

Trong đó:

- Tén_bang: Tên bảng muốn thêm cột

~_ Tên cột: Tên cột muốn thêm mới vào bảng

~_ Kiểu_ dữ liệu: Kiểu dữ liệu của cột mới được thêm vào

~_ RBTV: Ràng buộc về đữ liệu của cột được thêm

Vi du 3.2: Thêm thuộc tính Học bông cho bảng Sinhvien

ALTER TABLE SINHVIEN ADD

HOCBONG FLOAT

Trang 37

3.1.2.2 Thay đối kiểu dữ liệu của cột

Trong Oracle, nếu muốn thay đồi kiểu dữ liệu của một cột đã có, ta dùng cú pháp

như sau:

ALTER TABLE <Tén_bang> MODIFY

<Tên cột> <Kiêu đữ liệu :

Trong đó:

-_ Tên bảng: Tên bảng muốn thay đôi kiểu dữ liệu cột

-_ Tên cột: Tên cột muốn thay đôi kiểu dữ liệu trong bảng

ôu dữ liệu học bồng thành kiểu Long trong bảng Sinhvien

ALTER TABLE SINHVIEN

MODIFY HOCBONG LONG

3.1.2.3 Lệnh xóa cột trong bang

Để xóa một cột ra khỏi một bảng thì sử dụng cú pháp DROP COLUMN

ALTER TABLE <Tên bảng>

DROP COLUMN <Tên cột>

Trong đó:

~_ Tên bảng: Tên bảng muốn xóa bỏ

-_ Tên cột: Tên cột muốn xóa khỏi bảng

Vi du 3.4: Xóa cột học bồng trong bảng sinh viên (thay đổi cầu trúc bảng)

ALTER TABLE SINHVIEN

DROP COLUMN HOCBONG

3.1.3 Lệnh xóa bảng

Trong oracle, để xóa bảng ta sử dụng cú pháp:

DROP TABLE <Tên Ì ng>

Trang 38

3.1.4 Xem méi quan hé Relationship

Sau khi tạo bảng và rằng buộc giữa các bảng: thực hiện xem mô hình quan hệ (Relational Model), thực hiện:

~ Bước 1: View / Data Modeler / Browser

~ Bước 2: Trên cửa số Browser/ chọn Relational Models

~ Bước 3; Chọn user Database/ kéo thả các Table

~ Bước 4: Xuất tập tin ảnh: File/ Data Modeler /Print Diagram / To image File (To PDF file, )

EB Oracte SQL Developer : Relational_1 (Untitled_1)

@ ‘Dy DBA - @ Zoom In

a Data Miner »!@ Zoom out

® Dbms Output fase

#'| - Debugger p | & Fit Screen

# Extension Diagnostics © Default Size

Es @ Find

@B Find DB Object ————

€& Global Search

Hinh 3.1 Thue hign bwée 1: View/ Data Modeler/ Browser

Trang 39

Hình 3.2 Thực hiện bước 2, 3: Tao Relationship

3.2 Phát biểu SELECT, INSERT, UPDATE, DELETE

Để tìm thêm, xóa và chỉnh sửa dữ liệu trong bảng, chúng ta sẽ sử dụng các câu

lệnh DML (Data Manipulation Language - Ngôn ngữ thao tác dữ liệu) trong Oraclc

Về cơ bản, DML sẽ có các câu lệnh SELECT - Tìm thông tin đữ liệu, INSERT - thêm

dữ liệu, UPDATE - chỉnh sửa dữ liệu và DELETE - xóa dữ liệu

3.2.1 Truy vấn SELECT

Các câu lệnh truy vấn được biểu diễn theo các quy tắc sau:

- Các lệnh trong câu lệnh SQL thuộc loại không phân biệt chữ hoa hay thường

~ Nội dung của một câu lệnh SQL có thẻ được trải dài trên nhiều dòng

~ Các từ khoá không được phép viết tắt hay có khoảng trắng

~ _ Các mệnh để thông thường được phép đặt trên nhiều dòng khác nhau

~_ Lệnh kết thúc bởi dấu chấm phẩy (;)

s#*Seleet không có điều kiện

SELECT * | <Coll,Col2, , Coln>

FROM <Tên bảng>

Trong đỏ:

- SELECT *: Hiển thị nội dung tắt cả các cột trong bảng

~ Coll, Col2, .Coln: Tên cột dữ liệu cần trả vẻ

Tân hành: China tân hana Ait Hide ten ude,

Trang 40

Vi du 3.6: Tim mã số, họ tên sinh viên

SELECT MASV, HOTENSV

FROM SINHVIEN

+ Select véi Distinct | All

~_ Distinet: Loại bỏ phần từ trùng nhau

~ ALL: Lấy tất cả các bộ kế cả phân tử trùng

SELECT DISTINCT <danh sách cột>

FROM <Tên bảng>

* Các mệnh đề điều kiện:

~ AND, OR: Kết hợp nhiều điều kiện

~_ [NOT] LIKE: So sảnh chuỗi

- BETWEEN .AND : So sánh trong khoảng

~_ I§[NOT] NULL: Tìm các bộ là (không) rỗng

~_ [NOT] IN: Tìm trong/ ngoài danh sách

Các ký tự so sánh đại diện đối với chuỗi: '%* (nhiều ký tự) `_" (một kỷ tự)

Các toán tử được dùng là (+) (-), (*), (/) Độ ưu tiên của các toán tứ giống số học

% Select cé diéu kién:

SELECT *: Hién thị nội dung tắt cả các cột trong bảng

Danh sách cột: Tên các cột dữ liệu cần trả về

Tên_ bảng: Chứa tên bảng dữ liệu truy vấn

+ kiện: Điều kiện trích lọc dữ liệu trong truy vấn

Lưu ý: Các điều kiện xuất hiện trong Having khi sử dụng Group by hoặc các hàm thong ké (Sum, Max, Min, Count, Avg)

Ngày đăng: 08/12/2022, 05:47

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm