Tải bản đầy đủ (.docx) (20 trang)

Tiểu luận môn cơ sở dữ liệu nâng cao CƠ SỞ DỮ LIỆU ĐỐI TƯỢNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (678.28 KB, 20 trang )

HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
LỜI MỞ ĐẦU
Một nhóm nhỏ các loại dữ liệu như số nguyên, số thực, kí tự, chuỗi kí tự, ngày
tháng được hổ trợ bởi các hệ thống quản trị CSDL quan hệ có thể coi là đủ để đáp
ứng cho các thao tác thông thường của các trình ứng dụng truyền thống như là các
trình xử lý dữ liệu hành chính.
Hiện nay với sự phát triển của khoa học và kỹ thuật, rất nhiều loại dữ liệu có kết
cấu phức tạp xuất hiện, ví dụ như dữ liệu của các trình CAD/CAM, dữ liệu về các
đối tượng không gian, dữ liệu liên quan đến đối tượng đa phương tiện như audio,
video, hình ảnh,… Điều này làm nảy sinh nhu cầu các hệ thống quản trị CSDL cuối
cùng cũng phải hổ trợ các loại dữ liệu phức tạp này. Đó chính là động cơ ra đời của
hệ thống CSDL đối tượng ngày nay.
Ứng dụng CSDL đối tượng em đã thực hiện đề tài về website chia sẻ hình ảnh
trực tuyến, cung cấp một website để các cá nhân , doanh nghiệp có thể chia sẻ,
quảng bá hình ảnh thương hiệu của mình, tìm kiếm đối tác cũng như các hoạt động
giao dịch.
Qua đó người dùng có thể gõ một vài từ khóa để tìm kiếm được các thông tin,
địa điểm của các dịch vụ, điểm đến tốt nhất trên internet là hoạt động không thể
thiếu được, giúp mọi người xích lại gần nhau hơn bằng việc chia sẻ, thế giới trở nên
phẳng hơn.
CHƯƠNG 1
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ĐỐI TƯỢNG
Trang 1
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
1.1 Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS)
Mô hình quan hệ trong cơ sở dữ liệu quan hệ dựa trên kiến trúc của database.
Một database bao gồm một tập các table (relation) với các cột và dòng dữ liệu, mỗi
cột xác định một thuộc tính của quan hệ trong khi mỗi dòng chứa dữ liệu của các
thực thể. Và có thể sử dụng SQL(Standard Query Language) để thao tác dữ liệu.
Ưu điểm:
• Có cơ sở lý thuyết vững chắc


• Đơn giản, linh độngvà được sử dụng rộng rãi.
• Hỗ trợ tính độc lập dữ liệu
• Phù hợp với việc xử lý giao dịch trực tuyến (OLTP: OnLine Transaction
Processing).
• Người dùng có thể tạo, truy xuất và mở rộng cơ sở dữ liệu một cách dễ
dàng
Nhược điểm:
• Hạn chế đối với các đối tượng trong thế giới thực vốn có cấu trúc phức
tạp.
• Các thao tác bị hạn chế, các vấn đề về cạnh tranh, sự thay đổi sơ đồ và
truy cập nghèo nàn trong RDBMS.
• Cơ sở dữ liệu quan hệ không đủ không gian để quản lý các file hình ảnh,
các file audio, video.
Ngoài ngôn ngữ thao tác dữ liệu SQL, cơ sở dữ liệu quan hệ không hỗ trợ các
ngôn ngữ hướng đối tượng hiện nay như C++, Java và các kiểu dữ liệu trong table
là các kiểu dữ liệu cơ bản và đơn trị.
1.2 Hệ quản trị cơ sở dữ liệu hướng đối tượng (OODBMS)
Hệ quản trị này được tạo ra để khắc phục những hạn chế của cơ sở dữ liệu quan
hệ, cho phép lưu trữ các dữ liệu lớn và phức tạp, bởi nó hỗ trợ các kiểu dữ liệu do
người dùng định nghĩa. Hỗ trợ các tính năng hướng đối tượng cho phép kết hợp
giữa lập trình hướng đối tượng và cơ sở dữ liệu một cách dễ dàng. Vì hướng đối
Trang 2
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
tượng nên OODBMS(Object-Oriented DataBase Management System)có khả
năng tái sử dụng, độ ổn định và tin cậy cao. Các quan hệ được biểu diễn một cách
tường minh, có khả năng điều hướng và kết hợp để truy xuất thông tin, điểu này làm
tăng hiệu suất truy cập so với cơ sở dữ liệu quan hệ.
Ưu điểm:
• Khả năng mô hình hóa phong phú
• Có khả năng mở rộng

