SlideShare a Scribd company logo
Chương 8Chương 8
CSDL HƯỚNG ĐỐI TƯỢNGCSDL HƯỚNG ĐỐI TƯỢNG
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 2
Nội dung chi tiết
 Mô hình cơ sở dữ liệu hướng đối tượng
- Từ CSDL quan hệ đến CSDL hướng đối tượng
- Hệ quản trị cơ sở dữ liệu hướng đối tượng
 Ngôn ngữ mô tả và truy vấn CSDL Hướng đối
tượng theo chuẩn ODMG
- Mô hình đối tượng
- Ngôn ngữ khai báo lược đồ: ODL(Object Define
Language)
- Ngôn ngữ truy vấn đối tượng: OQL (Object Query
Language)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 3
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 4
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 5
Đánh giá CSDL quan hệ
 Ưu điểm
- Nền tảng toán học vững chắc, đã được nghiên cứu sâu,
kết quả khả quan
- Có nhiều hqt csdl làm môi trường để phát triển
- Mô hình dữ liệu đơn giản, rõ ràng chính xác
- Phù hợp cho nhiều dạng ứng dụng CSDL, đặc biệt là
ứng dụng quản lý
- Ngôn ngữ truy vấn phi thủ tục => tối ưu câu truy vấn
- Đảm bảo tính toàn vẹn dữ liệu
- …..
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 6
Đánh giá CSDL quan hệ
 Khuyết điểm
- Mô hình nghèo nàn dưới góc độ ngữ nghĩa(diễn đạt
dưới khái niệm quan hệ giữa hai đối tượng)
- Ngôn ngữ truy vấn không đầy đủ, một số nhà sản xuất
Hqt csdl phải xây dựng thêm trình biên dịch riêng của
Hqtcsdl, xây dựng giao diện liên kết để tận dụng tính
năng của các trình biên dịch(C,Java,…)
- Hệ thống khép kín( trong một số lĩnh vực ứng dụng có
những thứ không thể biểu diễn bằng thuộc tính và quan
hệ.)
- Dữ liệu và chương trình tách bạch khó nhìn thấy sự tiến
hóa của đối tượng
- …
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 7
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 8
Các loại ứng dụng csdl mới
 Hệ thống hỗ trợ ra quyết định
 Hệ thống thông tin địa lý GIS
 Hệ cơ sở dữ liệu thống kê
 Hệ thống quản lý dòng công việc
 …..
 Nhận xét: Các loại ứng dụng csdl trên hiện nay vẫn
được xây dựng với hqt csdl quan hệ nhưng rất phức
tạp và thường phải bỏ tính đặc thù của ứng dụng.
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 9
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 10
Một số hướng giải quyết
 Mở rộng mô hình quan hệ (bắt đầu từ thập niên 70)
- 1976: Mô hình thực thể kết hợp
- 1978: SDM(Semantic Data Model)
- 1979-1981: RM/T(Relational Model/Tasmanis)…
 Đưa ra mô hình mới
 Cách tiếp cận suy dẫn
 Cách tiếp cận đối tượng: nguồn gốc chính là là sự
kết hợp giữa thành tựu CSDL với ngôn ngữ lập trình
hướng đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 11
Một số hướng giải quyết
 Hai chiều hướng nghiên cứu
 CSDL ← NNLT HĐT:
- Từ NNLT HĐT có thể hiệu chỉnh mô hình CSDL
- Cho ra đời CSDL thuần đối tượng: xây dựng các ứng dụng
mang tính hệ thống, ví dụ: ứng dụng viễn thông, giám sát hệ
thống mạng diện rộng…
CSDL
←
→
NNLT hướng đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 12
Một số hướng giải quyết
 CSDL → NNLT HĐT:
- Từ mô hình CSDL để tìm ngôn ngữ giống với lập trình
hướng đối tượng.
- Hướng nghiên cứu này chiếm ưu thế và đạt nhiều khả
quan
- Thành tựu:
 Mô hình CSDL đối tượng + Ngôn ngữ truy vấn đối tượng
 Quan hệ → Mô hình CSDL đối tượng quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 13
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 14
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 15
Khái niệm về đối tượng trong CSDL
Đối tượng
Dữ liệu
Data Structure
Thao tác
(phép toán)
Method
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 16
Khái niệm về đối tượng trong CSDL
NHÂN VIÊN
MASV
TÊN NV
NTNS
…
Tạo NV mới
Sửa thông tin 1 NV
Xóa 1 NV
Tính tuổi
Lấy lương NV
….
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 17
Khái niệm đối tượng trong CSDL
Phoøng NV
1 : 1
1 : n
NV_VP NV_SX
Quanheä
THÖØAKEÁ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 18
Khái niệm đối tượng trong CSDL
 Quan hệ kết hợp
1:1
m:n
1:n
Extends, Isa
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 19
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 20
Các đặc trưng của Hqtcsdl HĐT
 Luật vàng: Đây là các luật bắt buộc, bao gồm
- 5 Luật mà mọi hệ quản trị csdl đều có
- 7 luật đặc trưng của hệ quản trị csdl hướng đối tượng
 Luật tùy chọn
 Luật mở
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 21
Các đặc trưng của Hqtcsdl HĐT
 Luật vàng
 5 Luật mà mọi hệ cơ sở dữ liệu đều có:
• Luật 1: Tồn tại với sự cố
• Luật 2: Quản lý đĩa
• Luật 3: Ổn định và trung thực
• Luật 4: Chia xẻ
• Luật 5: Khả năng truy vấn trực tiếp
 7 Luật đặc trưng của hqt csdl hướng đối tượng:
 Luật 6: Đối tượng phức bao bọc những xử lý
 Luật 7: Chỉ danh đối tượng(tự động phát sinh)
 Luật 8: Bao bọc
 Luật 9: Lớp
 Luật 10: Thừa kế
 Luật 11: Kết buộc động
 Luật 12: Tính đầy đủ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 22
Các đặc trưng của Hqtcsdl HĐT
 Luật tùy chọn
 Thừa kế bội: giải quyết vấn đề mâu thuẩn
 Quản lý các phiên bản của đối tượng
 Quản lý các XAC lớn, dài
 Tính đa xạ: liên kết động là một phần của tính đa xạ
 Quản lý các ràng buộc toàn vẹn
 Luật mở:
 Lớp đối tượng, kiểu dữ liệu trừu tượng: làm sao để cho
csdl hướng đối tượng có cơ sở vững chắc giống như
csdl quan hệ
 Ngữ nghĩa của thao tác xóa(muốn xóa ở mức vật lý)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 23
Mô hình csdl hướng đối tượng
 Từ csdl quan hệ đến csdl đối tượng
- Đánh giá csdl quan hệ
- Các loại ứng dụng csdl mới
- Một số hướng giải quyết
 Hệ quản trị CSDL hướng đối tượng
- Khái niệm về đối tượng trong CSDL
- Các đặc trưng của một hệ quản trị CSDL đối tượng
- Các sản phẩm của hệ quản trị CSDL đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 24
Các sản phẩm của hqtcsdl đối tượng
 Các sản phẩm của phòng thí nghiệm rất nhiều, trên
20 sản phẩm
 Sản phẩm Hqt csdl đối tượng- quan hệ:
- Sản phẩm của hướng nghiên cứu CSDL → NNLT
hướng đối tượng
- O2, Gemstone, Ontos, Orion II, Ob Server,
 Hệ thuần đối tượng:
- Sản phẩm của hướng nghiên cứu CSDL ← NNLT
hướng đối tượng
- Jasmin : của Fujutsu, sau này được Computer
Associate (CA) mua lại
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 25
Nội dung chi tiết
 Mô hình cơ sở dữ liệu hướng đối tượng
- Từ CSDL quan hệ đến CSDL hướng đối tượng
- Hệ quản trị cơ sở dữ liệu hướng đối tượng
 Ngôn ngữ mô tả và truy vấn CSDL Hướng đối
tượng theo chuẩn ODMG
- Giới thiệu
- Mô hình đối tượng
- Ngôn ngữ khai báo lược đồ: ODL(Object Define
Language)
- Ngôn ngữ truy vấn đối tượng: OQL (Object Query
Language)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 26
Nội dung chi tiết
 Mô hình cơ sở dữ liệu hướng đối tượng
- Từ CSDL quan hệ đến CSDL hướng đối tượng
- Hệ quản trị cơ sở dữ liệu hướng đối tượng
 Ngôn ngữ mô tả và truy vấn CSDL Hướng đối
tượng theo chuẩn ODMG
- Giới thiệu
- Mô hình đối tượng
- Ngôn ngữ khai báo lược đồ: ODL(Object Define
Language)
- Ngôn ngữ truy vấn đối tượng: OQL (Object Query
Language)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 27
Giới thiệu
 ODMG(Object Database Management Group)
