Tiểu luận môn Khai phá dữ liệu CƠ SỞ DỮ LIỆU ĐỒ THỊ GRAPH DATABASE

15 786 0
Tiểu luận môn Khai phá dữ liệu CƠ SỞ DỮ LIỆU ĐỒ THỊ GRAPH DATABASE

Đ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

Cơ sở dữ liệu nâng cao MỤC LỤC GVHD : PGS.TS Đỗ Phúc Trang 1 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao LỜI MỞ ĐẦU  Ngày nay các hệ thống lưu trữ ảnh vân tay thô xuống database trong các công ty ngày càng phát triển, mỗi khi khách hàng hoặc nhân viên đăng nhập (không cần gõ username + pass world mà chỉ cần sử dụng vân tay) hệ thống sẽ tải từng file ảnh lên rồi dùng thuật toán so khớp. Tuy nhiên khi dữ liệu quá lớn thì việc này là bất khả thi về thời gian chờ cũng như dung lượng đường truyền. Việc xử lý đòi hỏi phải linh hoạt và không làm gián đoạn ứng dụng.Với hệ thống lưu trữ hiện tại không thể linh động với đòi hỏi này. Người sử dụng muốn có một cầu nối, một biện pháp để giải quyết những vấn đề trên do đó dữ liệu đồ thị ra đời. Cơ sở dữ liệu đồ thị là cách thức lưu trữ thông tin ở dạng đồ thị những đỉnh (Node) và cạnh (Edge).Với cách thức lưu trữ này, việc quản lý dữ liệu trở nên mềm dẽo và dễ dàng hơn ngay cả trong việc ứng dụng tri thức vào khối dữ liệu lưu trữ. Tiểu luận này là sự khởi đầu cho việc thực hiện bài luận tốt nghiệp cuối khóa, do thời gian có hạn nên em chỉ trình bày khái quát về cơ sở dữ liệu đồ thị, đồng thời ứng dụng trong việc lưu trữ dữ liệu đồ thị (được biểu diễn bằng ma trận) xuống “Cơ sở dữ liệu”. Em xin chân thành cảm ơn PGS.TS. Đỗ Phúc – Giảng viên phụ trách giảng dạy chuyên đề “cơ sở dữ liệu nâng cao” đã truyền đạt những kiến thức cùng kinh nghiệm vô cùng quý báu đồng thời gợi ý về việc thực hiện đề tài này, xin chân thành cám ơn ban cố vấn học tập và ban quản trị chương trình đào tạo”Thạc sĩ Khoa học máy tính” của Đại Học Quốc Gia TPHCM đã tạo điều kiện về tài liệu tham khảo để em có thể hoàn thành môn học này. GVHD : PGS.TS Đỗ Phúc Trang 2 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao CHƯƠNG I. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ĐỒ THỊ (GRAPH DATABASE) 1. Tổng quan về đồ thị • Trong toán học và tin học, đồ thị là đối tượng nghiên cứu cơ bản của lý thuyết đồ thị. Một cách không chính thức, đồ thị là một tập các đối tượng gọi là đỉnh nối với nhau bởi các cạnh. Thông thường, đồ thị được vẽ dưới dạng một tập các điểm (đỉnh, nút - Node) nối với nhau bởi các đoạn thẳng (cạnh - Edge). Tùy theo ứng dụng mà một số cạnh có thể có hướng.  Đồ thị vô hướng Hình 1.1.1: Đồ thị vô hướng Đồ thị vô hướng hoặc đồ thị G là một cặp không có thứ tự (ordered pair) G:=(V, E), trong đó  V, tập các đỉnh hoặc nút (Node)  E, tập các cặp không thứ tự chứa các đỉnh phân biệt, được gọi là cạnh (Edge). Hai đỉnh thuộc một cạnh được gọi là các đỉnh đầu cuối của cạnh đó. Tập các cạnh bao gồm cả các cặp đỉnh không phân biệt, các cạnh này được gọi là các khuyên. V (và E) thường là các tập hữu hạn, phần lớn các kết quả nghiên cứu đã biết không đúng (hoặc khác) khi áp dụng cho đồ thị vô hạn (infinite graph) vì nhiều luận cứ không dùng được trong trường hợp vô hạn. GVHD : PGS.TS Đỗ Phúc Trang 3 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao  Đồ thị có hướng Hình 1.1.1: Đồ thị vô hướng Đồ thị có hướng G là một cặp có thứ tự G:=(V, A), trong đó  V, tập các đỉnh hoặc nút,  E, tập các cặp có thứ tự chứa các đỉnh, được gọi là các cạnh có hướng hoặc cung. Một cạnh e = (x, y) được coi là có hướng từ x tới y; x được gọi là điểm đầu/gốc và y được gọi là điểm cuối/ngọn của cạnh. • Cấu trúc đồ thị có thể mở rộng bằng cách gán trọng số cho các cạnh của đồ thị. Có thể sử dụng đồ thị có trọng số để ứng dụng trong thực tế như chiều dài con đường (tìm đường đi ngắn nhất giữa 2 điểm), thời gian đi giữa hai nút, độ mạnh liên kết giữa các nút, số giao tác kết nối giữa 2 nút cùng thời điểm. Tham khảo và trích dẫn từ http://vi.wikipedia.org/wiki/ %C4%90%E1%BB%93_th%E1%BB%8B_%28l%C3%BD_thuy %E1%BA%BFt_%C4%91%E1%BB%93_th%E1%BB%8B %29#.C4.90.E1.BB.93_th.E1.BB.8B_v.C3.B4_h.C6.B0.E1.BB.9Bn g GVHD : PGS.TS Đỗ Phúc Trang 4 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao 2. Cơ sở dữ liệu đồ thị a. Giới thiệu : Cơ sở dữ liệu đồ thị là tập các đồ thị.Một cơ sở dữ liệu đồ thị có thể có nhiều đồ thị nhưng cũng có thể chỉ có một đồ thị, đó là một đồ thị rất lớn chứa nhiều nút và đỉnh ví dụ như mạng xã hội b. Cách lưu trữ dữ liệu đồ thị :  Lưu trữ bằng RDBMS Dữ liệu được lưu trữ thành những dòng và cột trong những table khác nhau. Dữ liệu được truy xuất bằng câu lệnh SQL.SQL cho phép người sử dụng truy xuất khá mạnh mẽ dữ liệu đồ thị bao gồm cả việc trích xuất dữ liệu mới từ dữ liệu đã lưu trữ . Mặc dù có nhiều điểm mạnh nhưng SQL không thể hổ trợ những thao tác tính toán, những biểu thức phức tạp một cách linh hoạt và tùy lúc.Ví dụ như tính chi phí một con đường đi từ đỉnh này để đỉnh khác, tìm chi phí thấp nhất để đi giữa hai nút cho trước…  Lưu trữ bằng SBGE Để giải quyết vấn đề trên DB2 và RDBMS đã mở rộng SQL bằng cách xây dựng nhưng hàm cụ thể được gọi là user-defined functions (UDFs). UDFs được sử dụng mọi nơi mà người sử dụng muốn. SBGE sử dụng những hàm mở rộng của DB2 để thao tác trên dữ liệu đồ thị.Với SBGE có thể dễ dàng quản lý dữ liệu đồ thị thông qua các nút, cạnh. Với RDBMSs cho phép người sử dụng định nghĩa cũng như tìm kiếm những đồ thị con. RDBMSs có thể linh hoạt trên một đồ thị dữ liệu lớn bởi vì GVHD : PGS.TS Đỗ Phúc Trang 5 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao SQL có thể tìm kiếm mà không đòi hỏi việc load cả dữ liệu đồ thị lên bộ nhớ tạm. Do đó, SBGE chính là sự kết hợp giữa SQL để quản lý dữ liệu của đồ thị và những hàm mở rộng để quản lý những hàm truy xuất của đồ thị.  Lưu trữ bằng network data model trong oracle Oracle hỗ trợ những procedure để tạo dữ liệu đồ thị.Tiểu luận này sẽ trình bày chi tiết cách sử dụng data network model để lưu trữ cũng như phân tích dữ liệu đồ thị. Tham khảo và trích dẫn từ “Nguyễn Ngọc Diễm - Tiểu luận chuyên đề Cơ Sở Dữ Liệu Nâng Cao” 3. Ứng dụng của Cơ sở dữ liệu đồ thị • Trong sinh học: lưu trữ cấu trúc Gien, protein,… • Trong hóa học: lưu trữ cấu tạo phân tử các chất, hợp chất,… • Trong tin học: Mạng xã hội, lưu trữ hình ảnh,… GVHD : PGS.TS Đỗ Phúc Trang 6 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao CHƯƠNG II. GIẢI QUYẾT BÀI TOÁN 1. Giới thiệu bài toán Bài toán đặt ra là: chúng ta sẽ dùng các thiết bị hỗ trợ để scan các dấu vân tay và mã hóa các hình ảnh này sang đồ thị và lưu trữ vào cơ sở dữ liệu. Khi khách hàng đăng nhập bằng dấu vân tay, hệ thống sẽ scan dấu vân tay này và xử lý bên dưới cơ sở dữ liệu đồ thị để tối ưu hóa thời gian chờ khi dữ liệu lưu trữ khổng lồ. Hình 2.1.1.1: Hình ảnh về các dấu vân tay (Finger print) Trong bài tiểu luận này, em sẽ trình bày quá trình lưu 1 đồ thị (đã mã hóa thành ma trận) vào cơ sở dữ liệu. Vấn đề về mã hóa hình ảnh vân tay thành đồ thị và tìm kiếm dấu vân tay trong cơ sở dữ liệu đồ thị em sẽ cố gắng nghiên cứu và hoàn chỉnh đề tài này để trình bày trong bài luận cuối khóa. GVHD : PGS.TS Đỗ Phúc Trang 7 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao 2. Giải quyết bài toán Trong báo cáo này, em sử dụng C# (Visual 2005) giao diện Form để người dùng nhập đồ thị được biểu diễn dạng ma trận vào cơ sở dữ liệu. Cơ sỡ dữ liệu sử dụng là SQL Server 2005. Hình 2.2.1: Mô hình dữ liệu đồ thị Table “Graph” Tên thuộc tính Kiểu Mô tả graphID Int ID của Graph, là duy nhất không được trùng với các id khác. graphNAME Varchar Tên của Graph graphDescription Text Mô tả Table “Node” GVHD : PGS.TS Đỗ Phúc Trang 8 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao Tên thuộc tính Kiểu Mô tả nodeID Int ID của Node (đỉnh), là duy nhất không được trùng với các id khác. nodeNAME Varchar Tên của Node graphID Int Khóa ngoại, Link tới table “Graph” nodeLevel Int Bậc của Node (chỉ xét đồ thị vô hướng). Table “Edge” Tên thuộc tính Kiểu Mô tả edgeID Int ID của Edge (cạnh), là duy nhất không được trùng với các id khác. graphID Int Khóa ngoại, link tới table “Graph” nodeID1 Int Khóa ngoại, Link tới table “Node” nodeID2 Int Khóa ngoại, Link tới table “Node” Length Int Độ dài giữa nodeID1 và nodeID2 (độ dài giữa 2 đỉnh). Ví dụ với đồ thị dữ liệu sau : GVHD : PGS.TS Đỗ Phúc Trang 9 HVTH : Mã Tuấn Huy Cơ sở dữ liệu nâng cao Hình 2.2.2: Đồ thị vô hướng G1 Tập đỉnh: V(A, B, C, D, E, F, L, H, G) Tập cạnh: E(AB, AG, BC, CF, DG, DE, EF, EH, FL, LH, HG) Biểu diễn đồ thị G1 dưới dạng ma trận G1 = Cho giá trị cụ thể tập cạnh (L1,L2,…,L10) E G1 = Giải thuật trên máy tính • Create Table “Graph” trong SQL Server GVHD : PGS.TS Đỗ Phúc Trang 10 HVTH : Mã Tuấn Huy CREATE TABLE [dbo].[graph]( [graphID] [int] IDENTITY(1,1) NOT NULL, [graphName] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [graphDescription] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL, CONSTRAINT [PK_graph] PRIMARY KEY CLUSTERED ( [graphID] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] [...]... Huy Trang 13 Cơ sở dữ liệu nâng cao CHƯƠNG III KẾT QUẢ ĐẠT ĐƯỢC Bước đầu tìm hiểu về đồ thị và cơ sở dữ liệu đồ thị, thực hiện thành công việc lưu dữ liệu đồ thị vào cơ sở dữ liệu (SQL Server 2005) Tuy nhiên do thời gian có hạn, nên kết quả còn nhiều hạn chế: • Việc sử dụng mô hình lưu trữ như trên tuy đơn giản nhưng truy xuất chậm nếu dữ liệu lớn • Chưa tối ưu hóa mô hình dữ liệu Hướng phát triển:... Chưa tối ưu hóa mô hình dữ liệu Hướng phát triển: • Tiếp tục tìm hiểu và nghiên cứu Cơ sở dữ liệu đồ thị và áp dụng hệ cơ sở dữ liệu khác trong việc lưu trữ dữ liệu đồ thị để tối ưu hóa thời gian tìm kiếm • Phát triển hoàn chỉnh thành bài luận cuối khóa với những mục tiêu đã đề ra lúc đầu • Kết hợp với bài tiểu luận trong các chuyên đề trước đã thực hiện: “Tìm hiểu về Logic Mờ” để áp dụng cho việc... đỉnh của đồ thị cần lưu trữ xuống cơ sở dữ liệu sau đó nhấn nút “New Graph GVHD : PGS.TS Đỗ Phúc HVTH : Mã Tuấn Huy Trang 12 Cơ sở dữ liệu nâng cao Hình 2.2.3 Danh sách bên dưới tự động tạo số dòng và số cột bằng với số đỉnh mà ta vừa nhập Ta nhập đồ thị được biểu diễn dưới dạng ma trận vào danh sách như “Hình 2.2.3” sau đó nhấn nút “Save” để lưu dữ liệu vào cơ sở dữ liệu Hình 2.2.3: Thông báo đã lưu... 14 Cơ sở dữ liệu nâng cao CHƯƠNG IV TÀI LIỆU THAM KHẢO 1 Tài liệu giấy: • A/ Prof Do Phuc - Mining, Indexing and Searching Graph Databases • HOÀNG KIẾM – THANH THỦY – CHI MAI – “Đôi cánh I – CA – RƠ nhà xuất bản thống kê HÀ NỘI – 1990” • PGS.TS Đỗ Văn Nhơn – TS Đỗ Phúc – “Giáo trình Các Hệ Cơ Sở Tri Thức, Đại học Quốc gia Tp.HCM, 2002” • Bài thu hoạch các khóa trước (khóa 2008 – 2009 - 2010) 2 Tài liệu. .. NULL, [graphID] [int] NOT NULL, [nodeID1] [int] NOT NULL, [nodeID2] [int] NOT NULL, [length] [int] NOT NULL, CONSTRAINT [PK_edge] PRIMARY KEY CLUSTERED ( [edgeID] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] Giao diện Form sử dụng GVHD : PGS.TS Đỗ Phúc HVTH : Mã Tuấn Huy Trang 11 Cơ sở dữ liệu nâng cao Hình 2.2.3: Giao diện ban đầu Nhập tên và số đỉnh của đồ thị cần.. .Cơ sở dữ liệu nâng cao • Create Table “Node” trong SQL Server CREATE TABLE [dbo].[node]( [nodeID] [int] NOT NULL, [nodeName] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [graphID] [int] NOT NULL, [nodeLevel] [int] NOT NULL, CONSTRAINT [PK_node] PRIMARY KEY CLUSTERED ( [nodeID]... http://vi.wikipedia.org/wiki/%C4%90%E1%BB%93_th%E1%BB%8B_%28l %C3%BD_thuy%E1%BA%BFt_%C4%91%E1%BB%93_th%E1%BB%8B %29#.C4.90.E1.BB.93_th.E1.BB.8B_v.C3.B4_h.C6.B0.E1.BB.9Bng http://en.wikipedia.org/wiki /Graph_ database http://www .graph- database. org/ GVHD : PGS.TS Đỗ Phúc HVTH : Mã Tuấn Huy Trang 15 . Huy Cơ sở dữ liệu nâng cao 2. Cơ sở dữ liệu đồ thị a. Giới thiệu : Cơ sở dữ liệu đồ thị là tập các đồ thị. Một cơ sở dữ liệu đồ thị có thể có nhiều đồ thị nhưng cũng có thể chỉ có một đồ thị, . chậm nếu dữ liệu lớn. • Chưa tối ưu hóa mô hình dữ liệu. Hướng phát triển: • Tiếp tục tìm hiểu và nghiên cứu Cơ sở dữ liệu đồ thị và áp dụng hệ cơ sở dữ liệu khác trong việc lưu trữ dữ liệu đồ thị. đồ thị được biểu diễn dạng ma trận vào cơ sở dữ liệu. Cơ sỡ dữ liệu sử dụng là SQL Server 2005. Hình 2.2.1: Mô hình dữ liệu đồ thị Table Graph Tên thuộc tính Kiểu Mô tả graphID Int ID của Graph,

Ngày đăng: 10/04/2015, 00:16

Từ khóa liên quan

Mục lục

  • 1. Tổng quan về đồ thị

  • 2. Cơ sở dữ liệu đồ thị

  • 3. Ứng dụng của Cơ sở dữ liệu đồ thị

  • 1. Giới thiệu bài toán

  • 2. Giải quyết bài toán

  • 1. Tài liệu giấy:

  • 2. Tài liệu Web:

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

Tài liệu liên quan