• Không còn thiếu tương ứng giữa ngôn ngữ lập trình và ngôn ngữ CSDL
• Ngôn ngữ có tính biểu hiện cao hơn
• Hỗ trợ sự tiến triển của sơ đồ
• Hỗ trợ các giao dịch kéo dài
• Có khả năng áp dụng các trình ứng dụng chuyên sâu về CSDL và cải tiến
hiệu suất
• Hệ quản trị cơ sở dữ liệu đối tượng cho phép người dùng tự định nghĩa
phương thức truy cập dữ liệu và cách thể hiện nó như thế nào.
Nhược điểm:
• Thiếu mô hình dữ liệu toàn thể
• Thiếu cơ sở lý thuyết và thiếu chuẩn
• Thiếu hổ trợ về khung nhìn và an toàn bảo mật
• Hệ quản trị cơ sở dữ liệu đối tượng khá phức tạp, không truy xuất được
bằng SQL.
1.3 Hệ quản trị cơ sở dữ liệu quan hệ hướng đối tượng (ORDBMS)
Hệ quản trị cơ sở dữ liệu quan hệ đối tượng ra đời có thể nói là cầu nối giữa mô
hình quan hệ và mô hình hướng đối tượng. Ưu điểm của ORDBMSlà kết hợp các
tính năng của cả hai mô hình, cho phép quản lý các kiểu dữ liệu phức tạp như hình
ảnh, audio, video,… với các chức năng sẵn có như quản trị giao dịch, phục hồi,
Trang 3
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
tương tranh, xử lý và tối ưu hóa truy vấn, đồng thời tận dụng được các tính năng
hướng đối tượng hỗ trợ tốt cho các ứng dụng lập trình hướng đối tượng, , …
Hệ quản trị cơ sở dữ liệu đối tượng cho phép thao tác dữ liệu bằng cả ngôn ngữ
DDML và SQL mà đã quen thuộc với người dùng cơ sở dữ liệu quan hệ.
Với hệ quản trị cơ sở dữ liệu quan hệ đối tượng, các tổ chức có thể tiếp tục duy
trì các ứng dụng đã phát triển trên cơ sở dữ liệu quan hệ đã có sẵn đồng thời có thể
bắt đầu phát triển các hệ thống hướng đối tượng một cách song song.
1.4 Các ứng dụng của hệ quản trị cơ sở dữ liệu quan hệ đối tượng
Với các ưu điểm của mình, hệ quản trị cơ sở dữ liệu quan hệ đối tượng được ứng

