Professional Documents
Culture Documents
4. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của đồ án tốt nghiệp và cho
phép bảo vệ.
Th.S Đỗ Văn Uy
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 1-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
- Tìm hiểu tính toàn vẹn, các ràng buộc toàn vẹn, mô phỏng phụ thuộc hàm trong cơ
sở dữ liệu hướng đối tượng.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 2-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
4. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của đồ án tốt nghiệp và cho
phép bảo vệ.
Th.S Đỗ Văn Uy
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 3-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
- Tìm hiểu tính toàn vẹn, các ràng buộc toàn vẹn, mô phỏng phụ thuộc hàm trong cơ
sở dữ liệu hướng đối tượng.
- Vấn đề bảo mật trong cơ sở dữ liệu hướng đối tượng.
- Tìm hiểu các bước chuẩn hóa trong một cơ sở dữ liệu hướng đối tượng.
- Tìm hiểu tổng quan về cơ sở dữ liệu hướng đối tượng db4o
- Áp dụng cơ sở dữ liệu hướng đối tượng db4o để xây dựng chương trình ‘bán hàng
online –laptop’.
Với những nội dung của đồ án được trình bày như trên, báo cáo đồ án tốt nghiệp được
chia thành 3 chương. Nội dung của mỗi chương được trình bày như sau :
Chương 1 : Tổng quan về cơ sở dữ liệu hướng đối tượng. Trình bày những khái
niệm cơ bản về cơ sở dữ liệu hướng đối tượng. Các tiêu chuẩn, ngôn ngữ thiết kế
trong cơ sở dữ liệu hướng đối tượng, và vấn đề ánh xạ đối tượng- quan hệ.
Chương 2 : Tính toàn vẹn và bảo mật trong cơ sở dữ liệu hướng đối tượng. Trình
bày về tính toàn vẹn trong cơ sở dư liệu hướng đối tượng, các ràng buộc toàn vẹn,
ràng buộc miền, mô phỏng phụ thuộc hàm.Trong chương này cũng đưa ra vấn đề
về chuẩn hóa trong cơ sở dữ liệu hướng đối tượng
Chương 3 : Xây dựng ứng dụng ‘bán hàng online – laptop’ sử dụng hệ quản trị cơ
sở dữ liệu hướng đối tượng DB4O. Tìm hiểu tổng quan về cơ sở dữ liệu hướng đối
tượng DB4O để xây dựng tính bảo mật cho một hệ thống. Phân tích và thiết kế một
ứng dụng.
Phần kết luận và đánh giá : Trong phần này, báo cáo các kết quả thực hiện trong quá trình
làm đồ án, từ những kết quả tìm hiểu về lý thuyết và kết quả cài đặt chương trình khi thực
hiện bài toán.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 4-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
With terns of plan is shown, plan's report for greduate is divided three Chapters.
Chapter 1: Generally about ODB, to show conceptions basic ODB, Normalizations,
design language in ODB, the problem about Object – relational Mapping.
Chapter 2 : Integrative and security in an ODB, to show about integrative in ODB,
Integrity Constraints, Domain Constraints, Simulating Functional Dependencies. In
this chapter also to show the problem normality in ODB.
Chapter 3: To build application " sell goods online – laptop" using Object Database
Management Systems db4o. To search general about OOD db4o, to build security
for system. To analyse and design an application.
Conclution and appreciation: In this part, the report of results's plan doing from all results I
found, and from the results about theory and programmes set up.
MỤC LỤC
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 5-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
2. Các tiêu chuẩn, ngôn ngữ và thiết kế của cơ sở dữ liệu hướng đối
tượng ..................................................................................................................31
2.1. Tổng quan về mô hình hướng đối tượng của ODMG ........................................32
2.1.1. Đối tượng và Literal ....................................................................................32
2.1.2. Những giao diện tích hợp có sẵn đối với đối tượng tập hợp.......................35
2.1.3. Đối tượng phần tử .......................................................................................35
2.1.4. Giao diện,lớp và tính kế thừa ......................................................................36
2.1.5. Extents, khóa, đối tượng chế tạo .................................................................37
2.2. Ngôn ngữ định nghĩa đối tượng .........................................................................37
2.3. Tổng quan về kết hợp với ngôn ngữ java ..........................................................37
2.4. Thiết kế khái niệm cơ sở dữ liệu hướng đối tượng ...........................................38
2.4.1. Sự khác biệt giữa thiết kế khái niệm của ODB và RDB .............................38
2.4.2. Ánh xạ một lược đồ EER vào lược đồ ODB ...............................................39
2.5. Các hệ cơ sở dữ liệu đối tượng ODBMS ............................................................41
2.6. Tổng kết...............................................................................................................41
3. Ánh xạ quan hệ - đối tượng ..........................................................................42
3.1. Định nghĩa hình thức của sơ đồ ODB ................................................................42
3.2. Ánh xạ đối tượng – quan hệ ...............................................................................44
3.2.1. Ánh xạ các lớp thành các quan hệ...............................................................44
3.2.2. Ánh xạ sự phân cấp lớp ...............................................................................45
3.3. Ánh xạ quan hệ - đối tượng ................................................................................45
3.3.1. Xác định cấu trúc lớp ..................................................................................45
3.3.2. Ghép lớp ......................................................................................................46
3.3.3. Ánh xạ khóa ngoài thành thuộc tính tham chiếu .........................................46
Chương 2. Tính toàn vẹn, chuẩn hóa và bảo mật cơ sở dữ liệu
hướng đối tượng ....................................................................................................47
1. Mô hình toàn vẹn cho hệ sơ sở dữ liệu hướng đối tượng............................47
1.1. Hệ quản trị ODB..................................................................................................47
1.2. Vấn đề toàn vẹn cho ODB...................................................................................47
1.3. Ràng buộc toàn vẹn .............................................................................................49
1.4. Biểu thức ràng buộc toàn vẹn..............................................................................50
1.5. Ràng buộc miền...................................................................................................53
1.6. Mô phỏng phụ thuộc hàm....................................................................................53
2. Vấn đề an toàn an ninh cho CSDL thời gian thực .......................................53
3. An toàn điều khiển tương tranh trong thời gian thực ..................................54
4. Chuẩn hóa trong ODB (Normalization in ODB) ..........................................55
4.1. First Object Normal Form (1ONF) .....................................................................55
4.2. Second Object Normal Form (2ONF) .................................................................57
4.3. Third Object Normal Form (3ONF)....................................................................58
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 6-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 7-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 8-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Phân tích và thiết kế một ứng dụng.Nhận xét và đánh giá hệ thống đã xây
dựng.
Cuối cùng em xin trân trọng bày tỏ lời cám ơn sâu sắc đến Th.S Đỗ Văn Uy –
Phó trưởng khoa Công nghệ thông tin đã tận tình hướng dẫn và giúp đỡ em trong
suốt thời gian thực hiện đồ án.
Em cũng xin trân thành cám ơn gia đình và bạn bè, những người luôn gần gũi
động viên và giúp đỡ và tạo điều kiện để em có thể hoàn thành đồ án này.
Trong phạm vi của một đồ án tốt nghiệp, đề tài còn có nhiều hạn chế. Em rất
mong nhận được nhiều ý kiến đóng góp từ các thầy cô và bạn bè để đề tài được đầy
đủ và hoàn thiện hơn. Em xin trân trọng cám ơn !
ĐàoVăn Tâm
Lớp CNPM Khóa 48
Khoa CNTT - Trường ĐHBKHN
.........................................................................................................................................87
Bảng 4.1. Lớp Manufacturer .........................................................................................87
.........................................................................................................................................87
Bảng 4.2. Lớp Catagory .................................................................................................87
.........................................................................................................................................88
Bảng 4.3. Lớp Product ...................................................................................................88
.........................................................................................................................................88
Bảng 4.4. Lớp ProductReview ......................................................................................88
.........................................................................................................................................88
Bảng 4.5. Lớp ProductSpecial .......................................................................................88
.........................................................................................................................................89
Bảng 4.6. Lớp Order .......................................................................................................89
.........................................................................................................................................90
Bảng 4.7. Lớp ProductSpecial .......................................................................................90
.........................................................................................................................................90
Bảng 4.8 . Lớp TaxClass...............................................................................................90
.........................................................................................................................................90
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 9-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Hình 1.1 Đối tượng phức hợp Department dưới dạng đồ thị .........................................16
Hình 1.2. Thiết lập kiểu đối tượng ........................................................................................17
Hình 1.3. Thao tác và định nghĩa ...........................................................................................19
Hình 1.4. Tạo đối tượng bảo toàn ..........................................................................................21
Hình 1.5. Đối tượng phức hợp ...............................................................................................25
Hình 2.1 Giao diện phần tử trong ODMG ...........................................................................33
Hình 2.2 Giao diện cho các đối tượng tập hợp...................................................................34
Hình 2.3. Transaction là giải pháp từ ngoài constrained object set ..............................50
Hình 2.4.1: class Student chưa ở dạng chuẩn .....................................................................56
Hình 2.4.2: Class Student ở dạng chuẩn 1ONF ................................................................57
Hình 2.4.3: Class Student ở dạng chuẩn 2ONF .................................................................58
Hình 2.4.4: Class Student ở dạng chuẩn 3ONF .................................................................58
Hình 2.5. The object-oriented model ....................................................................................59
Hình 3.1.1. One-Line-of-Code Database loại trừ Complexity.......................................61
Hình 3.1.2 Db4o database với hai objects, được view bởi ObjectManager ...............64
Hình 3.1.3. Ví dụ databse db4o với tất cả các thuộc tính thay đổi ...............................64
Hình 3.1.4. Hai đối tượng person với các thuộc tính .......................................................65
Hình 3.1.5. Một số object graph của objects ......................................................................66
Hình 3.1.6. Các đối tượng trong database db4o.................................................................67
Hình 3.1.7. Các đối tượng liên quan trong quan hệ ngược .............................................68
Hình 3.1.8. Object graph của objects trong quan hệ ngược ..........................................68
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 10-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Hình 3.1.9. Định nghĩa class Person và Address trong ODL .........................................69
Hình 3.1.10. Địng nghĩa clas Manager và Employee trong ODL .................................70
Hình 3.1.11. Quan hệ One-to-many .....................................................................................70
Hình 3.1.12. Object graph trong quan hệ one-to-many ...................................................70
Hình 3.1.13. Định nghĩa class Project và Employee trong ODL ..................................71
Hình 3.1.14. Minh họa object graph với quan hệ many-to-many .................................72
Hình 3.1.15. Quan hệ Many-to-many sử dụng mối quan hệ ngược ............................73
Hình 3.2.1. Người dùng trong hệ thống ...........................................................74
Hình 3.2.2. Use case hệ thống ...................................................................................75
Hình 3.2.3. Use case của admin ........................................................................76
Hình 3.2.4. Use case của customer ....................................................................77
Hình 3.2.5. Use case của admin – quản lý manufacturer ...............................................79
Hình 3.2.6. Use case của admin – quản lý catagory ........................................................79
Hình 3.2.7. Use case của admin – quản lý catagory ........................................................80
Hình 3.2.8. Use case của admin – quản lý customer .......................................................80
Hình 3.2.9. Use case của admin – quản lý order ..............................................................81
Hình 3.2.10. Use case của admin – quản lý taxrate .........................................................81
Hình 3.2.11. Use case của admin – quản lý user ..............................................................82
Hình 3.2.11. Use case của customer – quản lý thông tin cá nhân................................82
Hình 3.2.12. Use case của customer – quản lý giỏ hàng ................................................83
Hình 3.2.13. Biểu đồ sequence cho chức năng login hệ thống.....................................83
Hình 3.2.14. Biểu đồ sequence cho chức năng đăng ký .................................................84
Hình 3.2.15. Biểu đồ sequence cho chức năng logout hệ thống ..................................84
Hình 4.1. Mô hình quan hệ giữa các lớp trong hệ thống ................................................86
Hình 4.2.1. Kiến trúc MVC trong struts 2 ..........................................................................93
Hình 4.2.2. Thiết kế tầng controller .....................................................................................94
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 12-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Thuật ngữ hướng đối tượng - viết tắt là OO hay O-O – có nguồn gốc từ ngôn từ
lập trình OO, còn gọi là OOPL. Các khái niệm OO ngày nay được áp dụng trong
lĩnh vực CSDL, công nghệ phần mềm, công nghệ trí thức, trí tuệ nhân tạo và các hệ
máy tính nói chung. OOPL có nguồn gốc từ ngôn ngữ SIMULA, được giới thiệu
vào cuối những năm 1960.
Với SIMULA, khái niệm một lớp gộp cấu trúc dữ liệu bên trong của một đối
tượng vào phần khai báo một lớp. Sau đó, các nhà nghiên cứu đưa ra khái niệm về
kiểu dữ liệu khái quát, che chắn các cấu trúc dữ liệu bên trong và chỉ ra các hoạt
động với bên ngoài mà một đối tượng có thể có, dẫn đến khái niệm đóng gói
(Encapsulation). Ngôn ngữ lập trình SMALLTALK, do Xerox PARC xây dựng vào
những năm 1970, là một trong những ngôn ngữ đầu tiên gắn liền một cách rõ rệt với
các khái niệm OO bổ sung, như là truyền thông điệp và kế thừa. Nó được xem là
ngôn ngữ lập trình thuần OO, nghĩa là nó được thiết kết hoàn toàn dành cho hướng
đối tượng. Trái với ngôn ngữ lập trình lai OO thường gắn kết các khái niệm OO với
một ngôn ngữ đã có sẵn. Một ví dụ cho trường hợp sau là C++, vốn gắn kết các khái
niệm OO với ngôn ngữ đã rất phổ biến là ngôn ngữ lập trình C.
dài sự tồn tại của những đối tượng sao cho chúng được lưu trữ vĩnh viễn và do đó
các đối tượng vẫn bảo toàn sau khi chương trình chấm dứt và có thể được gọi lại sau
này cũng như được chia sẻ với các chương trình khác. Nói cách khác, OODB lưư
trữ các đối tượng bảo toàn ở nơi lưu trữ phụ và cho phép chia sẻ những đối tượng
này với nhiều chương trình và ứng dụng. Việc này đòi hỏi kết hợp các tính năng
phổ biến khác của hệ quản trị CSDL, như là cơ chế định chỉ mục, điều khiển song
hành và phục hồi. Một hệ OODB giao tiếp với một hoặc nhiều ngôn ngữ lập trình
OO để cung cấp khả năng đối tượng bảo toàn và chia sẻ.
Một tính năng khác của OODB là đối tượng có thể có một cấu trúc đối tượng của
sự phức hợp tuỳ ý để chứa đựng tất cả thông tin cần thiết mô tả đối tượng. Trái lại,
trong các hệ CSDL truyền thống, thông tin về đối tượng phức hợp thường được trải
ra trên nhiều quan hệ hay mẩu tin, dẫn đến việc mất đi tính tương đồng giữa đối
tượng thực tế và thể hiện của nó trên CSDLCấu trúc bên trong của CSDL hướng đối
tượng.
Cấu trúc bên trong của một đối tượng trong OOPL bao gồm đặc tả của biến bản
sao, lưu giữ những giá trị xác định trạng thái bên trong của đối tượng. Do đó, một
biến bản sao tương tự với khái niệm của một thuộc tính (Attributes), ngoại trừ rằng
biến bản có thể được đóng gói bên trong đối tượng và như vậy, không nhất thiết
phải thể hiện ra đối với người sử dụng bên ngoài. Các biến bảo sao còn có thể thuộc
kiểu dữ liệu phức hợp tuỳ ý. Những hệ thống hướng đối tượng cho phép định nghĩa
các thao tác hay hàm ( hành vi) áp dụng lên kiểu đối tượng cụ thể. Trong thực tế,
một số mô hình OO khẳng định rằng tất cả các hành vi mà người sử dụng áp dụng
lên một đối tượng đều phải định nghĩa trước. Điều này bắt buộc một sự đóng gói
hoàn chỉnh các đối tượng.
Việc tiếp cận cứng nhắc được nới lỏng trong phần lớn các mô hình OO vì một số
lý do.
Thứ nhất, người sử dụng CSDL thường biết tên thuộc tính, vì vậy, họ có
thể đưa ra những điều kiện cụ thể lựa chọn trên các thuộc tính để lấy
những đối tượng cụ thể.
Thứ hai, việc đóng gói hỏi thao tác được định nghĩa sẵn, làm cho việc chỉ
ra một câu truy vấn tức thời trực tuyến trở nên khó khăn.
Một khái niệm quan trọng khác trong các hệ OO là phân cấp lớp (Classification) ,
kiểu(Type) và tính kế thừa (Inheritence). Nó cho phép chỉ ra những kiểu hoặc lớp
mới kế thừa hầu hết về cấu trúc và các hoạt động của các kiểu hoặc lớp định nghĩa
trước. Do đó, đặc điểm của kiểu đối tượng có thể xử lý một cách hệ thống. Điều này
làm cho việc xây dựng các kiểu dữ liệu của một hệ thống dễ dàng hơn và sử dụng
lại các định nghĩa kiểu hiện có khi tạo ra những kiểu đối tượng mới.
Một số hệ thống OO cung cấp khả năng xử lý với nhiều phiên bản của cùng một
đối tượng - một tính năng chủ yếu trong các ứng dụng cho thiết kế và công nghệ. Ví
dụ, phiên bản cũ của một đối tượng thể hiện một thiết kế đã được kiểm nghiệm và
thẩm định nên được duy trì cho đến khi phiên bản mới lại được kiểm nghiệm và
thẩm định. Phiên bản mới của một đối tượng phức hợp có thể chỉ bao gồm một số
phiên bản mới của các đối tượng thành phần của nó, trong khi các thành phần khác
không thay đổi. Ngoài việc cho phép phiên bản hoá, OODB còn cho phép đối với
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 14-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
phát triển lược đồ, xảy ra khi định nghĩa kiểu bị thay đổi hoặc khi các kiểu hay mối
quan hệ mới được tạo ra. Hai tính năng này không dành riêng cho các OODB và về
nguyên tắc nên có trong tất cả các kiểu của DBMS.
Một khái niệm OO khác là tính đa dạng toán tử, đề cập đến khả năng một thao
tác áp dụng lên nhiều kiểu đối tượng khác nhau; trong trường hợp này, tên của thao
tác sẽ tham chiếu đến nhiều cài đặt riêng biệt, phụ thuộc vào kiểu đối tượng đang áp
dụng lên. Tính năng này còn gọi là chồng lớp toán tử. Ví dụ, hoạt động tính diện
tích của một đối tượng hình học có thể khác nhau về phương thức (cách thực hiện),
phụ thuộc vào đối tượng thuộc kiểu hình tam giác, hình tròn hay hình chữ nhật.
Như vậy bắt buộc phải sử dụng ràng buộc trễ của tên hoạt động với phương thức
tương ứng vào lúc thực thi, khi đã xác định được kiểu của đối tượng mà hoạt động
đang áp dụng.
1.3. Xác định đối tượng, cấu trúc đối tượng và thiết lập kiểu đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 15-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
trong kho lưu trữ, bởi vì địa chỉ vật lý có thể thay đổi sau một đợt tổ chức lại của
CSDL về phương diện vật lý.
Tuy vậy, một số hệ thống vẫn sử dụng địa chỉ vật lý làm OID để tăng cường
hiệu quả trong truy vấn đối tượng. Nếu địa chỉ vật lý của một đối tượng thay đổi,
một con trỏ gián tiếp có thể được đặt tại địa chỉ trước đó, sẽ cho biết vị trí vật lý
mới của đối tượng. Phổ biến hơn, người ta sử dụng số Long Interger làm OID, sau
đó sử dụng sẽ sử dụng một số dạng bảng băm (hash table) để ánh xạ giá trị OID đến
địa chỉ vật lý của đối tượng.
Một số mô hình dữ liệu OO trước đây đòi hỏi mọi thứ - từ giá trị đơn giản đến
đối tượng phức tạp - đều phải được biểu diễn như một đối tượng, do đó mọi giá trị
cơ bản, như là interger, string, hay giá trị lôgic đều có một OID. Như vậy hai giá trị
cơ bản sẽ có hai OID khác nhau, điều này rất có ích trong một số trường hợp. Ví dụ,
giá trị interger 50 đôi khi mang ý nghĩa là trọng lượng tính bằng kilogram và ở thời
điểm khác nó mang ý nghĩa là tuổi tác của một người.
Kế đến, hai đối tượng cơ bản với OID phân biệt thể được tạo ra, nhưng cả hai
đối tượng cũng biểu diễn giá trị interger 50. Mặc dù hữu ích như một mô hình lý
thuyết, điều này, lại rất phi thực tế, bởi vì nó dẫn đến việc phát sinh quá nhiều OID.
Do đó, hầu hết các hệ CSDL OO cho phép biểu diễn vừa đối tượng và cả giá
trị. Mỗi đối tượng phải có một OID bất biến, trong khi giá trị thì không có OID và
chỉ đại diện cho chính nó. Vì vậy, một giá trị về nguyên tắc được chứa trong một
đối tượng và không được tham chiếu từ những đối tượng khác.
Trong một số hệ thống, nếu cần, các giá trị cấu trúc phức tạp còn có thể được
tạo ra mà không có OID tương ứng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 16-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Nếu c = set, thì trạng thái v là tập hợp của các xác định đối tượng { i1 , i2 ,
…, in }, là những OID trong tập các đối tượng, về nguyên tắc, là cùng
kiểu.
Nếu c = mẩu tin trạng thái v là một mẩu tin có dạng < a1 : i1 , a 2 : i2 ,
…, a n : in >, trong đó mỗi a j là tên thuộc tính và mỗi i j là một OID.
Nếu c = list, giá trị v là một danh sách có thứ tự [ i1 , i2 , in ] của OID của
các đối tượng cùng kiểu. Một danh sách tương đương với một set, chỉ
khác là các OID trong danh sách được xếp thứ tự , vì vậy chúng ta có thể
tham chiếu đến đối tượng thứ nhất, thứ hai, hoặc thứ j trong danh sách.
Nếu c = array, trạng thái của đối tượng là mảng một chiều gồm các OIDS
Điểm khác biệt chính giữa mảng và danh sách là danh sách có số phần tử tuỳ ý,
trong khi mảng về nguyên tắc phải có kích cỡ tối đa. Điểm khác biệt giữa set và bag
là tất cả phần tử trong một set phải phân biệt trong khi một bag có thể có nhiều phần
tử trùng nhau.
Thiết lập kiểu đối tượng set, List, ArrayList, và bag được gọi là kiểu tập hợp
(collection), để phân biệt chúng với các kiểu cơ bản và kiểu mẩu tin.Đặc điểm chính
của kiểu tập hợp là trạng thái của đối tượng là tập hợp các đối tượng không theo thứ
tự (như là set hoặc bag) hay xếp theo thứ tự (như là danh sách hay mảng.Thiết lập
kiểu đối tượng mẩu tin thường được gọi là kiểu cấu trúc, vì nó tương ứng với kiểu
strut trong ngôn ngữ lập trình C và C++.
Ví dụ : Một đối tượng phức tạp
Một đối tượng là một bộ ba (OID, thiết lập kiểu đối tượng, trạng thái) và thiết
lập kiểu đối tượng có sẵn là phần tử, set, mẩu tin, list. Kí hiệu i1,i2,i3,… để thay thế
OID do hệ thống phát sinh duy nhất. Xét các đối tượng sau:
o1=(i1,element,’Cần thơ’)
o2=(i2,element,’Huế’)
o3=(i3,element,’TP HCM’)
o4=(i4,element,5)
o5=(i5,element,’Nghiên cứu’)
o6=(i6,element,’1985-09-02’)
o7=(i7,set,{i1, i2, i3})
o8=(i8,mẩu tin,< departmentName:i5, departmentId:i4, Manager:i9, address:i7, employee:i10,
project:i11>)
o9=(i9,mẩu tin,<managerName:i12, startDate:i6>)
o10=(i10,set,{ i12, i13, i14})
o11=(i11,set,{ i13, i14, i15})
o12=(i12,mẩu tin,<name:i18, firstname :i19, departmentId:i8,.., salary:i26,departmentId:i8)
……………….
Sáu đối tượng đầu tiên (o�1-o6) ở đây biểu diễn những giá trị phần tử. Có
nhiều đối tượng tương đương, mỗi cái có một giá trị hằng phân biệt trong ODB.
Đối tượng o�7 là một đối tượng có giá trị là set được thể hiện dưới dạng tập các địa
điểm của Department số 5; bộ {i1, i2, i3} tham chiếu đến các đối tượng phần tử có giá
trị {‘Cần thơ’,’Huế’,’TP.HCM’}. Đối tượng o8 là đối tượng có giá trị mẩu tin thể hiện
chính Department số 5, có cá thuộc tính departmentName,departmentId,address,…
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 17-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 18-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Hình 1.1 Đối tượng phức hợp Department dưới dạng đồ thị
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 19-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
đồ ODB. Trong mục 1.4 chúng ta sẽ thấy cách thức kết hợp định nghĩa của các hoạt
động (hay phương thức) vào lược đồ ODB.
Hình 1.2 minh họa cách thức khai báo kiểu Employee và Department ứng với
các bản sao đối tượng minh họa trong hình 1.1. ở hình 1.2, kiểu Data được định
nghĩa như là một mẫu tin thay vì là một giá trị phần tử như trong hình 1.1. Chúng ta
sử dụng mẩu tin, bộ và danh sách cho thiết lập kiểu đối tượng và các kiểu dữ liệu
chuẩn sẵn (interger, chuỗi, số thực, v.v...) cho các kiểu phần tử.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 20-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
tường minh một nghịch đảo như là những thuộc tính mối quan hệ để bảo đảm tham
chiếu nghịch đảo là nhất quán.
1.4. Đóng gói các hoạt động,phương thức và tính bảo toàn
Khái niệm đóng gói là một trong những đặc điểm chính của các ngôn ngữ và
hệ thống OO. Nó còn liên quan đến kiểu dữ liệu khái quát và ẩn giấu thông tin
trong ngôn ngữ lập trình. Các hệ thống và mô hình CSDL ra cho người sử dụng và
các chương trình bên ngoài, các mô hình truyền thống này, các hoạt động CSDL
chuẩn đều được áp dụng lên đối tượng của tất cả các kiểu. Ví dụ, trong mô hình
quan hệ các hoạt động chọn lọc, chèn mới xóa và chỉnh sửa mẩu tin đều tổng quát
và có thể áp dụng cho bất kỳ quan hệ nào trong CSDL.
Quan hệ và các thuộc tính của nó đều được thể hiện rõ cho người sử dụng và
các chương trình bên ngoài đang truy cập đến quan hệ bằng cách sử dụng những
thao tác này.
1.4.1. Mô tả xử lý của đối tượng thông qua các hoạt động của lớp
Khái niệm ẩn giấu thông tin và đóng gói có thể áp dụng lên ODB. Mục đích
chính là để định nghĩa hành vi của kiểu đối tượng dựa trên các thao tác áp dụng ra
bên ngoài đối với các đối tượng thuộc kiểu đó. Cấu trúc bên trong của đối tượng
được che đi và đối tượng chỉ được truy cập thông qua một số thao tác dùng để tạo
mới (chèn) hay hủy bỏ (xóa) đối tượng; các thao tác khác nữa dùng để chọn lọc
nhứng trạng thái đối tượng hoặc áp dụng một số phép tính toán. Còn có những thao
tác tiến hành việc tổ hợp chọn lọc, tính toán và cập nhật.
Nhìn chung, việc thực hiện một thao tác có thể được xác định trong ngôn ngữ
lập trình tổng quát để cung cấp tính mềm dẻo và thế mạnh khi định nghĩa các thao
tác .
Người sử dụng bên ngoài của đối tượng chỉ nhận biết giao diện của kiểu đối
tượng, giao diện này định nghĩa tên và những thông số (tham chiếu) của mỗi thao
tác. Việc thực hiện bị che đi không cho người sử dụng bên ngoài biết; bao gồm định
nghĩa của các cấu trúc dữ liệu bên trong của đối tượng và phần thực hiện của các
thao tác truy cập những cấu trúc này. Trong thuật ngữ oo, phần giao diện của mỗi
thao tác được gọi là chữ ký và phần thực hiện thao tác gọi là phương thức.
Về nguyên tắc một phương thức được kích hoạt bằng cách gửi một thông điệp
đến đối tượng để thi hành phương thức tương ứng. Lưu ý rằng, trong lúc thi hành
phương thức, một thông điệp nữa có thể được gửi đến một đối tượng khác và cơ chế
này được dùng để trả về giá trị từ các đối tượng đến môi trường bên ngoài hay các
đối tượng khác.
Đối với ứng dụng CSDL , việc đòi hỏi tất cả các đối tượng đều phải được đóng
gói là khá khắt khe. Có thể giảm nhẹ bớt bằng cách chia cấu trúc đối tượng thành
những thuộc tính được biểu hiện và những thuộc tính ẩn giấu (những biến bản sao).
Thuộc tính biểu hiện có thể được truy cập trực tiếp bằng cách đọc ra nhờ các toán tử
bên ngoài hoặc những ngôn ngữ truy vấn cao cấp. Các thuộc tính ẩn giấu của đối
tượng được đóng gói hoàn toàn và chỉ được truy cập thông qua các thao tác định
nghĩa sẵn.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 21-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Hầu hết các OODBMS sử dụng những ngôn ngữ truy vấn cao cấp để truy cập
các thuộc tính biểu hiện. Trong phần 2 chúng ta sẽ mô tả ngôn ngữ truy vấn OQL
được xem là một ngôn ngữ truy vấn cao cấp chuẩn cho các ODB.
Trong hầu hết trường hợp, các thao tác cập nhật trạng thái của một đối tượng
đều được đóng gói. đó là cách định nghĩa ngữ nghĩa cập nhật của đối tượng, biết
rằng trong nhiều mô hình dữ liệu OO một vài rằng buộc toàn vẹn được định nghĩa
sẵn trong lược đồ. Mỗi kiểu đối tượng có những ràng buộc toàn vẹn được lập trình
sẵn trong những phương thức để tạo mới, xóa và cập nhật các những đối tượng bằng
cách lập trình rõ ràng để kiểm tra việc vi phạm ràng buộc và xử lý những lỗi gây ra.
Khi đó tất cả các thao tác cập nhật được thực hiện bằng các thao tác đã được
đóng gói . Gần đây hơn, ODL của tiêu chuẩn ODMG 3.0 cho phép việc mô tả một
số ràng buộc như là khóa và mối quan hệ nghịch đảo (toàn vẹn tham chiếu) sao cho
hệ thống có thể áp dụng những ràn buộc này một cách tự động .
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 22-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Thuật ngữ lớp class thường dùng để nhắc đến định nghĩa của đối tượng, cũng
như định nghĩa các thao tác của kiểu đó. Hình 1.3 trình bày cách mở rộng định
nghĩa kiểu của hình 1.2 bằng những thao tác để định nghĩa lớp. Số lượng các thao
tác được khai báo trong mỗi lớp và chữ ký (giao diện) của mỗi thao tác được bao
hàm trong mỗi lớp. Phương thức (việc thực hiện) của mỗi thao tác phải được định
nghĩa ở một nơi khác bằng cách sử dụng ngôn ngữ lập trình.
Những thao tác điển hình bao gồm thao tác thiết lập đối tượng, dùng để thiết
lập một đối tượng mới và thao tác hủy bỏ đối tượng, dùng để hủy bỏ đối tượng. Các
thao tác sửa đổi đối tượng cũng được khai báo để thay đổi các thuộc tính khác nhau
của đối tượng, những thao tác khác tìm kiếm thông tin về đối tượng.
Về nguyên tắc, thao tác được áp dụng với đối tượng thông qua sử dụng dấu
chấm. Ví dụ, nếu d là một tham chiếu đến đối tựong Department, chúng ta có thể
kích hoạt một thao tác như là getNoOfEmployee bằng cách viết d.
getNoOfEmployee. Tương tự như thế bằng cách viết d.deleteDepartment, đối tượng
mà d tham chiếu đến bị hủy bỏ (xóa). Chỉ trừ một ngoại lệ là thao tác thiết lập đối
tượng, trả về một tham chiếu đến đối tượng Department mới. Do đó, thông thường
nó sẽ có một tên mặc định cho thao tác tham chiếu đến các thuộc tính của đối
tượng.
1.4.2. Mô tả tính bảo toàn của đối tượng thông qua cách đặt tên và cách tiếp
cận
Một hệ OODBMS thường đi kèm với một số ngôn ngữ lập trình hướng đối
tượng (OOPL). OOPL được dùng để mô tả việc thực hiện phương thức cũng như
những mã nguồn ứng dụng khác. Về nguên tắc, một đối tượng được tạo ra bằng
cách thực thi chương trình ứng dụng, bằng cách kích hoạt thao tác thiết lập đối
tượng. Không nhất thiết là tất cả các đối tượng đều được lưu trữ vĩnh viễn trong
CSDL. Các đối tượng tức thời tồn tại trong lúc thực thi chương trình và biến mất
mỗi khi chương trình kết thúc. Các đối tượng bảo toàn được lưu trong CSDL và vẫn
tồn tại khi chương trình kết thúc. Cơ thế điển thình để biến các đối tượng thành bảo
toàn gọi là đặt tên và tiếp cận.
Cơ chế đặt tên cung cấp cho đối tượng một tên gọi bảo toàn duy nhất để thông
qua đó, có thể lấy được đối tượng từ chương trình này và những chương trình khác.
Tên này được cung cấp thông qua một câu lệnh hay một thao tác cụ thể trong
chương trình. Toàn bộ tên cấp cho đối tượng phải duy nhất trong một CSDL cụ thể.
Vì vậy, những đối tượng bảo toàn có đặt tên được sử dụng như những đầu vào
CSDL mà thông qua đó người sử dụng và ứng dụng có thể bắt đầu truy cập CSDL.
Dĩ nhiên, đặt tên cho tất cả các đối tượng trong một CSDL lớn gồm hàng nghìn
đối tượng là điều phi thực tế, nên điều hầu hết các đối tượng được chuyển thành bảo
toàn bằng cách dụng cơ chế thứ hai, gọi là sự tiếp cận. Cơ chế tiếp cận hoạt động
bằng cách biến đổi đối tượng trở thành dễ tiếp cận từ đối tượng bảo toàn khác. đối
tượng B được xem là có thể tiếp cận được đối tượng A nếu một trình tự các tham
chiếu trong biểu đồ đối tượng nối từ đối tượng A đến đối tượng B. Ví dụ, tất cả đối
tượng trong hình 1.1 đều có thể tiếp cận được từ đối tượng o8; do đó, nếu như o8
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 23-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
được chuyển thành bảo toàn, tất cả những đối tượng khác trong hình 1.1 đều trở
thành bảo toàn.
Thông thường trong các ứng dụng CSDL, mỗi kiểu hoặc kiểu con sẽ có một
extent liên quan, nắm giữ tập hợp các đối tượng bảo toàn của kiểu/ kiểu con đó.
Trong trường hợp này, ràng buộc là mọi đối tượng trong một extent ứng dụng với
một kiểu con cũng phải là thành viên của extent ứng với kiểu cha của nó.
Một số hệ CSDL hướng đối tượng có kiểu extent của nó chứa tất cả các đối
tượng trong hệ thống (Được gọi là các object trong mô hình ODMG) . Sau đó việc
phân loại tiến hành bằng cách gán các đối tượng cho các kiểu con mang nhiều ý
nghĩa đối với ứng dụng, tạo ra cây phân cấp kiểu hay cây phân câp lớp cho hệ
thống. Tất các extent cho các lớp do hệ thống định nghĩa hoặc người sử dụng định
nghĩa là những tập con của extent ứng với lớp OBJECT, trực tiếp hoặc gián tiếp.
Trong phần lớn các hệ thống hướng đối tượng, có sự khác biệt giữa các đối
tượng tức thời, đối tượng bảo toàn và các tập hợp. Một tập hợp bảo toàn là tập hợp
các đối tượng lưu trữ vĩnh viễn trong CSDL và do đó, được truy cập và chia sẻ bởi
rất nhiều chương trình. Một tập hợp tức thời chỉ tồn tại tạm thời trong thời gian thi
hành chương trình nhưng không được lưu trữ lại khi chương trình kết thúc. Ví dụ,
một tập hợp tức thời được tạo ra trong chương trình để giữ kết quả của câu truy vấn
nhằm chọn lọc một số đối tượng từ tập hợp bảo toàn và sao chép các đối tượng đó
vào tập hợp tức thời.
Tập hợp tức thời nắm giữ cùng kiểu đối tượng như tập hợp bảo toàn. Sau đó,
chương trình có thể thao tác với các đối tượng trong tập hợp tức thời và mỗi khi
chương trình chấm dứt, tập hợp tức thời cũng thôi tồn tại. Nói chung, vô số tập hợp-
tức thời hay bảo toàn - đều chứa những đối tượng cùng kiểu.
Thiết lập kiểu đối tượng cho phép trạng thái của đối tượng là tập hợp của các
đối tượng . Do đó, những đối tượng trong tập hợp có kiểu dựa trên thiết lập kiểu set
có thể định nghĩa một số tập hợp – ứng với từng đối tượng. Những đối tượng có giá
trị là set bản thân chúng cũng là những thành viên của một tập hợp khác. Điều này
nói đến lược đồ phân loại đa cấp, trong đó một đối tượng trong tập hợp có trạng thái
là tập hợp các đối tượng của một lớp khác.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 24-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Một mối quan hệ kế thừa khác, gọi là extents và được chỉ ra bằng từ khóa
extents , được dùng để kế thừa vừa trạng thái vừa hành vi một cách chặt chẽ giữa
các lớp. Trong một kế thữa extents cả kiểu cha và con đều là lớp. Người ta không
cho phép đa kế thừa hành vi, do đó một giao diện có thể kế thừa hành vi từ một số
giao diện khác. Một lớp còn có thể kế thừa hành vi từ một vài giao diện thông qua
“:”, ngoài việc kế thừa hành vi và trạng thái từ không quá một lớp thông quan
extents .
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 25-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
pháp và ngữ nghĩa của ngôn ngữ lập trình java. Ngoài những kết hợp ODL/OML,
tập các thiết lập kiểu gọi là các pragma vật lý được định nghĩa để cho các lập trình
Cách thể hiện ràng buộc này dế đọc và dễ hiểu. Tuy nhiên, cách thể hiện này
có hai vấn đề lớn .
Vấn đề lớn nhất là nó xâm phạm luật đóng gói của các thuộc tính trong đối
tượng. Một thuộc tính chỉ có thể truy cập tới bởi các phương thức của đối
tượng chứa các thuộc tính đó.
Vấn đề thứ hai là các phép toán so sánh (< , >, =) chỉ được áp dụng với
những kiểu dữ liệu nguyên thủy. Không thể so sánh với các đối tượng phức
tạp như các bộ, các cấu trúc dữ liệu lồng
Xây dựng một hệ thống các ràng buộc với việc đơn giản biểu thức một với khả
năng sử dụng các phép toán xây dựng trên nó (chồng toán tử), không truy cập trực
tiếp các thuộc tính. Sử dụng kết quả trả về của hàm phương thức thay vì giá trị của
thuộc tính. Điều này là ít phụ thuộc vào cấu trúc bên trong của đối tượng. Thay vào
đó, ràng buộc được áp đặt vào vai trò bên ngoài của đối tượng (external behavior of
object).
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 27-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Ví dụ giới hạn tuổi của nhân viên (biểu thức 1) . Nhiều ứng dụng không lưu
tuổi như một thuộc tính thay vào đó là lưu lại giá trị năm sinh. Nếu áp đặt ràng buộc
lên các thuộc tính thì cùng một mục đính, ràng buộc được thể hiện khác nhau khi
cấu trúc đối tượng khác nhau. Cách tốt nhất là lấy giá trị tuổi từ phương thức
GetAge của đối tượng.
Những người cách tân muốn triển khai db4o database engine tại những giữa
những thiết bị điều khiển bằng dữ liệu phát sinh và những ứng dụng về cache user-
generated và client-side data, cho phép những đặc tính mới hấp dẫn và đạt được sự
thực hiện và tính linh hoạt chưa hề thấy.
- J2EE.
- J2SE.
- J2ME with reflection: CDC, PersonalProfile, Symbian,
JavaFX Mobile and Zaurus; on demand(2): J2ME w/o
Java reflection (CLDC and MIDP), including RIM/Blackberry
and Palm OS.
- Android (Open Handset Alliance).
- Harmony.
- Supported Frameworks: Spring, OSGi, Tomcat, JPOX.
- .NET Framework (1.0(1), 2.0, 3.0, 3.5).
- .NET Compact Framework 1.0(1), 2.0.
- Windows (XP, Vista).
.NET
- Windows Mobile / PocketPC.
- Mono(1).
- Supported Frameworks: Castle, Eiffel, Spring.net.
- Connect to .NET server with Java client.
Cross-platform
- Connect to Java server with .NET client.
Languages
Java JDK 1.1.x - JDK 6.0
. All managed .NET languages (C#, VB.NET,
.NET
ASP.NET, Boo, Managed C++ etc.)
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 28-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Commands
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 29-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
1.2.Object Indentity
Trong cơ sở dữ liệu đối tượng và quan hệ đưa nhưng cách tiếp cận khác về ý
tưởng indentity. Indentity xác định những thực thể được phân biệt với một thực thể
khác. Trong cơ sở dữ liệu quan hệ, thì thực thể được indentity bởi khóa chính và
khóa ngoại của dữ liệu. Những mối quan hệ được sử dụng trong những câu truy vấn
như yêu cầu join giữa hai table với nhau. Indentity phụ thuộc vào giá trị của trường
khóa.
Trong sư tương phản thì một OODBMS lưu trữ một định danh đối tượng
OID bên trong mỗi đối tượng. OID xác định một đối tượng duy nhất trong
OODBMS và cũng được dùng để chỉ tham chiếu tới một đối tượng khác tham chiếu
tới đối tượng
Với doang nghiệp : Sử dụng hệ thống để cập nhật các sản phẩm, đưa ra các
sản phẩm khuyến mãi và giảm giá đối với từng dòng sản phẩm. Ngoài ra còn cố hệ
thống tìm kiếm để phục vụ quá trình cập nhật dữ liệu về các sản phẩm.
Với khách hàng : Tìm kiếm sản phẩm mà họ muốn mua, biết được các thông
tin chi tiết về sản phẩm, mua các mặt hàng, đăng ký là thành viên của hệ thống và
gửi các thông tin phản hồi về sản phẩm đến hệ thống. Ngoài ra nếu khách hàng đã là
thành viên của hệ thống thì khách hàng có các chức năng như thay đổi thông tin cá
nhân, thay đổi địa chỉ giao hàng, thay đổi mật khẩu, xem các hóa đơn mà mình đã
mua sản phẩm trong hệ thống.
Đây là một bài toán đòi hỏi nhiều nghiệp vụ khác nhau nhưng do hạn chế về
thời gian và kinh nghiệp thiết kế hệ thống còn thiếu mới chỉ dừng lại ở một số
module nhất định. Hệ thống chỉ bao gồm các chức năng của một site giới thiệu sản
phẩm, bán hàng và có một số nghiệp vụ khác nhau, nên hệ thống xây dựng chưa đáp
ứng được một số nghiệp vụ đó.
3. Phân tích bài toán ‘bàn hàng online-laptop’
Trước khi phân tích và thiết kế chương trình thì phải xác định được các chức
năng mà hệ thống cần xây dựng và ai là người dùng trong hệ thống, đầu tiên ta phân
tích yêu cầu chức năng của hệ thống.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 30-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 31-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Lớp Catagory:
Attribute Type Visibility static final Ý nghĩa
Khóa đối tượng của
catagoryId Long private false false
category.
name String private false false Tên category
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 32-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Lớp Order:
Attribute Type Visibility static final Ý nghĩa
orderId Long private false false Khóa đối tượng order
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 33-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 35-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Lớp Currency:
Attribute Type Visibility static final Ý nghĩa
currencyid Long private false false
title String private false false Tên tiền
code String private false false mã
symbolLeft String private false false Ký tự tiền
symbolRight String private false false
decimalPoint String private false false
thousandsPoint String private false false
decimalPlaces String private false false
Value double private false false Giá trị
lastUpdated Date private false false Ngày cập nhật
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 36-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 37-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 38-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Các lớp DAO (Data Access Object) : Đây là các lớp truy xuất dữ liệu từ cơ
sở dữ liệu thực dựa trên các đối tượng JavaBean đã được ánh xạ quan hệ (là
tầng dưới cùng gần Database nhất). Việc truy xuất dữ liệu bao gồm các thao
tác CRUD (Create,Retrive,Update,Delete) và một số thao tác nghiệp vụ
khác. Các lớp này thực thi với sự hỗ trợ của ngôn ngữ HQL và quản lý
transaction của Spring framework.
Các lớp Service : Đây là tầng nằm trên tầng DAO. Các lớp trong tầng này
chủ yếu có nhiệm vụ thực hiện các chức năng nghiệp vụ của hệ thống và nó
trực tiếp gọi các lớp xử lý thao tác với cơ sở dữ liệu của tầng DAO.
Các lớp Action : Đây là tầng trên cùng trong tầng nghiệp vụ, nó nằm trên
tầng Service và trực tiếp gọi các phương thức của các lớp trong tầng Service
để xử lý các yêu cầu từ phía người dùng
Action Layer
Service Layer
DAO Layer
Database Server
Hình 4.2.2. Thiết kế tầng controller
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 39-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
hơn và sử dụng lại các thành phần chung. Điều này giúp giảm thiểu lượng
code và giúp cho việc lập trình trở nên ngắn gọn, đơn giản và dễ bảo trì.
5. Kết quả thu được
Trong phần trên đã tiến hành phân tích các chức năng, các trường hợp sử
dụng quan trọng trong hệ thống. Cuối cùng xin tổng kết lại các phần đã làm được và
đánh giá kết quả đồ án của mình.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 40-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
KẾT LUẬN
Vấn đề bảo mật cho cơ sở dữ liệu nói chung và bảo mật cơ sở dữ liệu hướng
đối tượng nói riêng vẫn còn tồn tại bên trong nó những khó khăn chưa giải quyết
được, trong phạm vi đồ án em đã tìm hiểu được một số vấn đề bảo mật trong cơ sở
dữ liệu thể thông quan về các ràng buộc toàn vẹn trong cơ sở dữ liệu hướng đối
tượng. Việc áp dụng một hệ quản trị cơ sở dữ liệu hướng đối tượng vào các ứng
dụng lớn và nhỏ đã được tìm hiểu và áp dụng từ lâu và vấn đề bảo mật trong các hệ
cơ sở dữ liệu hướng đối tượng đó, tuy nhiên có cải biên để phù hợp với tính chất
của các bài toán khác nhau.
Trong tương lai đề tài có thể phát triển theo hướng xây dựng một hệ thống bảo
mật không chỉ trên một hệ cơ sở dữ liệu hướng đối tượng riêng biệt nào, nó có thể
áp dụng cho các hệ quản trị cơ sở dữ liệu hướng đối tượng khác. Hệ thống có thể
nâng cao hơn mô hình bảo mật cho hệ thống, mở rộng các phương pháp bảo mật
khác nhau trong một hệ thống để tránh những xâm nhập trái phép ăn cắp dữ liệu.
Cuối cùng em rất mong nhận được sự góp ý, nhận xét của các thầy cô và các
bạn để hoàn thiện hơn nữa những hiểu biết của mình. Em xin một lần nữa gửi lời
cám ơn chân thành đến thầy giáo hướng dẫn cùng các thầy cô khác trong khoa công
nghệ thông tin trường ĐHBK HN và bạn bè đã giúp đỡ em trong quá trình thời gian
qua để hoàn thành đồ án tốt nghiệp này. Em xin chân thành cám ơn !
Hà nội, Ngày 12
Tháng 05 Năm 2008
Phụ lục
PHỤ LỤC A – Cách sử dụng công cụ ObjectManager
Công cụ Object Manager là một công cụ GUI để browse và query của bất kỳ file
db4o database nào. Object Manager hiện thời cung cấp những đặc tính sau đây :
Rất mạnh cho việc queries.
Rất hiệu quả với những tệp dữ liệu lớn.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 41-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Ở đây thì ta có thể thực hiện hai cách để mở được db4o database.
Mở file database db4o.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 42-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 43-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Database Managements :
Các chức năng của quản lý database hiện tại gồm có :
Backup database.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 44-
Đồ án tốt nghiệp – Bảo mật cơ sở dữ liệu hướng đối tượng
Defragment.
Refactoring (Schema Evolution)
Nội dung của đĩa CD được tổ chức thành các thư mục với các nội dung như sau:
APPLICATION : Chứa chương trình đã biện dịch và file trợ giúp chỉ dẫn
cách thực hiện chương trình.
DOC : File chứa toàn văn ĐATN và file tóm tắt đồ án tốt nghiệp.
SOURCE : Chứa toàn bộ mã nguồn và các thư viện cần thiết để biên dịch
chương trình minh họa cho ĐATN. Kèm theo file DOC chỉ dẫn cách biên
dịch chương trình.
Sinh viên thực hiện : Đào văn Tâm – Khóa 48 Lớp CNPM - 46-