Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

MỤC TIÊU:

Làm quen với một số định dạng độ bền đối tượng.


■ Có thể ánh xạ các đối tượng trong miền có vấn đề sang các định dạng tồn tại của
đối tượng khác nhau.
■ Có thể áp dụng các bước chuẩn hóa cho cơ sở dữ liệu quan hệ.
■ Có thể tối ưu hóa cơ sở dữ liệu quan hệ để lưu trữ và truy cập đối tượng.
■ Làm quen với các chỉ mục cho cơ sở dữ liệu quan hệ.
■ Có thể ước tính kích thước của cơ sở dữ liệu quan hệ.
■ Hiểu rõ về các yêu cầu phi chức năng trên lớp quản lý dữ liệu.
■ Có thể thiết kế các lớp thao tác và truy cập dữ liệu. .
ĐỊNH DẠNG ĐỘ BỀN ĐỐI TƯỢNG

Tệp Truy nhập Tuần tự và Ngẫu nhiên


Từ góc độ thực tế, hầu hết các ngôn ngữ lập trình hướng đối tượng đều hỗ trợ các
tệp truy cập tuần tự và ngẫu nhiên như một phần của ngôn ngữ. Các tệp truy cập
được sử dụng để hỗ trợ một ứng dụng. Ví dụ: chúng có thể được sử dụng để hỗ
trợ các tệp chính,tệp tra cứu, tệp giao dịch , tệp kiểm toán và tệp lịch sử.

Các tệp truy cập tuần  tự chỉ cho phép thực hiện các thao tác tệp tuần tự (ví dụ: đọc, ghi và
tìm kiếm). Các tệp truy cập tuần tự rất hiệu quả cho các hoạt động tuần tự xử lý tất
cả các đối tượng liên tiếp, chẳng hạn như viết báo cáo. Tuy nhiên, đối với các hoạt
động ngẫu nhiên, chẳng hạn như tìm kiếm hoặc cập nhật một đối tượng cụ thể,
chúng rất không hiệu quả. Trung bình, 50 phần trăm nội dung của một tập tin truy
cập tuần tự sẽ phải được tìm kiếm trước khi tìm thấy đối tượng cụ thể quan tâm
trong tập tin. Chúng có hai hương vị: đặt hàng và không sắp xếp
Một tệp truy cập tuần tự không sắp xếp  về cơ bản là một danh sách thông tin điện tử được
lưu trữ trên đĩa. Các tệp chưa sắp xếp được sắp xếp nối tiếp (tức là thứ tự của tệp là
thứ tự trong đó các đối tượng được ghi vào tệp). Thông thường, các đối tượng mới
chỉ đơn giản là được thêm vào cuối tệp.
Các tệp truy cập tuần tự được sắp xếp  được đặt vào một thứ tự được sắp xếp cụ thể (ví
dụ: theo thứ tự tăng dần theo số khách hàng). Có chi phí liên quan đến việc giữ các tệp
theo một thứ tự được sắp xếp cụ thể. Người thiết kế tệp có thể giữ cho tệp theo thứ
tự được sắp xếp bằng cách luôn tạo tệp mới mỗi khi xóa hoặc bổ sung xảy ra hoặc
anh ta hoặc cô ta có thể theo dõi thứ tự đã sắp xếp thông qua việc sử dụng con
trỏ,  đó là thông tin về vị trí của bản ghi liên quan. Một con trỏ được đặt ở cuối mỗi bản ghi, và
nó "trỏ" đến kỷ lục tiếp theo trong một loạt hoặc thiết lập. Cấu trúc dữ liệu / tệp cơ
bản trong trường hợp này là cấu trúc dữ liệu danh sách được liên kết đã được chứng minh trong
chương trước.
Các tệp truy cập ngẫu nhiên chỉ cho phép thực hiện các thao tác tệp ngẫu nhiên
hoặc trực tiếp. Này loại tệp được tối ưu hóa cho các thao tác ngẫu nhiên, chẳng hạn
như tìm và cập nhật một đối tượng cụ thể. Các tệp truy cập ngẫu nhiên thường có
thời gian phản hồi nhanh hơn để tìm và cập nhật các hoạt động hơn bất kỳ loại tệp
nào khác. Tuy nhiên, vì chúng không hỗ trợ xử lý tuần tự, các ứng dụng như viết
báo cáo rất không hiệu quả. Có những lúc cần phải có khả năng xử lý tệp theo cả
cách tuần tự và ngẫu nhiên. Một cách đơn giản để làm điều này là sử dụng một tệp
tuần tự có chứa danh sách các khóa (trường trong đó tệp sẽ được giữ theo thứ tự
được sắp xếp) và tệp truy cập ngẫu nhiên cho các đối tượng thực tế. giảm thiểu chi
phí bổ sung và xóa đến một tệp tuần tự trong khi cho phép các tập tin ngẫu nhiên
được xử lý tuần tự bằng cách chỉ cần chuyển chìa khóa đến tệp ngẫu nhiên để lấy
mỗi đối tượng theo thứ tự tuần tự. Nó cũng cho phép xử lý ngẫu nhiên nhanh
chóng xảy ra bằng cách chỉ sử dụng tệp truy cập ngẫu nhiên, do đó tối ưu hóa chi
phí tổng thể của việc xử lý tệp. Tuy nhiên, nếu một tập tin của các đối tượng cần
được xử lý theo cả cách ngẫu nhiên và tuần tự, nhà phát triển nên xem xét sử dụng
cơ sở dữ liệu (quan hệ, quan hệ đối tượng hoặc hướng đối tượng) thay thế.

