Tài liệu Bài báo cáo-giới thiệu về db4o

  • Số trang: 34 |
  • Loại file: PDF |
  • Lượt xem: 427 |
  • Lượt tải: 22
quangtran

Đã đăng 3721 tài liệu

Mô tả:

LOGO Khoa Công nghệ thông tin Môn Cơ sở dữ liệu nâng cao Nhóm 04 – Lớp SP Tin 4 GIỚI THIỆU VỀ DB4O GVHD: ThS. Nguyễn Đặng Kim Khánh Thành viên nhóm Đinh Văn Quyên – K35.103.061 Nguyễn Ngọc Nhất Linh – K35.103.031 Lê Thị Kim Nga – K35.103.037 GIỚI THIỆU VỀ DB4O 2 Nội dung chính 1 Tạo lập và kết nối DB4O 2 Cấu trúc lớp đối tượng và lưu trữ đối tượng 3 Truy vấn đối tượng 4 Một số tính năng khác GIỚI THIỆU VỀ DB4O 3 TỔNG QUAN VỀ DB4O DB4O là một HQT CSDL đối tượng được phát triển và phân phối bởi Versant Corporation. DB4O là một sản phẩm nguồn mở dựa trên 2 giấy phép GPL và dOCL. Phiên bản ổn định mới nhất: 8.0 (.NET & Java). Hướng phát triển của nhóm:  Nền tảng: MS .NET 4.0  Ngôn ngữ: C# (VS2010) GIỚI THIỆU VỀ DB4O 4 TẠO LẬP VÀ KẾT NỐI CSDL start Mỗi csdl DB4O Transaction chỉ gồm 1 file duy nhất, phần mở rộng thường là .yap hoặc .db4o Ở chế(IObjectContainer độ chạy cục bộ, csdl không using db = cần phải được tạo trước, và có thể được tạo ra ngay Db4oEmbedded.OpenFile([filename])) { trong quá trình truy cập (accessing) tới csdl. Khác với chế client/server, độ cục bộ //một sốđộthao tác vớichếdb4o } của DB4O không cần phải kết nối tới csdl với username, password, và việc truy cập cũng rất đơn giản. Transaction stop GIỚI THIỆU VỀ DB4O 5 TẠO LẬP VÀ KẾT NỐI CSDL Chế độ ClientServer Khởi động máy chủ Kết nối máy chủ GIỚI THIỆU VỀ DB4O 6 CÁCH TẠO LỚP ĐỐI TƯỢNG Các đối tượng trong DB4O được lưu trữ dựa trên cấu trúc của lớp đối tượng định nghĩa trên ngôn ngữ của ứng dụng mà không cần phải có cấu trúc lớp đối tượng riêng dành cho csdl. Dưới đây là cú pháp tạo lớp đối tượng trong C#: [bổ_từ_truy_xuất] class <định_danh_lớp> [:lớp_cơ_sở] { } Trong đó: + [bổ_từ_truy_xuất] gồm private, public, protected, internal, protected internal, + <định_danh_lớp> là tên của lớp + [:lớp_cơ_sở ] đây là lớp được kế thừa GIỚI THIỆU VỀ DB4O 7 CÁCH TẠO LỚP ĐỐI TƯỢNG public class Pilot { string _name; int _points; // các thuộc tính public Pilot(string name, int points) // phương thức xây dựng { _name = name; _points = points; } public string Name //phương thức khác { get { return _name; } } } GIỚI THIỆU VỀ DB4O 8 LIÊN KẾT GIỮA CÁC ĐỐI TƯỢNG Liên kết giữa các đối tượng được định nghĩa trong C# hoàn toàn khác so với cách định nghĩa của ODL. Trong C#, nó được định nghĩa rất đơn giản: mỗi lớp có 1 thuộc tính mà thuộc tính đó là một object reference. Tuy nhiên, việc phải thiết lập mối liên kết ở cả 2 lớp (Inverse Relationships) là không bắt buộc. GIỚI THIỆU VỀ DB4O 9 LƯU TRỮ CÁC ĐỐI TƯỢNG Để lưu trữ một đối tượng, ta gọi phương thức Store() using (IObjectContainer db = Db4oEmbedded.OpenFile("databaseFile.db4o ")) { Pilot pilot = new Pilot("Joe"); db.Store(pilot); } GIỚI THIỆU VỀ DB4O 10 TRUY VẤN DỮ LIỆU QBE Native Queries SODA LINQ GIỚI THIỆU VỀ DB4O 11 TRUY VẤN DỮ LIỆU QBE QBE (Query-By-Example ) là phương thức đặc biệt, tìm kiếm dựa trên các đối tượng mẫu Một số hạn chế:  Không thể thực hiện các biểu thức truy vấn nâng cao. (AND, OR, NOT,…)  Không thể truy vấn trên các giá trị 0, rỗng.  Đối với những truy vấn phức tạp thì khó đọc và biết được đang truy vấn cái gì GIỚI THIỆU VỀ DB4O 12 TRUY VẤN DỮ LIỆU QBE Trả về tất cả các Pilot có Name Tạo ra đối tượng theExample kiểu Pilot, có là “John” trường Name là “Join” và dùng đối tượng này để làm mẫu tìm kiếm Truy vấn trên nhiều trường GIỚI THIỆU VỀ DB4O 13 TRUY VẤN DỮ LIỆU Truy vấn các đối tượng cùng kiểu QBE Trả về tất cả đối tượng cùng kiểu Pilot Tạo ra đối tượng example kiểu Pilot, dùng đối Truy vấn các đối tượng nhaumẫu tìm kiếm tượng nàylồng để làm Truy vấn lồng 2 đối tượng Car, Pilot GIỚI THIỆU VỀ DB4O 14 TRUY VẤN DỮ LIỆU Native Queries Native Queries (NQ) được hiểu là truy vấn “bản địa” hay truy vấn theo ngôn ngữ của ứng dụng. Kiểu truy vấn này giúp người lập trình không mắc phải các lỗi như sai tên hay kiểu lớp, tên trường,…bạn cũng sẽ tránh khỏi được các lỗi phát sinh khi chạy, do đó đây là cách tạo ra những câu truy vấn an toàn. Hạn chế của NQ là phải khởi tạo mọi đối tượng của lớp đang truy vấn lên csdl và chạy biểu thức truy vấn lên chúng, điều này sẽ làm chậm câu truy vấn đi rất nhiều. Giải pháp cho vấn đề này là phân tích, tối ưu và dịch NQ sang truy vấn SODA để thực thi. GIỚI THIỆU VỀ DB4O 15 TRUY VẤN DỮ LIỆU Native Queries Để sử dụng NQ, cần phải thêm các thư viện sau vào project:  Db4o-bjects.Db4o.NativeQueries.dll  Db4object.Db4o.Instrumentation.dll  Cecil.FlowAnalysis.dll  Mono.Cecil.dll GIỚI THIỆU VỀ DB4O 16 Truy vấn dữ liệu Native Queries Một số ví dụ IList result = container.Query( delegate(Pilot pilot) { return pilot.Name == "John"; }); IList result = container.Query( delegate(Pilot pilot) { return pilot.Age < 18; }); IList result = container.Query( delegate(Pilot pilot) { return pilot.Age > 18 && pilot.Age < 30; }); 17 TRUY VẤN DỮ LIỆU LINQ Là kiểu truy vấn đơn giản, hỗ trợ .NET để truy vấn các đối tượng trong Db4o. Db4o hỗ trợ giao diện .NET IQueryable . Điều này rất hữu ích khi xây dựng các lớp trừu tượng để tích hợp Db4o với các Framework khác. Để sử dụng LINQ, bạn phải thêm LINQ-namespace vào project : using System.Linq; using Db4objects.Db4o.Linq; Lưu ý rằng LINQ yêu cầu ít nhất là .NET 3.5 GIỚI THIỆU VỀ DB4O 18 TRUY VẤN DỮ LIỆU LINQ Cú pháp của LINQ gần giống như SQL, tuy nhiên nó hỗ trợ sửa lỗi cú pháp ngay tại bước phiên dịch. Truy vấn đơn giản Truy vấn phức tạp hơn GIỚI THIỆU VỀ DB4O 19 TRUY VẤN DỮ LIỆU LINQ Một số ví dụ khác Truy vấn theo tuổi Truy vấn theo tên GIỚI THIỆU VỀ DB4O 20
- Xem thêm -