- Nhóm phát triển DBMS OO
- Thành lập năm 1991 để định nghĩa các chuẩn CSDL đối
tượng.
- Xuất bản “The ODMG-93 standard” một chuẩn về csdl
đối tượng.
- Được công nhận thành chuẩn bởi ANSI,OMG,…
- Cải tiến và nâng cấp phiên bản ODMG năm
1995,1997(2.0 hỗ trợ Java) và 1999(3.0)
- Các ngôn ngữ CSDL OO: ODL, OQL
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 28
Nội dung chi tiết
 Mô hình cơ sở dữ liệu hướng đối tượng
- Từ CSDL quan hệ đến CSDL hướng đối tượng
- Hệ quản trị cơ sở dữ liệu hướng đối tượng
 Ngôn ngữ mô tả và truy vấn CSDL Hướng đối
tượng theo chuẩn ODMG
- Giới thiệu
- Mô hình đối tượng
- Ngôn ngữ khai báo lược đồ: ODL(Object Define
Language)
- Ngôn ngữ truy vấn đối tượng: OQL (Object Query
Language)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 29
Mô hình đối tượng
 Có các kiểu:
- Lớp(Class): khai báo đầy đủ cả 2 phần
 Đặc trưng
 Thao tác
- Giao diện(Interface): chỉ có thao tác
- Phần xử lý ngoại lệ(nếu có): đi kèm trong phần thao tác
 Nhận xét:
 Thừa kế hành vi: Không cho thừa kế đặc trưng
 Giao diện: chỉ có phần xử lý, không có phần thông tin lưu
trong CSDL
 Thông tin chỉ thật sự lưu trữ trong Lớp(Class)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 30
Mô hình đối tượng(tt)
 Kiểu con: có hai loại thừa kế
- Thừa kế ISA: kiểu con thừa kế từ Interface → chỉ thừa
kế hành vi
- Thừa kế EXTENDS: kiểu con thừa kế từ Class→ cho
thừa kế cả hành vi và đặc trưng.
 Thừa kế bội:
- Chỉ cho thừa kế hành vi(giao diện) ISA
- Không chấp nhận mẫu thuẩn thao tác trùng tên(nếu thao
tác trùng tên thì không chấp nhận thừa kế hành vi)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 31
Mô hình đối tượng(tt)
 Qui ước ký hiệu:
 Ví dụ
GD LỚP
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 32
Mô hình đối tượng(tt)
 Ví dụ: Lược đồ csdl cho một trường đại học
IS
A
IS
A
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 33
Mô hình đối tượng(tt)
 Nhận xét:
- Quan hệ thừa kế extends đối với lớp
- Quan hệ thừa kế isa đối với giao diện
- Chỉ cho thừa kế bội với isa
- Cần đặt tên cả hai chiều của quan hệ:
- Dựa vào số mũi tên ở hai đầu quan hệ để xác định loại
quan hệ(1:1, 1:n, n:m)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 34
Mô hình đối tượng(tt)
 Nhận xét(tt)
- Giao diện không có đối tượng cụ thể nào(giao diện
không có đặc trưng)
- Quan hệ thừa kế:
 Đối với lớp: có thể thừa kế ISA từ nhiều lớp hay giao diện và
có thể thừa kế extends từ một lớp duy nhất.
 Đối với giao diện: có thể thừa kế ISA từ nhiều lớp hay giao
diện, không thừa kế extends từ bất kỳ lớp nào.
- Trong trường hợp có nhiều thông tin của một đối tượng
có liên quan đến nhau, ta có thể tách cách thông tin này
ra tạo thành một class gắn với đối tượng ban đầu. Ví dụ:
Đối tượng lương chỉ có thuộc
tính không có quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 35
Mô hình đối tượng(tt)
 Nhận xét(tt):
- Xét quan hệ giữa GD_SV và LỚP_HỌC
 Thực chất giao diện GD_SV không lưu được đặc trưng.
 Quan hệ này thật sự được khai báo và lưu trữ trong lớp SV
và TG.
 Giao diện GD_SV chỉ khai báo nhưng không lưu trữ.
- Kiểu của một đối tượng
 Lớp: có đủ đặc trưng, quan hệ ngữ nghĩa, thao tác, xử lý
ngoại lệ
 GD: chỉ có thao tác, xử lý ngoại lệ
- Đặc trưng = thuộc tính + mối quan hệ ngữ nghĩa(2chiều)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 36
Nội dung chi tiết
 Mô hình cơ sở dữ liệu hướng đối tượng
- Từ CSDL quan hệ đến CSDL hướng đối tượng
- Hệ quản trị cơ sở dữ liệu hướng đối tượng
 Ngôn ngữ mô tả và truy vấn CSDL Hướng đối
tượng theo chuẩn ODMG
- Giới thiệu
- Mô hình đối tượng
- Ngôn ngữ khai báo lược đồ: ODL(Object Define
Language)
- Ngôn ngữ truy vấn đối tượng: OQL (Object Query
Language)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 37
Ngôn ngữ khai báo lược đồ- ODL
 Từ khóa khai báo lớp/giao diện:
- Lớp: Class
- Giao diện: Interface
 Giao diện:
 Lưu ý: Có thể khai báo đặc trưng trong giao diện nhưng đặc
trưng không được lưu trữ trong giao diện mà chỉ được lưu trữ
thật sự trong lớp
Interface <tên giao diện>[:<tên lớp cha|tên giao diện>]
{
[<đặc trưng>]
<thao tác>
};
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 38
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Lớp:
Class <tên lớp>[EXTENDS <tên lớp cha 1>]
[:<tên lớp cha 2|tên giao diện cha 2>]
(
extent <tên tập đối tượng thuộc lớp>
[Key(s) <khóa 1>[<khóa2>,…]]
)
{
<đặc trưng>
<thao tác>
[<xử lý ngoại lệ>]
};
Có thể xem tên tập đối
tượng thuộc lớp giống
như bảng dữ liệu
CSDL hướng đối tượng không
dùng khóa này để quản lý đối
tượng nhưng NSD sẽ sử dụng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 39
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Lưu ý: Đối với lớp, phải khai báo quan hệ thừa kế
EXTENDS trước, khai báo quan hệ kế thừa ISA
sau.
 Đặc trưng:
- Đặc trưng bao gồm các thuộc tính và các mối quan hệ.
- Thứ tự khai báo thuộc tính và mối quan hệ không quan
trọng.
- Tuy nhiên nên khai báo theo thứ tự: thuộc tính trước,
quan hệ sau
- Khai báo thuộc tính:
[readonly] attribute <tên miền giá trị> <tên thuộc tính>
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 40
Ngôn ngữ khai báo lược đồ- ODL(tt)
- Khai báo mối quan hệ
 Phải có đủ cặp relationship và inverse để xác định cả hai
chiều của một quan hệ(quan hệ chiều xuôi và chiều ngược)
 Dùng từ khóa Realationship để khai báo quan hệ chiều xuôi.
∗ Quan hệ 1:1 theo chiều xuôi: không dùng từ khóa set,bag, list hay
array.
∗ Quan hệ 1:n theo chiều xuôi phải khai báo rõ là set, bag, list hay array
 Từ khóa inverse chỉ dùng để cho biết quan ngược.
Relationship [set|bag|list|array] <tên lớp có qhệ đến><tên qhệ chiều xuôi>
Inverse <tên lớp có qhệ đến>::<tên qhệ chiều
ngược>
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 41
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Phân biệt set, bag, list và array
- Set: các đối tượng thuộc lớp không được trùng, không
có thứ tự.
- Bag: các đối tượng thuộc lớp được phép trùng, không
có thứ tự.
- List: các đối tượng thuộc lớp được sắp xếp theo thứ tự,
truy xuất tuần tự.
- Array: các đối tượng thuộc lớp được sắp xếp theo thứ
tự, truy xuất ngẫu nhiên.
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 42
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Ví dụ: Định nghĩa cho class LUONG
 Vì lớp LUONG chỉ gồm thông tin thuộc tính, không