Có nhiều loại tệp ứng dụng khác nhau— ví dụ: tệp chính, tệp tra cứu, tệp giao dịch,
tệp kiểm toán và tệp lịch sử. Các tệp chính  lưu trữ thông tin cốt lõi quan trọng đối với kinh
doanh và cụ thể hơn là ứng dụng, chẳng hạn như thông tin đơn hàng hoặc thông tin
gửi thư của khách hàng. Chúng thường được lưu giữ trong thời gian dài và hồ sơ
mới được thêm vào cuối tệp khi các đơn đặt hàng mới hoặc khách hàng mới được
hệ thống nắm bắt. Nếu cần phải thay đổi đối với các hồ sơ hiện có, các chương
trình phải được viết để cập nhật thông tin cũ.
Các tệp tra cứu  chứa các giá trị tĩnh, chẳng hạn như danh sách mã ZIP hợp lệ hoặc tên
của Hoa Kỳ Hoa Kỳ. Thông thường, danh sách được sử dụng để xác nhận. Ví dụ:
nếu địa chỉ gửi thư của khách hàng được nhập vào tệp chính, tên tiểu bang sẽ được
xác thực đối với tệp tra cứu có chứa các tiểu bang Hoa Kỳ để đảm bảo rằng nhà
điều hành đã nhập giá trị một cách chính xác.
Một tệp giao dịch  chứa thông tin có thể được sử dụng để cập nhật tệp chính. Tệp giao dịch
có thể bị phá hủy sau khi thay đổi được thêm vào hoặc tệp có thể được lưu trong
trường hợp các giao dịch cần được truy cập lại trong tương lai. Thay đổi địa chỉ
khách hàng, đối với một, sẽ là được lưu trữ trong tệp giao dịch cho đến khi một
chương trình được chạy để cập nhật tệp chính địa chỉ khách hàng với thông
tin mới.
Đối với mục đích kiểm soát, một công ty có thể cần lưu trữ thông tin về cách dữ
liệu thay đổi theo thời gian. Ví dụ, khi nhân viên nhân sự thay đổi tiền lương của
nhân viên trong một hệ thống nhân sự, hệ thống nên ghi lại người thực hiện các
thay đổi về số tiền lương, ngày và thay đổi thực tế đã được thực hiện. Một hồ sơ
kiểm toán trước và sau khi hình ảnh của dữ liệu khi chúng được thay đổi để kiểm
toán có thể được thực hiện nếu tính toàn vẹn của dữ liệu bị nghi ngờ.
Đôi khi các tệp trở nên quá lớn đến nỗi chúng khó sử dụng và phần lớn thông
tin trong tệp không còn được sử dụng nữa.  
tệp lịch sử (hoặc tệp lưu trữ) lưu trữ các giao dịch trong quá khứ (ví dụ: ckhách
hàng cũ, đơn đặt hàng trong quá khứ) không còn cần thiết cho người dùng hệ
thống. Thông thường tệp được lưu trữ ngoài đường dây, nhưng nó có thể được truy
cập trên cơ sở khi cần thiết. Các tệp khác, chẳng hạn như các tệp chính, sau đó có
thể được sắp xếp hợp lý để chỉ bao gồm thông tin hoạt động hoặc rất gần đây.
Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ là loại cơ sở dữ liệu phổ biến nhất để phát triển ứng dụng
hiện nay.
Cơ sở dữ liệu quan hệ dựa trên các bộ sưu tập các bảng với mỗi bảng có khóa
chính—một trường hoặc trường có giá trị duy nhất cho mỗi hàng bảng. Các bảng
có liên quan đến nhau bằng cách đặt khóa chính từ một bảng vào bảng liên quan
dưới dạng khóa ngoại (xem Hình 9-3). Hầu hết các hệ thống quản lý cơ sở dữ liệu quan
hệ (RDBMS)  đều hỗ trợ tính toàn vẹn tham chiếu  hoặc ý tưởng đảm bảo rằng các giá trị liên kết
các bảng với nhau thông qua khóa chính và khóa ngoại có giá trị và đồng bộ hóa chính
xác. Ví dụ: nếu một nhân viên đặt hàng nhập cảnh sử dụng các bảng trong Hình 9-
3 cố gắng thêm đơn đặt hàng 254 cho số khách hàng 1111, anh ta hoặc cô ta
sẽ phạm sai lầm vì không có khách hàng nào tồn tại trong bảng Khách hàng có số
đó. Nếu RDBMS hỗ trợ tính toàn vẹn tham chiếu, nó sẽ kiểm tra số khách hàng
trong bảng Khách hàng, phát hiện ra rằng số 1111 không hợp lệ và trả lại lỗi cho
nhân viên nhập cảnh. Nhân viên bán hàng sau đó sẽ quay lại mẫu đơn hàng ban
đầu và kiểm tra lại thông tin khách hàng.
Bảng có một số cột được đặt và số lượng hàng thay đổi có chứa
sự xuất hiện của dữ liệu. Ngôn ngữ truy vấn có cấu trúc (SQL) là ngôn ngữ tiêu
chuẩn để truy cập dữ liệu trong bảng. SQL hoạt động trên các bảng hoàn chỉnh, trái
ngược với các hàng riêng lẻ trong bảng. Do đó, một truy vấn được viết bằng SQL được
áp dụng cho tất cả các hàng trong bảng cùng một lúc, khác với rất nhiều ngôn ngữ
lập trình, thao tác từng hàng dữ liệu. Khi các truy vấn phải bao gồm thông tin từ
nhiều hơn một bảng, các bảng đầu tiên được tham gia dựa trên các mối quan hệ chính và
quan trọng nước ngoài của chúng và được đối xử như thể chúng được tham gia. Là một cái bàn
lớn. Ví dụ về phần mềm RDBMS là Microsoft SQL Server, Oracle, DB2 và
MySQL.
Để sử dụng RDBMS để lưu trữ các đối tượng, các đối tượng phải được chuyển đổi
để chúng có thể được lưu trữ trong bảng. Từ góc độ thiết kế, điều này đòi hỏi phải
lập bản đồ lớp UML vào lược đồ cơ sở dữ liệu quan hệ.
Cơ sở dữ liệu quan hệ đối tượng
Hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng (ORDBMSs) là hệ thống quản lý
cơ sở dữ liệu quan hệ với các tiện ích mở rộng để xử lý việc lưu trữ các đối tượng
trong cấu trúc bảng quan hệ.
Điều này thường được thực hiện thông qua việc sử dụng các loại do người dùng
xác định. Ví dụ: một thuộc tính trong bảng có thể có một loại dữ liệu bản đồ, sẽ hỗ
trợ lưu trữ bản đồ. Đây là một ví dụ thuộc loại dữ liệu phức tạp. Trong RDBMS
thuần túy, các thuộc tính được giới hạn ở các loại dữ liệu đơn giản hoặc nguyên
tử, chẳng hạn như số nguyên, số thực hoặc chars.
Hệ thống quản lý cơ sở dữ liệu quan hệ đối tượng là phần mở rộng cho các đối tác
RDBMS của chúng, cũng có hỗ trợ rất tốt cho các hoạt động quản lý dữ liệu điển
hình mà doanh nghiệp mong đợi từ RDBMSs, bao gồm ngôn ngữ truy vấn dễ sử
dụng (SQL), ủy quyền, kiểm soát đồng thời và các cơ sở phục hồi. Tuy nhiên, vì
SQL được thiết kế để chỉ xử lý các loại dữ liệu đơn giản, nó cũng đã được mở rộng
để xử lý dữ liệu đối tượng phức tạp. Hiện tại, các nhà cung cấp giải quyết vấn đề
này theo các cách khác nhau. Ví dụ: DB2, Informix và Oracle đều có các tiện ích
mở rộng cung cấp một số mức hỗ trợ cho các đối tượng.
Nhiều ORDBMS trên thị trường vẫn không hỗ trợ tất cả các đối tượng theo định
hướng các tính năng có thể xuất hiện trong thiết kế hướng đối tượng (ví dụ: thừa
kế). Như được mô tả trong Chương 8, một trong những vấn đề trong việc hỗ trợ
thừa kế là hỗ trợ thừa kế phụ thuộc vào ngôn ngữ. Ví dụ, cách Smalltalk hỗ trợ
thừa kế khác với  Cách tiếp cận 'của' C++,khác với cách tiếp cận của Java. Do đó, các
nhà cung cấp hiện phải hỗ trợ nhiều phiên bản thừa kế khác nhau, một phiên bản cho
mỗi ngôn ngữ hướng đối tượng hoặc quyết định một phiên bản cụ thể và buộc các
nhà phát triển lập bản đồ thiết kế theo hướng đối tượng (và thực hiện) theo cách
tiếp cận của họ. Giống như RDBMSs, cần có một bản đồ từ sơ đồ lớp UML đến
lược đồ cơ sở dữ liệu quan hệ đối tượng.

You might also like