Nghiên cứu và phát triển tính năng của bảng giá chứng khoán trực tuyến

Trong quá trình công nghiệp hóa hiện nay công nghệ thông tin đang ngày càng phát triển mạnh mẽ và tác động đến mọi lĩnh vực của đời sống xã hội và không nằm ngoài sự tác động đó thị trường chứng khoán một lĩnh vực tuy còn khá mới mẻ ở Việt Nam cũng chịu sự tác động khá nhiều của công nghệ thông tin. Thị trường chứng khoán là môi trường kinh doanh đang thu hút được sự quan tâm của khá nhiều tầng lớp trong xã hội và ngày càng có nhiều người tham gia vào.nhằm tạo điều hỗ trợ cho những người chơi chứng khoán(nhà đầu tư) dễ dàng hơn trong việc theo dõi sự xuất hiện và biến động của mã chứng khoán các công ty để từ đó đưa ra được các quyết định đầu tư đúng đắn hơp lý sở giao dịch đưa ra khái niệm bảng giá chứng khoán trực tuyến. Trong thời gian thực hiện đồ án tốt nghiệp với đề tài “Nghiên cứu và phát triển tính năng của bảng giá chứng khoán trực tuyên” em hy vọng sẽ có thể hiểu được nhiều hơn về thị trường chứng khoán rồi từ đó sẽ cố gắng tạo ra được bảng giá chứng khoán trực tuyến phục vụ cho nhu cầu của các công ty chứng khoán và các nhà đầu tư chứng khoán . Nội dung: Chương 1: giới thiệu chung về thị trường chứng khoán Chương 2: Bảng giá chứng khoán trực tuyến Chương 3: Xây dựng ứng dụng (Demo)