có thông tin về quan hệ ngữ nghĩa. Đây là phần lớn
thông tin trong đối tượng NV được tách ra thành lớp
riêng nên không đặc tên cho tập đối tượng.
Class LUONG
{
attribute float luong_co_ban;
attribute float luong_ngoai_gio;
attribute thuong;
};
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 43
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Ví dụ định nghĩa cho lớp NV
Class NV
(extent DM_NV)
{
attribute string ten_nv;
attribute short ma_nv;
attribute LUONG luong_nv;
….
};
Tên tập đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 44
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Ví dụ: định nghĩa cho lớp TG
Class TG EXTENDS NV : GD_SV
{
relationship <LỚP_HỌC> Phụ_giảng
inverse <LỚP_HỌC> :: có_tg_là;
attribute string ho_ten;
attribute short ma_so;
attribute struct dia_ch;
relationship set <LỚP_HỌC> đăng_ký_dự
inverse <LỚP_HỌC> :: có_sv_đk;
….
};
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 45
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Nhận xét:
- Nếu không khai báo tên tập đối tượng thuộc lớp TG(khai
báo với từ khóa extent) thì các đối tượng này sẽ được
lưu trữ chung với đối tượng NV.
- Nếu khai báo tên tập đối tượng thuộc lớp TG thì các đối
tượng này sẽ được lưu trữ riêng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 46
Ngôn ngữ khai báo lược đồ- ODL(tt)
 Ví dụ: định nghĩa cho lớp MÔN
Class MÔN
(extent DM_MÔN)
{
attribute string Tên_M;
attribute string Mã_M;
relationship list <LỚP_HỌC> có_lớp
inverse <LỚP_HỌC> :: thuộc;
relationship set <MÔN> có_môn_tq;
inverse <MÔN> :: là_môn_tq_của;
relationship set <MÔN> là_môn_tq_của;
inverse <MÔN> :: có_môn_tq;
Boolean mở(in unsigned short học_kỳ)
raise (đã có mở)
Boolean hủy(in unsigned short học_kỳ)
raise (không mở)
};
Xử lý ngoại lệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 47
Nội dung chi tiết
 Mô hình cơ sở dữ liệu hướng đối tượng
- Từ CSDL quan hệ đến CSDL hướng đối tượng
- Hệ quản trị cơ sở dữ liệu hướng đối tượng
 Ngôn ngữ mô tả và truy vấn CSDL Hướng đối
tượng theo chuẩn ODMG
- Giới thiệu
- Mô hình đối tượng
- Ngôn ngữ khai báo lược đồ: ODL(Object Define
Language)
- Ngôn ngữ truy vấn đối tượng: OQL (Object Query
Language)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 48
Ngôn ngữ truy vấn đối tượng- OQL
 Nguyên tắc:
- Mô hình đối tượng của ODMG
- Mở rộng SQL2(SQL92): khái niệm về đối tượng phức,
OID(Object ID), biểu thức đường dẫn, tính đa xạ, kích
hoạt thao tác, kết buộc động.
- Thủ tục cơ sở: set, bag, list, array
- Ngôn ngữ hàm: ngôn ngữ thủ tục.
 Một số đặc điểm cần chú ý:
- Đầu vào một câu truy vấn:
 Tên một đối tượng
 Tên một lớp đối tượng
 Tên thuộc tính
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 49
Ngôn ngữ truy vấn đối tượng-OQL(tt)
 Tên đường dẫn/chuỗi đường dẫn
- Kết quả một câu truy vấn:
 Một đối tượng
 Một tập các đối tượng: set, bag, list, array
 Một tập literal
 Một literal cụ thể
- Biểu thức đường dẫn
 Giả sử qui ước: c: đối tượng; C: lớp; A: thuộc tính của lớp C,
r: tên mối quan hệ; p: tên thao tác.
 Cách truy xuất:
∗ c.A: một đường dẫn
∗ c.r: một đối tượng hay một tập đối tượng thuộc lớp có quan hệ với c
∗ c.p(…): thực hiện thao tác p, kết quả trả về là kết quả của thao tác
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 50
Ngôn ngữ truy vấn đối tượng-OQL(tt)
 Ví dụ:
N _ S Ö Ï
T e ân
Ñ òa c h æ
c h a _ m e ï v ô ï_ c h o àn g
attribute struct địa_chỉ
( unsigned short số_nhà,
string đường,
string quận,
string th_phố
) Đchỉ;
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 51
Ngôn ngữ truy vấn đối tượng-OQL(tt)
 Nhận xét:
- N.vợ_chồng.Đchỉ.th_phố là một biểu thức đường dẫn
hợp lệ.
- Muốn đi tiếp theo được thì kết quả của biểu thức đường
dẫn phía trước là duy nhất(không được phép là tập hợp)
- Nếu không phải là duy nhất mà là một tập hợp thì phải
dừng lại để sử dụng câu truy vấn.
 Xử lý giá trị rỗng(null)
- Các luật xử lý giá trị trống:
 (a) Thông qua . vế trái là KXĐ(không xác định) → kết
quả là không xác định.
 (b) Biểu thức so sánh =, !=, >, <, >=, <=: một trong hai vế là
không xác định → kết quả là sai.
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 52
Ngôn ngữ truy vấn đối tượng-OQL(tt)
 (c) Là_KXĐ(KXĐ) = Đ
Là_XĐ(KXĐ) = S
 (d) Với những thao tác khác: có một vế không xác định → kết quả
báo lỗi.
 Ví dụ:
- Giả sử ta có các đối tượng sau:
 N1 sống tại Tp.HCM
 N2 sống tại Hà Nội
 N3 sống tại ?
- Xét câu truy vấn 1:
Select n.Đchỉ.th_phố
From DMN_SỰ n
 Nếu N3 có Đchỉ nhưng th_phố rỗng: báo lỗi(luật d)
 Nếu N3 có Đchỉ trống: báo lỗi
Phải là tên tập đối tượng
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 53
Ngôn ngữ truy vấn đối tượng-OQL(tt)
- Xét câu truy vấn 2:
Select n.Đchỉ.th_phố
From DMN_SU n
Where Là_XĐ(n.Đchỉ.th_phố)
 Việc thực hiện câu truy vấn 2 không bị báo lỗi
- Xét câu truy vấn 3: lấy ra những nhân sự không sống ở
Tp. HCM
Select n
From DMN_SU n
Where not(n.Đchỉ.th_phố = ‘TP HCM’)
 Kết quả câu truy vấn bao gồm tất cả các nhân viên có thành
phố khác với ‘TP HCM’ và những nhân viên không có thông
tin về TP
 Kết quả câu truy vấn là N2 và N3
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 54
Ngôn ngữ truy vấn đối tượng-OQL(tt)
- Xét câu truy vấn 4:
Select n
From DMN_SU n
Where (n.Đchỉ.th_phố != ‘Tp.HCM’)
 Kết quả câu truy vấn chỉ bao gồm tất cả các nhân viên có
thành phố khác với ‘Tp.HCM’, những nhân viên có thành phố
là KXĐ đều bị bỏ qua.
 Do N3 có th_phố không xác định nên biểu thức điều kiện
Where là sai
 Kết quả câu truy vấn chỉ có N2
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 55
Ngôn ngữ truy vấn đối tượng-OQL(tt)
- Cách kích hoạt một thao tác(phương pháp)
 Chèn n.p bất kỳ chổ nào được
 Ví dụ:
Select max(select c.tuổi From n2.con c)
From DMN_SU n2
Where n2.Tên = ‘Nguyễn Văn A’
 Nếu tên hàm và tên thuộc tính trùng nhau, để giải quyết đụng
độ tên hàm ta thêm cặp dấu (), (ví dụ: tuổi()).
 Nếu hàm có tham số ta chỉ việc đặc tham số vào trong cặp
dấu () của hàm.
Hàm tính tuổi của
N_SỰ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 56
Ngôn ngữ truy vấn đối tượng-OQL(tt)
 Các dạng câu truy vấn
- Đặt tên cho câu truy vấn:
Define NVA() as
Select n
From DMN_SU n
Where n.Tên = ‘Nguyễn Văn A’
 Tên được đặt cho câu truy vấn không được là tên của đối
tượng, tên của phương thức, tên hàm, hay tên lớp trong lược
đồ.
 Sau từ khóa From bắt buộc là Extent(tên của lớp đối tượng),
không được phép là tên Class.
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 57
Ngôn ngữ truy vấn đối tượng-OQL(tt)
- Các phép toán với câu truy vấn:
 Có thể sử dụng các phép toán(nếu phù hợp)
∗ Phép toán số học: TV+TV, TV-TV, TV*TV,TV/TV
∗ Phép toán logic: not TV, TV and TV, TV or TV.
∗ Phép toán so sánh: = , !=, >, <, >=, <=, like
- Set/Bag/List/Array:
 Set ([TV, {TV, TV, …}])
 Bag ([TV, {TV, TV, …}])
 List ([TV, {TV, TV, …}])
 Array ([TV, {TV, TV, …}])
- TV:tên_thuộc_tính/tên_mối_quan_hệ/tên_thao_tác
 First(TV)
 Last(TV)
 Hàm(TV)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 58
