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

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

Đ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

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 [...]... ả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... 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à... http://www.techopedia.com/definition/8715/object-relational-databasemanagement-system-ordbms [8] Slide bài giảng CSDL hướng đối tượng (OODB).[Online] http://www.scribd.com/doc/96371291/Bai-Giang-He-CSDL-Doi-Tuong-31-5-2012Phan-A [9] Các loại trình ứng dụng cơ sở dữ liệu [Online] http://taitailieu.com/threads/3130-Cac-loai-trinh-ung-dung-co-so-du-lieu [10] Hướng đối tượng trong Oracle [Online] http://www.oravn.com/nh-p-mon-oracle-f5/h-ng-i-t-ng-trong-oracle-t138.html... 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... 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] http://en.wikipedia.org/wiki/Object-relational_database [2]Informix Object-Relational DBMS - The Next Wave [Online] http://db.cs.berkeley.edu/papers/Informix/www.informix.com/informix/corpinfo/ . 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. 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. . 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ày đăng: 10/04/2015, 13:21

Từ khóa liên quan

Mục lục

  • [2]Informix. Object-Relational DBMS - The Next Wave. [Online]. http://db.cs.berkeley.edu/papers/Informix/www.informix.com/informix/corpinfo/ zines/whitpprs/illuswp/wave.htm

  • [3] Oracle Database Express Edition 11g Release 2. [Online]. http://www.oracle.com/technetwork/products/express-dition/downloads/index.html? ssSourceSiteId=ocomen [4] Defining Object Types. [Online]. http://docs.oracle.com/cd/B10501_01/appdev.920/a96595/dci03typ.htm

  • [5] A Point of View on ORDBMS.[Online]. http://savtechno.com/articles/ViewOfORDBMS.html

  • [7] Object-Relational Database Management System (ORDBMS).[Online]. http://www.techopedia.com/definition/8715/object-relational-database-management-system-ordbms

    • [9] Các loại trình ứng dụng cơ sở dữ liệu. [Online]. http://taitailieu.com/threads/3130-Cac-loai-trinh-ung-dung-co-so-du-lieu

    • [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

Tài liệu cùng người dùng

Tài liệu liên quan