dụng nhiều trong các ứng dụng như:
• CSDL siêu văn bản
• Thiết kế có sự trợ giúp của máy tính
• Công nghệ phần mềm có sự trợ giúp của máy tính
• Hình ảnh và y học
• Xuất bản số
• Hệ thống đa phương tiện
• Hệ thống thông tin địa lý(GIS: Geographical InformationSystem)
• Hệ thống tin học văn phòng (OIS: Office InformationSystem)
• Các Website tươngtácvàđộng
1.5 Các tính năng quan hệ đối tượng trong oracle
• Hỗ trợ các kiểu dữ liệu do người dùng định nghĩa.TYPE
• Hỗ trợ các kiểu dữ liệu tập hợp: VARRAY, NESTED TABLE
• Hỗ trợ tính đa hình và kế thừa
• Hỗ trợ kiểu tham chiếu REF (reference) đến một đối tượng
Trang 4
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
CHƯƠNG 2
XÂY DỰNG WEBSITE CHIA SẺ HÌNH ẢNH TRỰC TUYẾN
2.1 Mô tả bài toán
Website chia sẻ hình ảnh trực tuyến cho phép người dùng xem các hình ảnh và
các thông tin kèm theo của bức hình, vị trí của bức hình (khách sạn, nhà hàng,
ATM ) tại một vị trí cụ thể trên bản đồ thành phố. Người dùng có thể tìm kiếm các
bức hình này thông qua các tags của bức hình và trong phạm vi nào đó tới một địa
điểm trên bản đồ. Nếu người dùng có đăng nhập hệ thống thì sẽ được quyền đăng
tải các bức hình để chia sẻ. Tùy theo phân quyền người dùng là thành viên cấp cao
thì sẽ được đăng tải không giới hạn các bức hình, người dùng là thành viên bình
thường thì chỉ được đăng tải có giới hạn số lượng bức hình hoặc số lượng không
gian đĩa đã chiếm dụng. Còn nếu người dùng là khách thì sẽ có đăng tải nhưng quy
định ngày hết hạn đăng tải.

Cơ sở dữ liệu hệ thống thể hiện được các thông tin sau:
• Thông tin về Photo
Mỗi một bức hình (photo) được định danh bởi photo ID và được đăng
tải bởi một người dùng (user). Mỗi bức hình có thông tin về thời gian
và địa điểm chụp hình. Mỗi bức hình có vài tags (keywords mô tả
hình) và một mô tả(description) cho bức hình đó. Một photo được
chụp bởi một camera. Mức độ bảo mật của bức hình có thể là public
hoặc private. Một photo có thể thuộc một hoặc nhiều Album.
• Thông tin về User
Mỗi user có một user_id duy nhất. Mỗi user có tên, ngày sinh, thông
tin liên lạc. Thông tin liên lạc bao gồm email và số điện thoại. User có
thể là khách hoặc thành viên (member). Thành viên cấp cao
Trang 5
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
(member_pro) có thêm thông tin về phí thường niên. Thành viên bình
thường có giới hạn về số bức hình được upload và dung lượng tối đa
đươc upload.User có thể bình luận trên các bức hình mà họ muốn
hoặc add favorite. Mỗi bình luận(comment) có nội dung miêu tả
(description) và thời gian.
• Thông tin về Camera
Camera có định danh duy nhất camera_id, brand_name và
model_number.
• Thông tin về Album
Một photo có thể thuộc hơn một album. Một Album có nhiều photo.
Mỗi album có thông tin về ngày tạo và mô tả. Mỗi album cũng có tính
bảo mật hoặc là public hoặc private.
• Thông tin về Session
Mỗi session có thời gian bắt đầu (starttime), thời gian kết thúc
(endtime) và khoảng thời gian từ lúc đăng nhập đến khi kết thúc.
Thông tin về user được tham chiếu đến user trong hệ thống.

2.2 Thiết kế cơ sở dữ liệu
2.2.1 Thiết kế mức ý niệm
Trang 6
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
Hình 1: Class diagram
2.2.2 Thiết kế mức logic (sử dụng Oracle 11g)
Trang 7
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
Hình 2: Logical diagram
2.2.3 Thiết kế mức vật lý (sử dụng Oracle 11g code)
create type Location_t as object(
x integer,
y integer);
/
create type Contact_t as object(
email varchar2(100),
phone varchar2(20));
/
create type tags_typ as table of varchar2(50);
/
create or replace type Session_t as object(
SessionId integer,
UserId ref user_t,
Trang 8
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
sTime date,
eTime date);
/
create or replace type NT_UserSession as table of ref Session_t;
/