Ngôn ngữ truy vấn đối tượng-OQL(tt)
- Biểu thức tập hợp:
For all <tên biến> in <tên_tập>:<điều kiện>
Exist(TV): kết quả là đúng/sai
Unique(TV): kết quả là đúng/sai
TV in TV: kết quả là đúng/sai. Lưu ý vế trái là một đối
tượng, hay một kết quả hay một literal. Không cho phép
vế trái là một tập hợp.
- Các hàm xử lý kết hợp:
count(TV)
sum(TV)
min(TV)
max(TV)
avg(TV)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 59
Ngôn ngữ truy vấn đối tượng-OQL(tt)
- Cấu trúc câu truy vấn đầy đủ:
Select [distinct] <ds_thuộc_tính>
From TV [as tên_biến]
[Where TV]
[Group by <ds_thuộc_tính>]
[Order by TV [asc|desc] ]
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 60
Bài tập mẫu
 Cho sơ đồ lớp
S P
T e ân _ S P
S L _ T o àn
M a øu
B A ÙN
T e ân _ K H
S L _ B a ùn
N g a øy _ B a ùn
M U A
T e ân _ C Ö
S L _ M u a
N g a øy _ M u a
Ñ ô ït _ b a ùn
S P _ b a ùn
Ñ ô ït _ m u a
S P _ m u a
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 61
Bài tập mẫu
 Ví dụ 1: Tên các nhà cung ứng và tên khách hàng
có mua những sản phẩm màu đỏ đang có lượng tồn
trên 100
Select mua.Tên_CƯ, bán.Tên_KH
From DM_SP sp, sp.Đợt_mua mua, sp.Đợt_bán bán
Where (sp.Màu = ‘Đỏ’) And (sp.SL_Tồn > 100)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 62
Bài tập mẫu
 Ví dụ 2: Danh sách những khách hàng có mua ít
nhất 1 sản phẩm màu xanh
Cách 1:
Select bán.Tên_KH
From DM_BÁN bán
Where bán.SP_bán.Màu = ‘Xanh’
Cách 2:
Select bán.Tên_KH
From DM_SP sp, sp.Đợt_bán bán
Where sp.Màu = ‘Xanh’
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 63
Bài tập mẫu
 Ví dụ 3: Danh sách những khách hàng có mua tất
cả những sản phẩm đang tồn trong kho
Cách 1:
Select bán.Tên_KH
From DM_BÁN bán
Where Count(Select distinct sp.Tên_SP
From bán.SP_bán sp
Where sp.SL_Tồn>0) =
Count(Select distinct sp.Tên_SP
From DM_SP sp
Where sp.SL_Tồn>0)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 64
Bài tập mẫu
 Ví dụ 3: Danh sách những khách hàng có mua tất
cả những sản phẩm đang tồn trong kho
Cách 2:
Select bán.Tên_KH
From DM_BÁN bán
Where For all sp in (Select * From DM_SP Where SL_Tồn
>0):
Exists (Select *
From DM_Bán bán1
Where (bán1.Tên_KH = bán.Tên_KH)
And (bán1.SP_bán.Tên_SP =
sp.Tên_SP) )
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 65
Bài tập về nhà 1
Q U A ÙN
T e ân
Ñ _ c h æ
N U Ô ÙC _ G K
T e ân
H a õn g _ S X
B a ùn
G i a ù
h a õn g _ n g k
ñ ö ô ïc _ b a ùnn g k _ ñ ö ô ïc _ b a ùn
q u a ùn
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 66
Bài tập về nhà 1
 Xây dựng lược đồ như trên
 Trả lời các câu hỏi sau:
1. Cho biết tên nước giải khát và giá bán của nó tại
quán ‘ABC’
2. Cho biết tên hãng sản xuất các nước giải khát có
bán tại quán ‘ABC’
3. Tìm tên các quán có bán nước giải khát với giá lớn
hơn 10000đ
4. Tìm tên các quán chỉ bán nuớc giải khát với giá lớn
hơn 10000đ
5. Cho biết giá bán trung bình các nước giải khát
được bán tại quán ‘ABC’
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 67
Bài tập về nhà 2
M A ÙY _ B A Y
T e ân _ M B
P H I _ C O ÂN G
T e ân _ P C
Ñ òa c h æ_ P C
C B
T P _ ñ i
T P _ ñ e án
G i ô ø_ ñ i
G i ô ø_ ñ e án
P C _ l a ùi
P C _ C BC a ùc _ C B
M B _ C B
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 68
Bài tập về nhà 2
 Xây dựng lược đồ như trên
 Trả lời các câu hỏi:
1. Danh sách những tên phi công lái tất cả máy bay
của hãng
2. Danh sách những tên phi công không lái máy bay
B767 từ Tp.HCM
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 69

More Related Content

What's hot

PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
Thùy Linh
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệm
Nguyễn Phúc
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
leemindinh
 
Đề cương ôn tập mạng máy tính
Đề cương ôn tập mạng máy tínhĐề cương ôn tập mạng máy tính
Đề cương ôn tập mạng máy tính
Hưởng Nguyễn
 
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
Thanh Hoa
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Nguyễn Danh Thanh
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
MasterCode.vn
 
Hỗ trợ ra quyết định
Hỗ trợ ra quyết địnhHỗ trợ ra quyết định
Hỗ trợ ra quyết định
lmphuong06
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhCao Toa
 
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin TứcBáo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Dịch Vụ Viết Thuê Luận Văn Zalo : 0932.091.562
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiUDCNTT
 
Báo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềmBáo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềmRiTa15
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
nataliej4
 
Thuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoThuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoCông Thắng Trương
 
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đĐề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
Han Nguyen
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
nataliej4
 
Đề tài: Quản lý cửa hàng điện thoại di động, HAY
Đề tài: Quản lý cửa hàng điện thoại di động, HAYĐề tài: Quản lý cửa hàng điện thoại di động, HAY
Đề tài: Quản lý cửa hàng điện thoại di động, HAY
Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 

What's hot (20)

PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệm
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Đề cương ôn tập mạng máy tính
Đề cương ôn tập mạng máy tínhĐề cương ôn tập mạng máy tính
Đề cương ôn tập mạng máy tính
 
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Hỗ trợ ra quyết định
Hỗ trợ ra quyết địnhHỗ trợ ra quyết định
Hỗ trợ ra quyết định
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tính
 
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin TứcBáo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
Báo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềmBáo cáo đồ án môn công nghệ phần mềm
Báo cáo đồ án môn công nghệ phần mềm
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
Thuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demoThuật toán Nhân Bình Phương - demo
Thuật toán Nhân Bình Phương - demo
 
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đĐề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
Đề tài: Nghiên cứu thuật toán K-nearest neighbor, HAY, 9đ
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Đề tài: Quản lý cửa hàng điện thoại di động, HAY
Đề tài: Quản lý cửa hàng điện thoại di động, HAYĐề tài: Quản lý cửa hàng điện thoại di động, HAY
Đề tài: Quản lý cửa hàng điện thoại di động, HAY
 

Viewers also liked

Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
Chu TheKop
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
MasterCode.vn
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
Cơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTTCơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTT
bdkhoi296
 
Tsch csdl 01 - dhcntt
Tsch   csdl 01 - dhcnttTsch   csdl 01 - dhcntt
Tsch csdl 01 - dhcntt
anhhuycan83
 
Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013
anhhuycan83
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
anhhuycan83
 
OOP
OOPOOP
Chapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webChapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webxuandiencntt
 
Bao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thuaBao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thua
anhhuycan83
 
đề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdfđề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdf
Alexander Dung
 
Hướng dẫn lập trình web với PHP - Ngày 5
Hướng dẫn lập trình web với PHP - Ngày 5Hướng dẫn lập trình web với PHP - Ngày 5
Hướng dẫn lập trình web với PHP - Ngày 5
Nguyễn Tuấn Quỳnh
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tánduysu
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệuThành Luân
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Huyen Pham
 

Viewers also liked (20)

Csdl hdt
Csdl hdtCsdl hdt
Csdl hdt
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
Cơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTTCơ sở dữ liệu - Luyện thi cao học CNTT
Cơ sở dữ liệu - Luyện thi cao học CNTT
 
Tsch csdl 01 - dhcntt
Tsch   csdl 01 - dhcnttTsch   csdl 01 - dhcntt
Tsch csdl 01 - dhcntt
 
Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013Ôn tập tuyển sinh cao học môn CSDL 2013
Ôn tập tuyển sinh cao học môn CSDL 2013
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
 
OOP
OOPOOP
OOP
 
Chapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren webChapter 3 cac phuong phap cap nhat thong tin tren web
Chapter 3 cac phuong phap cap nhat thong tin tren web
 
Access buoi 8
Access buoi 8Access buoi 8
Access buoi 8
 
Section11
Section11Section11
Section11
 