pdf76 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3064 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Nghiên cứu và phát triển tính năng của bảng giá chứng khoán trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
t hợp giữa mô hình “đa cấp” và “đơn cấp”. Theo các chuyên gia về công nghệ thông tin, việc xây dựng một Trung tâm lưu ký độc lập ở Việt Nam sẽ đắt đỏ, tối thiểu chi phí phải cao gấp hơn 3 lần chi phí cần thiết để thành lập một công ty chứng khoán trung bình. 19 Chính vì vậy điều kiện tiên quyết để Việt Nam hay bất kì một quốc gia nào sỏ hữu một Trung tâm lưu ký “hoàn hảo” là qui mô thị trường rộng lớn, số lượng các nhà đầu tư cao, khối lượng giao dịch tương đối nhiều; tóm lại đó phải là một thị trường sôi động. Và điều quan trọng hơn cả là việc tạo lập một Trung tâm lưu ký là bước đi khởi đầu hướng tới hiện đại và đơn giản hóa tuyệt đối chu trình giao dịch chứng khoán bằng mô hình “đơn cấp” với mục tiêu trên hết an toàn, hiệu quả cho các nhà đầu tư. Mô hình hỗn hợp này có những ưu điểm gì? Một điều dễ nhận thấy là với cơ cấu đa cấp thì số lượng các tài khoản mà Trung tâm phải quản lý ít hơn rất rất nhiều, nhưng theo các chuyên gia công nghệ thông tin, đó không phải là mối lo ngại khi chuyển sang mô hình hỗn hợp. Tài khoản lưu ký chứng khoán gần giống như tài khoản tiền gửi ở ngân hàng. Hệ thống ngân hàng tại Việt Nam đang đảm nhận hơn 25 triệu tài khoản, không có gì là khó khăn khi toàn bộ được quản lý bằng hệ thống máy tính và mạng. Thậm chí một công ty chứng khoán hoàn toàn tự tin khi họ đóng góp vào sự phát triển của thị truờng chứng khoán Việt Nam bằng việc giám sát minh bạch từng tài khoản của các nhà đầu tư. Thứ hai, áp dụng mô hình hỗn hợp giúp các công ty thành viên giảm được một lượng đáng kể phí hoạt động chức năng, bởi lẽ khi mỗi nhà đầu tư đều sở hữu một tài khoản riêng biệt, hệ thống máy tính đa dạng hóa dễ dàng tùy biến để quản lý, điều chỉnh cho phù hợp với đặc điểm tình hình của từng tài khoản hơn. Mọi hoạt động đều diễn ra suôn sẻ, “chỉ cần cập nhật vào hệ thống, hệ thống sẽ tự động xử lý và các phòng ban hỗ trợ hoàn toàn thảnh thơi”. Thứ ba, các công ty chứng khoán không sẽ quan tâm đến phí dịch vụ nhiều, vì Trung tâm lưu ký hoạt động vì mục tiêu phi lợi nhuận, và nhà đầu tư là người lợi trước tiên. Phí dịch vụ cố định khoảng 0,2% nhưng đa số các 20 công ty thành viên đều không thu phí hoặc giảm phí như một phương thức để chiêu khách. Và điều cuối cùng cũng là quan trọng nhất, Chính phủ có thể ưu thích áp dụng mô hình này như một cách thức để giám sát nhà đầu tư thông qua việc nắm biết chính xác và đầy đủ tình hình tài khoản chứng khoán của họ. Bởi lẽ, thật khó để mà đoán xét được thành viên Hội đồng quản trị các công ty có đang giao dịch chính cổ phiểu của họ không, và những thông tin nội bộ kiểu như vậy sẽ được giấu nhẹm đi nếu không có sự quản lý chặt chẽ. 1.2.5. Giới thiệu về Ủy ban chứng khoán nhà nước Ủy ban Chứng khoán Nhà nước là một cơ quan thuộc Bộ Tài chính Việt Nam, chịu trách nhiệm trước Bộ trưởng Bộ Tài chính, thực hiện chức năng quản lý nhà nước về chứng khoán và thị trường chứng khoán; trực tiếp quản lý, giám sát hoạt động chứng khoán và thị trường chứng khoán; quản lý các hoạt động dịch vụ công thuộc lĩnh vực chứng khoán và thị trường chứng khoán theo quy định của pháp luật. a) Về nhiệm vụ và quyền hạn: Nhiệm vụ, quyền hạn của UBCKNN theo Quyết định số 161/2004/QĐ-TTg về cơ bản vẫn giữ như Nghị định số 90/2003/NĐ-CP, cụ thể là: 1. Xây dựng, trình Bộ trưởng Bộ Tài chính các văn bản quy phạm pháp luật về chứng khoán và thị trường chứng khoán; chiến lược, quy hoạch, kế hoạch dài hạn, năm năm, hàng năm về chứng khoán, thị trường chứng khoán; 21 2. Trình Bộ trưởng Bộ Tài chính quyết định theo thẩm quyền hoặc để Bộ trưởng Bộ Tài chính xem xét, trình Thủ tướng Chính phủ việc thành lập, đình chỉ hoạt động hoặc giải thể Trung tâm Giao dịch chứng khoán, Sở Giao dịch chứng khoán, Trung tâm Lưu ký chứng khoán, các tổ chức khác có liên quan đến hoạt động chứng khoán và giao dịch chứng khoán; 3. Tổ chức thực hiện các văn bản quy phạm pháp luật, chiến lược, quy hoạch, kế hoạch về chứng khoán, thị trường chứng khoán sau khi được phê duyệt; 4. Ban hành tiêu chuẩn, quy trình, quy phạm chuyên môn nghiệp vụ, định mức kinh tế – kỹ thuật để áp dụng trong các tổ chức, đơn vị trực thuộc theo quy định của pháp luật và của Bộ trưởng Bộ Tài chính; 5. Cấp, gia hạn, đình chỉ hoặc thu hồi giấy chứng nhận đăng ký phát hành, đăng ký giao dịch, giấy phép niêm yết, giấy phép kinh doanh, chứng chỉ hành nghề kinh doanh và dịch vụ chứng khoán theo quy định của pháp luật; 6. Tổ chức, quản lý Trung tâm Giao dịch chứng khoán, Sở Giao dịch chứng khoán và các thị trường giao dịch chứng khoán có tổ chức, trung tâm lưu ký, đăng ký, thanh toán bù trừ chứng khoán; 7. Quản lý việc thực hiện các quy định về chứng khoán và thị trường chứng khoán đối với các tổ chức phát hành chứng khoán ra công chúng, tổ chức niêm yết chứng khoán, tổ chức kinh doanh chứng khoán và tổ chức phụ trợ theo quy định của pháp luật; 8. Thanh tra, kiểm tra và giám sát các tổ chức và cá nhân tham gia hoạt động tại thị trường chứng khoán và xử lý các vi phạm về chứng khoán và thị trường chứng khoán theo quy định của pháp luật; 22 9. Hướng dẫn, tạo điều kiện cho các tổ chức hiệp hội chứng khoán thực hiện mục đích, tôn chỉ và Điều lệ hoạt động của hiệp hội; kiểm tra thực hiện các quy định của Nhà nước, xử lý hoặc kiến nghị cơ quan nhà nước có thẩm quyền xử lý các vi phạm pháp luật của hiệp hội chứng khoán theo quy định của pháp luật và phân công của Bộ trưởng Bộ Tài chính; 10. Thực hiện chế độ báo cáo về chứng khoán và thị trường chứng khoán theo quy định của pháp luật và phân cấp quản lý của Bộ trưởng Bộ Tài chính; 11. Thực hiện hợp tác quốc tế về chứng khoán và thị trường chứng khoán theo quy định của pháp luật và phân công của Bộ trưởng Bộ Tài chính; 12. Thực hiện cải cách hành chính theo mục tiêu và nội dung chương trình cải cách hành chính của Uỷ ban Chứng khoán Nhà nước được Bộ trưởng Bộ Tài chính phê duyệt; 13. Tổ chức công tác phân tích dự báo, thông tin, tuyên truyền, phổ cập kiến thức, đào tạo và bồi dưỡng về chứng khoán và thị trường chứng khoán cho các tổ chức, cá nhân tham gia hoạt động trên thị trường chứng khoán; 14. Tổ chức nghiên cứu khoa học về chứng khoán và thị trường chứng khoán; 15. Tổ chức, quản lý và ứng dụng công nghệ thông tin; hiện đại hoá công tác quản lý chứng khoán và thị trường chứng khoán theo quy định của pháp luật và phân cấp quản lý của Bộ trưởng Bộ tài chính; 23 16. Quản lý tổ chức bộ máy, biên chế, cán bộ, công chức, viên chức thuộc phạm vi quản lý của Uỷ ban Chứng khoán Nhà nước; tổ chức đào tạo, bồi dưỡng chuyên môn, nghiệp vụ và thực hiện chế độ, chính sách đối với cán bộ, công chức, viên chức thuộc Uỷ ban Chứng khoán Nhà nước theo quy định của pháp luật và phân cấp quản lý của Bộ trưởng Bộ Tài chính; 17. Quản lý tài chính, tài sản được giao theo quy định của pháp luật và phân cấp quản lý của Bộ trưởng Bộ Tài chính 18. Thực hiện các nhiệm vụ khác do Bộ trưởng Bộ Tài chính giao. b) Các tổ chức sự nghiệp trực thuộc: 1. Trung tâm Giao dịch chứng khoán Hà Nội; 2. Trung tâm Giao dịch chứng khoán thành phố Hồ Chí Minh; 3. Trung tâm Nghiên cứu khoa học và Đào tạo chứng khoán; 4. Trung tâm Tin học và Thống kê; 5. Tạp chí Chứng khoán; 24 1.2.6. Giới thiệu về các chức năng của công ty chứng khoán Công ty chứng làm nhiệm vụ trung gian thay mặt cho các nhà đầu tư tiếp xúc trực tiếp với Sở giao dịch chưng khoán để thực hiện các giao dịch. Sở giao dịch làm nhiệm vụ trung gian nên cần đảm bảo những chức năng sau : Ứng dụng văn phòng (Nhân viên công ty chứng khoán).  Bảo mật  Tiền  Chứng khoán  Kế toán… Ứng dụng giao dịch trực tuyến. ( Điện thoại (call center), SMS)  Bảo mật.  Tiền ( Chuyển tiền).  Đặt lệnh ( Mua, bán).  Theo dõi thông tin tài khoản ( Tiền, chứng khoán).  Danh mục đầu tư ( Chức năng chơi chứng khoán ảo). Bảng Giá 25 Mô hình trao đổi thông tin điển hình của công ty chứng khoán: 26 Chương 2 BẢNG GIÁ CHỨNG KHOÁN TRỰC TUYẾN 2.1. MỤC ĐÍCH Bảng giá chứng khoán là 1 kênh thông tin có tác dụng hiển thị và cung cấp thông tin cho nhà đầu tư chứng khoán hỗ trợ họ trong việc theo dõi sự biến động tăng giảm mã cổ phiếu của các công ty đã được niêm yến trên sàn chứng khoán và sự tham gia mới của những mã chứng khoán của các công ty mới được niêm yết lên sàn. Bảng giá sẽ cung cấp các chỉ số VN-Index, các thông tin mua - bán chứng khoán, chỉ số tăng giảm chứng khoán được niên yết tại Sở giao dịch chứng khoán Hà Nội và Sài Gòn. Bên cạnh đó bảng giá cũng sẽ cung cấp thông tin hiển thị cho nhà đầu tư biết được số lượng cổ phiếu đã được mua bán hay chuyển nhượng sau mỗi phiên giao dịch… 2.2. KHẢO SÁT HỆ THỐNG BẢNG GIÁ CÔNG TY NAM VIỆT Quy trình giao dịch chứng khoán niêm yết tại TTGDCK đã được mô tả theo sơ đồ: 27 Bước l: Nhà đầu tư đến mở tài khoản và đặt lệnh mua hay bán chứng khoán tại một công ty chứng khoán. Bước 2: Công ty chuyển lệnh mua hoặc bán chứng khoán cho đại diện của công ty tại TTGDCK. Người đại diện này sẽ nhập lệnh vào hệ thống của TTGDCK. Bước 3: Trung tâm gian dịch chứng khoán thực hiện ghép lệnh và thông báo kết quả giao dịch cho công ty chứng khoán. Bước 4: Công ty chứng khoán thông báo kết quả giao dịch cho nhà đầu tư. Bước 5: Nhà đầu tư nhận được chứng khoán (nếu là người mua) hoặc tiền (nếu là người bán) trên tài khoản của mình tại công ty chứng khoán sau 3 ngày làm việc kể từ ngày mua bán. 28 2.3. YÊU CẦU CỦA BẢNG GIÁ Nhằm tạo điều kiện cho các nhà đầu tư có thể theo dõi được sự biến động của các mã chứng khoán mà nhà đầu tư đó quan tâm nhưng do nhiều điều kiện khách quan nhà đầu tư không thể đến trực tiếp Sàn giao dịch chứng khoán để theo dõi sự biến động của cổ phiếu.thay vì đến trực tiếp Sàn giao dịch thì họ có thể theo dõi những mã chứng khoán mà mình quan tâm thông qua bảng giá chứng khoán trực tuyến chính vì thế yêu cầu đặt ra cho bảng giá chứng khoán trực tuyến là:  Hiển thị đầy đủ các mã chứng khoán của các công ty đã được niêm yết mà nhà đầu tư quan tâm như số lượng cổ phiếu trào bán của công ty hay số lượng cổ phiếu của mã chứng khoán đó đã được giao dịch trong phiên giao dịch  Cập nhật thường xuyên nhanh chóng chính xác sự biến động giá của từng mã cổ phiêu mỗi khi có nhà đầu tư nào đó thực hiện giao dịch mua (bán) thì sau quá trình thu thập và xử lý giao dịch đó của Trung tâm giao dịch chứng khoán sẽ tra kết quả về cho các công ty chứng khoán,các công ty chứng khoán sẽ có nhiệm vụ thông báo thông tin đó đến các nhà đầu tư biết thông qua sự hiển thị của bảng giá và 1 số kênh thông tin khác.  Thông tin được hiển thị trên bảng giá phải rõ ràng dễ dàng thuận tiện cho nhà đầu tư theo dõi thông tin tránh việc đưa thông tin không rõ ràng tạo ra tâm lý hoang mang cho nhà đầu tư và ảnh hưởng đến công ty có mã chứng khoán niêm yết trên bảng giá. 29 2.4. PHÂN TÍCH 2.4.1. Mô hình quan hệ của bảng giá 30 2.4.2. Mô tả thành phần bảng giá Để có thể hiểu rõ hơn về Bảng giá chứng khoán trực tuyến ta đi phân tích các thành phần được hiển thị ở trong bảng 31 Phần đầu : hiển thị trên bảng hay còn gọi là Header hiển thị logo và tên của Công ty chứng khoán hay bất kỳ tổ chức nào có Bảng giá Tiếp đến là những Tab lựa trọn như HoSE,HaSTC,Upcom,Tùy Chọn..nhằm phục vụ cho nhà đầu tư đưa ra nhiều sự chọn lựa Kế tiếp đên là các Cột :Ngày GD, TTTT, VN-Index, Số CK tăng/giảm,Tổng Khối lượng,Tổng giá trị,Giờ máy chủ.. Riêng bảng giá hiển thị của HoSE có thêm dòng hiển thị các phiên giao dịch của thị trường được chia làm 3 đợt Còn với HNX (HaSTC) thì giao dịch trong ngày chỉ có 1 phiên duy nhất Phần thân: được chia làm nhiều cột và dòng hiển thị thông tin của các mã chứng khoán đã niêm yết Phần kết: chứa quy ước đơn vị giá của cổ phiếu ,số lượng người truy cập và địa chỉ liên hệ tên công ty…. 32 Ý nghĩa của các mấu sắc được hiển thị trong bảng giá + Màu xanh: Biểu tượng cho sự thay đổi tăng giá + Màu đỏ : Biểu tượng cho sự thay đổi giảm giá + Màu vàng: Biểu tượng cho sự đứng giá (không thay đổi) +Màu tím : Biểu tượng cho giá tăng kịch trần +Màu xanh nước biên:Biểu tượng giá giảm kịch sàn Các thông tin cơ bản được thể hiện trong bảng điện tử: Chỉ số VN-Index là ký hiệu của chỉ số chứng khoán Việt Nam.VN- Index xây dựng căn cứ vào giá trị thị trường của tất cả các cổ phiếu được niêm yết. Với hệ thống chỉ số này, nhà đầu tư có thể đánh giá và phân tích thị trường một cách tổng quát Chỉ số VN Index là chỉ số trung bình giá chứng khoán trên thị trường VN. Tuy từng nhà đầu tư mua một cổ phiếu riêng biệt sẽ chỉ quan tâm đến giá loại cổ phiếu riêng biêt đó, nhưng chỉ số VN index một cách tổng quan người ta quan tâm đến nó vì nó phản ánh được một cách trung bình giá trị của tất cả các cổ phiếu đang được niêm yết. Nhìn nó tăng hay giảm người ta có thể có được một cái đánh giá là giá cổ phiếu trung bình tăng hay giảm trong ngày hôm đó. Ở Việt Nam, trong thời gian đầu chỉ số chứng khoán được tính toán sẽ đại diện cho tất cả các cổ phiếu được niêm yết và giao dịch trên thị trường chứng khoán. Chỉ số này được tính theo phương pháp trọng số giá trị thị trường, tức dựa vào mức độ chi phối của từng giá trị được sử dụng để tính chỉ số. 33 Công thức tính cơ bản: VN Index = Tổng giá trị thị trường của các cổ phiếu niêm yết hiện tại / Tổng giá trị của các cổ phiếu niêm yết cơ sở x 100 - Cột mã chứng khoán(Mã CK): Là mã hiệu (tên viết tắt) của chứng khoán được đăng ký và niêm yết tại Trung tâm giao dịch chứng khoán (TTGDCK). - Cột giá tham chiếu(TC): Là giá đóng cửa của ngày giao dịch trước đó và là cơ sở để xác định giá trần, giá sàn của ngày giao dịch hiện tại. - Cột giá trần(Trần): Là mức giá cao nhất mà nhà đầu tư có thể đặt lệnh mua, bán chứng khoán. + Trên TTGDCK TP HCM: Giá trần = Giá tham chiếu + 5% *Giá tham chiếu + Trên TTGDCK Hà Nội: Giá trần = Giá tham chiếu + 10% * Giá tham chiếu -Cột giá sàn(Sàn): Là mức giá thấp nhất mà nhà đầu tư có thể đặt lệnh mua, bán CK. + Trên TTGDCK TP HCM: Giá sàn = Giá tham chiếu - 5% * Giá tham chiếu + Trên TTGDCK Hà Nội: Giá sàn = Giá tham chiếu - 10% * Giá tham chiếu - Cột giá mở cửa: Là mức giá thực hiện đầu tiên trong ngày giao dịch. - Cột giá đóng cửa: Là mức giá thực hiện cuối cùng trong ngày giao dịch. 34 - Cột giá khớp lệnh: Là mức giá tại đó khối lượng CK được giao dịch nhiều nhất. - Cột khối lượng khớp lệnh: Là khối lượng CK được thực hiện tại mức giá khớp lệnh. - Cột chênh lệch (+/-): Là thay đổi của mức giá hiện tại so với giá tham chiếu trong ngày giao dịch (= giá hiện tại – giá tham chiếu). - Cột Dư mua: gồm 6 cột biểu thị cho 3 mức giá đặt mua cao nhất tương ứng với các khối lượng đặt mua tại các mức giá cao nhất đó. Khi kết thúc phiên giao dịch Bảng điện tử sẽ hiện thị các thông tin về khối lượng CK tương ứng với các mức giá chưa được khớp lệnh (dư mua).  Cột “Giá 1” và “KL 1”: Biểu thị mức giá đặt mua cao nhất hiện thời và khối lượng đặt mua tương ứng với mức giá đó. Những lệnh đặt mua ở mức “Giá 1” luôn được ưu tiên thực hiện trước so với những lệnh đặt mua khác.  Cột “Giá 2” và “KL 2”: Biểu thị các lệnh đặt mua ở mức “Giá 2” và “KL 2”. Lệnh đặt mua ở mức “Giá 2” có độ ưu tiên chỉ sau lệnh đặt mua ở mức “Giá 1”.  Tương tự như vậy, cột “Giá 3” và “KL 3” là cột mà các lệnh đặt mua ở mức giá này chỉ xếp hàng ưu tiên sau lệnh đặt mua ở mức “Giá 2”. - Cột Dư bán: gồm 6 cột biểu thị cho 3 mức giá đặt bán thấp nhất tương ứng với các khối lượng đặt bán tại các mức giá thấp nhất đó. Khi kết thúc phiên giao dịch Bảng điện tử sẽ hiện thị các thông tin về khối lượng CK tương ứng với các mức giá chưa được khớp lệnh (dư bán). 35  Cột “Giá 1” và “KL 1”: Biểu thị mức giá chào bán thấp nhất hiện thời và khối lượng chào bán tương ứng với mức giá đó. Những lệnh chào bán ở mức “Giá 1” luôn được ưu tiên thực hiện trước so với những lệnh chào bán khác  Cột “Giá 2” và “KL 2”: Biểu thị các lệnh chào bán ở mức “Giá 2” và “KL 2”. Các lệnh chào bán ở mức “Giá 2” có độ ưu tiên chỉ sau lệnh chào bán ở mức “Giá 1”.  Tương tự như vậy, cột “Giá 3” và “KL 3” là cột mà các lệnh chào bán ở mức giá này chỉ xếp hàng ưu tiên sau lệnh chào bán ở mức “Giá 2”.  Hệ thống cột “Giá chào mua tốt nhất”/ “Giá chào bán tốt nhất” chỉ hiện thị ba mức giá mua/giá bán tốt nhất. Ngoài ba mức giá mua/giá bán trên thị trường còn có các mức giá mua/giá bán khác nhưng không tốt bằng ba mức giá thể hiện trên màn hình. -Khối lượng bán còn lại : số lượng cổ phiếu được đem trào bán còn lại sau giao dịch tính đến thời điểm hiện tại -Tổng khối lượng : tổng số cổ phiếu được đem ra giao dịch tính từ khi thị trường mở của đến thời điểm hiện tại -Mở Cửa : giá cổ phiếu lúc mở cửa -Cao nhất : giá cao nhất của cổ phiếu trong phiên giao dịch -Thấp nhất: giá thấp nhất của cổ phiếu trong phiên giao dịch -NN mua : khối lượng cổ phiếu người nước ngoài được quyền mua -NN bán : khối lượng cổ phiếu người nước ngoài được bán 36 2.4.3. Tương tác giữa bảng giá thông minh và người sử dụng.  Tạo danh sách các mã cần theo dõi theo ý muốn: bằng cách nhấp đúp chuột vào mã muốn đưa vào danh sách, các mã đó sẽ được đưa lên đầu bảng giá và phân cách với phần còn lại bởi nét biên đậm. Muốn bỏ một mã nào đó ra khỏi danh sách, nhà đầu tư cũng chỉ cần nhấp đúp chuột vào mã đó.  Sắp xếp các mã chứng khoán theo ý muốn Tất cả các cột trong bảng đều có tính năng tương tác, tự động sắp xếp các mã theo một trật tự nhất định theo nhu cầu nhà đầu tư chỉ bằng thao tác nhấp chuột vào cột đó.  Nhấp chuột vào cột “Mã CK”: các mã chứng khoán sẽ tự động sắp xếp theo trình tự Alphabet từ A đến Z hoặc từ Z đến A bằng cách nhấp chuột thêm một lần nữa  Nhấp chuột vào các cột “Trần”, “Sàn”, “TC”: để sắp xếp các mã chứng khoán theo các mức giá (trần, sàn, tham chiếu) từ lớn tới nhỏ và ngược lại.  Nhấp chuột vào cột “giá chào mua tốt nhất”/ “Giá chào bán tốt nhất”: để sắp xếp các mã theo tổng lượng dư mua/dư bán tốt nhất từ lớn tới nhỏ và ngược lại, giữ thêm phím ALT và nhấn để sắp xếp theo tổng giá trị dự mua/dư bán tốt nhất từ lớn tới nhỏ và ngược lại.  Nhấp chuột vào cột “Kết quả khớp lệnh”: để sắp xếp các mã theo từng nhóm thay đổi giá: tăng kịch trần – tăng – đứng giá – giảm – giảm kịch sàn – không có giao dịch trong phiên.  Ngoài ra nhà đầu tư có thể sắp xếp các mã theo thứ tự từ lớn nhất đến nhỏ nhất và ngược lại của mức độ thay đổi giá, giá khớp, khối lượng khớp, tổng khối lượng khớp, các 37 mức giá chào mua, chào bán và khối lượng tương ứng, giá mở cửa, giá cao nhất, giá thấp nhất, khối lượng mua của nhà đầu tư nước ngoài bằng các nhấp chuột vào cột tương ứng.  Hệ thống chỉ sắp xếp với dữ liệu tại thời điểm có yêu cầu sắp xếp, không tự động sắp xếp khi dữ liệu thay đổi.  Theo dõi các mã cổ phiếu theo tiêu chí mong muốn Nhà đầu tư nhấp chuột vào menu “Tùy chọn” ở góc phải màn hình để lựa chọn các mã cổ phiếu theo tiêu chí mong muốn  Chỉ xem chứng khoán ưa thích  Xem tất cả chứng khoán  Xem các mã chứng khoán theo ngành 2.5. THIẾT KẾ CƠ SỞ DỮ LIỆU CHO BẢNG GIÁ Bảng giá chứng khoán là một khái niệm tiện ích mới được nảy sinh trong thị trường chứng khoán nhằm đáp ứng những nhu cầu cấp thiết của nhà đầu tư và thuận tiện cho việc Ủy ban chứng khoán nhà nước quản lý các công ty chứng khoán. Chính vì thế nên dữ liệu của bảng giá phải tuân theo nhưng quy định bắt buộc của sở giao dịch chứng khoán và Ủy ban chứng khoán nhà nước trả về. Khi có một nhà đầu tư bất kì (nhà đầu tư A) đến giao dịch tại công ty chứng khoán (công ty chứng khoán A) yêu cầu mua một số lượng cổ phiếu nhất định thì đại diện của Công ty chứng khoán A sẽ chuyển yêu cầu của 38 nhà đầu tư A đó về Sở giao dịch chứng khoán.Sở giao dịch chứng khoán sẽ tiếp nhận và xử lý yêu cầu giao dịch đó,đồng thời Sở giao dịch chứng khoán đó cũng sẽ gửi thông tin của giao dich đó về cho Ủy ban chứng khoán nhà nước.sau quá trình xử lý thông tin kết quả sẽ được sở trả về cho Công ty chứng khoán A tử đó Công ty A sẽ gửi thông báo về giao dịch đó cho nhà đầu tư A và chuyển dữ liệu vừa nhận được từ Sở trả về đó hiển thị lên bảng giá chứng khoán cho các nhà đầu tư khác biết được 2.5.1. Các bảng cơ sở dữ liệu Sau mỗi phiên giao dịch hay sau khi thị trường đóng cửa các thông tin giao dịch trong ngày của các phiên giao dịch đã diễn ra sẽ được các công ty chứng khoán hay các trung tâm giao dịch chứng khoán gửi về cho Sở chứng khoán.từ đó sở sẽ tổng hợp tất cả dữ liệu đó lại và xử lý sau khi xử lý xong sẽ gửi trả lại cho các công ty chứng khoán.các công ty chứng khoán sẽ sử dụng các công cụ đọc dữ liệu của riêng mình từ đó sẽ đưa dữ liệu đã được xử lý hiển thị lên bảng giá cho nhà đầu tu thấy được. Dữ liệu của bảng giá được Sở trả về dưới dạng các bảng dữ liệu: Bảng MARKET_INFO : Bảng chứa thông tin chung về thị trường chứng khoán (Index,Chứng khoán tăng,giảm,…..) Name Type Length Scale Not null FLOOR_CODE VARCHAR2 2 DATE_NO NUMBER TRADING_DATE DATE 7 CURRENT_STATUS NUMBER 2 0 TIME VARCHAR2 12 TOTAL_TRADE NUMBER 39 TOTAL_STOCK NUMBER TOTAL_QTTY NUMBER TOTAL_VALUE NUMBER ADVANCES NUMBER DECLINES NUMBER PRIOR_MARKET_INDEX NUMBER CHG_INDEX NUMBER PCT_INDEX NUMBER CURRENT_INDEX NUMBER MARKET_INDEX NUMBER SESSION_NO VARCHAR2 20 NOCHANGE NUMBER MARKET_STATUS VARCHAR2 20 INDUSTRY_NAME VARCHAR2 300 INDUSTRY_CODE VARCHAR2 20 IS_GENERAL VARCHAR2 10 Bảng SECURITY.DAT: Chứa thông tin về giá, khối lượng giao dịch của tất cả chứng khóan niêm yết. Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật StockNo Integer 2 bytes Mã chứng khoán dạng số Ghi chồng StockSymbol String 8 Mã chứng khoán dạng chuỗi … 40 StockType String 1 Lọai chứng khóan + S: Cổ phiếu + D: Trái phiếu + U: Chứng chỉ quỹ … Ceiling Long 4 Giá trần … Floor Long 4 Giá sàn … BigLotValue Double 8 - … SecurityName String 25 Tên đây đủ của chứng khoán … SectorNo String 1 - … Designated String 1 - … Suspension String 1 CK bị tạm ngưng giao dịch + Null: Giao dịch bình thường + S: Bị tạm ngưng … Delist String 1 CK bị hủy niêm yết + Null: Giao dịch bình thường + D: Bị hủy niêm yết … HaltResumeFlag String 1 CK bị ngưng hoặc giao dịch trơ lại trong phiên giao dịch … 41 + Null: Giao dịch bình thường + H: Bị ngưng giao dịch trong phiên + R: Giao dịch trở lại trong phiên Split String 1 CK thực hiện tách cổ phiếu + Null: Không thực hiện + S: Thực hiện … Benefit String 1 CK thực hiện quyền và chia cổ tức + Null: Không thực hiện + A: Phát hành thêm & Cổ tức + D: Chia cổ tức + R: Thực hiện quyền … Meeting String 1 TCNY tổ chức đại hội cổ đông … + Null: Không + M: Tổ chức đại hội cổ đông 42 Notice String 1 TCNY bị yêu cầu cung cấp thong tin quan trong trong phiên giao dịch + Null: Không + P: Chờ thong tin cần cung cấp + R: Đã nhận thong tin cung cấp ... ClientIDRequest String 1 - … CouponRate Integer 2 - … IssueDate String 6 Ngày phát hành … MatureDate String 6 - … AvrPrice Long 4 Giá bình quân gia quyền của các mức giá khớp … ParValue Integer 2 Mệnh giá phát hành … SDCFlag String 1 - … PriorClosePrice Long 4 Giá đóng cửa gần nhất … PriorCloseDate String 6 Ngày giao dịch gần nhất … ProjectOpen Long 4 Giá tạm khớp trong đợt KL định kỳ … OpenPrice Long 4 Giá khớp mớ cửa … Last Long 4 Giá khớp … LastVol Long 4 Tổng khối lượng khớp … LastVal Double 8 Tổng giá trị khớp … Highest Long 4 Giá khớp cao nhất … Lowest Long 4 Giá Khớp thấp nhất … Totalshare Double 8 - … 43 TotalValue Double 8 - … AccumulateDeal Integer 2 - … BigDeal Integer 2 - … BigVol Long 4 - … BigVal Double 8 - … OddDeal Integer 2 - … OddVol Long 4 - … OddVal Double 8 - … Best1Bid Long 4 Giá đặt mua tốt nhất 1 … Best1BidVolume Long 4 Khối lượng tương ứng giá đặt mua 1 … Best2Bid Long 4 Giá đặt mua tốt nhất 2 … Best2BidVolume Long 4 Khối lượng tương ứng giá đặt mua 2 … Best3Bid Long 4 Giá đặt mua tốt nhất 3 … Best3BidVolume Long 4 Khối lượng tương ứng giá đặt mua 3 … Best1Offer Long 4 Giá đặt bán tốt nhất 1 … Best1OfferVolume Long 4 Khối lượng tương ứng giá đặt bán 1 … Best2Offer Long 4 Giá đặt bán tốt nhất 2 … Best2OfferVolume Long 4 Khối lượng tương ứng giá đặt bán 2 … Best3Offer Long 4 Giá đặt bán tốt nhất 3 … Best3OfferVolume Long 4 Khối lượng tương ứng giá đặt bán 3 … 44 BoardLost Integer 2 - Tổng độ dài (Byte) 221 Bảng TOTALMKT.DAT: Thông tin tổng hợp thị trường như VN- Index, tổng khối lượng, tổng giá trị của MainBoard và BigLotBoard. Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật VNIndex Long 4 bytes Chỉ số chứng khóan Ghi thêm TotalTrade Long 4 Tổng số lệnh được khớp … TotalShares Double 8 Tổng khối lượng … TotalValues Double 8 Tổng giá trị … UpVolume Double 8 Tồng KL của các CK tăng giá … NoChangeVolume Double 8 Tổng KL của các CK đứng giá … DownVolume Double 8 Tổng KL của các CK giảm giá … Advances Integer 2 Tổng số CK tăng giá … Declines Integer 2 Tổng số CK … 45 giảm giá NoChange Integer 2 Tổng số CK đứng giá … VN50Index Long 4 - … MarketID String 1 - … Filter String 1 - … Time Long 4 Thời gian của máy chủ giao dịch … Tổng độ dài (Byte) 64 Bảng PUT_AD.DAT: Thông tin về các quảng cáo giao dịch thỏa thuận của trái phiếu và cổ phiếu trên BigLotBoard. Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật TradeID Integer 2 bytes Số hiệu giao dịch do mát chủ cấp Ghi thêm StockNo Integer 2 Mã chứng khoán dạng số … Vol Long 4 Khối lượng … Price Double 8 Giá … FirmNo Long 4 Sô hiệu Broker đăng quảng cáo … Side String 1 Đăng mua/bán … Board String 1 Bảng giao dịch + B: BigLotBoard. … 46 Time Long 4 Thời gian đăng quảng cáo … Flag String 1 Tình trang của tin đăng quảng cáo + A: Quảng cáo được đăng + C: Quảng cáo bị hủy … Tổng độ dài (Byte) 27 Bảng PUT_EXEC.DAT: Thông tin về lệnh giao dịch thỏa thuận được khớp. Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật ConfirmNo Long 4 bytes Số hiệu giao dịch do máy chủ cấp Ghi thêm StockNo Integer 2 Mã chứng khoán dạng số … Vol Long 4 Khối lượng … Price Long 4 Giá … Board String 1 Bảng giao dịch + B: BigLotBoard. … Tổng độ dài (Byte) 15 47 Bảng PUT_DC.DAT: Thông tin về lệnh khớp giao dịch thỏa thuận bị hủy. Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật ConfirmNo Long 4 bytes Số hiệu giao dịch do máy chủ cấp Ghi thêm StockNo Integer 2 Mã chứng khoán dạng số … Vol Long 4 Khối lượng … Price Long 4 Giá … Board String 1 Bảng giao dịch + B: BigLotBoard. … Tổng độ dài (Byte) 15 Bảng LE.DAT: Thông tin giá khớp, khối lượng khớp, thời gian khớp trên MainBoard Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật StockNo Long 4 Mã chứng khoán dạng số Ghi thêm Price Long 4 Giá khớp … AccumulatedVol Long 4 Tổng khối lượng … AccumulatedVal Double 8 Tổng giá trị … Highest Long 4 Giá khớp cao nhất … 48 Lowest Long 4 Giá khớp thấp nhất … Time Long 4 Thời gian khớp … Tổng độ dài (Byte) 32 Bảng MARKET_STAT: Thông tin về trạng thái thị trường Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật ControlCode String 1 Trạng thái + C: Đóng cửa MainBoard + F: Kết thúc nghỉ giữa đợt + H: Ngưng giao dịch tất cả CK + I: Bắt đầu nghỉ giữa đợt + A: Bắt đầu đợt KL định kỳ đóng cửa + K: Kết thúc đợt Runn-off + N: Giao dịch trở lại của CK cụ thể + O: Bắt đầu đợt KL lien tục + P: Bắt đầu đợt KL định kỳ mở cửa + R: Giao dịch trở Ghi thêm 49 lại tất cả CK Time Long 4 Thời gian của máy chủ … Tổng độ dài (Byte) 5 Bảng DELIST.DAT: Thông tin về chứng khóan bị hủy niêm yết Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật StockNo Integer 2 Mã chứng khoán dạng số Ghi thêm StockSymbol String 8 Mã chứng khóan dạng chuỗi … StockType String 1 Lọai chứng khoán + S: Cổ phiếu + D: Trái Phiếu + U: Chứng chỉ quỹ StockName String 25 Tên đầy đủ của chứng khóan … SectorNo Integer 2 - … Tổng độ dài (Byte) 38 50 Bảng FROOM.DAT: bảng nhà đầu tư nước ngoài Trường Dữ Liệu Kiểu Độ Dài Mô Tả Cập Nhật StockNo Long 4 Ghi thêm TotalRoom Double 8 Tổng room NĐTNN được phép mua … CurrentRoom Double 8 Room còn lại NĐTNN được phép mua - Tổng độ dài (Byte) 20 sau khi nhận được các bảng dữ liệu do sở cung cấp việc mà các công ty chứng khoán cần làm là đông bộ dữ liệu đó và hiển thị lên bảng giá để nhà đâu tư có thể nắm bắt được thông tin. Ví dụ Sơ đồ cập nhập dữ liệu trả về của sàn giao dịch HOSE  Bảng thời gian giao dịch  Cổ phiếu, chứng chỉ quỹ 51  Trái phiếu  Sơ đồ cập nhật dữ liệu Khớp lệnh định kỳ ( 3 đợt ) 52 Ghi Chú: S1: Đợt 1 B1: Nghỉ giữ đợt 1 S2: Đợt 2 B2: Nghỉ giữa đợt 2 R: Run-off C: Đóng của thi trường Khớp lệnh liên tục ( 1 đợt ) 53 Ghi Chú: T1: Xác định giá mở cửa T1: Khớp lệnh liên tục T2: Xác định giá đóng cửa T4: Run-off T5: Đóng cửa thị trường 54 Biểu đồ luồng dữ liệu 55 Chương 3 XÂY DỰNG ỨNG DỤNG 3.1. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ORACLE Oracle là một hệ CSDL quan hệ mạnh nhất và được sử dụng nhiều nhất trong các hệ thống lớn hiện nay. Oracle bao gồm một tập hợp hoàn thiện các sản phẩm xây dựng ứng dụng và người dùng cuối được trang bị các giải pháp kỹ thuật thông tin hoàn hảo. Các ứng dụng Oracle tương thích với hầu hết các hệ điều hành từ các máy tính cá nhân đến các hệ thống xử lý song song lớn. Oracle cung cấp một hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) uyển chuyển: Oracle Server để lưu giữ và quản lý các thông tin dùng trong các ứng dụng. Phiên bản Oracle 7 quản lý cơ sở dữ liệu với tất cả các ưu điểm của cấu trúc CSDL quan hệ cộng thêm khả năng lưu giữ và thực thi các đối tượng CSDL như các procedure và các trigger. Oracle bao gồm một tập hợp hoàn thiện các sản phẩm xây dựng ứng dụng và người dùng cuối được trang bị các giải pháp kỹ thuật thông tin hoàn hảo. Các ứng dụng Oracle tương thích với hầu hết các hệ điều hành từ các máy tính cá nhân đến các hệ thống xử lý song song lớn. 3.1.1. Vài nét về lịch sử Oracle: Năm 1977, Larry Ellison, Bob Miner, và Ed Oates thành lập công ty Relational Software Incorporated (RSI). Công ty này xây dựng một hệ quản trị CSDL là Oracle và nó được phát triển bằng C và giao tiếp SQL. Ngay sau đó, họ đưa ra phiên bản 1 như một nguyên mẫu. 56 Năm 1979 hệ quản trị CSDL Oracle phiên bản 2 được ra đời, lam việc trên Digital PDP-11 chạy hệ điều hành RSX-11 và ngay sau đó chuyển sang hệ thống DEC VAX. Năm 1983 phiên bản 3 được giới thiệu và những thay đổi trong ngôn ngữ SQL, mở rộng hiệu suất và các cải tiến khác. Oracle phiên bản 3 được viết hoàn toàn bằng C, lúc này RSI được đổi tên thành Oracle Corporation. Năm 1984 Oracle phiên bản 4 được phát hành, nó hỗ trợ cả hệ thống VAX lẫn hệ điều hành IBM VM. Oracle 4 là phiên bản đầu tiên hợp nhất tính nhất quán đọc dữ liệu. Năm 1985 Oracle 5 được giới thiệu, nó là một mốc lịch sử vì nó đưa ra công nghệ khách/chủ (client/server) vào thị trương với việc sử dụng SQL*Net. Năm 1988 Oracle đưa ra phiên bản 6, giới thiệu khoá ở mức thấp, cũng như nhiều cải tiến về hiệu suất và mở rộng chức năng, bao gồm việc tạo ra các số tuần tự và các thao tác ghi trễ. Lúc này, Oracle đã chạy được trên nhiều nền và hệ điều hành khác nhau. Năm 1991 tuỳ chọn Oracle Parallel Server đưa ra phiên bản 6.1 chạy trên môi trường DEC VAX, ít lâu sau cũng được vào các môi trường khác. Năm 1992 Oracle 7 được phát hành bao gồm các thay đổi kiến trúc về bộ nhớ, CPU và tiện ích xuất/nhập. Oracle 7 là hệ quản trị CSDL quan hệ đầy đủ chức năng nhất, và nó có nhiều ưu điểm nhờ tính năng dễ sử dụng, công cụ SQL*DBA và ccác tiện ích khác. Năm 1997 Oracle 8 được giới thiệu, thêm phần mở rộng đối tượng, nhiều tính năng và công cụ quản trị mới. Tiếp theo là phiên bản Oracle 8.1.5 với tên gọi Oracle 8i hỗ trợ nhiều tính năng mới đặc biệt là các ứng dụng CSDL internet. 57 Năm 2001 Phiên bản Oracle9i Release 1 (9.0.1) được đưa ra thị trường và được cải tiến, bổ sung thêm một số chức năng, đặc điểm mới. Các đặc điểm này đã làm cho việc quản lý database trở nên mềm dẻo, linh hoạt và hiệu quả hơn. Và gần đây nhất là phiên bản Oracle 10g. 3.1.2. Các công cụ quản trị cơ sở dữ liệu Oracle Oracle hiện tại đã cung cấp rất nhiều công cụ cho phép quản trị cơ sở dữ liệu. Có thể kể ra sau đây một số công cụ cơ bản sau: Công cụ Diễn giải Server Manager Line Mode Công cụ quản trị cơ sở dữ liệu Oracle theo chế độ dòng lệnh như start (khởi động), shutdown (dừng) database,... SQL*Plus Line Mode Đây là một tiện ích sử dụng cho việc công quản trị như starting up, shutting down, hoặc phục hồi database. Oracle Enterprise Manager Là công cụ có giao diện đồ họa để thực hiện việc quản trị, điều khiển và thay đổi một hoặc nhiều database. SQL*Loader Tiện ích sử dụng để nạp các file bên ngoài vào trong các bảng của Oracle . Công cụ Export và Import Tiện ích sử dụng để exporting hoặc importing dữ liệu theo khuôn dạng của Oracle. Password File Tiện ích sử dụng để tạo file mật khẩu trong database. 58 3.2. CẤU TRÚC CƠ SỞ DỮ LIỆU CSDL Oracle có một lớp vật lý và một lớp logic. Lớp vật lý bao gồm tất cả các tập tin nằm trên đĩa, các thành phần của lớp logic ánh xạ dữ liệu đến những phần của lớp logic. Hình: Cấu trúc của Oracle 3.2.1. Tablespaces & Data files: Một CSDL Oracle được lưu giữ trong một hoặc nhiều đơn vị nhớ logic gọi là tablespace. Mỗi tablespace được lưu giữ thành một hoặc nhiều file vật lý gọi là Data file. 3.2.2. Schema Objects (đối tượng CSDL): Schema Objects là cấu trúc logic lưu trữ dữ liệu. Schema Objects bao gồm tables, views, sequences, synonyms, indexes, clusters, database links, procedures, packages. -Tables: 59 Là đơn vị nhỏ nhất của việc lưu trữ dữ liệu trong một CSDL Oracle. Dữ liệu được lưu thành dòng và cột. Mỗi table được định nghĩa bằng 1 table name và tập các cột. Mỗi cột (field) có một tên cột, kiểu, và độ lớn. Mỗi dòng là tập hợp những thông tin của các cột gọi là 1 record. -Views: View tương tự như Window mà qua đó dữ liệu trong table có thể được xem hoặc biến đổi. Một view chỉ được lưu giữ dưới dạng câu lệnh SELECT. View là một dạng table ảo nghĩa là table không thực sự tồn tại mà chỉ xuất hiện để user xem. Một view tự nó không có dữ liệu mà sẽ tương tác dữ liệu dựa vào các table cơ sở. View giới hạn việc xâm nhập dữ liệu, cho phép các users nhập các câu truy vấn đơn giản để lấy kết quả từ các câu truy vấn phức tạp thông qua 1 view, cung cấp dữ liệu độc lập cho nhiều người sử dụng hay các chương trình ứng dụng. View được chia thành 2 loại: view đơn và view phức. View đơn là view chỉ truy xuất dữ liệu từ 1 table và không chứa bất kỳ hàm hay GROUP dữ liệu nào, ngược lại gọi là view phức. -Synonyms: Synonym là một bí danh của một table, view, sequence, procedure, function hay một package. Synonym được sử dụng cho việc bảo mật và tiện lợi trong truy xuất dữ liệu. Có 2 loại synonym: Public và Private. -Index (chỉ mục): Index của Bảng được tạo ra nhằm tăng tốc độ truy xuất, tăng hiệu quả của tính duy nhất trên một hoặc một tập của cột. 60 Chỉ mục của Oracle có 2 mục đích chính là: tăng tốc độ lấy dữ liệu thông qua khóa đặc thù (particular key), bắt buộc giá trị duy nhất trên cột, thường là khóa chính. 3.2.3. Các kiểu dữ liệu Oracle có các kiểu dữ liệu sau đây: -CHAR(n): Kiểu ký tự có chiều dài cố định là n. -VARCHAR2(n): Ký tự có chiều dài thay đổi đến n ký tự. -NUMBER: số dấu chấm động với 38 ký số. -NUMBER(n): số nguyên có n ký số. -NUMBER(n,m): số thập phân có n ký số và m số lẻ. -DATE: Kiểu ngày. -LONG: Ký tự có chiều dài thay đổi tối đa 231-1, chỉ có 1 cột kiểu LONG trong 1 table. -RAW: tương đương VARCHAR2, nhưng dùng để lưu dữ liệu dạng byte hay nhị phân như hình ảnh, âm thanh. -LONGRAW: tương đương LONG, nhưng dùng để lưu dữ liệu dạng byte hay nhị phân như hình ảnh, âm thanh. 61 3.2.4. Data Integrity (ràng buộc dữ liệu) Dữ liệu phải thỏa mãn tập các luật được định nghĩa trước bởi người quản trị CSDL. Oracle cho phép định nghĩa các ràng buộc toàn vẹn cho các cột trong table hay giữa các table với nhau để buộc chúng tuân theo một quy luật nào đó nhằm mục đích: Kiểm tra ràng buộc toàn vẹn dữ liệu khi thêm vào, cập nhật hay xóa dữ liệu; ngăn cản việc xóa 1 table khi có sự phụ thuộc của table này vào các table khác. Oracle có các kiểu ràng buộc sau: -NOT NULL: cột không được rỗng. -UNIQUE: đánh dấu một cột hoặc một tập các cột như một khóa duy nhất, không thể có 2 dòng trong table chứa cùng giá trị cho khóa này. -PRIMARY KEY: tương tự như khóa đơn nhất, một khóa chính bắt buộc sự duy nhất của một cột hay một tổ hợp các cột. -FOREIGN KEY: Khóa ngoại cung cấp các luật ràng buộc tham khảo toàn vẹn không những bên trong 1 table mà còn giữa các table. -CHECK: ràng buộc này định nghĩa một điều kiện mà mỗi dòng phải thỏa trong 1 table khi đưa 1 giá trị vào 1 cột đã được định nghĩa. 3.2.5. Từ điển dữ liệu Từ điển dữ liệu là một trong những phần quan trọng nhất của Oracle DBMS. Từ điển dữ liệu bao gồm một tập hợp các table và view cung cấp các hướng dẫn tham khảo chỉ đọc về CSDL. Từ điển dữ liệu chứa đựng: -Tên username của người sử dụng Oracle 62 -Các quyền và tập quyền được cấp. -Tên của các đối tượng CSDL (table, view, index, synonym,…) -Các ràng buộc được cấp cho table. -Các thông tin cập nhật. Từ điển dữ liệu được tạo ra khi ta tạo 1 CSDL. Từ đó bất cứ lúc nào CSDL đang hoạt động thì từ điển dữ liệu cũng luôn được Oracle RDBMS cập nhật. Từ điển dữ liệu là một tham khảo đến toàn bộ CSDL người dùng. Đây là một tài nguyên có giá trị đối với người dùng cuối, người thiết kế ứng dụng và người quản trị CSDL. Các hoạt động của RDBMS cũng dựa trên từ điển dữ liệu để lưu và kiểm tra các thông tin về CSDL. 3.3. DATA ACCESS 3.3.1. SQL & PL/SQL 63 SQL: Một hệ quản trị CSDL cần có một ngôn ngữ cho phép các người sử dụng truy xuất dữ liệu. Ngôn ngữ truy vấn có cấu trúc (SQL) là ngôn ngữ được dùng trong hầu hết các hệ CSDL quan hệ. -SQL là 1 ngôn ngữ tựa tiếng Anh. -SQL là 1 ngôn ngữ phi thủ tục: bạn chỉ rõ thông tin gì bạn cần mà không cần chỉ ra cách thực hiện như thế nào. Nói cách khác, SQL không yêu cầu bạn chỉ phương pháp truy xuất dữ liệu. -SQL xử lý các tập hợp mẫu tin hơn là một mẫu tin đơn lẻ ở 1 thời điểm. Dạng chung nhất của tập các mẫu tin là một bảng. -SQL có thể được dùng bởi nhiều người sử dụng bao gồm người quản trị dữ liệu, các người lập trình ứng dụng, người quản lý, người dùng cuối. -SQL cung cấp nhiều lệnh cho nhiều công việc khác nhau: +truy vấn dữ liệu +thêm vào, cập nhật và hủy bỏ các hàng của bảng +tạo lập, thay đổi và hủy bỏ các đối tượng CSDL +kiểm soát truy xuất đến CSDL và các đối tượng CSDL +bảo đảm tính nhất quán dữ liệu. PL/SQL: (Procedure Language) 64 PL/SQL là một mở rộng của SQL, kết hợp vào trong đó rất nhiều đặc tính của các ngôn ngữ lập trình gần đây. Nó cho phép các thao tác dữ liệu và các câu lệnh query SQL bao gồm các đoạn mã có cấu trúc khối và tính thủ tục, làm cho PL/SQL thành một ngôn ngữ xử lý giao dịch mạnh mẽ. Các ưu điểm của PL/SQL: -Cấu trúc khối: chương trình có thể chia thành các khối luận lý. -Điều khiển theo luồng: dùng các câu lệnh có điều kiện, lặp vòng, rẽ nhánh để điều khiển luồng thủ tục của chương trình, quyết định khi nào SQL hoặc tác vụ khác được thi hành. -Tính cơ động: chương trình có thể chuyển đổi đến bất kỳ môi trường nào mà Oracle và PL/SQL đã được hỗ trợ. -Tính thống nhất -Hiệu quả. 3.3.2. Transaction (giao dịch) Giao dịch là một tác vụ thao tác CSDL bao gồm một loạt các thay đổi trên một hay nhiều table. Có 2 lớp: DML & DDL transaction -DML transaction: gồm có một số lệnh DML mà Oracle xem như một thực thể đơn hoặc một đơn vị công việc luận lý. -DDL transaction: chỉ có thể chứa 1 lệnh DDL. Đối với một giao dịch, hoặc là nó thay đổi CSDL một cách hoàn chỉnh hoặc là không thực hiện bất kỳ sự thay đổi CSDL nào. Một giao dịch bắt 65 đầu khi thực hiện lệnh DML và DDL đầu tiên và kết thúc khi xảy ra 1 trong các trường hợp sau: +COMMIT / ROLLBACK +Lệnh DDL được đưa ra +Lỗi bên trong +Thoát khỏi chương trình SQL * Plus 3.4. PROGRAMMATIC CONSTRUCTS 3.4.1. Procedures & Packages Oracle cho phép truy xuất và xử lý thông tin CSDL bằng cách sử dụng các đối tượng CSDL thủ tục, gọi là các đơn vị chương trình PL/SQL. Ví dụ như ta có:Procedure, Function, Package. -Oracle có thể thực hiện procedure và function giống như thực hiện một câu lệnh SQL riêng lẻ. Procedure hoặc function là một đối tượng dữ liệu, gồm tập hợp các câu lệnh, được lưu trong CSDL, được thực thi như một unit để giải quyết một vấn đề nào đó hoặc thực hiện một số công việc có liên quan. -Procedure và function rất giống nhau, chỉ khác là function thì luôn luôn trả về giá trị cho chương trình gọi nó, còn procedure thì không. Thông thường người ta gọi chung procedure và function là "procedure". -Procedure cung cấp một số thuận lợi trong các mặt sau: +Security: bảo mật dữ liệu +Perfomance: 66 +Memory allocation: sử dụng share memory +Productivity: thuận tiện cho việc thiết kế application +Integrity: bảo đảm được những ràng buộc và tính trong suốt Package cung cấp phương pháp tập hợp các procedure, function như một unit trong CSDL. Package cung cấp một số thuận lợi trong các mặt sau: +Nhóm các procedure và các variable +phân biệt định nghĩa package và thân package +khai báo các procedure, variable, constant và cursor 3.4.2. Database Triggers Oracle cho phép định nghĩa các procedure, được tự động thực thi khi có một câu lệnh INSERT, UPDATE hoặc DELETE được thực hiện vào bảng. Các procedure này được gọi là các database trigger. -Trigger tương tự như procedure, có thể chứa một số câu lệnh SQL và PL/SQL, được thực thi như một unit và có thể gọi các procedure khác. Tuy nhiên procedure và trigger khác nhau ở cách chúng được gọi. Trong khi procedure được gọi bởi user hoặc application thì trigger được thực thi trực tiếp bởi Oracle khi có 1 lệnh INSERT, UPDATE hoặc DELETE (đã có trigger) được thực hiện, không phân biệt user nào đang nối kết hay application nào đang thực thi. -Một trigger có 3 phần chính: 67 +Triggering event hoặc statement: câu lệnh SQL, xác định khi nào trigger được thực hiện (INSERT, UPDATE, DELETE). +Trigger restriction: là một biểu thức logic, nếu có giá trị TRUE thì trigger action sẽ được thực hiện, nếu có giá trị FALSE thì không thực hiện. +Trigger action: gồm một số câu lệnh SQL và PL/SQL. -Một trigger có thể có một trong 2 dạng: enabled hoặc disabled. 3.5. KHÔNG GIAN BẢNG (TABLESPACE) VÀ CÁC TẬP TIN DỮ LIỆU Cơ sở dữ liệu được chia thành một hay nhiều mẩu logic gọi là không gian bảng (tablespace). Một không gian bảng sẽ bao gồm một hay nhiều tập tin dữ liệu vật lý, nhưng một tập tin dữ liệu luôn luôn chỉ kết hợp với một không gian bảng. Hình: Các file dữ liệu và tablespace Một tablespace được dùng để nhóm dữ liệu với nhau về mặt logic. Việc phân đoạn các nhóm vào các tablespace khác nhau sẽ đảm bảo tính bảo mật, hiệu quả và sự quản trị. 68 Trong quá trình tạo CSDL Oracle tự động tạo ra tablespace SYSTEM. Tablespace SYSTEM là nơi chứa từ điển dữ liệu của toàn bộ CSDL. Từ điển dữ liệu chứa thông tin về table, index, cluter…Tablespace SYSTEM là vị trí mặc định của tất cả các đối tượng khi một CSDL được tạo ra. Mặc dù CSDL nhỏ có thể gói gọn trong một tablespace SYSTEM, Oracle khuyên rằng ít nhất nên tạo một tablespace riêng cho dữ liệu user. Điều này giúp ta linh động hơn trong các tác vụ quản trị CSDL khác nhau và giảm sự tranh chấp giữa các đối tượng từ điển và các đối tượng schema trên cùng một tập tin dữ liệu. Thông thường ta tạo ra nhiều tablespace để phân hoá các phần khác nhau của CSDL. Để mở rộng một CSDL có thể thêm một tablespace mới, hoặc thêm một tập tin dữ liệu vào một tablespace, hoặc tăng kích thước một tập tin dữ liệu z. Khi thêm một tập tin dữ liệu khác vào một tablespace đã tồn tại, ta tăng lượng không gian đĩa định vị cho tablespace tương ứng, ta cũng có thể tạo một tablespace mới. Kích thước của tablespace là kích thước của tập tin dữ liệu tạo nên tablespace, kích thước của CSDL là kích thước tổng của các tablesapce tạo nên CSDL. 69 3.6. QUÁ TRÌNH EXPORT VÀ IMPORT DỮ LIỆU BẢNG GIÁ Bằng cách sử dụng các công cụ mà công ty chứng khoán sẽ Export được dữ liệu của sở giao dịch chứng khoán trả về sau nhóm kỹ thuật chịu trách nhiệm về cơ sở dữ liệu sẽ Import vào cơ sở dữ liệu của công ty và hiển thị lên bảng giá Cụ thể ở đây công ty Nam Việt đã sử dụng phần mềm chuyên dụng QuestToadNavigator8.6 để Export dữ liệu trả về từ Sở và Import vào cơ sở dữ liệu của công ty chứng khoán Export dữ liệu: “ Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set About to export specified users ... . exporting pre-schema procedural objects and actions . exporting foreign function library names for user QUOTESTSC . exporting PUBLIC type synonyms . exporting private type synonyms . exporting object type definitions for user QUOTESTSC About to export QUOTESTSC's objects ... 70 . exporting database links . exporting sequence numbers . exporting cluster definitions . about to export QUOTESTSC's tables via Conventional Path ... . . exporting table FO_MATCH_ORDERS 98285 rows exported . . exporting table FROOM_H 279 rows exported . . exporting table MARKET_INFO 5 rows exported . . exporting table MARKET_INFO_CHANGE 0 rows exported . . exporting table MARKET_INFO_HIST 11 rows exported . . exporting table MARKET_INFO_HIST_DETAILS 0 rows exported . . exporting table PUT_AD 3 rows exported 71 . . exporting table PUT_AD_HIST 27 rows exported . . exporting table PUT_EXEC 32 rows exported . . exporting table PUT_EXEC_HIST 28 rows exported . . exporting table SECURITIES_NAME 2104 rows exported . . exporting table SEC_INFO 510 rows exported . . exporting table SEC_INFO_CHANGE . . exporting table SEC_INFO_HIST 979 rows exported . . exporting table SYSVAR 52 rows exported Export terminated successfully “ Import dữ liệu 72 “ Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options Export file created by EXPORT:V10.02.01 via conventional path import done in AL32UTF8 character set and AL16UTF16 NCHAR character set IMP-00025: for DBA export files, FROMUSER must be specified with TOUSER option IMP-00000: Import terminated unsuccessfully ” Ví dụ: Import dữ liệu cho bảng Market_Info “” INSERT INTO market_info (FLOOR_CODE,DATE_NO,TRADING_DATE,CURRENT_ STATUS,TIME,TOTAL_TRADE,TOTAL_STOCK,TOTAL_ QTTY,TOTAL_VALUE,ADVANCES,DECLINES,PRIOR_ MARKET_INDEX,CHG_INDEX,PCT_INDEX,CURRENT_ INDEX,MARKET_INDEX,SESSION_NO,NOCHANGE,MA RKET_STATUS) VALUES ('10',NULL,'3-JUL- 2008',NULL,'09:00:04',3513,NULL,3071810,84517,111,15,41 929,9510,0.0468494421522912,42880,42880,'1',19,'O') 73 / INSERT INTO market_info (FLOOR_CODE,DATE_NO,TRADING_DATE,CURRENT_ STATUS,TIME,TOTAL_TRADE,TOTAL_STOCK,TOTAL_ QTTY,TOTAL_VALUE,ADVANCES,DECLINES,PRIOR_ MARKET_INDEX,CHG_INDEX,PCT_INDEX,CURRENT_ INDEX,MARKET_INDEX,SESSION_NO,NOCHANGE,MA RKET_STATUS) VALUES ('10',NULL,'3-JUL- 2008',NULL,'10:14:05',8659,NULL,8173550,217800,142,8,41 929,10630,0.0495837503967188,42992,42992,'2',7,'O') / INSERT INTO market_info (FLOOR_CODE,DATE_NO,TRADING_DATE,CURRENT_ STATUS,TIME,TOTAL_TRADE,TOTAL_STOCK,TOTAL_ QTTY,TOTAL_VALUE,ADVANCES,DECLINES,PRIOR_ MARKET_INDEX,CHG_INDEX,PCT_INDEX,CURRENT_ INDEX,MARKET_INDEX,SESSION_NO,NOCHANGE,MA RKET_STATUS) VALUES 74 ('10',NULL,'3-JUL- 2008',NULL,'10:59:05',9330,NULL,10776570,307236,146,6,4 1929,1076,0.0256624293448449,43005,43005,'3',5,'K') / INSERT INTO market_info (FLOOR_CODE,DATE_NO,TRADING_DATE,CURRENT_ STATUS,TIME,TOTAL_TRADE,TOTAL_STOCK,TOTAL_ QTTY,TOTAL_VALUE,ADVANCES,DECLINES,PRIOR_ MARKET_INDEX,CHG_INDEX,PCT_INDEX,CURRENT_ INDEX,MARKET_INDEX,SESSION_NO,NOCHANGE,MA RKET_STATUS) VALUES ('02',653,'3-JUL- 2008',1,'11:00:25',3776,136,3537300,82934200000,126,9,118. 78,0,0,121.53,122.07,NULL,15,NULL) / commit / 75 3.7. XÂY DỰNG BẢNG GIÁ 76 LỜI CAM ĐOAN Đồ án tốt nghiệp “ Nghiên cứu và phát triển tính năng của bảng giá chứng khoán trực tuyến” là do công sức của em cùng với sự chỉ bảo tận tình của giáo viên hướng dẫn cũng như sự hợp tác, giúp đỡ nhiệt tình của các anh chị phụ trách công ty cổ phần dịch vụ tư vấn và giải pháp phần mềm Nam Việt, vì vậy em xin cam đoan một số điều sau: + Nội dung cơ bản của đồ án không hề sao chép từ các sản phẩm hay bất kỳ đồ án nào khác. + Quy trình khảo sát diễn ra một cách thực tế tại công ty với sự giúp đỡ nhiệt tình của lãnh đạo công ty + Các quy trình của hệ thống em xây dựng bám sát với quy trình thực tế tại công ty + Nội dung của đồ án được hoàn thành từ công sức và những kiến thức được trang bị cũng như tự tìm hiểu của em Người cam đoan Nguyễn Đức Minh

Các file đính kèm theo tài liệu này:

  • pdfNGHIÊN CỨU VÀ PHÁT TRIỂN TÍNH NĂNG CỦA BẢNG GIÁ CHỨNG KHOÁN TRỰC TUYẾN.pdf