create or replace type Album_t as object(
AlbumId integer,
AlbumName varchar2(50),
CreationDate date,
AlbumDesc varchar2(400),
AlbumPrivacy varchar2(20),
Has NT_photos,
AlbumOwner ref user_t);
create or replace type NT_albums as table of ref Album_t;
/
create or replace type user_t as object(
usrId integer,
usrName varchar2(150),
usrPassword varchar2(32),
usrDOB date,
usrContact Contact_t,
Sess NT_UserSession,
PhotosOwn NT_photos,
PhotosFavorite NT_photos)
not final;
/
create or replace type guest_t under user_t( expDate date);
/
create or replace type member_t under user_t( )not final;
/
create or replace type member_basic_t under member_t(
maxofSpace number,
maxImgNum number);
/
create or replace type member_pro_t under member_t( annual_fee number);

/
create or replace type NT_users as table of ref user_t;
/
Trang 9
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
create or replace type Photo_t as object(
PhotoId integer,
TimeTaken date,
PhotoDis blob,
PhotoLoc location_t,
PhotoTags tags_typ,
PhotoPrivacy varchar2(20),
Ownner ref user_t,
CaptureBy ref Camera_t,
FavoriteBy NT_users,
Belong NT_Albums);
/
create or replace type NT_photos as table of ref Photo_t;
create or replace type PhotoComment_t as object(
Photo ref photo_t,
Usr ref user_t,
Descrpt varchar2(400),
CommTime date);
/
create or replace type Camera_t as object (
CameraId integer,
BranchName varchar2(100),
ModelNumber varchar2(50),
PhotoTaken NT_photos);
/

Recompile
create or replace type Photo_t as object(
PhotoId integer,
TimeTaken date,
PhotoDis blob,
PhotoLoc location_t,
PhotoTags tags_typ,
PhotoPrivacy varchar2(20),
Ownner ref user_t,
CaptureBy ref Camera_t,
Trang 10
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
FavoriteBy NT_users,
Belong NT_Albums);
/
create or replace type Album_t as object(
AlbumId integer,
AlbumName varchar2(50),
CreationDate date,
AlbumDesc varchar2(400),
AlbumPrivacy varchar2(20),
Has NT_photos,
AlbumOwner ref user_t);
/
create or replace type Session_t as object(
SessionId integer,
UserId ref user_t,
sTime date,
eTime date);
create or replace type user_t as object(

usrId integer,
usrName varchar2(150),
usrPassword varchar2(32),
usrDOB date,
usrContact Contact_t,
Sess NT_UserSession,
PhotosOwn NT_photos,
PhotosFavorite NT_photos)
not final;
/
create or replace type guest_t under user_t( expDate date);
/
create or replace type member_t under user_t( )not final;
/
create or replace type member_basic_t under member_t(
maxofSpace number,
maxImgNum number);
/
create or replace type member_pro_t under member_t( annual_fee number);
Trang 11
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
/
create table TAlbum of Album_t( primary key (AlbumId))
nested table has store as table_Album_pho;
/
create table TCamera of Camera_t( primary key (CameraId))
nested table phototaken store as table_photo_takenby;
/
create table TSession of Session_t( primary key (SessionId));
/

create table TPhoto of Photo_t(
primary key (PhotoId))
nested table favoriteby store as table_favUsr_of_pho,
nested table PhotoTags store as table_photoTag,
nested table belong store as table_Album_belongto;
/
create table TUser of user_t(
primary key (usrId))
nested table Sess store as tableSess_of_usr,
nested table PhotosOwn store as tablePhotoOwn,
nested table PhotosFavorite store as tablePhotos_fav;
2.3 Thiết kế kiến trúc hệ thống
Trang 12
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
Hình 3: Mô hình kiến trúc hệ thống
Lớp giao diện: tương tác với người sử dụng, thu thập thông tin đồng thời
hiển thị kết quả cho người sử dụng. Lớp này sử dụng các dịch vụ do lớp
business cung cấp.
Lớp Business: bao gồm các thực thể tương tác với nhau, thực hiện các
nhiệm vụ chính của hệ thống, các thao tác mang tính chất luận lý và các
luật yêu cầu cho nghiệp vụ. Các thao tác chi tiết của lớp này hoàn toàn vô
hình với lớp giao diện, lớp giao diện không cần quan tâm thao tác chi tiết
của lớp Business. Lớp này sử dụng các dịch vụ do lớp DataAccess cung
cấp.
Lớp DataAccess: thực hiện nhiệm vụ lưu trữ và truy xuất thông tin từ cơ
sở dữ liệu và cung cấp dịch vụ cho lớp Business.
2.4 Hiện thực ứng dụng
Trang 13
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
2.4.1 Giao diện upload hình ảnh

 Sau khi đã đăng nhập, người dùng có thể bắt đầu upload hình ảnh