17406 bai giang csdl nang cao
17406   bai giang csdl nang cao17406   bai giang csdl nang cao
17406 bai giang csdl nang cao
 
Bao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thuaBao cao viem phuc mac ruot thua
Bao cao viem phuc mac ruot thua
 
đề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdfđề Tài-tìm-hiểu-về-tường-lửa-.pdf
đề Tài-tìm-hiểu-về-tường-lửa-.pdf
 
Hướng dẫn lập trình web với PHP - Ngày 5
Hướng dẫn lập trình web với PHP - Ngày 5Hướng dẫn lập trình web với PHP - Ngày 5
Hướng dẫn lập trình web với PHP - Ngày 5
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tán
 
Access toan tap
Access toan tapAccess toan tap
Access toan tap
 
Cơ sở dữ liệu
Cơ sở dữ liệuCơ sở dữ liệu
Cơ sở dữ liệu
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 

Similar to Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong

Tổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệuTổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệu
Tonhaco Bestco
 
Cơ sở dữ liệu cho người mới bắt đầu.pptx
Cơ sở dữ liệu cho người mới bắt đầu.pptxCơ sở dữ liệu cho người mới bắt đầu.pptx
Cơ sở dữ liệu cho người mới bắt đầu.pptx
longg3z2000
 
Chuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlChuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlHuy Feng
 
csdl - buoi1
csdl - buoi1csdl - buoi1
csdl - buoi1
kikihoho
 
Chuong 1
Chuong 1Chuong 1
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
yht4ever
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
mai_non
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
Criz20
 
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
nataliej4
 
01-Gioithieu.pdf
01-Gioithieu.pdf01-Gioithieu.pdf
01-Gioithieu.pdf
DngKen1
 
Gt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_serverGt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_server
anhanh81
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
HungHuyNguyen3
 
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
nguyen minh
 
Nhom33 bai2 chuongtrinh12_he_quantricsdl
Nhom33 bai2 chuongtrinh12_he_quantricsdlNhom33 bai2 chuongtrinh12_he_quantricsdl
Nhom33 bai2 chuongtrinh12_he_quantricsdllevisak
 
Nhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdlNhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdllevisak
 
Nhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdlNhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdllevisak
 

Similar to Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong (20)

Tổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệuTổng quan về cơ sở dữ liệu
Tổng quan về cơ sở dữ liệu
 
Cơ sở dữ liệu cho người mới bắt đầu.pptx
Cơ sở dữ liệu cho người mới bắt đầu.pptxCơ sở dữ liệu cho người mới bắt đầu.pptx
Cơ sở dữ liệu cho người mới bắt đầu.pptx
 
Chuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlChuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdl
 
C1
C1C1
C1
 
csdl - buoi1
csdl - buoi1csdl - buoi1
csdl - buoi1
 
Chapter0
Chapter0Chapter0
Chapter0
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Chuong 1
Chuong 1Chuong 1
Chuong 1
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
 
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
Bài Giảng Môn Học Cơ Sở Dữ Liệu Nâng Cao
 
01-Gioithieu.pdf
01-Gioithieu.pdf01-Gioithieu.pdf
01-Gioithieu.pdf
 
Gt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_serverGt he quan_tri_csdl_ms_sql_server
Gt he quan_tri_csdl_ms_sql_server
 
bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
 
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
 
51645016 csdl
51645016 csdl51645016 csdl
51645016 csdl
 
Nhom33 bai2 chuongtrinh12_he_quantricsdl
Nhom33 bai2 chuongtrinh12_he_quantricsdlNhom33 bai2 chuongtrinh12_he_quantricsdl
Nhom33 bai2 chuongtrinh12_he_quantricsdl
 
Nhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdlNhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdl
 
Nhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdlNhom33 bai2 lop12_he_quantricsdl
Nhom33 bai2 lop12_he_quantricsdl
 

Recently uploaded

CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
Điện Lạnh Bách Khoa Hà Nội
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
Qucbo964093
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
duykhoacao
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
Nguyen Thanh Tu Collection
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
https://www.facebook.com/garmentspace
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
nvlinhchi1612
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
phamthuhoai20102005
 

Recently uploaded (10)

CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
 

