Mô hình Use – case

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số mô hình cơ sở dữ liệu mở rộng Luận văn ThS. Công nghệ thông tin 60 48 05002 (Trang 62)

3.2 Xây dựng cơ sở dữ liệu 3.2.1. Tạo bảng cơ sở dữ liệu 3.2.1. Tạo bảng cơ sở dữ liệu Bảng Stations

TT Tên trƣờng Kiểu dữ liệu Ghi chú

1 ids integer

2 namestation Text

3 description text

4 p point

Bảng 3.1: Lƣu trữ các thuộc tính trạm xe buýt, chủ yếu là tọa độ trạm xe, 1 trạm có thể có nhiều điểm dừng tuyến của nhiều tuyến xe buýt.

Bảng Points

TT Tên trƣờng Kiểu dữ liệu Ghi chú

1 idp integer Mã điểm

2 idb Character(20) Mã tuyến

Quan ly he thong trang tin tuc

Admin

Quan ly thong tin tram, tuyen,điểm Dinh vi ban do Di chuyen ban do

Phong to/thu nho

Hien thi toan bo ban do

Tim duong di Tim tuyen xe buyt

user

Tim tram dung xe buyt

3 ids integer

4 namepoint text

5 Description text

6 timestart time without time

zone

Bảng 3.2: Lƣu trữ các điểm dừng của 1 tuyến xe buýt, vị trí là trạm đƣợc chỉ định và đánh dấu

Bảng Gobus

TT Tên trƣờng Kiểu dữ liệu Ghi chú

1 idb Character(20)

2 ids integer

3 timestart time without time

zone

4 timeend time without time

zone

Bảng 3.3: Tính toán truy vấn theo thời gian các tuyến hoạt động tại thời điểm hiện tại, đã kết thúc.

Bảng Bus

.

TT Tên trƣờng Kiểu dữ liệu Ghi chú

1 idb Character(20)

2 namebus text

3 description text

4 price integer

5 timestart time without time

zone

6 timeend time without time

zone

7 nub integer Số điểm dừng

8 timelong integer

điểm đầu và kết thúc

3.2.2 Tạo các Trigger, các hàm trong bài toán

+ Tạo Triger khi có một điểm xe buýt đƣợc thêm mới

CREATE TRIGGER point_add AFTER INSERT ON points FOR EACH ROW

EXECUTE PROCEDURE point_add();

+ Hàm thực hiện thêm 1 điểm dừng

CREATE OR REPLACE FUNCTION _0_points_add(idb character, ids integer, namepoint text, description text, timestart time without time zone)

RETURNS void AS $BODY$Begin

Insert into "points"(idb,ids,namepoint,description,timestart) values($1,$2,$3,$4,$5);

End$BODY$

LANGUAGE plpgsql VOLATILE COST 100;

ALTER FUNCTION _0_points_add(character, integer, text, text, time without time zone)

OWNER TO postgres;

+ Một Function Trigger ràng buộc đếm số điểm dừng của một tuyến xe buýt khi thêm mới 1 điểm cho 1 tuyến xe buýt.

CREATE OR REPLACE FUNCTION point_add() RETURNS trigger AS

$BODY$

DECLARE tim INTEGER; begin

tim=0;

tim = 'select count(*) from points where idb=' || new.idb; update bus set nub=tim where idb=new.idb;

return new; end;

$BODY$

LANGUAGE plpgsql VOLATILE COST 100;

ALTER FUNCTION point_add() OWNER TO postgres

+ Hàm thực hiện tính toán các dữ liệu thay đổi theo thời gian

Tính toán các dữ liệu thay đổi theo thời gian từ đầu tuyến đến cuối tuyến, đánh dấu các điểm với thời gian kết thúc điểm dừng tuyến trong ngày

create or replace function _0_gobus(timez time without time zone ) returns void as $$

DECLARE r record; k record;

tmp time without time zone; c integer;

s integer; e integer; m record;

h time without time zone; begin

FOR r IN SELECT * FROM points LOOP

for m in select * from bus where idb=r.idb

loop

tmp = m.timestart;

s= (SELECT EXTRACT(EPOCH FROM tmp ));

tmp = r.timestart;

e= (SELECT EXTRACT(EPOCH FROM tmp));

h= m.timeend;

end loop;

c= (SELECT EXTRACT(EPOCH FROM h)) + e- s;

RAISE NOTICE 'ND:%' , c;

/*c= (SELECT EXTRACT(EPOCH FROM timez));

if (c> (SELECT EXTRACT(EPOCH FROM timez))) then /* chua het time*/

if (EXISTS (select * from gobus where idb=r.idb and ids=r.ids )) then

for k in select * from gobus where idb=r.idb and ids=r.ids

LOOP

tmp = k.timeend;

c = (SELECT EXTRACT(EPOCH FROM tmp));

END LOOP;

else

Insert into "gobus"(idb,ids,timestart,timeend)

values(r.idb,r.ids,r.timestart ,'00:00:00'); /*Chua ket thuc*/

end if;

else

update gobus set timeend=(SELECT to_timestamp(c)) where

idb=r.idb and ids=r.ids; /*ket thuc*/

end if;

END LOOP; end;

$$ language plpgsql;

SELECT EXTRACT(EPOCH FROM time WITHout TIME ZONE '21:13:00'); SELECT _0_gobus( '21:05:00');

Một số hình ảnh của chƣơng trình.

Khách hàng có thể tìm hiểu thông tin cũng nhƣ tìm đƣờng đi hay các tuyến , các trạm xe buýt trong nội đô thành phố Hà Nội trên trang website xebuyt.org

Hình 3.2Trang chủ của website hệ thống quản lý xe buýt Hà Nội