2.4.2 Giao diện chỉnh sửa thông tin hình ảnh upload
Trang 14
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
 Sau khi đã upload ảnh ưa thích, trang web sẽ tự động được chuyển sang
trang chỉnh sửa thông tin cho ảnh đó.
 Cho phép người dùng là khách hoặc thành viên thêm mới, xóa, sửa các bức
hình của mình.
2.4.3 Giao diện duyệt hình ảnh đã upload
Trang 15
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
 Người dùng có thể duyệt những ảnh mà mình đã upload lên
2.4.4 Giao diện tìm kiếm hình ảnh với phạm vi "public"
Trang 16
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
 Các bức ảnh mà người khác đăng với phạm vi "public" (dành cho cộng đồng
xem).
2.4.5 Giao diện xem thông tin hình ảnh và đánh dấu “thích ảnh”
Trang 17
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
 Nếu là khách vãng lai không có tài khoản thì có thể tìm kiếm theo tags và
xem thông tin của ảnh.
 Nếu là người có tài khoản nhưng không phải là người đăng ảnh thì có thể
đánh dấu cho biết mình thích bức ảnh đó.
KẾT LUẬN
Trang 18
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
Báo cáo trình bày được các khái niệm cơ bản, ưu điểm và nhược điểm của ba
loại hệ quản trị cơ sở dữ liệu. Các ứng dụng thường gặp của hệ quản trị cơ sở dữ
liệu quan hệ đối tượng, cũng như các tính năng quan hệ đối tượng trong Oracle.

Đồng thời cũng trình bày được cách hiện thực một đối tượng trong cơ sở dữ
liệu quan hệ đối tượng. Thể hiện được tính kế thừa, cách tham chiếu đến một đối
tượng
Tuy nhiên do thời gian và nguồn lực hạn chế nên chương trình chỉ giới hạn ở
những chức năng cơ bản nhất nhưng minh họa được cách tiếp cận với hệ quản trị cơ
sở dữ liệu quan hệ đối tượng, cách thiết kế quan hệ đối tượng và sự ánh xạ giữa cơ
sở dữ liệu quan hệ đối tượng với lập trình hướng đối tượng.
Em rất mong nhận được sự góp ý của Thầy và các bạn. Một lần nữa em xin
chân thành cảm ơn Thầy PGS.TS. Đỗ Phúc đã tận tình hướng dẫn để em hoàn
thành đề tài này.
Trang 19
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ PHÚC
TÀI LIỆU THAM KHẢO
[1]Wikipedia. Object-relational database.[Online].
/>[2]Informix. Object-Relational DBMS - The Next Wave. [Online].
/>zines/whitpprs/illuswp/wave.htm
[3] Oracle Database Express Edition 11g Release 2. [Online].
/>ssSourceSiteId=ocomen
[4] Defining Object Types. [Online].
/>[5] A Point of View on ORDBMS.[Online].
/>[6] Oracle (9i/10g/11g) SQL, PL/SQL. [Online].
/>trainer-9techies-tc112210.html
[7] Object-Relational Database Management System (ORDBMS).[Online].
/>management-system-ordbms
[8] Slide bài giảng CSDL hướng đối tượng (OODB).[Online].
/>Phan-A
[9] Các loại trình ứng dụng cơ sở dữ liệu. [Online].
/>[10] Hướng đối tượng trong Oracle. [Online].
/>[11] Vai trò của ORDBMS (Object-Relational Database Management System).
[Online]. http://74.55.14.218/vi/link-popularity/the-role-of-ordbms-object-

relational-database.html
Trang 20

×