Slide co-so-du-lieu-chuong-8-csdl-huong-doi-tuong

  • 1. Chương 8Chương 8 CSDL HƯỚNG ĐỐI TƯỢNGCSDL HƯỚNG ĐỐI TƯỢNG
  • 2. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 2 Nội dung chi tiết  Mô hình cơ sở dữ liệu hướng đối tượng - Từ CSDL quan hệ đến CSDL hướng đối tượng - Hệ quản trị cơ sở dữ liệu hướng đối tượng  Ngôn ngữ mô tả và truy vấn CSDL Hướng đối tượng theo chuẩn ODMG - Mô hình đối tượng - Ngôn ngữ khai báo lược đồ: ODL(Object Define Language) - Ngôn ngữ truy vấn đối tượng: OQL (Object Query Language)
  • 3. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 3 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 4. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 4 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 5. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 5 Đánh giá CSDL quan hệ  Ưu điểm - Nền tảng toán học vững chắc, đã được nghiên cứu sâu, kết quả khả quan - Có nhiều hqt csdl làm môi trường để phát triển - Mô hình dữ liệu đơn giản, rõ ràng chính xác - Phù hợp cho nhiều dạng ứng dụng CSDL, đặc biệt là ứng dụng quản lý - Ngôn ngữ truy vấn phi thủ tục => tối ưu câu truy vấn - Đảm bảo tính toàn vẹn dữ liệu - …..
  • 6. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 6 Đánh giá CSDL quan hệ  Khuyết điểm - Mô hình nghèo nàn dưới góc độ ngữ nghĩa(diễn đạt dưới khái niệm quan hệ giữa hai đối tượng) - Ngôn ngữ truy vấn không đầy đủ, một số nhà sản xuất Hqt csdl phải xây dựng thêm trình biên dịch riêng của Hqtcsdl, xây dựng giao diện liên kết để tận dụng tính năng của các trình biên dịch(C,Java,…) - Hệ thống khép kín( trong một số lĩnh vực ứng dụng có những thứ không thể biểu diễn bằng thuộc tính và quan hệ.) - Dữ liệu và chương trình tách bạch khó nhìn thấy sự tiến hóa của đối tượng - …
  • 7. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 7 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 8. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 8 Các loại ứng dụng csdl mới  Hệ thống hỗ trợ ra quyết định  Hệ thống thông tin địa lý GIS  Hệ cơ sở dữ liệu thống kê  Hệ thống quản lý dòng công việc  …..  Nhận xét: Các loại ứng dụng csdl trên hiện nay vẫn được xây dựng với hqt csdl quan hệ nhưng rất phức tạp và thường phải bỏ tính đặc thù của ứng dụng.
  • 9. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 9 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 10. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 10 Một số hướng giải quyết  Mở rộng mô hình quan hệ (bắt đầu từ thập niên 70) - 1976: Mô hình thực thể kết hợp - 1978: SDM(Semantic Data Model) - 1979-1981: RM/T(Relational Model/Tasmanis)…  Đưa ra mô hình mới  Cách tiếp cận suy dẫn  Cách tiếp cận đối tượng: nguồn gốc chính là là sự kết hợp giữa thành tựu CSDL với ngôn ngữ lập trình hướng đối tượng
  • 11. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 11 Một số hướng giải quyết  Hai chiều hướng nghiên cứu  CSDL ← NNLT HĐT: - Từ NNLT HĐT có thể hiệu chỉnh mô hình CSDL - Cho ra đời CSDL thuần đối tượng: xây dựng các ứng dụng mang tính hệ thống, ví dụ: ứng dụng viễn thông, giám sát hệ thống mạng diện rộng… CSDL ← → NNLT hướng đối tượng
  • 12. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 12 Một số hướng giải quyết  CSDL → NNLT HĐT: - Từ mô hình CSDL để tìm ngôn ngữ giống với lập trình hướng đối tượng. - Hướng nghiên cứu này chiếm ưu thế và đạt nhiều khả quan - Thành tựu:  Mô hình CSDL đối tượng + Ngôn ngữ truy vấn đối tượng  Quan hệ → Mô hình CSDL đối tượng quan hệ
  • 13. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 13 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 14. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 14 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 15. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 15 Khái niệm về đối tượng trong CSDL Đối tượng Dữ liệu Data Structure Thao tác (phép toán) Method
  • 16. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 16 Khái niệm về đối tượng trong CSDL NHÂN VIÊN MASV TÊN NV NTNS … Tạo NV mới Sửa thông tin 1 NV Xóa 1 NV Tính tuổi Lấy lương NV ….
  • 17. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 17 Khái niệm đối tượng trong CSDL Phoøng NV 1 : 1 1 : n NV_VP NV_SX Quanheä THÖØAKEÁ
  • 18. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 18 Khái niệm đối tượng trong CSDL  Quan hệ kết hợp 1:1 m:n 1:n Extends, Isa
  • 19. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 19 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 20. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 20 Các đặc trưng của Hqtcsdl HĐT  Luật vàng: Đây là các luật bắt buộc, bao gồm - 5 Luật mà mọi hệ quản trị csdl đều có - 7 luật đặc trưng của hệ quản trị csdl hướng đối tượng  Luật tùy chọn  Luật mở
  • 21. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 21 Các đặc trưng của Hqtcsdl HĐT  Luật vàng  5 Luật mà mọi hệ cơ sở dữ liệu đều có: • Luật 1: Tồn tại với sự cố • Luật 2: Quản lý đĩa • Luật 3: Ổn định và trung thực • Luật 4: Chia xẻ • Luật 5: Khả năng truy vấn trực tiếp  7 Luật đặc trưng của hqt csdl hướng đối tượng:  Luật 6: Đối tượng phức bao bọc những xử lý  Luật 7: Chỉ danh đối tượng(tự động phát sinh)  Luật 8: Bao bọc  Luật 9: Lớp  Luật 10: Thừa kế  Luật 11: Kết buộc động  Luật 12: Tính đầy đủ
  • 22. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 22 Các đặc trưng của Hqtcsdl HĐT  Luật tùy chọn  Thừa kế bội: giải quyết vấn đề mâu thuẩn  Quản lý các phiên bản của đối tượng  Quản lý các XAC lớn, dài  Tính đa xạ: liên kết động là một phần của tính đa xạ  Quản lý các ràng buộc toàn vẹn  Luật mở:  Lớp đối tượng, kiểu dữ liệu trừu tượng: làm sao để cho csdl hướng đối tượng có cơ sở vững chắc giống như csdl quan hệ  Ngữ nghĩa của thao tác xóa(muốn xóa ở mức vật lý)
  • 23. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 23 Mô hình csdl hướng đối tượng  Từ csdl quan hệ đến csdl đối tượng - Đánh giá csdl quan hệ - Các loại ứng dụng csdl mới - Một số hướng giải quyết  Hệ quản trị CSDL hướng đối tượng - Khái niệm về đối tượng trong CSDL - Các đặc trưng của một hệ quản trị CSDL đối tượng - Các sản phẩm của hệ quản trị CSDL đối tượng
  • 24. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 24 Các sản phẩm của hqtcsdl đối tượng  Các sản phẩm của phòng thí nghiệm rất nhiều, trên 20 sản phẩm  Sản phẩm Hqt csdl đối tượng- quan hệ: - Sản phẩm của hướng nghiên cứu CSDL → NNLT hướng đối tượng - O2, Gemstone, Ontos, Orion II, Ob Server,  Hệ thuần đối tượng: - Sản phẩm của hướng nghiên cứu CSDL ← NNLT hướng đối tượng - Jasmin : của Fujutsu, sau này được Computer Associate (CA) mua lại
  • 25. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 25 Nội dung chi tiết  Mô hình cơ sở dữ liệu hướng đối tượng - Từ CSDL quan hệ đến CSDL hướng đối tượng - Hệ quản trị cơ sở dữ liệu hướng đối tượng  Ngôn ngữ mô tả và truy vấn CSDL Hướng đối tượng theo chuẩn ODMG - Giới thiệu - Mô hình đối tượng - Ngôn ngữ khai báo lược đồ: ODL(Object Define Language) - Ngôn ngữ truy vấn đối tượng: OQL (Object Query Language)
  • 26. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 26 Nội dung chi tiết  Mô hình cơ sở dữ liệu hướng đối tượng - Từ CSDL quan hệ đến CSDL hướng đối tượng - Hệ quản trị cơ sở dữ liệu hướng đối tượng  Ngôn ngữ mô tả và truy vấn CSDL Hướng đối tượng theo chuẩn ODMG - Giới thiệu - Mô hình đối tượng - Ngôn ngữ khai báo lược đồ: ODL(Object Define Language) - Ngôn ngữ truy vấn đối tượng: OQL (Object Query Language)
  • 27. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 27 Giới thiệu  ODMG(Object Database Management Group) - Nhóm phát triển DBMS OO - Thành lập năm 1991 để định nghĩa các chuẩn CSDL đối tượng. - Xuất bản “The ODMG-93 standard” một chuẩn về csdl đối tượng. - Được công nhận thành chuẩn bởi ANSI,OMG,… - Cải tiến và nâng cấp phiên bản ODMG năm 1995,1997(2.0 hỗ trợ Java) và 1999(3.0) - Các ngôn ngữ CSDL OO: ODL, OQL
  • 28. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 28 Nội dung chi tiết  Mô hình cơ sở dữ liệu hướng đối tượng - Từ CSDL quan hệ đến CSDL hướng đối tượng - Hệ quản trị cơ sở dữ liệu hướng đối tượng  Ngôn ngữ mô tả và truy vấn CSDL Hướng đối tượng theo chuẩn ODMG - Giới thiệu - Mô hình đối tượng - Ngôn ngữ khai báo lược đồ: ODL(Object Define Language) - Ngôn ngữ truy vấn đối tượng: OQL (Object Query Language)
  • 29. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 29 Mô hình đối tượng  Có các kiểu: - Lớp(Class): khai báo đầy đủ cả 2 phần  Đặc trưng  Thao tác - Giao diện(Interface): chỉ có thao tác - Phần xử lý ngoại lệ(nếu có): đi kèm trong phần thao tác  Nhận xét:  Thừa kế hành vi: Không cho thừa kế đặc trưng  Giao diện: chỉ có phần xử lý, không có phần thông tin lưu trong CSDL  Thông tin chỉ thật sự lưu trữ trong Lớp(Class)
  • 30. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 30 Mô hình đối tượng(tt)  Kiểu con: có hai loại thừa kế - Thừa kế ISA: kiểu con thừa kế từ Interface → chỉ thừa kế hành vi - Thừa kế EXTENDS: kiểu con thừa kế từ Class→ cho thừa kế cả hành vi và đặc trưng.  Thừa kế bội: - Chỉ cho thừa kế hành vi(giao diện) ISA - Không chấp nhận mẫu thuẩn thao tác trùng tên(nếu thao tác trùng tên thì không chấp nhận thừa kế hành vi)
  • 31. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 31 Mô hình đối tượng(tt)  Qui ước ký hiệu:  Ví dụ GD LỚP
  • 32. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 32 Mô hình đối tượng(tt)  Ví dụ: Lược đồ csdl cho một trường đại học IS A IS A
  • 33. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 33 Mô hình đối tượng(tt)  Nhận xét: - Quan hệ thừa kế extends đối với lớp - Quan hệ thừa kế isa đối với giao diện - Chỉ cho thừa kế bội với isa - Cần đặt tên cả hai chiều của quan hệ: - Dựa vào số mũi tên ở hai đầu quan hệ để xác định loại quan hệ(1:1, 1:n, n:m)
  • 34. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 34 Mô hình đối tượng(tt)  Nhận xét(tt) - Giao diện không có đối tượng cụ thể nào(giao diện không có đặc trưng) - Quan hệ thừa kế:  Đối với lớp: có thể thừa kế ISA từ nhiều lớp hay giao diện và có thể thừa kế extends từ một lớp duy nhất.  Đối với giao diện: có thể thừa kế ISA từ nhiều lớp hay giao diện, không thừa kế extends từ bất kỳ lớp nào. - Trong trường hợp có nhiều thông tin của một đối tượng có liên quan đến nhau, ta có thể tách cách thông tin này ra tạo thành một class gắn với đối tượng ban đầu. Ví dụ: Đối tượng lương chỉ có thuộc tính không có quan hệ
  • 35. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 35 Mô hình đối tượng(tt)  Nhận xét(tt): - Xét quan hệ giữa GD_SV và LỚP_HỌC  Thực chất giao diện GD_SV không lưu được đặc trưng.  Quan hệ này thật sự được khai báo và lưu trữ trong lớp SV và TG.  Giao diện GD_SV chỉ khai báo nhưng không lưu trữ. - Kiểu của một đối tượng  Lớp: có đủ đặc trưng, quan hệ ngữ nghĩa, thao tác, xử lý ngoại lệ  GD: chỉ có thao tác, xử lý ngoại lệ - Đặc trưng = thuộc tính + mối quan hệ ngữ nghĩa(2chiều)
  • 36. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 36 Nội dung chi tiết  Mô hình cơ sở dữ liệu hướng đối tượng - Từ CSDL quan hệ đến CSDL hướng đối tượng - Hệ quản trị cơ sở dữ liệu hướng đối tượng  Ngôn ngữ mô tả và truy vấn CSDL Hướng đối tượng theo chuẩn ODMG - Giới thiệu - Mô hình đối tượng - Ngôn ngữ khai báo lược đồ: ODL(Object Define Language) - Ngôn ngữ truy vấn đối tượng: OQL (Object Query Language)
  • 37. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 37 Ngôn ngữ khai báo lược đồ- ODL  Từ khóa khai báo lớp/giao diện: - Lớp: Class - Giao diện: Interface  Giao diện:  Lưu ý: Có thể khai báo đặc trưng trong giao diện nhưng đặc trưng không được lưu trữ trong giao diện mà chỉ được lưu trữ thật sự trong lớp Interface <tên giao diện>[:<tên lớp cha|tên giao diện>] { [<đặc trưng>] <thao tác> };
  • 38. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 38 Ngôn ngữ khai báo lược đồ- ODL(tt)  Lớp: Class <tên lớp>[EXTENDS <tên lớp cha 1>] [:<tên lớp cha 2|tên giao diện cha 2>] ( extent <tên tập đối tượng thuộc lớp> [Key(s) <khóa 1>[<khóa2>,…]] ) { <đặc trưng> <thao tác> [<xử lý ngoại lệ>] }; Có thể xem tên tập đối tượng thuộc lớp giống như bảng dữ liệu CSDL hướng đối tượng không dùng khóa này để quản lý đối tượng nhưng NSD sẽ sử dụng
  • 39. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 39 Ngôn ngữ khai báo lược đồ- ODL(tt)  Lưu ý: Đối với lớp, phải khai báo quan hệ thừa kế EXTENDS trước, khai báo quan hệ kế thừa ISA sau.  Đặc trưng: - Đặc trưng bao gồm các thuộc tính và các mối quan hệ. - Thứ tự khai báo thuộc tính và mối quan hệ không quan trọng. - Tuy nhiên nên khai báo theo thứ tự: thuộc tính trước, quan hệ sau - Khai báo thuộc tính: [readonly] attribute <tên miền giá trị> <tên thuộc tính>
  • 40. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 40 Ngôn ngữ khai báo lược đồ- ODL(tt) - Khai báo mối quan hệ  Phải có đủ cặp relationship và inverse để xác định cả hai chiều của một quan hệ(quan hệ chiều xuôi và chiều ngược)  Dùng từ khóa Realationship để khai báo quan hệ chiều xuôi. ∗ Quan hệ 1:1 theo chiều xuôi: không dùng từ khóa set,bag, list hay array. ∗ Quan hệ 1:n theo chiều xuôi phải khai báo rõ là set, bag, list hay array  Từ khóa inverse chỉ dùng để cho biết quan ngược. Relationship [set|bag|list|array] <tên lớp có qhệ đến><tên qhệ chiều xuôi> Inverse <tên lớp có qhệ đến>::<tên qhệ chiều ngược>
  • 41. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 41 Ngôn ngữ khai báo lược đồ- ODL(tt)  Phân biệt set, bag, list và array - Set: các đối tượng thuộc lớp không được trùng, không có thứ tự. - Bag: các đối tượng thuộc lớp được phép trùng, không có thứ tự. - List: các đối tượng thuộc lớp được sắp xếp theo thứ tự, truy xuất tuần tự. - Array: các đối tượng thuộc lớp được sắp xếp theo thứ tự, truy xuất ngẫu nhiên.
  • 42. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 42 Ngôn ngữ khai báo lược đồ- ODL(tt)  Ví dụ: Định nghĩa cho class LUONG  Vì lớp LUONG chỉ gồm thông tin thuộc tính, không có thông tin về quan hệ ngữ nghĩa. Đây là phần lớn thông tin trong đối tượng NV được tách ra thành lớp riêng nên không đặc tên cho tập đối tượng. Class LUONG { attribute float luong_co_ban; attribute float luong_ngoai_gio; attribute thuong; };
  • 43. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 43 Ngôn ngữ khai báo lược đồ- ODL(tt)  Ví dụ định nghĩa cho lớp NV Class NV (extent DM_NV) { attribute string ten_nv; attribute short ma_nv; attribute LUONG luong_nv; …. }; Tên tập đối tượng
  • 44. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 44 Ngôn ngữ khai báo lược đồ- ODL(tt)  Ví dụ: định nghĩa cho lớp TG Class TG EXTENDS NV : GD_SV { relationship <LỚP_HỌC> Phụ_giảng inverse <LỚP_HỌC> :: có_tg_là; attribute string ho_ten; attribute short ma_so; attribute struct dia_ch; relationship set <LỚP_HỌC> đăng_ký_dự inverse <LỚP_HỌC> :: có_sv_đk; …. };
  • 45. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 45 Ngôn ngữ khai báo lược đồ- ODL(tt)  Nhận xét: - Nếu không khai báo tên tập đối tượng thuộc lớp TG(khai báo với từ khóa extent) thì các đối tượng này sẽ được lưu trữ chung với đối tượng NV. - Nếu khai báo tên tập đối tượng thuộc lớp TG thì các đối tượng này sẽ được lưu trữ riêng
  • 46. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 46 Ngôn ngữ khai báo lược đồ- ODL(tt)  Ví dụ: định nghĩa cho lớp MÔN Class MÔN (extent DM_MÔN) { attribute string Tên_M; attribute string Mã_M; relationship list <LỚP_HỌC> có_lớp inverse <LỚP_HỌC> :: thuộc; relationship set <MÔN> có_môn_tq; inverse <MÔN> :: là_môn_tq_của; relationship set <MÔN> là_môn_tq_của; inverse <MÔN> :: có_môn_tq; Boolean mở(in unsigned short học_kỳ) raise (đã có mở) Boolean hủy(in unsigned short học_kỳ) raise (không mở) }; Xử lý ngoại lệ
  • 47. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 47 Nội dung chi tiết  Mô hình cơ sở dữ liệu hướng đối tượng - Từ CSDL quan hệ đến CSDL hướng đối tượng - Hệ quản trị cơ sở dữ liệu hướng đối tượng  Ngôn ngữ mô tả và truy vấn CSDL Hướng đối tượng theo chuẩn ODMG - Giới thiệu - Mô hình đối tượng - Ngôn ngữ khai báo lược đồ: ODL(Object Define Language) - Ngôn ngữ truy vấn đối tượng: OQL (Object Query Language)
  • 48. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 48 Ngôn ngữ truy vấn đối tượng- OQL  Nguyên tắc: - Mô hình đối tượng của ODMG - Mở rộng SQL2(SQL92): khái niệm về đối tượng phức, OID(Object ID), biểu thức đường dẫn, tính đa xạ, kích hoạt thao tác, kết buộc động. - Thủ tục cơ sở: set, bag, list, array - Ngôn ngữ hàm: ngôn ngữ thủ tục.  Một số đặc điểm cần chú ý: - Đầu vào một câu truy vấn:  Tên một đối tượng  Tên một lớp đối tượng  Tên thuộc tính
  • 49. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 49 Ngôn ngữ truy vấn đối tượng-OQL(tt)  Tên đường dẫn/chuỗi đường dẫn - Kết quả một câu truy vấn:  Một đối tượng  Một tập các đối tượng: set, bag, list, array  Một tập literal  Một literal cụ thể - Biểu thức đường dẫn  Giả sử qui ước: c: đối tượng; C: lớp; A: thuộc tính của lớp C, r: tên mối quan hệ; p: tên thao tác.  Cách truy xuất: ∗ c.A: một đường dẫn ∗ c.r: một đối tượng hay một tập đối tượng thuộc lớp có quan hệ với c ∗ c.p(…): thực hiện thao tác p, kết quả trả về là kết quả của thao tác
  • 50. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 50 Ngôn ngữ truy vấn đối tượng-OQL(tt)  Ví dụ: N _ S Ö Ï T e ân Ñ òa c h æ c h a _ m e ï v ô ï_ c h o àn g attribute struct địa_chỉ ( unsigned short số_nhà, string đường, string quận, string th_phố ) Đchỉ;
  • 51. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 51 Ngôn ngữ truy vấn đối tượng-OQL(tt)  Nhận xét: - N.vợ_chồng.Đchỉ.th_phố là một biểu thức đường dẫn hợp lệ. - Muốn đi tiếp theo được thì kết quả của biểu thức đường dẫn phía trước là duy nhất(không được phép là tập hợp) - Nếu không phải là duy nhất mà là một tập hợp thì phải dừng lại để sử dụng câu truy vấn.  Xử lý giá trị rỗng(null) - Các luật xử lý giá trị trống:  (a) Thông qua . vế trái là KXĐ(không xác định) → kết quả là không xác định.  (b) Biểu thức so sánh =, !=, >, <, >=, <=: một trong hai vế là không xác định → kết quả là sai.
  • 52. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 52 Ngôn ngữ truy vấn đối tượng-OQL(tt)  (c) Là_KXĐ(KXĐ) = Đ Là_XĐ(KXĐ) = S  (d) Với những thao tác khác: có một vế không xác định → kết quả báo lỗi.  Ví dụ: - Giả sử ta có các đối tượng sau:  N1 sống tại Tp.HCM  N2 sống tại Hà Nội  N3 sống tại ? - Xét câu truy vấn 1: Select n.Đchỉ.th_phố From DMN_SỰ n  Nếu N3 có Đchỉ nhưng th_phố rỗng: báo lỗi(luật d)  Nếu N3 có Đchỉ trống: báo lỗi Phải là tên tập đối tượng
  • 53. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 53 Ngôn ngữ truy vấn đối tượng-OQL(tt) - Xét câu truy vấn 2: Select n.Đchỉ.th_phố From DMN_SU n Where Là_XĐ(n.Đchỉ.th_phố)  Việc thực hiện câu truy vấn 2 không bị báo lỗi - Xét câu truy vấn 3: lấy ra những nhân sự không sống ở Tp. HCM Select n From DMN_SU n Where not(n.Đchỉ.th_phố = ‘TP HCM’)  Kết quả câu truy vấn bao gồm tất cả các nhân viên có thành phố khác với ‘TP HCM’ và những nhân viên không có thông tin về TP  Kết quả câu truy vấn là N2 và N3
  • 54. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 54 Ngôn ngữ truy vấn đối tượng-OQL(tt) - Xét câu truy vấn 4: Select n From DMN_SU n Where (n.Đchỉ.th_phố != ‘Tp.HCM’)  Kết quả câu truy vấn chỉ bao gồm tất cả các nhân viên có thành phố khác với ‘Tp.HCM’, những nhân viên có thành phố là KXĐ đều bị bỏ qua.  Do N3 có th_phố không xác định nên biểu thức điều kiện Where là sai  Kết quả câu truy vấn chỉ có N2
  • 55. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 55 Ngôn ngữ truy vấn đối tượng-OQL(tt) - Cách kích hoạt một thao tác(phương pháp)  Chèn n.p bất kỳ chổ nào được  Ví dụ: Select max(select c.tuổi From n2.con c) From DMN_SU n2 Where n2.Tên = ‘Nguyễn Văn A’  Nếu tên hàm và tên thuộc tính trùng nhau, để giải quyết đụng độ tên hàm ta thêm cặp dấu (), (ví dụ: tuổi()).  Nếu hàm có tham số ta chỉ việc đặc tham số vào trong cặp dấu () của hàm. Hàm tính tuổi của N_SỰ
  • 56. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 56 Ngôn ngữ truy vấn đối tượng-OQL(tt)  Các dạng câu truy vấn - Đặt tên cho câu truy vấn: Define NVA() as Select n From DMN_SU n Where n.Tên = ‘Nguyễn Văn A’  Tên được đặt cho câu truy vấn không được là tên của đối tượng, tên của phương thức, tên hàm, hay tên lớp trong lược đồ.  Sau từ khóa From bắt buộc là Extent(tên của lớp đối tượng), không được phép là tên Class.
  • 57. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 57 Ngôn ngữ truy vấn đối tượng-OQL(tt) - Các phép toán với câu truy vấn:  Có thể sử dụng các phép toán(nếu phù hợp) ∗ Phép toán số học: TV+TV, TV-TV, TV*TV,TV/TV ∗ Phép toán logic: not TV, TV and TV, TV or TV. ∗ Phép toán so sánh: = , !=, >, <, >=, <=, like - Set/Bag/List/Array:  Set ([TV, {TV, TV, …}])  Bag ([TV, {TV, TV, …}])  List ([TV, {TV, TV, …}])  Array ([TV, {TV, TV, …}]) - TV:tên_thuộc_tính/tên_mối_quan_hệ/tên_thao_tác  First(TV)  Last(TV)  Hàm(TV)
  • 58. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 58 Ngôn ngữ truy vấn đối tượng-OQL(tt) - Biểu thức tập hợp: For all <tên biến> in <tên_tập>:<điều kiện> Exist(TV): kết quả là đúng/sai Unique(TV): kết quả là đúng/sai TV in TV: kết quả là đúng/sai. Lưu ý vế trái là một đối tượng, hay một kết quả hay một literal. Không cho phép vế trái là một tập hợp. - Các hàm xử lý kết hợp: count(TV) sum(TV) min(TV) max(TV) avg(TV)
  • 59. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 59 Ngôn ngữ truy vấn đối tượng-OQL(tt) - Cấu trúc câu truy vấn đầy đủ: Select [distinct] <ds_thuộc_tính> From TV [as tên_biến] [Where TV] [Group by <ds_thuộc_tính>] [Order by TV [asc|desc] ]
  • 60. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 60 Bài tập mẫu  Cho sơ đồ lớp S P T e ân _ S P S L _ T o àn M a øu B A ÙN T e ân _ K H S L _ B a ùn N g a øy _ B a ùn M U A T e ân _ C Ö S L _ M u a N g a øy _ M u a Ñ ô ït _ b a ùn S P _ b a ùn Ñ ô ït _ m u a S P _ m u a
  • 61. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 61 Bài tập mẫu  Ví dụ 1: Tên các nhà cung ứng và tên khách hàng có mua những sản phẩm màu đỏ đang có lượng tồn trên 100 Select mua.Tên_CƯ, bán.Tên_KH From DM_SP sp, sp.Đợt_mua mua, sp.Đợt_bán bán Where (sp.Màu = ‘Đỏ’) And (sp.SL_Tồn > 100)
  • 62. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 62 Bài tập mẫu  Ví dụ 2: Danh sách những khách hàng có mua ít nhất 1 sản phẩm màu xanh Cách 1: Select bán.Tên_KH From DM_BÁN bán Where bán.SP_bán.Màu = ‘Xanh’ Cách 2: Select bán.Tên_KH From DM_SP sp, sp.Đợt_bán bán Where sp.Màu = ‘Xanh’
  • 63. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 63 Bài tập mẫu  Ví dụ 3: Danh sách những khách hàng có mua tất cả những sản phẩm đang tồn trong kho Cách 1: Select bán.Tên_KH From DM_BÁN bán Where Count(Select distinct sp.Tên_SP From bán.SP_bán sp Where sp.SL_Tồn>0) = Count(Select distinct sp.Tên_SP From DM_SP sp Where sp.SL_Tồn>0)
  • 64. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 64 Bài tập mẫu  Ví dụ 3: Danh sách những khách hàng có mua tất cả những sản phẩm đang tồn trong kho Cách 2: Select bán.Tên_KH From DM_BÁN bán Where For all sp in (Select * From DM_SP Where SL_Tồn >0): Exists (Select * From DM_Bán bán1 Where (bán1.Tên_KH = bán.Tên_KH) And (bán1.SP_bán.Tên_SP = sp.Tên_SP) )
  • 65. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 65 Bài tập về nhà 1 Q U A ÙN T e ân Ñ _ c h æ N U Ô ÙC _ G K T e ân H a õn g _ S X B a ùn G i a ù h a õn g _ n g k ñ ö ô ïc _ b a ùnn g k _ ñ ö ô ïc _ b a ùn q u a ùn
  • 66. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 66 Bài tập về nhà 1  Xây dựng lược đồ như trên  Trả lời các câu hỏi sau: 1. Cho biết tên nước giải khát và giá bán của nó tại quán ‘ABC’ 2. Cho biết tên hãng sản xuất các nước giải khát có bán tại quán ‘ABC’ 3. Tìm tên các quán có bán nước giải khát với giá lớn hơn 10000đ 4. Tìm tên các quán chỉ bán nuớc giải khát với giá lớn hơn 10000đ 5. Cho biết giá bán trung bình các nước giải khát được bán tại quán ‘ABC’
  • 67. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 67 Bài tập về nhà 2 M A ÙY _ B A Y T e ân _ M B P H I _ C O ÂN G T e ân _ P C Ñ òa c h æ_ P C C B T P _ ñ i T P _ ñ e án G i ô ø_ ñ i G i ô ø_ ñ e án P C _ l a ùi P C _ C BC a ùc _ C B M B _ C B
  • 68. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 68 Bài tập về nhà 2  Xây dựng lược đồ như trên  Trả lời các câu hỏi: 1. Danh sách những tên phi công lái tất cả máy bay của hãng 2. Danh sách những tên phi công không lái máy bay B767 từ Tp.HCM
  • 69. Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 69