TỔNG QUAN VỀ THỊ TRƯỜNG CHỨNG KHOÁN
Thị trường chứng khoán là gì?
Thị trường chứng khoán là một thị trường mà nơi các Công ty phát hành cổ phiếu cho những người muốn đầu tư vào các Công ty đó và là nơi các nhà đầu tư (và các nhà đầu cơ) mua và bán chứng khoán vì mục tiêu lợi nhuận. Việc mua bán này được tiến hành ở thị trường sơ cấp khi người mua mua được chứng khoán lần đầu từ những người phát hành, và ở những thị trường thứ cấp khi có sự mua đi bán lại các chứng khoán đã được phát hành ở thị trường sơ cấp.Hình thái điển hình của thị trường chứng khoán là Sở giao dịch chứng khoán (tiếng Anh gọi là Stock Exchange) Tại Sở giao dịch chứng khoán, các lệnh mua và bán chứng khoán được khớp để hình thành giá giao dịch.
Như vậy, xét về mặt hình thức, thị trường chứng khoán chỉ là nơi diễn ra các hoạt động trao đổi, mua bán, chuyển nhượng các loại chứng khoán, qua đó thay đổi chủ thể nắm giữ chứng khoán.
Chứng khoán là gì?
Chứng khoán là giấy tờ có giá và có khả năng chuyển nhượng, xác định số vốn đầu tư; chứng khoán xác nhận quyền sở hữu hoặc quyền đòi nợ hợp pháp bao gồm các điều kiện về thu nhập và tài sản trong một thời hạn nào đó
Chứng khoán là hàng hoá trên thị trường chứng khoán
- Theo NĐ144, chứng khoán được phân chia thành
+Cổ phiếu +Trái phiếu +Chứng chỉ quỹ đầu tư chứng khoán +Các loại chứng khoán khác theo quy định của pháp luật
+Tính thanh khoản + Tính rủi ro +Tính sinh lợi
Cổ phiếu: là chứng chỉ do công ty cổ phần phát hành xác nhận quyền sở hữu cổ phần của người nắm giữ cổ phiếu trong công ty
- Người sở hữu cổ phiếu là cổ đông của công ty cổ phần
- Ngày nay trên Sở giao dịch chứng khoán, cổ phiếu còn có hình thức ghi trong máy tính điện tử, gọi là hình thức phi vật chất, rất thuận tiện cho việc giao dịch cổ phiếu một cách nhanh, chính xác, an toàn, tránh
Chức năng cơ bản của thị trường chứng khoán
- Huy động vốn đầu tư cho nền kinh tế
- Cung cấp môi trường đầu tư cho công chúng
- Tạo tính thanh khoản cho các chứng khoán
- Đánh giá hoạt động của doanh nghiệp
- Tạo môi trường giúp Chính phủ thực hiện các chính sách vĩ mô
Các chủ thể tham gia thị trường chứng khoán
Các tổ chức và cá nhân tham gia thị trường chứng khoán có thể được chia thành các nhóm sau: nhà phát hành, nhà đầu tư và các tổ chức có liên quan đến chứng khoán.
Nhà phát hành là các tổ chức thực hiện huy động vốn thông qua thị trường chứng khoán Nhà phát hành là người cung cấp các chứng khoán - hàng hoá của thị trường chứng khoán.
- Chính phủ và chính quyền địa phương là nhà phát hành các trái phiếu Chính phủ và trái phiếu địa phương.
- Công ty là nhà phát hành các cổ phiếu và trái phiếu công ty.
- Các tổ chức tài chính là nhà phát hành các công cụ tài chính như các trái phiếu, chứng chỉ thụ hưởng phục vụ cho hoạt động của họ
Nhà đầu tư là những người thực sự mua và bán chứng khoán trên thị trường chứng khoán Nhà đầu tư có thể được chia thành 2 loại: nhà đầu tư cá nhân và nhà đầu tư có tổ chức.
- Các nhà đầu tư cá nhân
- Các nhà đầu tư có tổ chức
4.3 Các tổ chức kinh doanh trên thị trường chứng khoán
- Quỹ đầu tư chứng khoán
- Các trung gian tài chính
4.4 Các tổ chức có liên quan đến thị trường chứng khoán
- Cơ quan quản lý Nhà nước
- Sở giao dịch chứng khoán
- Hiệp hội các nhà kinh doanh chứng khoán
- Tổ chức lưu ký và thanh toán bù trừ chứng khoán
- Công ty dịch vụ máy tính chứng khoán
- Các tổ chức tài trợ chứng khoán
- Công ty đánh giá hệ số tín nhiệm
Các nguyên tắc hoạt động cơ bản của thị trường chứng khoán
Thị trường chứng khoán hoạt động theo các nguyên tắc cơ bản sau:
Cấu trúc và phân loại cơ bản của thị trường chứng khoán
Thị trường chứng khoán là nơi diễn ra các giao dịch, mua bán những sản phẩm tài chính (cổ phiếu, trái phiếu, các khoản vay ngân hàng có kỳ hạn trên 1 năm).Sau đây là một số cách phân loại TTCK cơ bản:
6.1 Căn cứ vào sự luân chuyển các nguồn vốn
Thị trường chứng khoán được chia thành thị trường sơ cấp và thị trường thứ cấp.
- Thị trường sơ cấp Thị trường sơ cấp là thị trường mua bán các chứng khoán mới phát hành Trên thị trường này, vốn từ nhà đầu tư sẽ được chuyển sang nhà phát hành thông qua việc nhà đầu tư mua các chứng khoán mới phát hành.
Thị trường thứ cấp là nơi giao dịch các chứng khoán đã được phát hành trên thị trường sơ cấp, đảm bảo tính thanh khoản cho các chứng khoán đã phát hành.
6.2 Căn cứ vào phương thức hoạt động của thị trường
Thị trường chứng khoán được phân thành thị trường tập trung (Sở giao dịch chứng khoán) và phi tập trung (thị trường OTC).
6.3 Căn cứ vào hàng hoá trên thị trường
Thị trường chứng khoán cũng có thể được phân thành các thị trường: thị trường cổ phiếu, thị trường trái phiếu, thị trường các công cụ chứng khoán phát sinh.
- Thị trường cổ phiếu: thị trường cổ phiếu là thị trường giao dịch và mua bán các loại cổ phiếu, bao gồm cổ phiếu thường, cổ phiếu ưu đãi
- Thị trường trái phiếu: thị trường trái phiếu là thị trường giao dịch và mua bán các trái phiếu đã được phát hành, các trái phiếu này bao gồm các trái phiếu công ty, trái phiếu đô thị và trái phiếu chính phủ
- Thị trường các công cụ chứng khoán phái sinh: thị trường các chứng khoán phát sinh là thị trường phát hành và mua đi bán lại các chứng từ tài chính khác như: quyền mua cổ phiếu, chứng quyền, hợp đồng quyền chọn.
Giao dịch chứng khoán
Hoạt động mua bán chứng khoán trên thị trường chứng khoán có thể diễn ra trên thị trường tập trung (Trung tâm giao dịch chứng khoán, Sở Giao dịch chứng khoán) và thị trường phi tập trung.
7.1 Mua chứng khoán của tổ chức phát hành Đối với loại chứng khoán này, có thể thực hiện theo 2 hình thức:
- Mua trực tiếp tại tổ chức phát hành (công ty): nhà đầu tư phải đăng ký mua và nộp tiền trực tiếp tại tổ chức phát hành chứng khoán Hình thức này rất bất cập, nhất là về mặt địa lý.
- Mua thông qua trung gian : tức là mua thông qua các nhà đại lý hoặc bảo lãnh phát hành, thông thường là các công ty chứng khoán và các Ngân hàng thương mại.
Nếu bạn mua chứng khoán của tổ chức phát hành chưa niêm yết trên Trung tâm giao dịch chứng khoán thì việc chuyển nhượng hoặc bán lại chứng khoán đó cho người khác hiện nay gặp nhiều khó khăn vì không dễ tìm được người mua và bạn cũng phải trực tiếp đến tổ chức phát hành (hoặc uỷ quyền) để thực hiện chuyển nhượng cho người mua.
7.2 Mua bán chứng khoán niêm yết trên trung tâm giao dich chứng khoán
Chứng khoán niêm yết là chứng khoán có đủ điều kiện và tiêu chuẩn được đăng ký để mua bán tại Trung tâm giao dịch chứng khoán Khi mua bán chứng khoán niêm yết, phải tuân thủ theo một số nguyên tắc sau:
- Mọi giao dịch mua bán chứng khoán đều phải qua hệ thống tại Sở Giao dịch, Trung tâm Giao dịch chứng khoán theo phương thức khớp lệnh hoặc phương thức thoả thuận;
- Giao dịch chứng khoán thực hiện theo phương thức khớp lệnh trên nguyên tắc ưu tiên về giá và ưu tiên về thời gian;
- Giao dịch chứng khoán niêm yết lô lẻ được thực hiện trực tiếp giữa người đầu tư với công ty chứng khoán thành viên là thành viên của Trung tâm Giao dịch chứng khoán trên nguyên tắc thoả thuận về giá.
Quy trình đặt một lệnh của nhà đầu tư
Quy trình giao dịch chứng khoán niêm yết tại Trung tâm giao dịch chứng khoán:
Toàn bộ quy trình này được tiến hành theo 5 bước:
- Bước 1: 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 chứng khoán chuyển lệnh đó cho đại diện của công ty tại Trung tâm giao dịch chứng khoán để nhập vào hệ thống giao dịch của Trung tâm.
- Bước 3: Trung tâm giao 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 nếu quy định về thời gian thực hiện thanh toán bù trừ chứng khoán là T +3
8.1 Đặt lệnh mua hay bán chứng khoán
Nhà đầu tư muốn mua hoặc muốn bán sẽ đến gặp công ty chứng khoán
Khách hàng ký hợp đồng uỷ thác mua hoặc uỷ thác bán chứng khoán với công ty chứng khoán
Khách hàng đặt lệnh mua, bán chứng khoán với phòng tiếp thị bằng phiếu lệnh Nội dung chi tiết của lệnh gồm có: a Lệnh mua hay lệnh bán; b Tên chứng khoán - mã số chứng khoán; c Số lượng chứng khoán; d Giá; e Điều kiện về thời gian đáo hạn của trái phiếu (nếu có)
Sau khi kiểm tra tính hợp lệ của phiếu lệnh, Phòng tiếp thị công ty chứng khoán chuyển giao phiếu lệnh cho phòng giao dịch, đồng thời thông báo cho phòng thanh toán bù trừ
Cùng lúc này, một nghiệp vụ rất quan trọng là phòng giao dịch + phòng thanh toán + công ty chứng khoán phải tiến hành kiểm tra tài khoản của khách hàng Luật quy định khách mua phải có đủ tiền
100% trong tài khoản giao dịch và khách bán phải có đủ 100% chứng khoán
Công ty kiểm tra lần cuối tính hợp lệ của lệnh mua - lệnh bán Phòng giao dịch chuyển lệnh qua máy cho đại diện giao dịch tại TTGDCK
8.2 Giao dịch tại TTGDCK Đại diện giao dịch nạp lệnh mua - bán vào hệ thống máy điện tử của TTGDCK, gọi tắt là hệ thống giao dịch chi tiết nạp vào hệ thống gồm các khoản a, b, c, d, e (cả mục 3 nói trên) cùng với các chi tiết kế tiếp sau đây: f: Số hiệu của lệnh giao dịch; g Lệnh sửa đổi hoặc huỷ bỏ (kèm số hiệu của lệnh gốc); h Giao dịch cho khách hàng giao dịch tự doanh; i Mã số quản lý đầu tư nước ngoài (nếu là người đầu tư nước ngoài); k Mã số của thành viên; l Các chi tiết khác do TTGDCK quy định)
Nếu có sửa đổi hay huỷ bỏ lệnh theo ý kiến khách hàng thì đại diện giao dịch nhập lại lệnh mới kèm số hiệu lệnh gốc Lệnh mới (sửa đổi/huỷ bỏ) chỉ hiệu lực khi lệnh gốc chưa được thực hiện
TTGDCK sau mỗi đợt khớp lệnh lúc 9 - 10 - 11 giờ sẽ thông báo kết quả cho lệnh được khớp đến đại diện giao dịch và cho công ty chứng khoán (chi tiết kết quả khớp lệnh) Đại diện giao dịch nhận thông báo của TTGDCK lập tức báo cho phòng giao dịch của công ty tất cả chi tiết liên quan đến lệnh
Phòng giao dịch ghi "đã mua hoặc đã bán" vào phiếu lệnh của khách hàng và thông báo cho phòng thanh toán
TTGDCK xác nhận với đại diện giao dịch về kết quả giao dịch sau khớp lệnh Chi tiết xác nhận gồm có:
2 Khối lượng mua và bán;
3 Tên (mã số) của bên thành viên đối tác;
4 Ngày, thời gian giao dịch được thực hiện ;
5 Số hiệu của lệnh được thực hiện;
6 Các chi tiết cần thiết khác theo quy định của TTGDCK
8.3 Kết thúc phiên giao dịch
Phòng giao dịch tổng hợp kết quả giao dịch trong ngày và chuyển đến phòng thanh toán kèm phiếu lệnh đã được thực hiện
Phòng thanh toán lập báo cáo thanh toán và bù trừ về chứng khoán và tiền vốn chuyển cho phòng lưu ký, thanh toán bù trừ và đăng ký chứng khoán (của TTGDCK)
Phòng lưu ký, thanh toán bù trừ và đăng ký chứng khoán so khớp số liệu và thực hiện thủ tục thanh toán, đồng thời gởi thông báo cho ngân hàng thanh toán của hai bên đối tác mua - bán để thanh toán vốn đã giao dịch
Các công ty và ngân hàng thanh toán vốn (ngân hàng hoạt động lưu ký) thực hiện tác nghiệp về thanh toán vốn
Trong trường hợp công ty chứng khoán chưa kịp thanh toán trong thời hạn quy định, TTGDCK sẽ dùng quỹ hỗ trợ thanh toán thực hiện thay cho công ty chứng khoán (sau đó tính lãi, phạt và các hình thức chế tài khác đối với công ty chứng khoán - quy định tại các điều 61 - 62 của Quy chế lưu ký, thanh toán bù trừ và đăng ký chứng khoán ban hành theo Qđ số 05/UBCKNN ngày 27/3/99 của UBCKNN).
Hình 2-1: Quy trình giao dịch trên thị trường chứng khoán Việt Nam
Phương thức giao dịch
9.1 Phương thức giao dịch khớp lệnh
Khớp lệnh định kỳ: là phương thức giao dịch được thực hiện trên cơ sở so khớp các lệnh mua và lệnh bán chứng khoán tại một thời điểm xác định
Khớp lệnh liên tục: là phương thức giao dịch được thực hiện trên cơ sở so khớp các lệnh mua và lệnh bán chứng khoán ngay khi lệnh được nhập vào hệ thống giao dịch
9.2 Phương thức giao dịch thỏa thuận
Là phương thức giao dịch trong đó các thành viên tự thoả thuận với nhau về các điều kiện giao dịch và được đại diện giao dịch của thành viên nhập thông tin vào hệ thống giao dịch để ghi nhận.
Các loại lệnh
10.1 Lệnh giới hạn (LO) (áp trong khớp lệnh định kỳ và liên tục)
- Là lệnh mua hoặc lệnh bán chứng khoán tại một mức giá xác định hoặc tốt hơn
- Hiệu lực của lệnh:kể từ khi lệnh được nhập vào hệ thống giao dịch cho đến lúc kết thúc ngày giao dịch hoặc cho đến khi lệnh bị hủy bỏ
10.2 Lệnh thị trường (MP)( áp dụng trong thời gian giao dịch liên tục)
- Là lệnh mua tại mức giá bán thấp nhất hoặc lệnh bán tại mức giá mua cao nhất hiện có trên thị trường
- Nếu sau khi so khớp lệnh theo nguyên tắc ở trên mà khối lượng đặt lệnh của lệnh MP vẫn chưa thực hiện hết thì lệnh MP sẽ được xem là lệnh mua tại mức giá bán cao hơn hoặc lệnh bán tại mức giá mua thấp hơn tiếp theo hiện có trên thị trường
- Nếu KL đặt lệnh của lệnh MP vẫn còn theo nguyên tắc ở trên và không thể tiếp tục khớp thì lệnh MP sẽ được chuyển thành lệnh LO mua (bán) tại mức giá cao (thấp) hơn một bước giá so với giá giao dịch cuối cùng trước đó
- Không nhập được khi không có lệnh đối ứng (No market price available).
10.3 Lệnh ATO (áp dụng cho phiên mở cửa)
Là lệnh đựơc thực hiện ở mức giá mở cửa Lệnh này được đưa ra nhưng không kèm theo giá và ưu tiên cao hơn lệnh giới hạn.
10.4 Lệnh ATC (áp dụng cho phiên đóng cửa)
Là lệnh được thực hiện ở mức giá đóng cửa Lệnh này được đưa ra nhưng không kèm theo giá và ưu tiên cao hơn lệnh giới hạn.
Nguyên tắc khớp lệnh
Trong quá trình đấu giá khớp lệnh có rất nhiều lệnh mua bán được đưa ra, ngoài việc dựa vào loại lệnh, chúng còn được sắp xếp theo thứ tự ưu tiên dựa vào các tiêu chí sau:
- Lệnh mua có mức giá cao hơn được ưu tiên thực hiện trước;
- Lệnh bán có mức giá thấp hơn được ưu tiên thực hiện trước;
11.2 Ưu tiên về thời gian
- Trường hợp các lệnh mua hoặc lệnh bán có cùng mức giá thì lệnh nhập vào hệ thống giao dịch trước sẽ được ưu tiên thực hiện trước;
11.3 Ưu tiên về khối lượng
- Trường hợp các lệnh mua hoặc lệnh bán có cùng mức giá và cùng thời gian đặt thì lệnh nào có khối lượng lớn hơn sẽ được ưu tiên thực hiện trước hoặc được thực hiện với tỉ lệ lớn hơn.
Giao dịch chứng khoán của nhà đầu tư nước ngoài
- Lệnh giới hạn: Lệnh mua nhập vào hệ thống nếu không được khớp hoặc chỉ được khớp một phần vào thời điểm khớp lệnh thì lệnh mua hoặc phần còn lại của lệnh mua đó sẽ tự động bị huỷ bỏ.
- Các lệnh mua thị trường nếu không được thực hiện hết sẽ tự động bị hủy.
- Khối lượng mua được trừ vào khối lượng được phép mua ngay sau khi lệnh mua được thực hiện.
- Khối lượng bán được cộng vào khối lượng được phép mua ngay sau khi kết thúc thanh toán giao dịch.
- Lệnh mua hoặc 1 phần lệnh mua chưa được thực hiện sẽ tự bị hủy nếu khối lượng được phép mua đã hết; lệnh mua nhập tiếp vào hệ thống sẽ không được chấp thuận
- Khối lượng được phép mua sẽ được giảm xuống ngay khi giao dịch thỏa thuận được thực hiện giữa nhà đầu tư nước ngoài mua và nhà đầu tư trong nước bán.
- Khối lượng được phép mua sẽ được tăng lên ngay khi kết thúc việc thanh toán giao dịch được thực hiện giữa nhà đầu tư nước ngoài bán với một nhà đầu tư trong nước.
- Khối lượng chứng khoán được mua sẽ không thay đổi nếu giao dịch thỏa thuận giữa hai nhà đầu tư nước ngoài với nhau.
CÔNG NGHỆ VÀ CÔNG CỤ PHÁT TRIỂN
Môi trường Microsoft Net Framework
Một cách đơn giản NET được định nghĩa dưới dạng một khung ứng dụng (application framework) .NET cung cấp một khung cho những ứng dụng nào được xây dựng; nó xác định những ứng dụng truy nhập các hàm như thế nào qua các hệ thống và các mạng Nói cách khác, NET là một cách để xây dựng các ứng dụng và các dịch vụ mà nó hoạt động không phụ thuộc vào một nền tảng (platform) nào Đây là một cách để tạo ra các trao đổi thông tin( truyền thông) giữa những hệ thống đa dạng và các ứng dụng cũng như tích hợp nhiều thiết bị vào trong việc trao đổi thông tin này. Ý tưởng NET được thiết kế để hỗ trợ chúng ta tiến tới một Web thân thiện hơn, tích hợp tốt hơn, một nơi mà ở đó các ứng dụng và các quá trình giao dịch có thể tương tác với nhau một cách tự do không phụ thuộc vào chương trình và nền tảng Tóm lại, NET làm cho thông tin trên Web có thể được tiếp cận một cách dễ dàng: ta có thể sử dụng bất kì thiết bị nào, trên bất kì nền tảng nào .NET còn có thể hỗ trợ các hệ thống máy phục vụ và ứng dụng liên lạc với nhau một cách thông suốt (seamlessly) và xây dựng hệ thống tính toán phân tán trên Web, làm cho Web trở thành một nơi tương tác nǎng động hơn giữa các dịch vụ Web, các ứng dụng và khách hàng.
ASP.NET (Active Server Pages NET)
ASP.NET được sử dụng chung với các lớp lập trình mà nó có thể tạo các ứng dụng Web một cách dễ dàng cho người lập trình ASP.NET cung cấp cách truy cập giao diện HTML chung và nó chạy trên chương trình máy phục vụ nhưng thể hiện kết quả thông qua HTML (ví dụ như text box chẳng hạn) Giao diện ASP.NET làm cho việc phát triển các ứng dụng Web trở nên nhanh hơn do bởi các đối tượng điều khiển chung này Như một kết quả (của) các lớp lập trình chung và những đặc tính chuẩn của ASP.NET, các nhà phát triển tiêu tốn ít thời gian hơn khi viết các mã mới và cần nhiều thời gian hơn khi sử dụng các mã đã có ASP.NET được sử dụng ở phần trên của hai thành phần thực thi ngôn ngữ chung CLR và các ngôn ngữ lập trình hợp nhất để tạo ra các dịch vụ Web
Hình 3-2 : Mô hình ứng dụng Web thông qua công nghệ ASP
Ngôn ngữ C#
3.1 Ngôn ngữ C# với kiến trúc Net
Ngôn ngữ C# luôn đồng hành với "Nền tảng NET" C# là một trình biên dịch hướng NET, nghĩa là tất cả các mã của C# luôn luôn chạy trên trên môi trường NET Điều đó dẫn đến 2 hệ quả sau:
- Cấu trúc và các lập luận C# được phản ánh các phương pháp luận của NET ngầm bên dưới.
- Trong nhiều trường hợp, các đặc trưng của C# thậm chí được quyết định dựa vào các đặc trưng của NET, hoặc thư viện lớp cơ sở của NET.
3.2 Mối quan hệ giữa C# và NET:
C# là một ngôn ngữ lập trình mới, và được biết đến với hai nét nổi bật:
- Nó được thiết kế riêng để dùng cho Microsoft's NET Framework (Một nền khá mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng dụng).
- Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinh nghiệm của các ngôn ngữ hướng đối tượng khác
Một điều quan trọng cần nhớ C# là một ngôn ngữ độc lập Nó được thiết kế để có thể sinh ra mã đích trong môi trường NET, nó không phải là một phần của NET bởi vậy có một vài đặc trưng được hỗ trợ bởi NET nhưng C# không hỗ trợ và bạn cũng đừng ngạc nhiên khi có những đặc trưng C# hỗ trợ mà NET không hỗ trợ (chẳng hạn như quá tải toán tử)
Hình 3-3 : Mối quan hệ giữa C# và NET
ADO.NET
ADO.NET là tập các thành phần phần mềm máy tính được người lập trình sử dụng để truy xuất dữ liệu và cách dịch vụ dữ liệu Nó là một phần trong thư viện cơ bản của Net Framework Thông thường, ADO.NET được sử dụng để truy xuất và chỉnh sửa dữ liệu lưu trữ trong hệ quản trị cơ sở dữ liệu quan hệ, mặc dủ vậy nó vẫn có thể dùng với các cơ sở dữ liệu phi quan hệ.
ADO.NET có 2 thành phần chính là Data Provider bao gồm các lớp cung cấp dữ liệu và DataSet Các lớp cung cấp dữ liệu cung cấp khả năng truy xuất vào các nguồn dữ liệu ví dụ như SQL Server, Oracle, hay MS Access, Các lớp này bao gồm : Connection, Command, Parameter, DataAdapter, DataReader Đối tượng DataSet là nhóm các lớp có vai trò như một cơ sở dữ liệu quan hệ ngay trong bộ nhớ Nó bao gồm tập các bảng dữ liệu, các quan hệ bảng cũng như các ràng buộc áp dụng cho cơ sở dữ liệu.
Hình 3-4 : Kiến trúc ADO.NET
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
5.1 Các phiên bản của SQL Server 2005:
Enterprise: Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến 32 CPUs và 64 GB RAM Thêm vào đó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services)
Standard: Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khác, phiên bản này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM
Developer: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản windows Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc Ðây là phiên bản mà các bạn muốn học SQL Server cần có Chúng ta sẽ dùng phiên bản này trong suốt quá trình thực hiện đồ án Phiên bản này có thể cài trên Windows 2000 Professional hay Win XP
Express : cũng được nâng cấp thêm công cụ quản lý hình ảnh Trước đây các nhà quản trị phải sử dụng dòng lệnh trong cửa sổ DOS để tiến hành cài đặt phiên bản cơ sở dữ liệu.
Workgroup Edition: Đây là phiên bản dùng cho các hệ thống lớn và có giá thành rất đắt.
5.2 Các thành phần quan trọng trong SQL Server 2005:
SQL Server 2005 được cấu tạo bởi nhiều thành phần như Relational Database Engine, Analysis Service và Data Transformation Services Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng.
Hình 3-5: Các thành phần trong SQL Server 2005
Relational Database Engine - Cái lõi của SQL Server: Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC) Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user đăng xuất.
Replication - Cơ chế tạo bản sao:
Giả sử bạn có một CSDL dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật Bạn muốn có một CSDL giống y hệt như thế trên một server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến hiệu năng của server chính) Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo Bạn không thể dùng cơ chế sao lưu và phục hồi trong trường hợp này Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 CSDL được đồng bộ (synchronized)
Data Transformation Service (DTS) - Một dịch vụ chuyển dịch data
Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển bạn còn muốn định dạng (format) nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng như thế nào.
Analysis Service - Một dịch vụ phân tích dữ liệu rất hay của Microsoft
Dữ liệu (Data) chứa trong CSDL sẽ chẳng có ý nghĩa gì nhiều nếu như bạn không thể lấy được những thông tin (Information) bổ ích từ đó Do đó Microsoft cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật "khai phá dữ liệu" (data mining)
SQL Server Books Online: Đây là sách tra cứu online mà Microsoft đính kèm theo SQL Server.
Kiến trúc 3 tầng của một ứng dụng Website trên ASP.NET
Hiện nay hầu hết các ứng dụng đựoc xây dựng trên sự kết nối của nhiều thành phần khác nhau, mỗi phần cung cấp một chức năng chuyên biệt. Các thành phần thực hiện những chức năng tương tự nhau được nhóm vào thành các tầng (layer) Các tầng này sau đó được tổ chức giống như một ngăn xếp, nơi mà các thành phần ở tầng cao hơn sẽ sử dụng các dịch vụ được cung cấp bởi các thành phần ở tầng thấp hơn Các thành phần nằm trong cùng một tầng sẽ sử dụng các chức năng được cung cấp bởi các thành phần khác nằm trong cùng tầng với nó hoặc ở tầng thấp hơn.
Hình vẽ dưới đây thể hiện kiến trúc 3 tầng của một ứng dụng Web sử dụng công nghệ ASP.NET :
Hình 3-6 : Kiến trúc 3 tầng trong ứng dụng Web trên ASP.NET
6.1 Tầng trình diễn (Presentation Layer) :
Tầng trình diễn bao gồm các thành phần của ứng dụng cần thiết cho việc tương tác với người sử dụng Chức năng của nó là chuyển đổi các tác vụ, các kết quả thành các hình thức mà người sủ dụng có thể hiểu được Một số ví dự trong tầng này là các trang Web, các biểu mẫu, các quy trình tương tác vơi ngưòi sử dụng,…
6.2 Tầng nghiệp vụ (Business Layer) :
Tầng nghiệp vụ đóng gói các chức năng nghiệp vụ cốt lõi của ứng dụng Các chức năng nghiệp vụ đơn giản có thể được triển khai sử dụng các thành phần tĩnh (stateless components) trong khi các giao dịch phức tạp có thể được triển khai qua việc sử dụng các dòng công việc có trạng thái (stateful workflows) Các thành phần nghiệp vụ cung cấp các giao diện (service interface) để tương tác với các thành phần bên ngoài, nhằm mục đích che dấu các logic nghiệp vụ phức tạp bên trong Đây là “Kiến trúc hướng dịch vụ” được sử dụng trong các ứng dụng có kiến trúc 3 tầng.
6.3 Tầng truy xuất CSDL (Data Layer) :
Tầng truy xuất dữ liệu cung cấp một giao diện đơn giản cho việc truy xuất vào cơ sở dữ liệu Các thành phần trong lớp này trừu tượng hoá các công nghệ truy xuất dữ liệu bên trong nó để cho phép tầng nghiệp vụ tập trung vào các logic nghiệp vụ Mỗi thành phần thông thường cung cấp các phương thức để thực hiện các thao tác tạo,đọc, cập nhật, và xoá các thực thể nghiệp vụ cụ thể.
PHÂN TÍCH HỆ THỐNG
Tổng quan hệ thống giao dịch chứng khoán ảo
Hệ thống giao dịch chứng khoán ảo cho phép người tham gia sau khi đăng kí dịch vụ có thể dễ dàng và nhanh chóng mua chứng khoán mà người chơi cần với giá CK lấy từ bảng niêm yết giá của trung tâm giao dịch chứng khoán Hồ Chí Minh.
Hình 4-1 là biểu đồ khung cảnh của Hệ thống giao dịch chứng khoán ảo.
Số dư tài khoản Đặt lệnh Kết quả truy vấn lệnh
Truy vấn số dư tài khoản Truy vấn lệnh
Quản lí phiên giao dịch Thanh toán bù trừ Duyệt lệnh
He thong giao dich chung khoan ao
Quan tri he thong Nhan vien moi gioi
Quản trị hệ thống là người quản lí sự vận hành của trang Web, thiết lập các thông tin cơ sở và quản lý các phiên giao dịch để tạo ra môi trường giao dịch ảo Nhà đầu tư tham gia giao dịch bằng cách thực hiện đặt các lệnh mua/bán, thực hiện xem thông tin tài khoản hay truy vấn các lệnh đã đặt Để so khớp các lệnh đặt của nhà đầu tư, quản trị hệ thống quản lí việc thực hiện khớp lệnh để xác định lệnh khớp và thanh toán bù trừ để chuyển tiền và chứng khoán giữa các nhà đầu tư có lệnh khớp với nhau Vai trò của các nhân viên môi giới trong hệ thống là duyệt các lệnh đặt gửi tới của nhà đầu tư trước khi đưa các lệnh này vào thực hiện khớp Tuy nhiên do tính chất của sàn giao dịch ảo nên vai trò của nhân viên môi giới có thể bỏ qua, các lệnh của nhà đầu tư được chấp nhận ngay khi đặt lệnh.
Hình 4-2 dưới đây mô tả mô hình phân rã chức năng của Hệ thống giao dịch chứng khoán ảo:
Hình 4-2: Sơ đồ phân rã chứ năng của hệ thống
Phân tích các trường hợp sử dụng
Chức năng cơ bản nhất mà một Hệ thống giao dịch chứng khoán ảo cần phải cung cấp đó là: cho phép nhà đầu tư đặt lệnh, xem được thông tin tài khoản, thông tin về các lệnh đặt của mình; đối với người quản trị hệ thống cần cho phép tạo ra được các phiên giao dịch tương ứng với các phiên giao dịch diễn ra trên thực tế, thực hiện khớp lệnh, thanh toán bù trừ
Tham gia và Hệ thống giao dịch chứng khoán ảo có 4 đối tượng người dùng, đó là: người dùng thông thường chỉ vào hệ thống để xem tin tức, người dùng tham gia với vai trò là nhà đầu tư thực hiện các giao dịch chứng khoán trên hệ thống, người dùng tham gia với vai trò làm người quản trị hệ thống, vận hành hệ thống, người dùng tham gia với vai trò làm nhân viên môi giới của các công ty chứng khoán.
Hình 4-3 là sơ đồ mô hình hoá các đối tượng người dùng này.
Hình 4-3: Các tác nhân đối với hệ thống
Tuy nhiên do vai trò của nhân viên môi giới trong Hệ thống giao dịch chứng khoán ảo tương đối mờ nhạt, ta chỉ xét 2 đối tượng người dùng chính là nhà đầu
Quan tri he thong Nhan vien moi gioi
Hình 4-4: Biểu đồ các trường hợp sử dụng chính của nhà đầu tư Để trở thành nhà đầu tư cần phải đăng kí một tài khoản theo Form sau:
Hình 4-5: Biểu mẫu mở tài khoản mới
Dat lenh ban Dat lenh mua
Truy van lenh Truy van so du tai khoan
Nhà đầu tư tham gia vào 4 trường hợp sử dụng, đó là: đặt lệnh mua, đặt lệnh bán, truy vấn số dư tài khoản và truy vấn lệnh.
Tên use case Đặt lệnh mua chứng khoán
Tác nhân (actor) Nhà đầu tư
Mô tả Usecase này cho phép nhà đầu tư thực hiện đăt lệnh mua một chứng khoán Xảy ra khi Nhà đầu tư yêu cầu thực hiện đặt lệnh mua chứng khoán Điều kiện đầu vào - Nhà đầu tư đã đăng nhập thành công vào hệ thống chứng khoán
- Nhà đầu tư có số dư tiền được phép giao dịch trong tài khoản lớn hơn 0
Luồng sự kiện chính TT Tác nhân Hành động
1 Nhà đầu tư Vào chức năng “Đặt lệnh mua”
2 Hệ thống Hiển thị màn hình tương ứng với chức năng “Đặt lệnh mua”
3 Nhà đầu tư Nhập thông tin lệnh đặt mua
4 Hệ thống - Kiểm tra thông tin lệnh đặt mua
- Hiển thị lại thông tin và yêu cầu nhà đầu tư xác nhận thông tin lệnh đặt
5 Nhà đầu tư Xác nhận lệnh đặt
6 Hệ thống - Thông tin được gửi vào hệ thống
- Hiển thị lại thông tin lệnh đặt
Ngoại lệ - Số lượng cổ phiếu đặt mua lẻ: hệ thống thông báo số lượng cổ phiếu phải là bội của 10.
- Giá đặt mua nằm ngoài khoảng cho phép: hệ thống thông báo giá đặt mua phải nằm trong khoảng giữa giá trần và giá sàn.
- Giá trị lệnh đặt ( gồm giá trị chứng khoán mua và phí môi giới ) lớn hơn số dư tiền mặt hiện có: hệ thống thông báo số dư tiền không đủ thực hiện giao dịch Kết quả đầu ra - Nhà đầu tư đặt lệnh thành công
- Thông tin lệnh đặt được gửi lên hệ thống ở trạng thái chờ duyệt (trạng thái duyệt).
Liên quan đến yêu cầu Không
Tần suất sử dụng Rất cao
Bảng 4-1: Trường hợp sử dụng đặt lệnh mua.
Hình 4-6: Biểu mẫu Đặt lệnh mua
Dưới đây là biểu đồ trình tự thể hiện sự tương tác giữa tác nhân với Hệ thống giao dịch chưng khoán ảo trong trường hợp sử dụng Đặt lệnh mua.
Hình 4-7: Biểu đồ trình tự trường hợp sử dụng đặt lệnh mua.
Trong bước (9) Lưu thông tin lệnh mua, hệ thống ngoài việc lưu lại thông tin về lệnh đặt mua của nhà đầu tư, còn phải tiến hành phong tỏa số tiền mà nhà đầu tư đã
Nha dau tu Dat lenh mua
+Dot 1: ATO, LO +Dot 2: LO +Dot 3: ATC, LO
1 : Yeu cau hien thi bieu mau dat lenh mua()
2 : Doc thong tinso tien duoc phep giao dich()
3 : Doc danh sach toan bo chung khoan()
4 : Doc danh sach cac loai lenh co the dat()
5 : Hien thi bieu mau nhap lenh mua chung khoan()
6 : Nha dau tu dien thong tin lenh mua()
Thong tin lenh mua gom:
+ Ma chung khoan muon mua + So luong muon mua + Loai lenh
8 : Kiem tra tinh hop le cua lenh mua()
9 : Luu thong tin lenh mua()
10 : Cap nhat so du tien duoc phep giao dich()
11 : Thong bao dat lenh thanh cong
Tên use case Đặt lệnh bán chứng khoán
Tác nhân (actor) Nhà đầu tư
Mô tả Usecase này cho phép nhà đầu tư thực hiện đăt lệnh bán một chứng khoán Xảy ra khi Nhà đầu tư yêu cầu thực hiện đặt lệnh bán chứng khoán Điều kiện đầu vào - Nhà đầu tư đã đăng nhập thành công vào hệ thống chứng khoán
- Nhà đầu tư đang sở hữu chứng khoán muốn bán Số lượng chứng khoán được phép giao dịch phải lớn hơn 0
Luồng sự kiện chính TT Tác nhân Hành động
1 Nhà đầu tư Vào chức năng “Đặt lệnh bán”
2 Hệ thống Hiển thị màn hình tương ứng với chức năng “Đặt lệnh bán”
3 Nhà đầu tư Nhập thông tin lệnh đặt bán
4 Hệ thống - Kiểm tra thông tin lệnh đặt bán
- Hiển thị lại thông tin và yêu cầu nhà đầu tư xác nhận thông tin lệnh đặt
5 Nhà đầu tư Xác nhận lệnh đặt
6 Hệ thống - Thông tin được gửi vào hệ thống
- Hiển thị lại thông tin lệnh đặt kèm theo mã đặt lệnh, trạng thái lệnh
Ngoại lệ - Số lượng cổ phiếu đặt bán lẻ: hệ thống thông báo số lượng cổ phiếu phải là bội của 10.
- Giá đặt bán nằm ngoài khoảng cho phép: hệ thống thông báo giá đặt bán phải nằm trong khoảng giữa giá trần và giá sàn.
- Khối lượng cổ phiếu đặt bán lớn hơn số dư cổ phiếu nhà đầu tư được phép giao dịch: hệ thống thông báo khối lượng cổ phiếu đặt bán lớn hơn số dư cổ phiếu nhà đầu tư được phép giao dịch
Kết quả đầu ra - Nhà đầu tư đặt lệnh thành công
- Thông tin lệnh đặt được gửi lên hệ thống ở trạng thái chờ duyệt (trạng thái duyệt).
Liên quan đến yêu cầu Không
Tần suất sử dụng Rất cao
Bảng 4-2: Trường hợp sử dụng đặt lệnh bán.
Tương tác giữa Nhà đầu tư với Hệ thống được mô hình hóa trong biểu đồ trình tự dưới đây:
Hình 4-9: Biểu đồ trình tự trường hợp sử dụng đặt lệnh bán
Sau khi hệ thống luu thông tin lệnh bán (bước 8), số chứng khoán nhà đầu tư đã đặt phải được phong tỏa, không cho tham gia vào các giao dịch khác Do đó, việc phong tỏa chứng khoán đã đặt bán (bước 9) được thực hiện.
Nha dau tu Dat lenh ban
+Dot 1: ATO, LO +Dot 2: LO +Dot 3: ATC, LO
1 : Yeu cau hien thi bieu mau dat lenh ban()
2 : Doc thong tin danh sach chung khoan so huu()
3 : Doc danh sach cac loai lenh co the dat()
4 : Hien thi bieu mau nhap lenh mua chung khoan()
5 : Nha dau tu dien thong tin lenh ban() Thong tin lenh mua gom:
+ Ma chung khoan muon ban + So luong muon ban + Loai lenh
7 : Kiem tra tinh hop le cua lenh ban()
8 : Luu thong tin lenh ban()
9 : Phong toa so chung khoan da dat ban()
10 : Thong bao dat lenh thanh cong
Tên use case Truy vấn số dư tài khoản
Tác nhân (actor) Nhà đầu tư
Mô tả Usecase này cho phép nhà đầu tư thực hiện truy vấn số dư tài khoản cá nhân hiện tại đang có trong hệ thống chứng khoán ảo bao gồm số dư chứng khoán và số dư tiền.
Xảy ra khi Nhà đầu tư yêu cầu xem số dư tài khoản Điều kiện đầu vào Nhà đầu tư đã đăng nhập thành công vào hệ thống chứng khoán
Luồng sự kiện chính TT Tác nhân Hành động
1 Nhà đầu tư Vào chức năng “Truy vấn số dư tài khoản”
2 Hệ thống Hiển thị màn hình tương ứng với chức năng “Truy vấn số dư tài khoản”
1 Số dư tiền gồm các thông tin:
- Số tiền bị phong toả
- Số tiền được phép giao dịch
2 Số dư chứng khoán gồm các thông tin
Kết quả đầu ra Nhà đầu tư xem được các thông tin về tài khoản
Liên quan đến yêu cầu Không
Tần suất sử dụng Rất cao
Bảng 4-3: Trường hợp sử dụng truy vấn tài khoản
Hình 4-10: Biểu mẫu Truy vấn số dư tài khoản
Trình tự tương tác giữa nhà đầu tư với hệ thống được mô hình hóa như sau:
Hình 4-11: Biểu đồ trình tự trường hợp sử dụng truy vấn tài khoản
Nha dau tu Truy van so du tai khoan
1 : Yeu cau hien thi so du tai khoan()
2 : Doc thong tin so du tai khoan hien thoi()
3 : Hien thi thong tin so du tai khoan()
+ So du tien + So tien bi phong toa + So tien duoc phep giao dich + Danh sach chung khoan dang so huu + So luong chung khoan dang so huu bi phong toa, duoc phep giao dich, gia tri hien tai
Tên use case Truy vấn lệnh
Tác nhân (actor) Nhà đầu tư
Mô tả Usecase này cho phép nhà đầu tư thực hiện truy vấn số các lệnh đã đặt và thông tin trạng thái các lệnh này.
Xảy ra khi Nhà đầu tư yêu cầu xem thông tin lịch sử các lệnh đã đặt. Điều kiện đầu vào Nhà đầu tư đã đăng nhập thành công vào hệ thống chứng khoán
Luồng sự kiện chính TT Tác nhân Hành động
1 Nhà đầu tư Vào chức năng “Truy vấn lệnh”
2 Hệ thống Hiển thị màn hình tương ứng với chức năng “Truy vấn lệnh” Gồm:
1 Thông tin lệnh đặt gồm:
2 Thông tin lệnh đã khớp gồm:
3 Nhà đầu tư Chọn ngày muốn xem là từ ngày bao nhiêu
4 Hệ thống Hiển thị thông các thông tin như trong (2) kể từ ngày đã chọn trong (3).
Kết quả đầu ra Nhà đầu tư có được các thông tin về các lệnh đã đặt của mình
Liên quan đến yêu cầu Không
Tần suất sử dụng Cao
Bảng 4-4: Trường hợp sủ dụng truy vấn lệnh
Hình 4-12: Biểu mẫu Truy vấn lệnh
Trình tự tương tác giữa nhà đầu tư với hệ thống được mô hình hóa như sau:
Hình 4-13: Biểu đồ trình tự trường hợp sử dụng truy vấn lệnh
Nha dau tu Truy van lenh
1 : Yeu cau hien bieu mau truy van lenh()
2 : Doc danh sach lenh dat va khop cua ngay hien tai()
Thong tin lenh dat gom:
3 : Hien thi thong tin cac lenh dat va lenh khop trong ngay()
4 : Nguoi dung chon moc thoi gian muon truy van lenh()
5 : Doc danh sach cac lenh dat va lenh khop()
6 : Hien thi thong tin cac lenh dat va lenh khop()
Thong tin lenh khop gom: + Ma lenh khop + Ngay dat (phien) + Lenh mua hay ban + Loai lenh + Khoi luong + Gia
Hình 4-14: Biểu đồ trường hợp sử dụng chính của Quản trị hệ thống
Trong các trường hợp sử dụng trên, “ Tạo mới phiên giao dịch”, “Mở cửa thị trường”, “Khớp lệnh”, “Thanh toán bù trừ” là những trường hợp sử dụng quan trọng nhất sẽ được trình bày Các trường hợp sử dụng khác kém quan trọng hơn và ít được sử dụng trong hệ thống nên em sẽ không trình bày cụ thể.
Tao moi phien giao dich
Cap nhat ket qua giao dich that
Quan li danh muc CTCK
Quan li danh muc CTNY
Quan li tai lieu Thanh toan bu tru
2.2.1 Tạo mới phiên giao dịch:
Tên use case Tạo mới phiên giao dịch
Tác nhân (actor) Quản trị hệ thống
Mô tả Usecase này cho phép quản trị hệ thống tạo mới một phiên giao dịch.
Phân tích và phát hiện các thực thể
Nếu như trong phần phân tích các trường hợp sử dụng, mô hình usecase chỉ quan tâm đến tương tác qua lại giữa người sử dụng và hệ thống thì trong mô hình phân tích, các hoạt động bên trong của hệ thống cũng được quan tâm Tuy theo phương thức phân tích mà hoạt động của hệ thống được bổ ra như thế nào Trong phương pháp phân tích hướng đối tượng theo kiến trúc 3 tầng, các hoạt động bên trong của hệ thống được phân ra thành các tầng giao diện, nghiệp vụ và tầng truy xuất dữ liệu Việc phân tích tập trung các tương tác qua lại giữa người sử dụng với hệ thống cũng như giữa các tầng trong hệ thống với nhau.
Dưới đây là mô tả phân tích cho các trường hợp sử dụng đã nhắc đến trong phần phân tích yêu cầu.
3.1 Các thực thể lưu thông tin tài khoản nhà đầu tư
Hình 4-21: Các thực thể lưu thông tin tài khoản nhà đầu tư
+GiaThamChieu: Double +GiaTran: Double +GiaSan: Double +GiaMoCua: Double +GiaDongCua: Double +GiaCaoNhat: Double +GiaThapNhat: Double +KhoiLuong: Long +PE: Double +ESP: Double +ThayDoi: Double +GiaSoSach: Double +KhoiLuongNuocNgoaiMua: Double +KhoiLuongNuocNgoaiBan: Double NhaDauTu
+NgayDangKy: Date +SoTienDuocCap: Double +SoDuTien: Double +SoTienBiPhongToa: Double
3.2 Các thực thể lưu thông tin lệnh đặt
Hình 4-22: Các thực thể tham gia đặt lệnh
+NgayGiaoDich: Date +KhoiLuongGiaoDich: Long +GiaTriGiaoDich: Doible +ChiSoIndex: Double +ThayDoi: Double +PhanTramThayDoi: Double +TrangThai: Byte
+MaLenhDat: String +MuaBan: Boolean +LoaiLenh: Byte +Gia: Double +KhoiLuongDat: Long +KhoiLuongDu: Long +ThoiGianDat: Date +TrangThai: Byte
+NgayDangKy: Date +SoTienDuocCap: Double +SoDuTien: Double +SoTienBiPhongToa: Double
+LoaiLenh: String +DoUuTien: Integer +CoGiaDat: Boolean 0 1 0 *
3.3 Các thực thể lưu thông tin lịch sử lệnh
Hình 4-23: Các thực thể tham gia truy vấn lệnh
3.4 Các thực thể tham gia khớp lệnh
Hình 4-24: Các thực thể tham gia khớp lệnh
+MaLenhDat: String +MuaBan: Boolean +LoaiLenh: Byte +Gia: Double +KhoiLuongDat: Long +KhoiLuongDu: Long +ThoiGianDat: Date +TrangThai: Byte
+NgayDangKy: Date +SoTienDuocCap: Double +SoDuTien: Double +SoTienBiPhongToa: Double
+MaLenhKhop: String +LenhMuaID: Long +KhoiLuong: Long +Gia: Double
+MaLenhKhop: String +LenhBanID: Long +LenhMuaID: Long +KhoiLuong: Long +Gia: Double +LenhKhop
3.5 Các thực thể tham giao tạo mới phiên giao dịch
Hình 4-25: Các thực thể tham gia tạo mới phiên giao dịch
+NgayGiaoDich: Date +KhoiLuongGiaoDich: Long +GiaTriGiaoDich: Doible +ChiSoIndex: Double +ThayDoi: Double +PhanTramThayDoi: Double +TrangThai: Byte
+GiaThamChieu: Double+GiaTran: Double+GiaSan: Double+GiaMoCua: Double+GiaDongCua: Double+KhoiLuong: Long
3.6 Các thực thể lưu thông tin than gia thanh toán bù trừ:
Hình 4-26: Các thực thể tham gia thanh toán bù trừ.
+NgayDangKi: Date +SoTienDuocCap: Double +SoDuTien: Double +SoTienPhongToa: Double
+TenTiengAnh: String +TenVietTat: String +DiaChi: String +VonDieuLe: Double +Website: String +DienThoai: String +GiamDoc: String
3.7 Các thực thể tham gia cập nhật kết quả giao dich:
Hình 4-27: Các thực thể tham gia cập nhật kết quả giao dịch.
+GiaThamChieu: Double +GiaTran: Double +GiaSan: Double +GiaMoCua: Double +GiaDongCua: Double +GiaCaoNhat: Double +GiaThapNhat: Double +KhoiLuong: Long +PE: Double +ESP: Double +ThayDoi: Double +GiaSoSach: Double +KhoiLuongNuocNgoaiMua: Double +KhoiLuongNuocNgoaiBan: Double
Biểu đồ trình tự
Hình 4-28: Biểu đồ trình tự đặt lệnh mua
NhaDauTu DatLenhMuaForm NhaDauTuController ChungKhoanController DotKhop LoaiLenh Controller LenhDatController ChungKhoan LenhDat
1 : Hien thi Form dat lenh mua()
3 : Doc danh sach chung khoan
5 : Hien Thi danh sach chung khoan()
7 : Hien thi danh sach loai lenh()
8 : Nhap thong tin lenh mua()
11 : Thong bao dat lenh mua thanh cong()
Hình 4-29: Biểu đồ trình tự đặt lệnh bán
NhaDauTu DatLenhBanForm ChungKhoanSoHuuController DotKhop LoaiLenh Controller DatLenhController DotKhop LoaiLenh ChungKhoanSoHuu LenhDat
1 : Hien thi Form dat lenh()
3 : Lay danh sach chung khoan so huu theo nha dau tu()
5 : Hien Thi danh sach chung khoan()
7 : Lay danh sach loai lenh theo dot khop()
8 : Danh sach loai lenh trong dot khop
10 : Nhap thong tin lenh mua()
11 : Them moi lenh dat ban()
12 : Luu thong tin lenh dat()
Hình 4-30: Biểu đồ trình tự truy vấn tài khoản
NhaDauTu TruyVanTaiKhoanForm NhaDauTuController ChungKhoanSoHuuController ThongKeGiaoDichThatController NhaDauTu ChungKhoanSoHuu ThongKeGiaoDichThat
1 : Hien thi thong tin tai khoan()
3 : Thong tin so du tien()
6 : Doc thong tin chung khoan so huu theo nha dau tu()
7 : Danh sach chung khoan so huu
8 : Danh sach chung khoan so huu
9 : Select All by PhienID, MaChungKhoan()
10 : Doc thong tin gia chung khoan()
11 : Hien gia cua tat ca chung khoan
12 : Gia cua tat ca chung khoan
13 : Tinh tong gia tri tai khoan()
NhaDauTu TruyVanLenhForm LichSuLenhDatController LichSuLenhKhopController LichSuLenhDat LichSuLenhKhop
1 : Hien thi giao dien truy van lenh()
2 : Hien thi nhap khoang thoi gian()
4 : Hien thi lich su lenh dat va lenh khop()
5 : Xac dinh ma nha dau tu()
6 : Select All by NhaDauTuID, Date()
7 : Select All by NhaDauTuID, Date()
10 : Select All by NhaDauTuID, Date()
11 : Select All by NhaDauTuID, Date()
Hình 4-32: Biểu đồ trình tự tạo mới Phiên giao dịch
Trong quá trình thêm mới phiên giao dịch, ngoài việc đơn giản là ta tạo ra một dòng dữ liệu về phiên giao dịch mới, ta còn phải thiết lập các thông số cho phiên giao dịch mơi này Cụ thể đó là công việc tính các giá sàn – giá trần cho toàn bộ các mã chứng khoán Việc tính toán này được dựa váo số liệu thực tế giá đóng cửa của các mã chứng khoán này trong phiên giao dịch liền trước đó.
1 : Hien thi bieu mau tao moi phien giao dich()
3 : Doc thong tin phien hien tai()
4 : Thong tin phien hien tai
5 : Hien thi thong tin phien hien tai()
6 : Nhap thong tin phien moi()
8 : Luu thong tin phien giao dich moi()
9 : Thong bao them moi thanh cong()
10 : Thong bao tao moi phien giao dich thanh cong()
1 : Hien thi bieu mau tao moi phien giao dich()
3 : Doc thong tin phien hien tai()
4 : Thong tin phien hien tai
5 : Hien thi thong tin phien hien tai()
6 : Yeu cau mo cua thi truong()
8 : Cap nhat thong tin trang thai phien giao dich()
9 : Thong tin duoc cap nhat
10 : Hien thi thong tin phien giao dich hien tai()
11 : Thong bao mo cua phien giao dich thanh cong()
QuanTriHeThong KhopLenh Form LenhDatController LenhKhopController LichSuLenhDatController LichSuLenhKhopController LenhDat LenhKhop LichSuLenhDat LichSuLenhKhop
4 : Doc danh sach cac lenh dat mua duoc sap theo muc uu tien giam dan()
5 : Danh sach lenh dat mua
7 : Doc danh sach cac lenh ban duoc sap theo muc uu tien giam()
18 : Cap nhat so luong chung khoan con du()
21 : Xoa cac lenh da khop toan phan()
23 : Update() 24 : Cap nhat trang thai lenh dat()
26 27 : Update() 28 : Cap nhat gia khop()
QuanTriHeThong DongCuaThiTruong Form PhienController LenhDatController LichSuLenhDatController Phien LenhDat
1 : Hien thi bieu mau tao moi phien giao dich()
3 : Doc thong tin phien giao dich hien tai()
4 : Thong tin phien giao dich hien tai
5 : Hien thong tin phien hien tai()
6 : Yeu cau dong cua thi truong()
7 : Ket thuc phien giao dich()
8 : Cap nhat thong tin trang thai phien giao dich()
10 : Cap nhat trang thai cac lenh het han()
12 : Hien thong tin phien hien tai()
13 : Thong bao dong cua phien giao dich thanh cong
Hình 4-36: Biểu đồ trình tự cập nhật kết quả giao dịch
QuanTriHeThong CapNhatDuLieuForm ThongKeGiaoDichThatController vcbs.com.vn ThongKeGiaoDichThat
1 : Yeu cau hien thi bieu mau cap nhat KQGD()
3 : Chon tieu chi cap nhat()
9 : Luu thong tin ket qua giao dich()
10 : Thong bao Thang cong/That bai
11 : Thong bao Thanh cong/That bai
THIẾT KẾ HỆ THỐNG
Thiết kế kiến trúc hệ thống
Phần dưới đây là thiết kế kiến trúc hệ thống giao dịch chứng khoán ảo dựa trên công nghệ ASP.NET 2.0
Hình 5-1: Kiến trúc xây dựng hệ thống.
Kiến trúc tổng thể của Hệ thống giao dịch chứng khoán ảo là kiến trúc 3 tầng
Thiết kế lớp
Trung Tâm của Hệ thống giao dịch chứng khoán ảo là khâu đặt lệnh, truy vấn lệnh, truy vấn số dư tài khoản của nhà đầu tư, khâu tạo phiên giao dịch, thực hiện khớp lệnh, thanh toán bù trừ, cập nhật kết quả giao dịch của quản trị hệ thống Trong phạm vi báo cáo đồ án tốt nghiệp này, em xin trình bày phần thiết kế chi tiết các lớp, phương thức để thực hiện các chức năng trên.
Dưới đây là một số lớp và phương thức quan trọng của lớp:
No Phương thức Mô Tả
1 btnDatLenh_Click Thực hiện cập nhật thông tin Lệnh Bán của nhà đầu tư vào hệ thống giao dịch chứng khoán ảo Phương thức này được thực hiện sau khi nhà đầu thực hiện tính giá trị của lệnh đặt.
2 btnThanhTien_Click Tính giá trị của Lệnh Bán mà nhà đầu tư đã nhập
Phương thức này được thực hiện sau khi nhà đầu thực hiện nhập đầy đủ thông tin của lệnh đặt.
Bảng 5-1 Các phương thức trong lớp DatBan.
Fields btnDatLenh btnThanhTien ddlChungKhoan ddlLoaiLenh lblNgayGiaoDich lblSoDuTien lblThanhTien lblUserName objChungKhoan txtGia txtSoLuong Methods btnDatLenh_Click btnThanhTien_Click Page_Load
No Phương thức Mô Tả
1 btnDatLenh_Click Thực hiện cập nhật thông tin Lệnh Mua của nhà đầu tư vào hệ thống giao dịch chứng khoán ảo Phương thức này được thực hiện sau khi nhà đầu thực hiện tính giá trị của lệnh đặt.
2 btnThanhTien_Click Tính giá trị của Lệnh Mua mà nhà đầu tư đã nhập
Phương thức này được thực hiện sau khi nhà đầu thực hiện nhập đầy đủ thông tin của lệnh đặt.
Bảng 5-2: Các phương thức trong lớp DatMua.
Fields btnDatLenh btnThanhTien ddlChungKhoan ddlLoaiLenh lblNgayGiaoDich lblSoDuTien lblThanhTien lblUserName objChungKhoan txtGia txtSoLuong Methods btnDatLenh_Click btnThanhTien_Click ddlChungKhoan_SelectedIndexChanged Page_Load
No Phương thức Mô Tả
1 LenhKhop Lưu thông tin lệnh đã khớp vào bảng LenhKhop
Phương thức này được thực hiện sau khi quản trị hệ thống thực hiện khớp lệnh.
2 SaoLuuLenhKhop Sao lưu toàn bộ lệnh khớp từ bảng LenhKhop sang bảng tblLịchSuLenhKhop Phương thức này được gọi sau khi thực hiện xong thanh toán bù trừ.
3 XoaLenhKhop Xoá toàn nội dung bảng LenhKhop Phương thức này được gọi sau khi thực hiện xong thanh toán bù trừ.
Bảng 5-3: Các phương thức trong lớp KhopLenhController.
SelectAllSession SelectCurrentSession SelectTop30Session ThanhToanBuTru ThemMoiPhienGiaoDich
No Phương thức Mô Tả
1 GiaiPhongPhongToa Thực hiện giải phóng các tài khoản tiền chứng khoán bị phong toả, các lệnh đặt không được khớp hết của nhà đầu tư Phương thức này được thực hiện sau khi quản trị hệ thống thực hiện khớp lệnh.
2 KetThucPhienGiaoDich Kết thúc một phiên giao dịch Phương thức này được gọi khi hết giờ giao dịch.
3 SelectAllSession Lấy thông tin tất cả các phiên giao dịch.
4 SelectCurrentSession Lấy phiên giao dịch hiện tại.
5 SelectTop30Session Lấy 30 phiên giao dịch gần đây nhất.
6 ThanhToanBuTru Xoá toàn nội dung bảng LenhKhop Phương thức này được gọi sau khi thực hiện xong thanh toán bù
7 ThemMoiPhienGiaoDich Xoá toàn nội dung bảng LenhKhop Phương thức trừ. này được gọi sau khi thực hiện xong thanh toán bù trừ.
Bảng 5-4 Các phương thức trong lớp Lớp PhiênController.
Methods DatLenh DinhKi SaoLuuLenhDat SelectAllLenhDatBanByMaCK SelectAllLenhDatMuaByMaCk ThemMoiLenhDat
No Phương thức Mô Tả
1 DatLenh Thực hiện đặt một lệnh của nhà đầu tư tuỳ theo lệnh đặt truyền vào là lệnh mua hay lệnh bán mà phương thức sẽ gọi tới là ThemMoiLenhDatMua hoặc
2 DinhKi Xác lập các thông tin đây là phiên giao dịch định kì.
3 SaoLuuLenhDat Chuyển toàn bộ các lệnh đặt từ bảng
LenhDat sang bảng LichSuLenhDat Phương thức này được gọi khi kết thúc thanh toàn bù
4 SelectAllLenhDatBanByMaCK Trả về danh sách các lệnh đạt bán của một trừ. mã chứng khoán theo mức ưu tiên từ cao xuống thấp
5 SelectAllLenhDatMuaByMaCK Trả về danh sách các lệnh đạt mua của một mã chứng khoán theo mức ưu tiên từ cao xuống thấp
6 ThemMoiLenhDat Thực hiện quá trình lưu một lệnh đặt và hệ thống giao dịch chứng khoán ảo.
7 XoaCacLenhATOConLai Thực hiện huỷ các lệnh ATO đặt trong phiên
1 mà chưa được khớp để phong giải phóng phong toả tiền hoặc chứng khoán cho nhà đầu tư Phương thức này được gọi sau khi quản trị hệ thống thực hiện khớp lệnh phiên thứ 1.
8 XoaLenhDat Xoá toàn bộ nội dung bảng LenhDat
Phương thức này được gọi khi kết thúc thanh toán bù trừ.
Bảng 5-5: Trường Các phương thức trong lớp LenhDatController.
No Phương thức Mô Tả
1 CapNhatThongKeGiaoDichTha t Lưu thông tin của Phiên giao dịch thực tế vào bảng tblThongKeGiaoDichThat
Phương thức này được thực hiện sau khi quản trị hệ thống thực hiện khớp lệnh.
2 GiaTri Trả về giá trị của Phiên giao dịch thật
Phương thức này được gọi sau khi thực hiện CapNhatThongKeGiaoDichThat.
3 SoCoPhieuGiamGia Trả về số cổ phiếu giảm giá của Phiên giao dịch thật Phương thức này được gọi sau khi thực hiện CapNhatThongKeGiaoDichThat
4 SoCoPhieuDungGia Trả về số cổ phiếu đứng giá của Phiên giao dịch thật Phương thức này được gọi sau khi thực hiện CapNhatThongKeGiaoDichThat.
5 SoCoPhieuTangGia Trả về số cổ phiếu tăng giá của Phiên giao dịch thật Phương thức này được gọi sau khi thực hiện CapNhatThongKeGiaoDichThat
6 ThemMoiThongKeGiaoDich Chọn Phiên giao dịch để thực hiện cấp nhật.
7 ThongKeGiaoDichThat Thực hiện lấy thông tin về kết quả giao dịch trên thị trường chứng khoán thật để cập nhật và hệ thống giao dịch chứng khoán ảo Phương thức này được thực hiện khi kết thúc phiên giao dịch.
Bảng 5-6: Các phương thức trong lớp ThongKeGiaoDichThatController.
No Phương thức Mô Tả
1 SelectGia Trả về giá thực hiện mà Lệnh đã khớp.
2 SelectKhoiLuong Trả về khối lượng cổ phiếu được khớp khi lệnh đã được khớp.
3 SelectLenhDaKhop Trả về danh sách các lệnh đã được khớp
4 SelectLoaiLenh Trả về loại lệnh mà Lệnh đã khớp.
5 SelectMaCK Trả về Mã chứng khoán mà Lệnh đã khớp.
6 SelectPhienID Trả về Mã phiên mà tại đó Lệnh đã khớp
Bảng 5-7: Các phương thức trong lớp LichSuKhopLenhController
MethodsSelectGiaSelectKhoiLuongSelectLenhDaKhopSelectLoaiLenhSelectMaCKSelectPhienID
No Phương thức Mô Tả
1 SelectGia Trả về giá thực hiện mà Lệnh đã khớp
2 SelectKhoiLuong Trả về khối lượng cổ phiếu được khớp khi lệnh đã được khớp.
3 SelectLenhDaKhop Trả về danh sách các lệnh đã khớp
4 SelectLoaiLenh Trả về loại lệnh mà Lệnh đã khớp.
5 SelectMaCK Trả về Mã chứng khoán mà Lệnh đã khớp.
6 SelectPhienID Trả về Mã phiên mà tại đó Lệnh đã khớp
7 SelectTrangThaiLenh Trả về trạng thái của lệnh được nhập vào hệ thống giao dịch chứng khoán ảo Lệnh đã khớpBảng 5-8: Các phương thức trong lớp LichSuLenhDatController:
Thiết kế cơ sở dữ liệu
3.1 Sơ đồ quan hệ thực thể:
Mối quan hệ giữa các thực thể trong hệ thống giao dịch chứng khoán ảo thể hiện tầng dữ liệu trong mô hình kiến trúc 3 tầng Toàn bộ các thao tác logic nhiệm vụ đều được dựa trên cấu trúc của CSDL xuất phát từ sơ đồ quan hệ thực thể này
Hình 5-10: Sơ đồ quan hệ các thực thể thuộc nhóm CTNY – Nhà đầu tư.
Trong sơ đồ quan hệ thực thể trên, các thực thể trung tâm cóCongTyNiemYet thể hiện tổ chức niêm yết trên sàn giao dich, thực thểChungKhoan thể hiện mã của tổ chức niêm yết Một thực thể quan trọng khác là tblNhaDauTu đại diện cho các nhà đầu tư tham gia giao dịch trên sàn.Thực thể này có quan hệ với thực thể CongTyChungKhoan là nơi nhà đầu tư mở tài khoản giao dịch chứng khoán, thực thể ChungKhoanSoHuu cho biết các loại chứng khoán mà nhà đầu tư nắm giữ Ngoài ra, một thực thể quan trọng khác nữa là Phien thể hiện các phiên giao dịch Thực thể này có quan hệ vói các thực thể tblThongKeGiaoDichThat thể hiện các kết quả giao dịch trên thực tế.
Trong sơ đồ quan hệ thực thể thể hiện việc khớp lệnh ở trên, các thực thể quan trọng có LenhDat thể hiện các lệnh đặt của nhà đầu tư.Thực thể này có quan hệ với các thực thể tblMoiGioi thể hiện nhân viên môi giới nhập lệnh đặt này của nhà đầu tư, thực thể ChungKhoan cho biết mã chứng khoán mà nhà đầu tư muốn đặt lệnh trên đó Ngoài ra còn có các thực thể Phien cho biết phiên giao dịch số bao nhiêu và thực thể LenhKhop thể hiện các lệnh khớp sau khi khớp lệnh.Các thực thể LichSuLenhDat và LichSuLenhKhop thể hiện các lệnh đặt và lệnh khớp trong quá khứ.
Bảng lưu các thông tin cung của tổ chức niêm yết Các thông tin quan trọng có tên tổ chức niêm yết, chức năng kinh doanh, vốn điều lệ và khối lượng cổ phiếu phát hành.
No Field Name Type Length PK FK Description
1 MaCtyNiemYet integer 4 x Tăng tự động
2 TenTiengViet nvarchar 50 Tên tiếng Việt CTNY
3 TenTiengAnh nvarchar 50 Tên tiếng Anh CTNY
4 TenVietTat nvarchar 10 Tên viết tắt CTNY
6 SoDT Varchar 50 Số điện thoại
10 ChiNhanh nvarchar 600 Chi nhánh công ty
11 Tình trạng Tinyint 1 Tình trạng hoạt động của công ty
12 MSThue Varchar 50 Mã số thuế
13 GPThanhLap nvarchar 50 Giấy phép thành lập
14 CQThanhLap Nvarchar 50 Cơ quan thành lập
15 GPKinhDoanh Nvarchar 50 Giấy phép kinh doanh
16 NgayCap Datetime Ngày cấp giấy phép kinh doanh
17 NganhNgheKD Nvarchar 1000 Ngành nghề kinh doanh
20 LoaiHinhCty Nvarchar 50 Loại hình công ty
21 NgayNiemYet Datetime Ngày niêm yết
22 VonDieuLe Decimal 18 Vốn điều lệ
23 KhoiLuongNiemYet Bigint 8 Khối lượng niêm yết
24 KhoiLuongLuuHanh Bigint 8 Khối lượng lưu hành
Bảng được sử dụng để lưu trữ mã chứng khoán của công ty niêm yết Mã chứng khoán là thông tin gắn liền với tổ chức niêm yết, tuy nhiên lại được sử dụng rất nhiều nên việc tách ra thành một thực thể riêng sẽ giúp tăng hiệu năng khi thực hiện các truy vấn Mỗi mã chứng khoán chỉ thuộc một tổ chức niêm yết Trên thực tế một tổ chức niêm yết có thể có nhiều mã chứng khoán, nhưng trong hệ thống giao dịch chứng khoán ảo chỉ xét một tổ chức niêm yết chỉ có một mã chứng khoán đi kèm.
No Field Name Type Length PK FK Description
1 MaCK varchar 10 x Mã chứng khoán
2 MaCtyNiemYet integer 4 x Từ bảng CongTyNiemYet
3 StockTypeID Tinyint 1 x Từ bảng StockType
Bảng được sử dụng để lưu trữ thông tin của thực thể nhà đầu tư Bảng có chứa khoá chính CongTyChungKhoanID của CongTyChungKhoan, mỗi nhà đầu tư chỉ có thể mở tại một công ty chứng khoán tại 1 thời điểm.
No Field Name Type Length PK FK Description
2 TenSuDung Varchar 50 Tên sử dụng
3 NgayDangKy datetime 8 Ngày đăng kí mở tài khoản
4 HoTen Nvarchar 50 Họ tên nhà đầu tư
5 Email Varchar(50) Email của nhà đầu tư
6 SoTienDuocCap float 8 Số tiền ban đầu đuợc
7 SoDuTien float 8 cấpSố dư tiền trong tài khoản
8 SoTienBiPhongToa float 8 Số tiền bị phong toả tạm thờiBảng 5-11: Bảng NhaDauTu
Bảng được dùng để lưu thông tin về các chứng khoán mà một nhà đầu tư hiện đang sở hữu Bảng có chứa khoá chính NhaDauTuID của bảng NhaDauTu, và khoá chính MaChungKhoan của bảng ChungKhoan.
No Field Name Type Length PK FK Description
1 MaCKSoHuu Bigint 8 x Tăng tự động
3 MaNDT uniqueidentifier 16 x Từ bảng NhaDauTu
4 SoLuongBiPhongToa begint 8 Số lượng chứng khoán đang bị phong toả tạm thời
5 SoLuong begint 8 Số lượng CK sở hữu
Bảng được dùng với mục đính lưu trữ các thông tin chung của công ty chứng khoán Thông tin quan trọng có tên công ty và MaCongTyChungKhoan là mã đựơc TTGDCK cấp cho các thành viên của mình.
No Field Name Type Length PK FK Description
1 MaCTCK integer 4 x Tăng tự động
2 TenTiengViet nvarchar 50 Tên tiếng Viet CTCK
4 TenTiengAnh nvarchar 50 Tên tiếng Anh CTCK
5 TenVietTat nvarchar 10 Tên viết tắt CTCK
6 DiaChi nvarchar 100 Trụ sở chính
11 GiamDoc Nvarchar 50 Giám đốc hiện thời
12 SoGPHD Nvarchar 100 Số giấy phép hoạt động
13 NgayCap Datetime 8 Ngày cấp giấy phép HĐ
14 VonDieuLe float 8 Vốn điều lệ
15 NghiepVuKinhDoanh Nvarchar 500 Nghiệp vụ kinh doanh của công ty
Bảng được thiết kế để lưu trữ các thông tin của các thực thể phiên Các thông tin quan trọng có số hiệu phiên giao dịch, ngày thực hiện giao dịch và các thông tin thống kê tình hình giao dịch của phiên.
No Field Name Type Length PK FK Description
1 PhienID Begint 8 x Số hiệu phiên
2 NgayGiaoDich Datetime 50 Ngày giao dịch
3 KLGiaoDich Begint 8 Khôi lượng giao dịch
4 GiaTriGiaoDich Float 8 Giá trị giao dịch
5 ChiSoIndex Float 8 Chỉ số VN-Index
7 PhanTramThayDoi Float 8 Phần trăm thay đổi
8 TrangThai Tinyint 1 Các trạng thái của phiên
Bảng được sử dụng để lưu trữ các thông tin lệnh đặt (lệnh đặt mua/lệnh đặt bán) của nhà đầu tư Sau khi kết thúc phiên giao dịch, toàn bộ thông tin trong bảng lệnh đặt sẽ được tự động cập nhật theo từng loại lệnh.
No Field Name Type Length PK FK Description
1 MaLenh begint 8 x Tăng tự động
3 MaCK varchar 10 x Từ bảng ChungKhoan
5 MaNDT uniqueidentifier 16 x Từ bảng NhaDauTu
6 MuaBan bit 1 0:Lệnh mua, 1:Lệnh
7 LoaiLenh tinyint 1 bán1:LO; 2:ATO; 3:ATC
8 Gia float 8 Giá đặt lệnh
9 KhoiLuongDat begint 8 Khối lượng đặt
10 KhoiLuongDu begint 8 Khối lượng CP chưa được khớp
11 ThoiGianDat datetime 8 Thời gian đặt lệnh
13 TrangThai tinyint 1 0: Chờ đợi; 1: Duyệt;
2:Khớp một phần; 3:Khớp toàn bộ; 4:Hết hạnBảng 5-15:Bảng LenhDat
Bảng được thiết kế để lưu lại toàn bộ các lệnh đặt, phục vụ cho việc tra cứu lệnh của nhà đầu tư.Bảng này có cấu trúc giống bảng LenhDat
No Field Name Type Length PK FK Description
1 MaLenh begint 8 x Tăng tự động
3 MaCK varchar 10 x Từ bảng ChungKhoan
5 MaNDT uniqueidentifier 16 x Từ bảng NhaDauTu
6 MuaBan bit 1 0:Lệnh mua, 1:Lệnh
7 LoaiLenh tinyint 1 bán1:LO; 2:ATO; 3:ATC
8 Gia float 8 Giá đặt lệnh
9 KhoiLuongDat begint 8 Khối lượng đặt
10 KhoiLuongDu begint 8 Khối lượng CP chưa được khớp
11 ThoiGianDat datetime 8 Thời gian đặt lệnh
13 TrangThai tinyint 1 0: Chờ đợi; 1: Duyệt;
2:Khớp một phần; 3:Khớp toàn bộ; 4:Hết hạn
Bảng được sử dụng để lưu lại các thông tin về thực thể lệnh khớp của phiên giao dịch hiện tại Bảng có chứa LenhMuaID là các khoá chính trong bảng tblLệnhDat Để tăng hiệu năng hệ thống, toàn bộ nội dung của bảng LenhKhop sẽ được chuyển sang bảng LichSuLenhKhop khi kết thúc phiên giao dịch.
No Field Name Type Length PK FK Description
1 LenhKhopID begint 8 x Tăng tự động
2 MaLenhKhop nvarchar 50 Mã lệnh lệnh khớp, có cấu trúc là mã đặt kệnh của công ty chứng khoán vói LenhKhopID
3 LenhMuaID begint 8 x Từ bảng tblLenhMua
4 LenhBanID begint 8 x Từ bảng tblLenhMua
6 KhoiLuong begint 8 Khối lượng khớp
Bảng được sử dụng để lưu trữ toàn bộ các lệnh khớp của tất cả các phiên giao dịch
No Field Name Type Length PK FK Description
1 LenhKhopID begint 8 x Tăng tự động
2 MaLenhKhop nvarchar 50 Mã lệnh lệnh khớp, có cấu trúc là mã đặt kệnh của công ty chứng khoán vói LenhKhopID
3 LenhMuaID begint 8 x Từ bảng tblLenhMua
4 LenhBanID begint 8 x Từ bảng tblLenhMua
6 KhoiLuong begint 8 Khối lượng khớp
Bảng được thiết kế để lưu trữ các thông tin về kết quả giao dịch thật của TTGDCK Hồ Chí Minh Những thông tin này sẽ được sử dụng để hiệu chỉnh các số liệu trong Hệ thống gíao dịch chứng khoán ảo Bảng có chứa 2 khoá chính của bảng tblPhiên và MaChungKhoan của bảng tblMaChungKhoan.
No Field Name Type Length PK FK Description
2 MaCK nvarchar 10 x x Từ bảng tblMaChungKhoan
3 GiaThamChieu float 8 Giá tham chiếu
6 GiaDongCua float 8 Giá đóng cửa
7 GiaMoCua float 8 Giá mở cửa
8 GiaCaoNhat float 8 Giá cao nhất
9 GiaThapNhat float 8 Giá thấp nhất
12 ThayDoi float 8 Thay đổi so với phiên trứơc
13 MarketCode Varcha 10 Mã sàn giao dịch
Bảng được sử dụng để lưu các thiết lập cho từng phiên giao dịch ảo của mỗi chứng khoán Thông tin trong bảng được dẫn xuất từ bảng KetQuaGiaoDich
No Field Name Type Length PK FK Description
1 PhienID begint 8 x x Từ bảng Phien
2 MaChungKhoan nvarchar 10 x x Từ bảng tblMaChungKhoan
3 GiaThamChieu float 8 Giá tham chiếu
6 GiaDongCua float 8 Giá đóng cửa
7 GiaMoCua float 8 Giá mở cửa
8 GiaCaoNhat float 8 Giá cao nhất
9 GiaThapNhat float 8 Giá thấp nhất