LUẬN VĂN TỐT NGHIỆP XÂY DỰNG VÀ QUẢN LÝ DATAWAREHOUSE LĨNH VỰC CHỨNG KHOÁNLỜI CẢM ƠN Chúng em xin gử i lời cảm ơn chân thành đến Ban giám hi ệu tr ường ĐH K ỹ Thu ật Công Ngh ệ Thành Ph ố H ồ Chí Minh , đặc bi ệt là Cô, KS. Ph ạm Th ị Lan Anh đ ã tậ n tình h ướng d ẫn và t ạo điề u ki ện cho chúng em có được thành tích quý báu nh ư ngày hôm nay. Nh ờ s ự giúp đỡ và h ướng d ẫn c ủa quý nhà tr ường và Cô mà chúng em đ ã có đượ c nh ững ki ến th ức b ổ ích c ũng như tinh thầ n, kinh nghi ệm th ực tế cho công vi ệc c ủ a chúng em sau này. Ngoài ra, xin đượ c gửi l ời c ảm ơn s ự giúp đỡ của: - Anh Đặng V ương Anh, trưở ng phòng IT, công ty Chứ ng khoán Sài Gòn B ảo Tín. - Anh Hoàng Công Nguyên V ũ, trưở ng phòng L ưu ký, công ty Ch ứng Khoán Sài Gòn Bả o Tín. - Anh Ph ạm Công Khoa H ương, Tr ưởng phòng Giám sát thông tin, S ở Giao D ịch Ch ứng Khoán Thành Ph ố. Và các anh ch ị thu ộc Công ty ch ứng khoán Sài Gòn B ảo Tín đã t ạo điề u ki ện và giúp đỡ chúng em v ề ki ến th ức chuyên môn c ũng nh ư nghi ệp vụ chứng khoán. Xin g ửi lờ i cảm ơn chân thành đến Ba, M ẹ là nh ững ng ười đã có công nuôi d ạy chúng con nên ngườ i và có được thành qu ả t ốt đẹ p nh ư ngày nay. C ảm ơn t ất c ả nh ững ng ười b ạn thân yêu đ ã luôn giúp đỡ, chia s ẽ nh ưng kinh nghi ệm b ổ ích và nh ững l ời độ ng viên, đóng góp ý ki ến quí báo c ủa các b ạn. Chúng em xin hứ a sẽ cố gắng nhi ều hơ n nữ a để không ph ụ lòng c ũng nh ư ni ềm hi v ọng t ừ phía nh ững ng ười thân, Ba, M ẹ, Th ầy, Cô, B ạn Bè,… Để phấn đấ u trởthành những công dân tố t, những k ỹ s ư gi ỏi v ới v ốn ki ến th ức và nh ững kinh nghi ệm quí báo mà chúng em có được sau h ơn 4 nă m học đạ i h ọc ở trườ ng. Cũng xin c ảm ơn quý tr ường ĐH K ỹ Thu ật Công Ngh ệ Thành Ph ố H ồ Chí Minh đã tạ o m ọi điề u ki ện cho chúng em có được thời gian thu ận l ợi và h ợp lý nhấ t, để tập trung hoàn toàn cho bài lu ận vă n tốt nghi ệp, giúp chúng em hoàn thành t ốt nhiêm vụ đượ c giao.LỜI NÓI ĐẦU Để quán triệ t nguyên t ắc " H ỌC ĐI Đ ÔI V ỚI HÀNH ", nhằ m tạo điề u ki ện cho sinh viên làm quen v ới th ực tế , có được cái nhìn t ổng h ợp, giúp cho sinh viên chúng em h ạn chế đượ c sự b ỡ ng ỡ khi ra trườ ng, hàng năm nhà tr ường t ổ ch ức cho sinh viên đi th ực tậ p tại các c ơ s ở theo n ội dung ngành nghề đ ào t ạo. Đây là điề u ki ện thu ận l ợi giúp chúng em phát huy được năng lự c bản thân c ũng nh ư kh ả n ăng áp d ụng lý thuy ết đượ c trang b ị ở trườ ng vào th ực tế . Công ngh ệ thông tin đã có nh ững b ước phát triể n mạnh m ẽ. Máy tính điệ n t ử không còn là ph ương ti ện quý hi ếm mà đang ngày m ột g ần g ũi v ới con ng ười. Đứ ng trướ c sự bùng n ổ thông tin, các t ổ ch ức và các doanh nghi ệp đề u tìm m ọi bi ện pháp để xây dự ng hoàn thi ện hệ thống thông tin c ủa mình nh ằm tin h ọc hoá các hoạ t độ ng tác nghi ệp c ủa đơn vị mình. M ức độ hoàn thi ện tu ỳ thu ộc vào quá trình phân tích và thi ết k ế h ệ th ống. T ừ nhu c ầu nêu trên, trong th ời gian th ực tậ p tốt nghi ệp chúng em đã s ử d ụng v ốn ki ến th ức ít ỏ i của mình tìm hi ểu và phân tích bài toán Xây dựng và Qu ản lý DataWarehouse lĩ nh vực ch ứng khoán . Đề tài g ồm các ph ần: Chươ ng I: T ổng quan Chươ ng II: Các k ỹ thu ật lậ p trình Chươ ng III: Giới thiệ u bài toán và phân tích ứng d ụng Chươ ng IV: Thi ết k ế ứ ng d ụng Chươ ng V: K ết qu ả th ực nghi ệm. Chươ ng VI: T ổng k ếtTuy đã rấ t cố g ắng h ọc h ỏi d ựa trên ki ến th ức đã h ọc và th ực tế tại công ty nh ưng do khả năng và th ời gian có h ạn nên báo cáo c ủa chúng em không th ể tránh kh ỏi nh ững thi ếu sót. Chúng em kính mong quý Thầ y cô cùng bạn bè thông cả m và góp ý để chúng em k ịp th ời lấ p kín nh ững l ỗ h ổng ki ến thứ c và chươ ng trình đạt hi ệu quả cao h ơn. Chúng em xin chân thành c ảm ơn Cô Ph ạm Thị Lan Anh đ ã h ết lòng ch ỉ b ảo để chúng em hoàn thành đồ án này. TP Hồ Chí Minh, th áng 12 / 2008 Sinh viên thực hi ện Bùi Qu ốc V ũ – Lê Hào KhaMỤC LỤC Tóm t ắt n ội dung lu ận v ăn ........................................................................\............ 1 Ch ương I: T ổng quan I.1. Mô hình công ty ch ứng khoán .................................................................. 2 I.2. Các v ấn đề tồ n t ại ở các công ty ch ứng khoán Vi ệt Nam ....................... 5 I.3. M ục tiêu đề ra ........................................................................\..................... 5 Chương II: Các k ỹ thu ật lậ p trình II.1. Giới thiệ u bộ qu ản tr ị database Microso ft SQL Server 2005............... 6 II.2. Giới thiệ u DataWareh ouse .................................................................... 10 II.2.1. Khái ni ệm ........................................................................\................ 10 II.2.2. L ợi ích c ủa kho d ữ liệ u .................................................................. 12 II.2.3. Thành ph ần Datawarehouse ......................................................... 13 II.3. Crystal Report Built-in Visual Studio 2005 ......................................... 15 Ch ương III: Giới thiệ u bài toán và phân tích ứng d ụng III.1. Phát bi ểu bài toán ........................................................................\......... 17 III.2. Phân tích Use case ........................................................................\......... 19 III.2.1. Ch ức n ăng Backup Database ...................................................... 19 III.2.2 Rest ore database ........................................................................\.... 20 III.2.3 Dữ liệu từ hai sàn HASTC, HOSTC đổ về Stock_CurrentStockInfo_Full.................................................................. 22III.2.4 Các flat file từ phantichcophieu.vn s ẽ được import vào STSWEB..................................................................\............... 23 III.2.5 Trích xu ất báo cáo, ng ười dùng có th ể tùy bi ến các báo cáo thông qua các điề u kiệ n nhập vào........................................................... 25 Chươ ng IV. Thi ết k ế ứ ng d ụng IV.1. C ơ sở d ữ liệ u STSW EB........................................................................\. 26 IV.1.1. L ược đồ quan h ệ........................................................................\... 26 IV.1.2. Mô t ả database ........................................................................\...... 28 IV.1.3. Ràng bu ộc toàn v ẹn ...................................................................... 29 IV.1.4. Quy định ........................................................................\................ 30 IV.2. STSWEB Report ........................................................................\........... 31 IV.2.1 Mô t ả ch ức n ăng........................................................................\..... 31 IV.2.2 Mô t ả x ử lý........................................................................\.............. 32 IV.2.3 Data Flow........................................................................\................ 32 Chươ ng V. K ết qu ả th ực nghi ệm V.1. Ch ức n ăng Backup Database................................................................. 33 V.1.1 C ấu trúc ch ương trình .................................................................... 33 V.1.2 Các b ước chạy ch ương trình .......................................................... 35 V.2. Ch ức n ăng Restore Database................................................................. 37 V.2.1. C ấu trúc ch ương trình ................................................................... 37 V.2.2 Các b ước ch ạy ch ương trình .......................................................... 38 V.3. Mô ph ỏng dữ liệu đổ từ hai sàn HOSTC và HASTC .......................... 40V.3.1. Cấu trúc ch ương trình ................................................................... 40 V.3.2. Các b ước ch ạy ch ương trình ......................................................... 41 V.4. Flat file từ phantichcophieu.vn import vào STSWEB ........................ 42 V.4.1 Cấu trúc ch ương trình .................................................................... 42 V.4.2 Các b ước ch ạy ch ương trình .......................................................... 44 V.5. Report STSWEB ........................................................................\............. 46 V.5.1. C ấu trúc ch ương trình ................................................................... 46 V.5.2 Các b ước ch ạy ch ương trình .......................................................... 46 Ch ương VI: T ổng k ết VI.1. K ết lu ận ........................................................................\.......................... 53 VI.1.1 V ề m ặt lý thuy ết ........................................................................\..... 53 VI.1.2 V ề m ặt ứ ng d ụng........................................................................\.... 53 VI.2. H ướng phát triể n ........................................................................\........... 54 Tài liệu tham kh ảo ........................................................................\.......................... 55TÓM TẮT N ỘI DUNG LUẬ N VĂN Chươ ng I. T ổng quan : mô hình công ty, các v ấn đề tồ n t ại th ường g ặp trong database ch ứng khoán. Chươ ng II. Các k ỹ thu ật lậ p trình: Giới thi ệu k ỹ thu ật l ập trình, các công ngh ệ m ới trên SQL Server 2005 và Crysta l Report Built-in Visual Studio 2005, các khái ni ệm c ơ b ản c ủa Data Warehouse. Chươ ng III. Gi ới thiệu bài toán và phân tích ứng dụ ng: : Mô tả bài toán, phân tích các use case. Trình bày các s ơ đồ tuầ n tự và m ột s ố ch ức n ăng n ổi b ật c ủ a ứ ng d ụng. Chươ ng IV. Thiế t kế ứ ng d ụng: Mô t ả c ơ s ở d ữ liệ u của ứng d ụng và trình bày s ơ đồ màn hình trong ứng d ụng. Chươ ng V. K ết qu ả th ực nghi ệm: Kết qu ả th ực nghi ệm trong quá trình ch ạy ứ ng d ụng, màn hình làm vi ệc cùng k ết qu ả tươ ng ứng. Chươ ng V. T ổng kế t: tổ ng k ết k ết qu ả thu được về m ặt lý thuy ết và ứng d ụng, h ướ ng phát tri ển trong thờ i gian tớiChương I TỔ NG QUAN I.1 Mô hình công ty ch ứng khoán: Công ty CP Ch ứng Khóan Sài Gòn B ảo Tín, được thành l ập vào tháng 11 n ăm 2008, v ốn điề u l ệ h ơn 300 t ỉ đồ ng, là công ty trự c thuộc Công ty c ổ ph ần liên hi ệp v ận chuy ển GEMADEPT. STSI đượ c thực hi ện đầ y đủ các nghi ệp v ụ kinh doanh, bao g ồm: - Môi gi ới ch ứng khoán - Tư v ấn đầ u t ư ch ứng khoán - Bảo lãnh phát hành - Tự doanh ch ứng khoán - Lưu ký ch ứng khoán. Khách hàng c ủa STSI là các nhà đầu t ư ch ứng khoán, bao g ồm khách hàng cá nhân và khách hàng doanh nghi ệp. Các khách hàng này có th ể th ực hi ện các tác v ụ nh ư: đặ t lệ nh mua, bán, c ầm c ố, vay ch ứng khoán. Để thực hi ện các tác v ụ này, khách hàng ph ải đ áp ứng các yêu c ầu sau: - Có tài kho ản ti ền gử i giao d ịch ch ứng khoán t ại các ngân hàng mà STSI liên k ết. - Có m ột tài kho ản giao dị ch tại STSI.Khi đáp ứng t ất c ả các yêu c ầu trên, khách hàng có th ể l ựa ch ọn m ột trong các cách giao d ịch sau: - Giao d ịch d ựa vào ch ức n ăng Giao d ịch tr ực tuy ến t ại website c ủa STSI - Giao d ịch t ại sàn giao d ịch c ủa STSI - Giao d ịch qua tin nh ắn SMS đế n hệ th ống tổ ng đài c ủa STSI. - Giao d ịch qua điệ n tho ại v ới các giao d ịch viên c ủa STSI.Sơ đồ tổ chứ c: Hình I.1 Sơ đồ tổ chức công ty Ch ứng Khoán Sài Gòn B ảo Tín.I.2 Các vấn đề tồ n t ại ở các công ty ch ứng khoán Vi ệt Nam: - Các công ty Ch ứng khoán t ại Vi ệt Nam đa ph ần không có nơ i lưu tr ữ l ại l ịch s ử giao d ịch phụ c vụ nhu c ầu tham kh ảo, đối chiế u sau này. - Thông th ường, các công ty chứ ng khoán sử d ụng phầ n mềm backup và restore database c ủa hãng th ứ 3 và không t ận dụ ng đượ c các tính n ăng có s ẵ n c ủa H ệ quả n trị c ơ s ở d ữ li ệu. Chi phí cho vi ệc s ử d ụng các phầ n mềm r ấ t lớ n. Cách sử dụng c ũng h ết s ức ph ức tạ p. - Các báo cáo k ết qu ả giao d ịch đa ph ần chư a đượ c tự động hóa, h ầu nh ư do đội ng ũ k ế toán t ổng k ết thông qua các phi ếu l ệnh và k ết qu ả giao d ịch t ừ sàn tr ả v ề. I.3 M ục tiêu đề ra: − N ắm b ắt tấ t cả các nghiệ p vụ chứng khoán liên quan đến các v ấn đề tồn t ại ở công ty. − Gi ải quy ết đượ c các v ấn đề tồ n t ại trong h ệ th ống database củ a công ty.Chương II CÁC K Ỹ THU ẬT LẬ P TRÌNH II.1 Giới thiệ u bộ qu ản tr ị database Microso ft SQL Server 2005: SQL Server 2005 là m ột h ệ th ống qu ản lý c ơ s ở d ữ liệ u (Relational Database Management System (RDBMS) ) s ử d ụng Transact-SQL để trao đổi d ữ liệ u gi ữa Client computer và SQL Server computer. M ột RDBMS bao g ồm databases, database engine và các ứng dụ ng dùng để quả n lý dữ liệu và các b ộ ph ận khác nhau trong RDBMS. SQL Server 2005 được tối ưu để có th ể ch ạy trên môi tr ường c ơ s ở d ữ liệ u rất l ớ n (Very Large Database Environment) lên đến Tera-Byte và có th ể ph ục v ụ cùng lúc cho hàng ngàn user. SQL Server 2005 có thể k ết h ợp "ă n ý" vớ i các server khác nh ư Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server... Hình II.1 Màn hình đăng nh ập SQL Server.Khi SQL Server 2005 ra đời, thì những ki ến th ức v ề SQl 2000 th ực s ự không đủ để làm ch ủ đượ c SQL 2005. Kh ả n ăng và độ linh h ọat c ủa SQL Server 2005 được phả n ánh r ất rõ trong công c ụ Management Studio m ới và BIDS. Các tính n ăng n ổi b ật trong b ộ Microsoft SQL Server 2005: a. Nâng cao b ảo m ật:B ảo m ật là trong tâm chính cho nh ững tính nă ng mới trong SQL Server 2005. Điề u này phả n ánh sự ph ản ứng l ại c ủa Microsoft v ới sâu máy tính Slammer đã t ấn công SQL Server 2000. Nó c ũng cho th ấy m ột th ế gi ới ngày càng có nhi ều d ữ liệ u kinh doanh có nguy c ơ b ị lộ ra ngoài Internet. - B ảo m ật nhóm th ư m ục h ệ th ống: Nhóm m ục h ệ th ống bao g ồm các View bên dướ i cấu trúc dữ liệu hệ th ống. Ng ười sử d ụng không th ấy đượ c bất c ứ b ảng bên d ưới nào, vì th ế nhữ ng ng ười dùng không có k ỹ n ăng ho ặc có ý phá ho ại không th ể thay đổi ho ặc làm h ư h ỏng các b ảng này được. Điề u này ngă n bạ n ho ặc b ất k ỳ ai khác làm h ỏng c ấu trúc chính mà SQL Server phụ thu ộc vào. - B ắt bu ộc chính sách m ật kh ẩu: Khi b ạn cài Window Server 2003, b ạn có th ể áp d ụng chính sách m ật kh ẩu c ủa Window (b ạn đang áp d ụng) cho SQL Server 2005. B ạn có th ể thi hành chính sách v ề m ức độ và ngày h ết h ạn c ủa m ật kh ẩu trên SQL Server 2005 gi ống h ệt nh ư cho tài kho ản đă ng nhậ p vào Windows mà trong 2000 không h ỗ trợ tính n ăng này. B ạn có th ể t ắt ho ặc m ở vi ệc b ắt bu ộc chính sách m ật kh ẩu cho t ừng đăng nh ập riêng. b. M ở rộ ng T-SQL: - Transact – SQL : là một phiên b ản c ủa Structured Query Language (SQl), đượ c dùng b ởi SQL Server 2005 . Transact-SQL thường đượ c gọi là T-SQL. T-SQL có nhi ều tính n ăng do Microsoft phát triể n không có trong ANSI SQL (SQL chu ẩn).- Cải tiế n kh ả n ăng hỗ trợ XML : SQL Server 2000 cho phép b ạn nhậ n dữ liệ u quan h ệ ở d ạng XML vớ i mệnh đề FOR XML, ho ặc lư u trữ XML nh ư d ữ liệ u quan hệ trong SQL Server s ử d ụng m ệnh đề OPEN XML. SQL Server 2005 có thêm m ột ki ểu dữ liệu m ới là XML cho phép b ạn vi ết mã nh ận dữ liệu XML nh ư là XML, tránh vi ệc bi ến đổ i từ XML thành d ữ liệ u quan hệ khi dùng OPEN XML. B ạn c ũng có th ể dùng tài li ệu gi ản đồ bi ểu di ễn trong ngôn ng ữ W3C XML Schema Definition ( đôi khi g ọi là gi ản đồ XSD) để ch ỉ ra c ấu trúc h ợ p l ệ trong XML. - Sử d ụng kh ối Try... Catch trong mã T-SQL: cho phép chỉ ra đ iề u gì ph ải làm khi l ỗi x ảy ra. - Trong SQL Server Management Studio, có th ể tìm th ấy nhi ều đo ạn mã m ẫu giúp b ạn th ực hi ện nh ững tác v ụ th ườ ng g ặp vớ i T-SQL. c. Tăng cườ ng hỗ trợ ng ười phát triể n: - H ỗ trợ cho Common Language Runtime (CLR): CLR được dùng b ởi mã .NET, được nhúng vào trong c ỗ máy CSDL SQL Server 2005, giúp developer có th ể vi ết các th ủ t ục l ưu s ẵn, trigger, hàm, tính toán t ập h ợp và các ki ểu d ữ liệ u do ng ười dùng định ngh ĩa b ằng cách s ử d ụng các ngôn ng ữ nh ư VB.NET hoặ c C#. - Các ki ểu dữ liệu m ới: Varchar(max) cho phép b ạn dùng chuỗ i kí tự l ớn h ơ n 8000 byte (8000 kí t ự), tố i đa là 2 GB. Nvarcha r(max) cho phép dùng chu ỗi kí t ự Unicode l ớn hơ n 8000 byte (4000 kí t ự), tố i đa là 2 GB. Varbinary(max) cho phép dùng d ữ liệ u nh ị phân l ớn h ơn 8000 byte…. - SQL Management Object (SMO): SMO thay thế cho Distributed Management Objects (DMO) được dùng trong SQL Server 2000. SMO nhanh h ơ n DMO ở nhiề u thiết lậ p bở i vì m ỗi đối tượ ng chỉ đượ c thực hi ện t ừng phầ n. - Tự độ ng thự c thi mã k ịch b ản: Nếu bạ n đã dùng các ch ương trình c ủa Microsoft nh ư Microsoft Access, Excel, b ạn bi ết rằ ng có th ể t ạo các macro (mãthực thi) cho phép b ạn th ực hi ện t ự động m ột s ố tác v ụ nào đó. SQL Server 2005 bây gi ờ có tính n ăng t ự độ ng t ạo mã k ịch b ản T-SQL t ừ nh ững hành động mà b ạn dùng gian di ện hình ảnh trong SQL Server Management Studio. - Truy c ập HTTP: Dùng giao th ức HTTP để truy c ập vào SQL Server 2005 là tính n ăng m ới cho phép ng ười lập trình truy c ập vào SQL Server mà không ph ụ thu ộc vào vi ệc IIS có đang ch ạy trên cùng máy hay không. SQL Server có th ể cùng t ồn t ại v ới IIS nh ưng không gi ống v ới SQL Server 2000, IIS không còn là yêu c ầu bắ t buộc v ới SQL Server 2005. Truy c ập HTTP cho phép phát triể n dung XML Web Service v ới SQL Server 2005. Truy c ập HTTP có th ể th ực thi nhóm lệ nh T-SQL hoặc th ủ t ục lư u sẵ n. Tuy nhiên, vì lí do b ảo m ật truy c ập, HTTP m ặc định s ẽ b ị vô hi ệu hóa. Để sử d ụng truy c ập HTTP b ạn phả i ch ỉ rõ ng ười dùng, th ủ tụ c lư u sẵn và CSDL được phép h ỗ trợ nó. Hình II.2 Giao di ện SQL Server 2005 - Hỗ trợ đầ y đủ Linked Server : Nhờ Linked Server, vi ệc thao tác d ữ liệ u trên các Data Source khác tr ở nên h ết s ức d ễ dàng và thuậ n tiện.II.2 Giới thiệu DataWarehouse: II.2.1: Khái ni ệm: Kho d ữ liệ u về bản ch ất c ũng là m ột database bình th ường, các h ệ Qu ản tr ị c ơ s ở d ữ liệ u quả n lý và l ưu tr ữ nó nh ư các database thông th ường (tuy nhiên có h ỗ trợ thêm v ề qu ản lý dữ liệu lớn và truy v ấn). Thự c ra nét khác bi ệt c ủa datawarehouse so v ớ i database là ở quan ni ệm, cách nhìn v ấn đề : − Tr ướ c tiên Datawarehouse là database r ất lớ n, g ọi m ột cách chính xác h ơn là kho thông tin (informa tion warehouse), là một c ơ s ở d ữ liệ u h ướng đối t ượng đượ c thiế t kế v ới vi ệc tiế p cận các ý ki ến trong m ọi l ĩnh v ực kinh doanh. Nó cung c ấp các công c ụ để đ áp ứng thông tin c ần thi ết cho các nhà qu ản tr ị kinh doanh t ại m ọi c ấp độ t ổ ch ức - không nh ững ch ỉ là nh ững yêu cầ u dữ liệu ph ức h ợ p, mà còn là điề u ki ện thuậ n tiện nhấ t để đạ t đượ c việ c lấy thông tin nhanh, chính xác. M ột kho d ữ liệ u đượ c thiế t kế để ng ười sử d ụng có th ể nh ận ra thông tin mà h ọ mu ốn có và truy c ập đế n bằ ng nh ững công c ụ đơ n gi ản. − Datawarehouse là m ột tậ p hợ p thông tin c ơ b ản trên máy tính mà chúng có tính quy ết đị nh đến vi ệc th ực hi ện thành công b ước đầ u trong công vi ệc kinh doanh, là m ột s ự pha tr ộn c ủa nhiề u công nghệ , bao gồm các c ơ s ở d ữ liệ u đa chi ều và m ối quan h ệ gi ữa chúng, ki ến trúc ch ủ khách, giao di ện ng ười dùng đồ h ọa và nhi ều n ữa. D ữ liệ u trong kho d ữ li ệu không gi ống d ữ liệ u của h ệ đ iề u hành là loạ i chỉ có th ể đọc nh ưng không ch ỉnh s ửa đượ c. H ệ đ iề u hành t ạo ra, ch ỉnh s ửa và xóa nh ững dữ liệu s ản xu ất mà nhữ ng dữ liệ u này cung c ấp cho kho d ữ liệ u. Nguyên nhân chính cho s ự phát tri ển m ột kho d ữ liệ u là ho ạt độ ng tích h ợp d ữ liệ u từ nhi ền ngu ồn khác nhau vào m ột kho d ữ liệ u đơ n l ẻ và dày đặc mà kho này cung c ấp cho vi ệc phân tích và ra quyế t đị nh trong công vi ệc kinh doanh. Đối với m ột s ố công vi ệc kinh doanh tin r ằng thông tin là ngu ồn tài nguyên có giá tr ị r ất lớ n thì m ột kho d ữ li ệu t ương đối giống nh ư m ột nhà kho ch ứa hàng. H ệ đ iề u hành t ạo ra nh ững ph ần d ữ liệ u và nạ p chúng vàokho. Một s ố ph ần đượ c tóm t ắt trong thành ph ần thông tin và được cất vào kho. Ng ười sử d ụng kho d ữ liệ u đưa ra nh ững yêu c ầu và được cung cấ p sản ph ẩm đượ c tạo ra t ừ các thành ph ần và các phân đoạn đượ c lưu trong kho. − Database h ướng về xử lý th ời gian th ực, datawarehouse h ướng v ề tính ổn đị nh. − Database ph ục v ụ x ử lý transaction, c ập nh ật. Datawarehouse thườ ng chỉ đọc, ph ục v ụ cho nh ững nhu c ầu báo cáo. VD: Chúng ta s ẽ yêu c ầu hãy cho bi ết trong 5 n ăm, b ộ ph ận ph ần m ềm đã làm đượ c những d ự án nào, t ừ đ ó chúng ta s ẽ có quy ết đị nh v ề hi ệu nă ng của nhóm này . − Datawarehouse s ẽ l ấy thông tin có thể từ nhi ều ngu ồn khác nhau: DB2, Oracle, SQL Server th ậm chí cả File thông th ường, làm s ạch chúng và đưa vào c ấu trúc c ủa nó. Datatawarehouse r ất lớ n, nên mu ốn cho t ừng b ộ ph ận chuyên bi ệt ng ười sử d ụng cu ối cùng có th ể khai thác thông tin d ễ dàng thì b ản thân datawarehouse ph ải đượ c chuyên hoá, phân ra thành nh ững chủ đề , do đó nh ững ch ủ đề chuyên môn hóa đó t ạo thành m ột Database chuyên bi ệt-đ ó là Data mart. Ví d ụ: Datawarehouse củ a Microsoft là rất lớn, trong m ột núi thông tin đó, r ất khó để khai thác. Vì th ế có r ất nhiề u Data mart v ề kinh doanh, ti ếp th ị, k ỹ thu ật, testing,…. Có m ột điể m l ưu ý ở đ ây là có m ột công cụ hay đúng h ơ n là m ột chu ẩn công c ụ mà m ọi h ệ quả n trị Database h ỗ trợ cho vi ệc truy v ấn thông tin trong Datamart r ồI đưa ra nh ững quy ết đị nh, nh ận dị nh nhữ ng thông tin trong Datamart - Đó là OLAP, b ộ phân tích tr ực tuy ến (Online Analyze Proceesing). − Mộ t điể m quan tr ọng là Database th ường đượ c chu ẩn hóa (d ạng chuẩ n 1, 2, 3, BCK) để khai thác. Datawarehouse phả i phi chuẩn hoá r ồi sau đó có th ể chu ẩn hoá theo Data mart, điề u này đồng ngh ĩa v ới vi ệc Datawarehouse sẽ trùng lắp thông tin. Th ật ra điề u là hi ển nhiên, vì vi ệc chu ẩn hoá nh ằm tránh s ự trùng l ắp thông tin, do đó sẽ nhất quán trong vi ệc c ập nhậ t, thêm, xoá, s ửa. Tuy nhiên Datawarehouse là Database r ất l ớn ph ục v ụ cho báo cáo, truy v ấn ch ỉ đọ c nênviệc trùng l ắp thông tin s ẽ giúp thao tác tìm ki ếm s ẽ nhanh h ơn. Đây c ũng là m ột quy lu ật: Càng Trùng l ắp thông tin thì tìm ki ếm càng d ễ dàng và ng ược lạ i. − Datawarehouse là m ột h ướng công ngh ệ nóng nh ất. M ột kho d ữ liệ u đượ c xác đị nh đúng hướ ng, hoạt độ ng hi ệu qu ả có th ể trở thành m ột công c ụ c ạnh tranh có giá tr ị cao trong kinh doanh. II.2.2 Lợi ích c ủa kho d ữ liệ u: - Tạo ra nh ững quy ết đị nh có ả nh hưởng l ớn. Mộ t kho d ữ liệ u cho phép trích rút tài nguyên nhân l ực và máy tính theo yêu c ầu để cung c ấp các câu truy v ấn và các báo cáo d ựa vào c ơ s ở d ữ liệ u hoạ t động và s ản xuấ t. Điề u này t ạo ra s ự tiế t ki ệm đáng kể . Có kho d ữ liệ u cũng trích rút tài nguyên khan hi ếm c ủa h ệ th ống s ả n xuấ t khi th ực thi m ột ch ương trình quá lâu ho ặc các báo cáo và các câu truy vấ n phức h ợp. - Công vi ệc kinh doanh tr ở nên thông minh h ơn. T ăng thêm ch ất lượ ng và tính linh ho ạt c ủa vi ệc phân tích kinh doanh do phát sinh t ừ c ấu trúc dữ liệu đa tầ ng c ủ a kho d ữ liệ u, đó là n ơi cung c ấp d ữ liệ u đượ c sắp xế p từ m ức độ chi tiế t của công vi ệc kinh doanh cho đến m ức độ cao hơ n - mức độ tổng quát. Đảm b ảo đượ c dữ liệ u chính xác và đáng tin c ậy do đả m bảo đượ c là trong kho d ữ li ệu ch ỉ ch ứa duy nh ất d ữ liệ u có ch ất lượ ng cao và ổn đị nh (trusted data). - D ịch v ụ khách hàng được nâng cao. M ột doanh nghi ệp có th ể gi ữ gìn m ối quan h ệ v ới khách hàng t ốt h ơn do có m ối tươ ng quan vớ i dữ liệ u của t ất c ả khách hàng qua m ột kho d ữ li ệu riêng. - Tái sáng t ạo nh ững tiế n trình kinh doanh. S ự cho phép phân tích không ng ừng thông tin kinh doanh th ường cung c ấp s ự hi ểu bi ết m ọi m ặt c ủa ph ương th ức kinh doanh do đ ó có thể làm nảy sinh ra nh ững ý ki ến cho s ự sáng tạ o ra những tiế n trình này l ại. Ch ỉ khi xác định chính xác các nhu c ầu t ừ kho d ữ li ệu thì m ớigiúp ta đánh giá được nh ững hạ n chế và m ục tiêu kinh doanh m ột cách chính xác h ơn. - Tái sáng t ạo hệ thống thông tin. M ột kho d ữ liệ u là n ền t ảng cho các yêu c ầu d ữ liệ u trong m ọi lĩ nh v ực kinh doanh, nó cung c ấp m ột chi phí ảnh h ưởng ngh ĩa là đưa ra thói quen cho cho c ả hai s ự chu ẩn hóa d ữ liệ u và s ự chu ẩn hóa hoạ t động củ a hệ đ iề u hành theo chu ẩn qu ốc tế . II.2.3 Thành ph ần Datawarehouse: Ki ến trúc DataWarehouse có th ể đượ c chia làm 4 ph ần chính: - Pre- Data Warehouse : Đ ây là các ngu ồn d ữ liệ u bên ngoài, s ẽ đượ c sàng lọ c và đưa vào l ưu tr ữ bên trong Data Warehouse. - Data Cleasing - ETL : là viết tắ t của cụ m từ Extraction (phân rã), Transformation (chuy ển đổ i), Loading (dung n ạp). Đây là thành ph ần chị u trách nhi ệm sàng l ọc, chuyể n đổ i thành các định dạ ng phù hợ p với kiến trúc bên trong c ủa Data Warehouse. - Data Repositories : bao gồm các Metadata. Metadata là d ữ liệ u để mô t ả d ữ liệ u. Khi d ữ liệ u đượ c cung c ấp cho ng ười dùng cu ối, thông tin metadata s ẽ cung c ấp nh ững thông tin cho phép h ọ hi ểu rõ hơ n bản chất v ề d ữ liệ u mà họ đ ang có. Nh ững thông tin này s ẽ giúp cho ng ười dùng có được nh ững quy ết đị nh s ử d ụng đúng đắn và phù h ợp về dữ liệ u mà họ có. Bản thân Metadata c ũ ng có th ể quan ni ệm là n ơi để ch ứa chính d ữ liệ u, nh ưng s ố l ượ ng ph ải là c ự c lớ n. - Front-End Analytics : là các ứng d ựng s ử d ụng d ữ liệ u có trong Data Warehouse nh ư OLAP (On_Line Analysis Processing - X ử lý phân tích tr ực tuy ến), Data Mining (Khai thác d ữ liệ u), Data Visualization (mô hình hóa d ữ liệ u), Reporting (trích xu ất báo cáo).Hình II.3 Mô hình luồng dữ liệu Data Warehouse.II.3 Crystal Report Built-in Visual Studio 2005: Crystal Report for VisualStudio .NET là công c ụ báo cáo chu ẩn dành cho isualStudio.NET. B ạn có th ể tiế p qu ản nh ững báo cáo này trên n ền web và windows à phân b ổ chúng ở d ạng dị ch vụ web ho ặc win-form trên server. Vv Hình II.4 M ột mẫu báo cáo t ạo bằng Crystal Report. Crystal Report được mệnh danh là chuyên viên phân tích tình hình h ọat động c ủ a doanh nghi ệp, mang tính định l ượng cho t ất c ả các l ĩnh v ực t ừ Tài Chính, Kinh doanh, Marketing cho đến T ổ Ch ức ho ạch định. H ầu hế t các doanh nghi ệp luôn ph ải đ au đầu v ới nh ững con s ố t ừ các báo cáo c ủa nhân viên trong công ty. Crystal Report v ớ i đầ y đủ tín n ăng và đ iề u ki ện để làm các báo cáo, kèm theo nh ững phân tích về ngu ồn v ốn, tình hình chi phí, thu nh ập, k ết qu ả h ọat động s ản xu ất kinh doanh, di ễngiải tình hình t ăng gi ảm tài s ản c ố đị nh trong th ư m ục tài chính; qu ản lý ch ặt ch ẽ tình hình doanh số , sản ph ẩm, thu chi và ph ần tr ăm k ế hoạ ch kinh doanh c ủa nhân viên kinh doanh, đánh giá ti ềm n ăng thị trường dựa trên các s ố liệ u của các nhà phân ph ối, nh ững khách hàng ch ủ l ực để giúp doanh nghi ệp có định l ượng chính xác cho k ế h ọach đầu t ư kinh doanh dài hạ n tại từ ng thị trường; không nh ững vậ y Crystal Report c ũ ng là 1 chuyên viên Marketing c ừ khôi cho kế họach triể n khai s ản phẩ m, cân đối chi phí cho h ọat động Marketing c ủa doanh nghi ệp theo tiêu chu ẩn c ủa qu ốc tế .v..v... Cystal Report là công c ụ thi ết k ế cho phép chúng ta t ạo ta nh ững b ản báo cáo mà k ết qu ả trả về đượ c rút trích t ừ m ột Database hoặ c Datasource khác nhau. Thay vào đó để cho vi ệc xem data trong m ột datasource trở nên đơn giản hơ n, Crystal Report tạ o ra những bản báo cáo m ột cách đa d ạng. Nh ững d ạng báo cáo mà doanh nghi ệp th ường hay dùng hi ện nay b ằng Excel, Word, hay Power point, PDF ( Acrobat..), s ẽ không dùng n ữa mà thay vào đó là Crystal Report. Ch ỉ c ần chuy ển t ải các s ố liệ u vào Crystal Report, doanh nghi ệp s ẽ có nh ững báo cáo hòan h ảo.Chương III GI ỚI THIỆ U BÀI TOÁN VÀ PHÂN TÍCH ỨNG D ỤNG III.1 Phát bi ểu bài toán: Mô t ả: M ọi giao d ịch c ủa khách hàng t ại STSI, s ẽ ngay l ập t ức đượ c chuy ển v ề hai sàn ch ứng khoán trung tâm là sàn Thành ph ố H ồ Chí Minh (HOSTC) và sàn Hà N ội (HASTC). Đồng thờ i, trong kho ảng th ời gian 10 giây m ột lầ n, h ệ th ống STSI li ệu t ại STSI được chia làm hai ph ần, Core và Web. Core là h ệ th ống l ưu tr ữ các thông tin v ề tài kho ản khách hàng, các thông tin v ề h ợp đồ ng, các lệ nh đặt mua, bán, c ầm c ố, vay ch ứng khoán, thông tin l ịch s ử giao d ịch, s ố d ư tài kh ỏan ti ền m ặt, s ố d ư tài kho ản ch ứng khoán. Core được lưu trữ b ằng h ệ qu ản tr ị CSDL Oracle 10G-R2. Web là h ệ th ống website bao g ồm mô t ả v ề công ty, tin t ức th ị trườ ng, các bi ểu đồ phân tích c ổ phi ếu, bi ến độ ng giá, các s ự ki ện ch ứng khoán và giao d ịch tr ực tuy ến. Website có hai database, STSWEB và WebHavest, s ử d ụng H ệ quả n trị SQL Server 2005. Tin t ức th ị trườ ng đượ c lấy thông qua ch ương trình l ấy tin t ự độ ng, d ữ liệ u s ẽ đượ c chuy ển đổi thành d ạng xml, l ưu tr ữ t ạm trong database WebHavest. Phòng kinh doanh s ẽ ch ịu trách nhi ệm ki ểm duy ệt tin t ức và lư u trữ l ại vào trong STSWEB. Các bi ểu đồ đượ c xây d ựng b ằng webpart, l ấy thông tin l ưu tr ữ trong database thông qua các store procedure. Khách hàng cần đă ng nhậ p mới có th ể s ử d ụng ch ức n ăng Giao d ịch tr ực tuy ến. Mọ i giao d ịch t ại đây sẽ đượ c chuy ển qua Core để giao d ịch viên x ử lý. Website còn có các b ảng điệ n t ử th ể hi ện bi ến động giá theo th ời gian th ực củ a thị trườ ng. Các bi ến độ ng giá trên th ị trườ ng, sẽ đượ c chuy ển về , l ư u tr ữ trong database STSWEB. B ảng điệ n t ử s ẽ l ấy thông tin t ừ STSWEB, sau đó hi ển th ị lên cho nhà đầu t ư xem. sẽ liên t ục nh ận thông tin tr ả v ề từ hai sàn trung tâm. H ệ th ống lư u trữ d ữQua việc phân tích hệ thống ở ũng nh ư góp ý t ừ phía khách hàng, STSI d ự đị nh s ẽ xây d ựng thêm m ột s ố tính n ăng sau: ua l ư u tr ữ trên File Server. - Thông tin bi ến độ ng giá từ hai sàn HASTC và HOSTC s ẽ đượ c lưu tr ữ ế n - Kiểm tra th ường xuyên các k ết n ối đang trong tr ạng thái Idle. N ếu quá các công ty b ạn, c- Lúc 17h, m ọi thông tin trong STSWEB s ẽ đượ c backup l ại, chuyể n qtrong table stock_CurrentStockInfo_Full, ph ục v ụ nhu c ầu xem l ại các bi ến độ ng giá vớ i tần số chuy ển đổ i 5 phút/5s. - Các flat file t ừ phantichcophieu.vn s ẽ đượ c import vào STSWEB t ự độ ng vào lúc 14h30. - Tự động trích xu ất các báo cáo h ằng ngày, ng ười dùng có th ể tùy bicác báo cáo thông qua các điề u ki ện nh ập vào. - Các quá trình backup, restore s ẽ ng ắt các k ết n ối đế n hệ thống, các thay đổi trên database t ừ các k ết n ối này s ẽ đượ c tự độ ng rollback lạ i. thời gian quy định s ẽ drop. Yêu c ầu hệ thống: Ứng d ụng c ần phát tri ển và hi ện th ực trên h ệ th ống sau: - Hệ đ iề u hành Win 2003 server - Microsoft SQL Server 2005 - Crystal Report Built in MS Visual Studio 2005 - Mạ ng LAN - Hệ th ống lư u trữ SAN.III.2 Phân tích Use case: up Database: Nh iệ n thườ ng xuyên, khi k ết thúc gi ờ làm vihiện vào b ất k ỳ lúc nào, ph ục v ụ vi ệc ch ạy thử , kiểm tra c ủ a i ngcác loại backup khác nhau: • ay đổi từ lần th ể tùy ch ọn lo ại backup phù h ợp. ụ backup. - Toàn b ộ các backup file phả i đặ t tên theo m ột quy lu ật th ống nh ất, g ợi nh ớ th kup và kiểu backup. - ết n ối đang có đến database. Mọ i tác v ụ đ ang th ực hiệ n sẽ đượ c rollback l ại. - Các backup file sau khi được tạo ra ph ải nhanh chóng chuy ển qua l ưu tr ữ trên i- Có th ể backup ch ỉ database log. III.2.1 Chức n ăng Backận xét: - Vi ệc backup database ph ải đượ c th ực hệc vào lúc 17h30. Vi ệc backup này c ần đượ c th ực hi ện t ự động, đồng th ời ph ải có th ể th ực độ ũ phát triể n database. - Ph ải cho phép ng ười sử d ụng tùy ch ọn gi ữa Backup Full: Dùng để backup toàn b ộ d ữ liệ u database • Backup Differental: Dùng để backup nh ững d ữ liệ u thBackup Full g ần đó nh ất - Tùy vào chính sách c ủa cty mà có- Ch ỉ nhân viên c ủa độ i ng ũ phát tri ển database m ới có th ể th ực hi ện tác vờ i đ iể m backup, n ội dung bacTr ướ c khi th ực hi ện backup, ng ắt toàn b ộ các kf le server.- Khi backup, đóng gói data file và log file thành m ột file, giúp ti ện l ợi cho vi ệc di chuy ển, lư u trữ và đồng b ộ khi restore. - C ấu hình tác vụ backup phải rõ ràng, d ễ hi ểu, d ễ làm v ới ng ười không hình tác v ụ backup không c ần ph ải đă ng nh ập SQL Server, không t trên database master, v ới đối s ố truy ền vào là tên database c ần backup và lo ại backup. - S ử ng p, giúp tránh tr g tdõi quá trình ho ạt độ ng backup. ông c ụ SQLCMD để thi ết lậ p các c ấu hình backup và g ọi store procedure th ực hi ện. năng backup database. tal hay là file log. chuyên database. - Vi ệc cấ u sử a ch ữa cấ u hình l ại database. H ướ ng phát tri ển: - S ử d ụng m ột store procedure đặdụ ngày gi ờ lúc thự c hiện, làm thành ph ần c ủa file backuùn ên file và g ợi nh ớ th ời đ iể m backup. - S ử d ụng ch ức n ăng Scheduled Task để lập thờ i biểu backup và theo - Dùng cIII.2.2 Restore database: Nh ận xét: - Ch ức n ăng Restore ph ải luôn đi kèm v ới ch ức - Ch ức n ăng Restore c ần t ự phát hi ện file backup thu ộc d ạng nào, Full, Differen- Ch ỉ nhân viên c ủa độ i ng ũ phát tri ển database m ới có th ể th ực hi ện tác v ụ Restore. - Tr ướ c khi th ực hi ện Restore, ng ắt toàn b ộ các k ết n ối đang có đến database. Mọ i tác v ụ đ ang th ực hiệ n sẽ đượ c rollback l ại. - C ấu hình tác vụ backup phải rõ ràng, d ễ hi ểu, d ễ làm v ới ng ười không - S ử d ụng 1 file SQL script để lưu tr ữ c ấu hình và các thông s ố c ần thi ết để - C ần cho phép tùy ch ọn n ơi đặ t file data và log file. chuyên database.- Vi ệc cấ u hình tác v ụ backup không c ần ph ải đă ng nh ập SQL Server, không s ử a ch ữa cấ u hình l ại database. H ướ ng phát tri ển: th ực hi ện restore nh ư: tên backup file, restore vào database, data file và log file nào. - Dùng công c ụ SQLCMD để thi ết lậ p các c ấu hình restore và g ọi script th ực hi ện.III.2.3 Dữ liệu từ hai sàn HASTC, HOSTC đổ v ề Stock_CurrentStockInfo_Full: - C có cấu trúc t ương t ự nh ư - Trong stock_CurrentStockInfo_Full c ần thêm field xác định th ời đi ểm nh ận dữ liệu - C ển vi ệc lấ y dữ liệu 5 phút/l ần. u đượ c truy ền d ưới dạng flat file. ề t ừ sàn được c ập nh ật liên tụ c vào table stock_CurrentStockInfo, stoc k_CurrentMarketInfo và chuy ển sang l ưu tr ữ - Vượng mã ch ứng khoán có trên hai sàn v ới lượ ng mã ch ứng khoán báo v ề mã m ới, thu ộc sàn nào để Phòng Kinh doanh c ập nh ật thông tin h ệ th ống. Nh ận xét: ấ u trúc c ủa stock_CurrentStockInfo_Full ph ải table stock_CurrentStockInfo và th ứ tự c ủa d ữ li ệu đó trong ngày. ầ n 1 timer điề u khi- D ữ liệ u tr ả v ề t ừ hai sàn ch ứng khoán HoSTC và HoSTC là d ữ liệ u liên t ục, t ầ n s ố truy ền về là 5 giây. D ữ liệ- D ữ liệ u trả vtrong stock_CurrentStockInfo_Full. ào đầu phiên giao d ịch th ứ nh ất, cầ n kiểm tra d ữ liệ u đổ v ề t ừ hai sàn, so kh ớp số lcó trong h ệ th ống. N ếu có mã chứ ng khoán mới lên sàn, l ập t ức ph ải đưa ra thôngData Flow: Hình III.1 Mô hình luồng dữ liệu t ừ hai sàn HA và HO đổ về database ớ ng phát tri ển: H ư- SIII.2.4 Các flat file t ừ phantichcophieu.vn s ẽ được import vào STSWEB: Nh ận xét: - D ữ liệ u kế t quả giao d ịch cu ối ngày được trả về t ừ trang web phantichcophieu.vn, g ồm 4 file Excel: HaSTC.xls, HoSTC.xls, Index.xls, Fund.xls. - D ữ liệ u kế t quả giao d ịch cu ối ngày được cậ p nhậ t vào table stock_SymbolPermLong. Table stock_SymbolPermLong là nơ i chứa toàn b ộ lị ch s ử k ết qu ả giao d ịch cu ối ngày, từ 28/07/2000 đến nay. - S ử d ụng store procedure để th ực hi ện vi ệc đọ c, ch ọn l ọc và lấ y dữ liệu đổ vào stock_CurrentStockInfo_Full ử d ụng các hàm data-time để th ực hi ện vi ệc ch ọn l ọc d ữ liệ u.- Vi ệc cậ p nh ật d ữ liệ u cu ối phiên giao d ịch đượ c giao cho phòng Phân tích nên ch ương trình c ập nh ật đòi h ỏi ph ải d ễ dàng, không qua nhiề u b ướ c th ực hi ện. Data Flow: đả m trách Hình III.2 Mô hình lu ồng dữ li ệu import t ừ phantichcophieu.vn vào database.ớ ng phát tri ển: H ược đẩ y vào table PTCK và làm s ạch trướ c khi chuy ển vào l ưu tr ữ trên stock_SymbolPermLong. - S ử d ụng SQLCMD để đơn gi ản hóa công vi ệc cậ p nhậ t. - C ần ki ểm tra độ mới c ủa d ữ liệ u. III.2.5 Trích xu ất báo cáo, ng ười dùng có th ể tùy bi ến các báo cáo thông qua các điề u kiệ n nhập vào: Nh ận xét: - Các báo cáo ph ải là báo cáo động, dựa vào đ iề u ki ện ng ười dùng đưa ra. - Báo cáo ph ải d ựa trên m ẫu quy định c ủa công ty. C ông ty có thể có r ất nhi ều m ẫu báo cáo trong t ương lai. - D ữ liệ u để tạ o báo cáo đượ c lấy trong database v ới các table tươ ng ứng. H ướ ng phát tri ển: - Mẫ u báo cáo được tạo ra trên form c ủa C#. Điề u ki ện c ủa các m ẫu báo cáo đượ c rút trích ra t ừ store tươ ng ứng đượ c tạo ra trong database. - Report (m ẫu báo cáo) được kết n ối v ới store thông qua dataset. - Khi mu ốn xem báo cáo ng ười dùng ch ỉ vi ệc nh ập vào nh ững điề u ki ện t ươ ng ứ ng v ới từ ng m ẫu báo cáo được đư a ra. - D ữ liệ u đưChương IV THIẾ T KẾ Ứ NG D ỤNG IV.1. C ơ s ở d ữ liệ u STSWEB: IV.1.1. L ược đồ quan h ệ:Hình IV.1 Lược đồ quan hệ Data Warehouse STSWEB.IV.1.2. Mô tả database: Database STSWEB có ch ức n ăng l ưu tr ữ toàn b ộ thông tin website www.stsi.com.vn và các d ữ liệ u giao d ịch. Trong đó, các table stock_SymbolPermShort, stock_Symbol PermLong, stock_CurrentStockInfo, stock_CurrentStockInfo_Full, stock_ Symbols, PTCK là các table thuộc ki ến trúc Data Warehouse. Tên table Mô tả stock_SymbolPermShort Lưu tr ữ thông tin k ết qu ả giao d ịch cuố i ngày c ủa m ột n ăm. stock_SymbolPermLong Lưu tr ữ toàn b ộ thông tin giao d ịch cu ối ngày củ a các n ăm. stock_CurrentStockInfo Lưu tr ữ bi ến động giá hi ện t ại, ph ục v ụ nhu cầ u hiển th ị giá trên b ảng điệ n t ử. stock_CurrentStockInfo_Full Lưu tr ữ lị ch s ử bi ến độ ng giá t ừng ngày c ủa quý. stock_Symbols Lưu tr ữ thông tin các mã chứ ng khoán trên sàn Thành ph ố H ồ Chí Minh (HOSTC) và sàn Hà N ội (HASTC). PTCK Lưu tr ữ thông tin c ủa phantichcophieu.vn tr ước khi làm s ạch.IV.1.3. Ràng buộc toàn v ẹn: Tên ràng bu ộc Mô tả RB-1 Symbol là duy nhất. RB-2 PriceCeiling = PriceBasic + x% * PriceBasic x = 5 với Symbol thuộ c HOSTC = 7 v ới Symbol thuộ c HASTC x RB-3 PriceFloor =x = 5 với Symbol thuộ c HOSTC ớ i Sym HASTC PriceBasic - x% * PriceBasic x = 7 vbol thuộcRB-4 PriceClose - x% * PriceClose Close mx = 7 v ới Sym<= PriceOpen <= PriceClose + x% * Pricex = 5 v ới Sybol thuộ c HOSTC bol thuộc HASTC RB-5 PriceFloor <=PriceOffer <= PrciceCeiling. PriceCurrent, PriceHigh, PriceLow, PriceBid, RB-6 Symbol chỉ có 1 Market duy nh ất.IV.1.4. Quy định: Tên Quy định Mô tả QD-1 tự mã ch ứng khoán có trong hệ thống. Khi thêm m ới ph ải ki ểm tra có nhữ ng số th ứ tự bị xóa thì b ổ sung thì thêm vào s ố SymbolID là s ố th ứvào nh ưng ký t ự còn tr ống này. N ếu không cóth ứ tự tiế p theo. QD-2 hứ ng khoán đó thu ộc v ề. 4 là HASTC, 6 là HOSTC. MarketID quy định sàn mà mã cQD-3 Time lưu l ại th ời đ iể m l ấy dữ liệu QD-4 Sequence lưu l ại th ứ tự củ a lầ n lấy d ữ liệ u đó trong ngày.IV.2. STSWEB Report: tả ch ức n ăng: STSWEB Rep a vào các dữ liệu có tr h các b ướ- Mở chương trình, ch ọn m ẫu báo cáo c ần t ạo. - hi chọn, s ười dùng nh ập vào các điề u ki ện c ần thi ết để tạo báo cáo. - Kiểm tra đ iề u ki ện nh ập vào. N ếu đúng, s ẽ t ạo báo cáo dự a trên điề u ki ện vào. N ếBáo cáo có th ể dành cho nhi ều phòng ban. Ví d ụ, phòng Kinh Doanh, Phân Tích có th ể tham kh ảo các báo cáo tài chính, phòng L ưu Ký có th ể xem các báo cáo v ề khách hàng, tình tr ạng hợ p đồ ng… Ngoài ra, còn m ột s ố báo cáo đặc bi ệt, dành cho phòng IT, dùng để theo dõi tình tr ạng, độ phình, c ũng nh ư theo dõi vi ệc ch ỉnh s ử a, thay đổi cấu trúc database. Các m ẫu báo cáo m ới có th ể tạ o m ới, thêm vào, hoàn thiệ n trong tương lai. IV.2.1 Mô ort là chươ ng trình, được xây d ựng để trích xu ất các báo cáo d ựong DataWarehouse. Để tạo báo cáo, ng ười dùng c ần ti ến hànc sau: Sau kẽ m ở h ộp thoạ i cho phép ngnhập u sai, xu ất hi ện thông báo l ỗi.IV.2.2 Mô tả x ử lý: Quy trình x ử lý bao g ồm các công vi ệc sau: - hị form ch ọn báo cáo. áo đã ch ọn. - procedure. - Trình bày d ữ liệ u ra báo cáo. Kiểm tra k ết n ối đế n database. - Hiển t- Nh ận điề u ki ện nh ập vào t ương ứng vớ i báo c- Kiểm tra đ iề u ki ện. Truy ền điề u ki ện vào store- Tạo dataset để nh ận kế t quả trả về từ store procedure. IV.2.3 Data Flow: Hình IV.2 Mô hình lu ồng dữ liệu khi t ạo báo cáo.Chương V ỆM V.1. Ch ức n ăng Backup Database: h: ackupDatabase và m ột file run.bat . ase: atabase] CHAR( 1) AS (1000) ( 20) SELECT @dateTime = REPLACE (CONVERT (VARCHAR , GETDATE (),105),'/', '') ( VARCHAR , GETDATE (),108),':', '') IF @backupType = 'F' SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName + ' TO DISK = ''C:\Backup STSWEB\' + @databaseName + '_Full_' + @dateTime + '.BAK''' IF @backupType = 'D' SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName + ' TO DISK = ''C:\Backup STSWEB\' + @databaseName + '_Diff_' + @dateTime + '.BAK'' WITH DIFFERENTIAL' IF @backupType = 'L' SET @sqlCommand = 'BACKUP LOG ' + @databaseName + ' TO DISK = ''C:\Backup STSWEB\' + @databaseName + '_Log_' + @dateTime + '.TRN''' EXECUTE sp_executesql @sqlCommand END K ẾT QU Ả TH ỰC NGHIV.1.1 C ấu trúc ch ương trìnCh ương trình gồ m hai thành ph ần: store procedure sp_Ba. sp_BackupDatabCreate PROCEDURE [dbo].[sp_BackupD@databaseName sysname, @backupTypeBEGIN SET NOCOUNT ON; DECLARE @sqlCommand NVARCHARDECLARE @dateTime NVARCHAR+'--'+ REPLACE (CONVERTsp_BackupDatabase nh ận ha- @databaseNam- @backupType : Kiểu backup. ố sau: - D: backup ch- L atabase_log. b. rình dùng để gọi th ực hi ện sp_BackupDatabase : - T- D ực hi ện sp_BackupDatabase backup STSWEB và Wxec - C er: le Server..... i tham số: e: tên database c ần backup. @backupType nhận các tham s- F: backup toàn b ộ database. ỉ nh ững thông tin thay đổi so v ới lầ n backup Full gầ n nhất. : backup ch ỉ file d run.bat : Đây là ch ương tạo ổ đĩ a m ạng t ừ File Server 192.168.33.4: net use T: \\192.168.33.4\Backup_STSWEB_79 /user:administrator baotin@CK ng sqlcmd để gọi thùebHavest database: SQLCMD.EXE -S 192.168.33.79 -d "master" -Q "exec sp_BackupDatabase 'STSWEB','F'" SQLCMD.EXE -S 192.168.33.79 -d "master" -Q "esp_BackupDatabase 'WebHavest','F'" huy ển các file vừ a backup thành công qua l ưu tr ữ trên File Servcd Backup echo Chuyen qua Ficopy *.bak T: del *.bakV.1.2 Các bước ch ạy ch ương trình: .vn: - Đă ng nh ập vào database server sqldb.stsi.com Hình V.1 Kết n ối đến Database Server. - Tìm đế n th ư m ục D:\Backup , chạy file run.bat : Hình V.2 Th ực hiện backup STSWEB- đị nh: Ch ương trình s ẽ backup các database ch ỉ Hình V.3 Backup thành công STSWEB, chu ẩn bị backup WebHavest - Các file đ ã backup thành công, s ẽ chuy ển qua File Server.V.2. Chức năng Restore Database : V.2.1. Cấu trúc ch ương trình: Chương trình g ồm hai module: restore.bat và STSWEB.sql. a. STSWEB.sql: Ch ứa thông tin cấ u hình cần thi ết cho tác v ụ restore database. C ấu trúc l ệnh restore: restore database <database_name> from disk = ‘<dia_chi_file_backup>’ <option> N ội dung file STSWEB.sql: print "Restore STSWEB" restore database STSWEB from disk = 'D:\Quoc Vu\DATN\Restore Database\STSWEB_Full_31-12-2008--170000.BAK' WITH MOVE 'SHSWEB' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\STSWEB.mdf' , MOVE 'SHSWEB_log' TO'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\STSWEB_log.ldf' , ipt STSWEB.sql: sqlcmd -S 192.168.1.34 -d "master" -i "D:\Quoc Vu\DATN\Restore Database\STSWEB.sql" Replace b. Restore.bat: Đây là ch ương trình để gọi th ực hi ện scrV.2.2 Các bước ch ạy ch ương trình: sqldb.stsi.com.vn: - Đă ng nh ập vào database server Hình V.4 K ết n ối đến Database Server - Chép file backup vào cùng th ư m ục ch ứa restore.bat và STSWEB.sql: Hình V.5 Chuẩn bị restore đến th ời điể m 17 gi ờ ngày 31/12/2008- EB.sql: Chỉnh s ửa tên file backup trong STSW Hình V.6 Sửa đổi n ội dụng file STSWEB.sql - Ch ạy file Restore.bat: Hình V.7 Restore thành côngV.3. MôTC: V.3.1. C ấu trúc ch ương trình : bao gồm mộ t đoạn script l ặp vô t ận, liên t ục đưa d ữ liệ u vào table stock_CurrentStockInfo_Full. - Module lấ y giá ngẫu nhiên, mô ph ỏng bi ến độ ng giá, n ằm trong kho ảng giá trầ n và giá sàn c ủa phiên giao dị ch gốc. round ((PriceCeiling +PriceFloor )/2 + ( PriceCeiling +PriceFloor )/2*sin( rand()*1000)*0.02,-2 ) - Module lấ y khối lượ ng giao d ịch ng ẫu nhiên, b ằng ±10% giá trị phiên giao d ịch g ốc. round (Volume 1 ) - Mô ph ỏng thờ i gian đưa d ữ liệ u vào l ưu tr ữ. etime, @d datetime , @t datetime declare @i int set @d = (select max( permdate ) from stock_CurrentStockInfo ) set @temp = (select datepart (hh, getdate ())) set @i= 0 while 1= 1 begin begin set @i= @i+1 set @t= dateadd(se, 8*60+ @i*5,@d) if @i= 3600/5 begin set @i= 0 set @d = dateadd (dd, 1,@d) end end set @temp = (select datepart (hh, getdate ())) end ph ỏng dữ liệu đổ từ hai sàn HOSTC và HAS+ Volume *sin( rand()*1000)*0.02,-declare @temp datV.3.2. Các bước ch ạy ch ương trình : Sau khi ch ạy đo ạn script gi ả l ập trên, ta s ẽ có d ữ li ệu trong tabstock_CurrentStockInfo_Full nh ư sau: le Hình V. 8 D ữ liệu có trong stock_CurrentStockInfo_Full Th ời gian giãn cách đang cài đặ t là 5 phút, và s ố sequence, l ưu gi ữ lần l ấ y dữ liệu trong ngày. Hình V.9 Th ời gian và th ứ tự lấy d ữ liệu trong ngày.V.4. Flat file từ phantichcophieu.vn import vào STSWEB: V.4.1 module chính: store procedure Update_CurrentStockInfo và file PTCK.bat . a. Update_CurrentStockInfo: - Module lấ y thông tin t ừ 4 file Excel: HoSTC.xls, HaSTC.xls, Index.xls, Fund.xls sử dụng hàm OpenRowset c ủa SQL Server. Print 'Insert cac dong co trong file Index.xls' Insert into PTCK( TICKER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,VOLUME ) select TICKER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,VOLUME from OPENROWSET ('Microsoft.Jet.OLEDB.4.0' ,'Excel 8.0;Database=S:\PTCK\index.xls;HDR=YES' ,'SELECT * FROM [Price$]' ) Print 'Insert cac dong co trong file Fund.xls' Insert into PTCK( TICKER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,VOLUME ) VOLUME from 8.0;Database=S:\PTCK\Fund.xls;HDR=YES' ,'SELECT * FROM [Price$]' ) ER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,VOLUME ,Market ) TICKER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,VOLUME ,'HASTC' from OPENROWSET ('Microsoft.Jet.OLEDB.4.0' ,'Excel 8.0;Database=S:\PTCK\HASTC.xls;HDR=YES' ,'SELECT * FROM [Price$]' ) Print 'Insert cac dong co trong file HoSTC.xls' Insert into PTCK( TICKER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,VOLUME ,Market ) select TICKER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,VOLUME ,'HOSTC' from OPENROWSET ('Microsoft.Jet.OLEDB.4.0' ,'Excel 8.0;Database=S:\PTCK\HOSE.xls;HDR=YES' ,'SELECT * FROM [Price$]' ) C ấu trúc ch ương trình: Ch ương trình g ồm có 2select TICKER ,DATE, [OPEN] ,HIGH, LOW,[CLOSE] ,OPENROWSET ('Microsoft.Jet.OLEDB.4.0' ,'Excel Print 'Insert cac dong co trong file HaSTC.xls' Insert into PTCK( TICKselect- Module ki ểm tra có mã ch ứng khoán m ới lên sàn để phòng Phân tích c ập insert into Temp_Stock bol from stock_Symbols ) set @count = (select count(*) from temp_stock ) b. PTG ọSQLCMD.EXE -S 192.168.33.79 -d "STSWEB" -Q "exec Update_CurrentStockInfo" nhậ t thông tin vào hệ thống. select ticker , Market from PTCK where ticker not in (select symbol from stock_Symbols union select symbol from temp_Stock ) delete from Temp_Stock where symbol in (select symdeclare @count int print '' print 'Kiem tra Symbol moi...' print '' if @count >0 begin +str( @count ,1,1)+' Symbol moi!.' print 'Co ' select Symbol ,Market from temp_stock print '' print 'Huy bo cap nhat, cho insert symbol moi' return 0 end CK.bat: i thực hi ện store Update_CurrentStockInfo:V- ình, cần cài đặt SQL Server cho phép s ử d ụng ch ức n ăndùng s ử - Có th ể k er đã c ấu hình ch ưa b ằng cách dùng l ệnh: L T * .4.2 Các b ước ch ạy ch ương trình : L ần đầ u tiên ch ạy chươ ng trg “Ad Hoc Distributed Queries”. Đây là ch ức n ăng cho phép ng ười d ụng câu l ệnh OPENROWSET. sp_configure 'show advanced options' , 1 reconfigure sp_configure 'Ad Hoc Distributed Queries' , 1 reconfigure iể m tra SQL ServSE EC FROM sys.configurations order by name Hình V.10 Các thi ết lập c ấu hình SQL Server - Copy 4 file: HoSTC.xls, HaSTC.xls, Index.xls, Fund.xls vào th ư m ục D:\Quoc Vu\DATN\PTCK. - Ch ạy file PTCK.bat- ới, ch ương trình đưa thông tin về mã đó Nếu phát hi ện có mã chứ ng khoán mvà tạm d ừng cậ p nhật để đả m b ảo không m ất d ữ liệ u. Hình V.11 Các mã ch ứng khoán mới lên sàn. - Nếu không có mã ch ứng khoán m ới, ch ương trình s ẽ tiế p tục cậ p nh ật vào h ệ th ống. - Nếu d ữ liệ u đã đượ c cậ p nh ật tr ước đó, s ẽ không th ể c ập nh ật lầ n hai trong cùng m ột ngày.Hình V.12 Không cập nhật dữ liệu trùng. V.5. Report STSWEB: V.5.1. C ấu trú - ển thị danh sách các báo cáo. - Form xu ất báo cáo V.5.2 Các b ước ch ạy ch ương trình : - Để kết n ối đượ c với database, máy tính c ần cài đặt ODBC Data Source. c ch ương trình : Chương trình g ồm có 3 ph ần: Form hi- Form cho phép nh ập điề u ki ện để tạ o báo cáo.Hình V.13 Chạy ODBC- Thêm Data Source SQL Server: Hình V.14 Tạo data source - Đặ t tên k ết n ối và khai báo địa ch ỉ database server. Hình V.15 Tên data source và địa ch ỉ- Gõ m ật kh ẩu SQL Server. Hình V.16 Cung c ấp User và Password để kết n ối. - Kết n ối thành công đến SQL Server. Hình V.17 T ạo Data Source thành côngB Report. - Ch ạy ch ương trình STSWE Hình V.18 Danh sách m ẫu báo cáo - Nh ấp chuộ t vào list box, xu ất hi ện các m ẫu báo cáo. Hình V.19 Ch ọn mẫu báo cáoGiả s ử ch ọn Báo cáo T ổng Quan Bi ến Độ ng Giá. - Xu ất hi ện h ộp thoạ i nhập li ệu, cho phép ng ười dùng đặt đ iề u ki ện để lấy kế t quả báo cáo. Hình V.20 Form cho phép ng ười dùng nh ập báo cáo. - MarketID có th ể nh ận 3 cả hai sàn, 4 là bi ến độ ng giá sàn Hà N ội, 6 là bi ến độ ng giá sàn Thành ph ố H ồ Chí Minh. - Giả s ử cầ n lập báo cáo bi ến động giá c ủa sàn Hà N ội từ ngày 11/11/2008 đến ngày 11/12/2008. giá tr ị. 1 là bi ến động giá t ừHình V.21 Người dùng nh ập điều ki ện. - Xu ất báo cáo Hình V.22 Xuất báo cáo.Chương VI TỔ NG K ẾT VI.1. K ết lu ận VI.1.1 V ề m ặt lý thuy ết: Chúng em đã tìm hi ểu đượ c nh ững v ấn đề sau: - Bản ch ouse. ộ t s ố khái ni ệm và nghi ệp v ụ ch ứng khoán. - Tiếp xúc và làm vi ệc v ới m ột s ố công ngh ệ m ới nh ư SQL Server 2005, Crystal Report…. VI.1.2 V ề m ặt ứ ng d ụng: - Các ch ương trình Backup database, Restore Database, h ệ th ống l ư u tr ữ Data Warehouse đã đượ c ứng d ụng và ch ạy t ốt trong vòng 4 tháng qua. - Ứng d ụng Report có th ể cho phép ng ười dùng t ạo báo cáo m ột cách d ễ dàng vào b ất k ỳ th ời điể m nào m ột cách t ổng quan và đầy đủ nhấ t. - Số lượ ng báo cáo có th ể đượ c thêm vào trong t ương lai. Ngoài ra, chúng em cũ ng đã tinh gi ản độ phứ c tạp của vi ệc s ử d ụng ứng d ụng, giúp cho nhân viên dễ cấu hình và qu ản lý h ệ th ống. ất, đặ c điể m c ủa h ệ th ống DataWareh- MVI.2. Hướng phát triể n: Do thờ i gian xây d ựng để kịp n, không thể tránh kh ỏi nh ững thi ếu h ụt, ch ưa h ợp lý trong ứng d ụng. Trong t ương l ại, chúng em d ự đị nh s ẽ hoàn ch ỉnh nh ững ch ức n ăng sau cho h ệ th ống: ầ n h ổ trợ thêm nhi ều data source, t ạo s ự uy ển p d ữ liệ u. - qua các template bằng XML. - Ứng d ụng Report c ần có c ơ ch ế xác th ực quy ền để có th ể xác định quy ền t ạo báo cáo. - Phát tri ển Report theo nhi ều đị nh d ạng nh ư: bi ểu đồ , đồ th ị trự c quan… hạn định c ủa đồ á- Hệ th ống Data Warehouse cchuy ển trong vi ệc thu th ậỨng d ụng Report có th ể import m ẫu báo cáo thôngTÀI LIỆU THAM KHẢ O for Visual Studio .NET (Second Edition). h ợ p và biên d ịch (Nguy ễn Ng ọc Bình n – Tr ần Lê V ĩnh Phong – Nguy ễn Quang Nam – Đ inh Phan Chí Tâm ). Ch ịu trách nhi ệm xu ất b ản: TS. Nguy ễn Xuân Th ủy. Nhà xu ất • Pro C# 2005 and the .NET 2.0 Pl atform, Third Edition – ANDREW TROELSEN. • Website: http://blogs.ms dn.com/sql_protocols/ • Website: http://www.codeproject.com. • Website: Google.com • Website: http://vnoug.org/ • Website: www.sqlcentral.com • Professional Crystal Reports David McAmis. • Gi ải pháp l ập trình C#. T ổng Ph ươ ng – Thái Thanh Phong), cùng sự c ộng tác c ủa (Nguy ễn Thanh Nhâ– Bùi Minh Khoa – Lê Ng ọc S ơn – Thái Kim Ph ụng – Lê Tr ần Nhậ t Qu ỳnhbản Giao Thông V ận Tả i.
- Xem thêm -