Hình 3.3.Trang tin tức giao thông

Khi đăng nhập với tên của ngƣời quản trị website vào hệ thống, trang web sẽ hiển thị các chức năng quản lý thực hiện thêm, sửa, xóa các trạm, điểm, tuyến xe

buýt trong nội thành Hà Nội. Thay đổi hay cập nhật thêm những thông tin trong trang tin tức.

Hình 3.4: Cập nhật thông tin về các điểm xe buýt.

Hinh3.6: Cập nhật thông tin chi tiết về các tuyến xe buýt hoạt động

3.3. Thử nghiệm và đánh giá các thuật toán

Học viên đã tiến hành tích hợp thành công ba cơ sở sữ liệu mở rộng nhƣ cơ sở dữ liệu tích cực, cơ sở dữ liệu thời gian và cơ sở dữ liệu không gian vào bài toán. Thử nghiệm, so sánh và đánh giá thuật toán tìm đƣờng đi đã cài đặt trên hệ thống. trong bài toán tìm đƣờng đi xe buýt, với số lƣợng đỉnh và cung khá lớn việc tiến hành giải bài toán bằng các phƣơng pháp thông thƣờng nhƣ Dijkstra hay ma trận sẽ không hiệu quả về mặt tốc độ thực hiện, không gian bộ nhớ để lƣu trữ và kết quả của bài toán.

KẾT LUẬN

Luận văn đã thực hiện đƣợc những công việc sau:

- Nghiên cứu tổng quan về mô hình cơ sở dữ liệu mở rộng, mô hình cơ sở dữ liệu tích cực (Active database) mô hình cơ cơ sở dữ liệu thời gian (Temporal database) và mô hình cơ sở dữ liệu không gian (spatial databas).

- Nghiên cứu về hệ quản trị cơ sở dữ liệu PostgreSQL và PostGIS, thực hiện các hàm các phép toán truy vấn trong không gian với hệ quản trị PostgreSQL và PostGIS.

- Áp dụng: Chƣơng trình quản lý xe buýt thành phố Hà Nội.

- Đánh giá bài toán với các phép toán tích hợp của cơ sở dữ liệu mở rộng. Tuy nhiên, do bộ dữ liệu sử dụng để đánh giá chƣa đủ lớn để nên chƣa đánh giá hết đƣợc hiệu quả và các đặc trƣng của bài toán, tính ổn định của hệ thống thử nghiệm. trong tƣơng lai, cần phải thử nghiệm và đánh giá trên những bộ dữ liệu lớn hơn.

Hƣớng phát triển tiếp theo của luận văn:

- Tiếp tục nghiên cứu về các mô hình CSDL mở rộng khác cùng với các ứng dụng của chúng.

- Hoàn thiện bài toán vẽ bản đồ xe buýt để có thể đƣa vào ứng dụng thực tiễn nhằm giảm tải ùn tắc giao thông

- Phát triển hệ thống bản đồ thành dịch vụ tiện ích truy cập miễn phí trên các trang thông tin tìm kiếm trên máy tính và trên điện thoại di động.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Nghiêm Thị Hƣơng, KLTN, Hệ quản trị CSDl PostgreSQL& Postgis.

[2] Lâm Vĩ Quốc-Trân Thị Bích Hạnh, luận văn- Hệ thống hỗ trợ tìm đƣờng đi xe buýt trên Web.2003

[3] Nguyễn Tuệ(2007). Nhập môn cơ sở dữ liệu, NXB Giáo Dục

Tiếng Anh

[4]

Active Database Sufiystems NORMAN W.PATON University of Manchester AND OSCAR DIAZ University of the Basque Country. Journal ACM Computing Surveys (CSUR) Surveys Homepage archive Volume 31 Issue 1, March 1999

[5]

Carlo Combi, Massimo Franceschet, Adriano Peron,

Representing and reasoning about temporal granularities,

1996

[6]

Christian S. Jensen, Senior Member, IEEE, and Richard T. Snodgrass, Senior Member, IEEE, Temporal Data

Management, 2001

[7]

Decker, H.(2002). Translating advanced integrity checking techonology to SQL.In J.Door&L Rivero(Eds).database integrity: challenges and solutions(pp.203-249). Hershey,PA: Idea Group Publishing.

[8] Elmasri, R., S. B. Navathe, Fundamentals of Database

Systems, InternationalEdition, 2000, pp 630 -652.

[9]

Ewald Geschwinde and Hans_Juergen Shoening, PHP PostGre SQL advanced web programming, 2002, Same Publishing

Model for Multimedia Database Systems, Research Report, 1997.

[11] Raghu Ramakrishnan, Database Management Systems,

McGraw –Hill, 1998

[12]

Korry Dougla and Susan Douglas. The comprechensive guide to building program and admimnistering, PostgreSQL database, 2nd , 2005, Same Publishing

[13] Postgis 1.5.0 Manual

[14]

X.Sean Wang, Claudio Bettini, Alexander Brodsky and Sushil Jajodia, Logical Design for Temporal Database with

Multiple Granularities, ACM Trans Database Systems, 1997.

Websites [15] http://www.codeproject.com [16] http://kdtqt.duytan.edu.vn [17] http://.sli.unimelb.edu.au/giweb/GISModule/GIST_Vector. [18]ss http://www.postgresql.org [19] http://www.postgis.refractions.net

[20] http://vi.wikipedia.org/wiki/So_sanh _he _quan _tri _csdl

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số mô hình cơ sở dữ liệu mở rộng Luận văn ThS. Công nghệ thông tin 60 48 05002 (Trang 62)

Tải bản đầy đủ (PDF)

(72 trang)