KHẢO SÁT THỰC TẾ BÀI TOÁN: Công ty môi giới chứng khoán sẽ lưu giữ các thông tin sau: Thông tin v`các nhà đi tư: O Mỗi nhà đầi tư NDT sẽ có 1 mã tài khoản MATK duy nhất do công ty chứng
Trang 1
KHOA CÔNG NGHỆ THÔNG TIN 2
ALLS)
OO0
BAO CAO DETAI
MÔN: CƠ SỞ DƯ LIỆU
THIẾT KẾ CƠ SỞ DƯ LIỆU ĐỂ QUẢN LÝ GIAO DỊCH CỦA
CÁC NHÀ ĐẦU TƯ TẠI 1 CÔNG TY CHƯNG KHOÁN
Giảng viên hướng dẫn: LƯU NGUYỄN KỲ THƯ
1 HUYNH NGOC ÁNH - N20DCCN003 - D20CQCN01-N
2 ĐÀO HUY HIỆU - N20DCCN103 - D20CQCN02-N
3 PHAM THUY DA THAO — N20DCCN145 — D20CQCNO02-N
OO0
Trang 2
1 MỤC TIỂU: Thiết kế cơ sở dữ liệu để quản lý giao dịch của các nhà dần tư tại 1 công ty chứng khoán
2 KHẢO SÁT THỰC TẾ BÀI TOÁN:
Công ty môi giới chứng khoán sẽ lưu giữ các thông tin sau:
Thông tin v`các nhà đi tư:
O Mỗi nhà đầi tư (NDT) sẽ có 1 mã tài khoản (MATK) duy nhất
(do công ty chứng khoán cấp) để phân biệt với các nhà đầi tư khác, họ, tên, ngày
sinh, nơi sinh, phái, địa chỉ, email, điện thoại, số CMND/Passport, ngày cấp, nơi
cấp, nhà đầi tư trong nước hay nước ngoài, mật mã giao dịch, mật khẩu đặt lệnh
hàng (MATKNH), và tên ngân hàng mà mình gửi tin Một nhà đầi tư có thể có nhĩ u tài khoản tỉ ân trong 1 ngân hàng, hoặc nhi lâi ngân hàng
Thông tin v`êcác cổ phiếu: Mã cổ phiếu thực chất là mã của công ty khi niêm yết lên sàn giao dịch đã được UBCK nhà nước cấp
công ty, địa chỉ, điện thoại, fax, địa chỉ website và email, số lượng cổ phiếu niêm vết
phí ứng và các qui định này có thể thay đổi theo thơi gian
từng ngày
Giá tham chiếu là giá đóng cửa của ngày hôm trước
Giá sàn = giá tham chiếu — biên độ giá * giá tham chiếu
Giá trẦn = giá tham chiếu + biên độ giá * giá tham chiếu
phố HCM và sàn HNX của thành phố Hà Nội Mỗi sàn sẽ qui định biên độ giá
riêng, bước giá đặt lệnh khác nhau, lô lệnh tối thiểu khác nhau, thời điểm thanh toán
bù trừ T+ X và các qui định này có thể thay đổi theo thơi gian
Thông tin giao dịch: (đặt lệnh mua hay bán)
oO Một lệnh đặt chỉ thuộc 1 loại lệnh (ATO, LO, ATC, MB ); với
1 loại lệnh có thể có nhi`âi lệnh dat
Oo Một NDT có thể đặt lệnh mua (hay bán) một cổ phiếu nào đó Thông tin vềlệnh đặt g ồn có loại giao dịch (Mua hay bán), số lượng đặt, giá đất,
ngày gio đặt Khi đặt lệnh, NDT phải chỉ rõ tài khoản cân thiết để mua hoặc bán
oO Một lệnh đặt chỉ được quy dùng 1 tài khoản; 1 tài khoản có thể được dùng để đặt nhi 'â: lệnh
lệnh được khớp thì trạng thái sẽ chuyển thành “Khớp 1 phần hoặc “Khớp hết` Nếu NDT hủy lệnh thì trạng thái lệnh là “Đã hủy' Nếu hết phiên mà lệnh không khớp thì trạng thái lệnh là 'Chưa khớp' Mỗi lệnh khớp sẽ có thêm giá khớp và khối lượng khớp
khác, nhưng 1 lệnh khớp chỉ thuôc 1 lệnh đặt mua/bán Mỗi lệnh khớp có thể có số lượng khớp và giá khớp khác nhau
được cập nhật vào tài khoản của nhà đi tư
thể có nhi âi NDT sở hữu Một nhà đi tư có thể yêu c`ầi công ty chứng khoán ứng
Trang 3nhí ân Lần Một lệnh ứng có các thông tin ¡d ứng ti để phân biệt các lệnh ứng, ngày yêu cÄi ứng, ngày bán, số tin ứng, phí ứng (%)
Câu hỏi:
1 Thiết kế sơ đŠERD cho cơ sở dữ liệu quản lý các giao dịch chứng khoán của nha đầi tư tại 1 công ty chứng khoán trên
2 Chuyển sơ đ ŠERD trên thành mô hình dữ liệu quan hệ sao cho đạt dạng chuẩn 3
3 Thiết lập các ràng buộc toàn vẹn của cơ sở dữ liệu
uu):
a/ Liệt kê số lượng các cổ phiếu và gid tri hién tai ma nha da tu cé ma la @X
bí Sao kê các lệnh khớp của 1 NĐT X trong I khoảng thời gian (@tungay,
@denngay) Kết quả khi ¡n ra sẽ theo thứ tự thời gian khớp lệnh tăng dần Kết xuất:
c/ Sao kê tất cả các lệnh đã đặt trong I ngày của một NĐT X Kết quả khi in ra sẽ theo thứ tự thời gian khớp lệnh Kết xuất:
Mã CP Loại lệnh Giơ đặt Số lượng đặt Giá đặt Trạng thái Số lượng khớp Giá khớp d/ Cập nhật tin và cổ phiếu của các lệnh khớp vào cơ sở dữ liệu của các nhà đầu tư với ngày hiện tại là T+ X
3 PHÂN TÍCH, THIẾT KẾ CSDL:
a/ Xác định các thực the:
CMND, NGAYCAP, NOICAP, THITRUONG, MATMAGD, MKDATLENH) TKNH (MATKNH, SODU)
NGANHANG (MANH, TENNH)
QUYDINHCONGTY (MAQDCTY, TENQDCTY)
NHANVIEN (MANV, HO, TEN)
SLCPNIEMYET)
SANGIAODICH (MASAN, TENSAN)
QUYDINHSAN (MAODSAN, TENQDSAN)
LOAILENH (MALOAI, TEN)
LENHDAT (IDLENHDAT, LOAIGD, SLDAT, GIADAT, NGAYGIODAT) LENHKHOP (IDLENHKHOP, GIAKHOP, SLKHOP, NGAYKHOP)
TRANGTHAI (MATRANGTHAI, TRANGTHAD
LENHUNG (IDUNGTIEN, NGAYUNG, NGAYBAN, SOTIENUNG, PHIUNG) NGAY (NGAY)
Trang 4NDT (MATK, HO, TEN, NGAYSINH, NOISINH, PHAI, DIACHI, EMAIL,
MKDATLENH)
TKNH (MATKNH, SODU, MATK MANH)
NGANHANG (MANH, TENNH)
QUYDINHCONGTY (MAQDCTY, TENQDCTY)
NHANVIEN (MANV, HO, TEN)
THAYDOI (MANV MAQDCTY, THOIGIANAPDUNG)
SLCPNIEMYET)
NIEMYET (MACP MASAN, THOIDIEM)
PHATHANH (MACP NGAYPH SLPH)
SOHUU (MATK, MACOPHIEU, SOLUONG)
LICHSUGIA (MACP, NGAY , GIATHAMCHIEU)
Trang 5
O COTRANGTHAI (DLENHDAT MATRANGTHAI, THOIDIEM)
H LENHKHOP (IDLENHKHOP, GIAKHOP, SLKHOP, NGAYKHOP, IDLENHDAT)
H LENHUNG (IDUNGTIEN, NGAYUNG, NGAYBAN, SOTIENUNG, PHIUNG, MATKNH)
Trang 6e/ Từ điển dữ liệu:
SƑT | Thuộc tính Kiểu dữ liệu Độ dài Ràng buộc Ghi chú
Chỉ nhận “Nữ' hoặc ‘Nam’
7 DIACHI NVARCHAR | 30 Default: ° ’ Địa chỉ nhà đầu tư EMAIL, NCHAR 30 Unique, Not Null Email nhà đi tư
9 SDT NCHAR 10 Unique, Not Null Số điện thoại nhà đi tư
NDT (MATK, HO, TEN, NGAYSINH, NOISINH, PHAI, DIACHI, EMAIL, SDT, CMND,
NGAY CAP, NOICAP, THITRUONG, MATMAGD, MKDATLENH)
STT | Thuộc tinh Kiểu dữ liệu Độ dài Bàng buộc Ghi chú
STT | Thuộc tinh Kiểu dữ liệu Độ dài Ràng buộc hi chú
Trang 7
SƑT | Thuộc tính Kiểu dữliệu Độdài Rang budc Ghi chú
<= GETDATE 0
Khóa chính: MAODC TY + MANV
SƑT | Thuộc tính Kiểu dữliệu Độdài Bàng buộc Ghi chi
2 HO NVARCHAR |30 Not Null Họ nhân viên
SLCPNIEMYET)
SƑT | Thuộc tính Kiểu dữ liệu Pddai Bàng buộc Ghi chú
STT | Thudc tinh Kieu dt ligu Pddai Bàng buộc Ghi chi
Trang 8NGAYPH <= GETDATE () cổ phiếu
được phát hanl Khóa chính: MACP+ NGAYPH
SƑT | Thuộc tính Kiểu dữ liệu Pddai Bàng buộc Ghi chi
Khóa chính: MATK + MACP
SƑT | Thuộc tính Kiểu dữ liệu Độdài Bàng buộc Ghi chú
NGAY <= GETDATE 0
Khóa chính: MACP+ NGÀY
SƑT | Thuộc tính Kiểu dữ liệu Pddai Bàng buộc Ghi chú
STT Thuộc tính Kiểu dữ liệu Độdài Bàng buộc Ghi chú
Khóa chính: MACP + MASAN
STT Thuộc tính Kiểu dữliệu Độdài Bàng buộc Ghi chú
Trang 9
O BANHANHQDSAN (MAODSAN MASAN, GIATRI, THOIGLANAPDUNG,
CHITIETQUYDINH)
STT | Thudc tinh Kiểu dữliệu Độdài Ràng buộc Ghi chú
<= GETDATE ()
Khóa chính: MAQDSAN + MASAN
SƑT | Thuộc tính Kiểu dữ liệu Độdài Bàng buộc Ghi chú
2 TEN NVARCHAR |30 Unique, Not Null | Tên loại lệnh
MATKNH, MALOAI, MACP)
STT Thuộc tính Kiểu dữliệu Độdài Bàng buộc Ghi chú
<= GETDAY ()
SƑT | Thuộc tính Kiểu dữ liệu Độdài Rang buộc Ghi chú
Auto Increment
Trang 10
Default: ‘Cho Khóp' Chi nhan: ‘Cho khop’
hoặc 'Khớp 1 phn’
hoặc ‘Khop hét’
hoặc “Đã hủy' hoặc “Chưa khớp:
STT Thuộc tính Kiểu dữ liệu Độ dài Bàng buộc hi chú
2 TRANGTHAI NVARCHAR 12 Unique, Not Null Trang thai lénh da
STT Thuộc tính Kiểu dữ liệu Độdài Rang budc Ghi chú
Auto Increment
Khoa chinh: IDLENHDAT + MATRANGTHAI
Trang 12
- _ Mô tả: Số CMND của nhà đầu tư là duy nhất
Trang 13
- Mô tả: Email phải là duy nhất trong cổ phiếu
Trang 14
- Mô tả: Tên của ngân hàng phải là duy nhất
Trang 15
- Mô tả: Tên quy định công ty là duy nhất
- Mô tả: Mã loại lệnh là duy nhất
- Mô tả: Tên loại lệnh phải là duy nhất trong loại lệnh
- M6ta: ID lénh đặt trong lệnh đặt phải là duy nhất
Trang 16- Mô tả: ID lệnh khớp phải là duy nhất trong lệnh khớp
OLU1, LU2O LENHUNG
LU1 < LU20 LU1.IDLENHUNG OO NDT2.IDLENHUNG
- - Tần ảnh hưởng:
hữu bởi nhi `âi nhà đẦầi tư
24 RB24:
Trang 17- Mô tả: Cổ phiếu sẽ thay đổi giá theo từng ngày
- _ Nội dung: Ols1,1ls2 O LICHSUGIA, Isl #1s2
LTXKIs1.MACP = Is2.MACPTTIIs1.NGAY = Is2 NGAY)
một quy định có thể áp dụng cho nhi ân sàn
Nội dung: Llqd1, qd2 L QUYDINHSAN, qd1 # qd2
- - Tần ảnh hưởng:
26 RB26:
nhỉ 'âi đợt với nhi lâi ngày khác nhau
- _ Nội dung: Oph1, ph2 0 PHATHANH, ph! = ph2
OO(ph1.MACP = ph2.MACPC ph1.NGAYPH = ph2.NGAYPH)
- - Tần ảnh hưởng:
Trang 18
- _ Mô tả: Một lệnh đặt có thể có nhi ôn trạng thái, mỗi trạng thái ở một thởi điểm
khác nhau và I1 trạng thái có thể có nhi 'ân lệnh đặt
Trang 19t2.MATRANGTHAI)
- - Tần ảnh hưởng:
COTRANGTHAI + - + (IDLENHDAT, MATRANGTHAI)
33 RB33:
có thể thay đổi nhi `âi quy định
Nội dung: Lltd1, td2 LI THAY DOI, td1 z td2
34 RB34:
Bối cảnh: NIEMYET
nhau, một sàn giao dịch có thể có nhi `âi cổ phiếu được niêm yết
Nội dung: Ony1, ny2 0 NIEMY ET, nyl z ny2
Trang 20Ràng buộc mi Ân giá trị
RBI:
Mô tả: Phái của mỗi nhà đâi tư chỉ có thể là NAM hoặc NU’
Néi dung: ONDT1 LNDT HNDT1.PHAIH {'NAM','NỮ'}
Mô tả: Tất cả các nhà đầu tư đâu phải có ngày sinh trước ngày hiện tại
Nội dung: LINDTI LH NDTT NDT1.NGAYSINH < GETDATE ()
Mô tả: Tất cả các nhà đ ân tu da cd ngay cap CMND nho hon ngay hiện tại
Néi dung: ONDT1 O NDTO) NDT1.NGAYCAP < GETDATE ()
Mô tả: Thị trưởng của NDT chỉ có thể là trong nước hoặc ngoài nước
Néi dung: ONDT1 O NDT O NDT1.THITRUONG T1 {“TN'., “NN'}
Mô tả: Số dư tài khoản của mọi tài khoản đâu phải lớn hơn hoặc bằng 0
Ndi dung: OTK1 O TKNHO TK1.SODU >= 0
Trang 21Bối cảnh: THAY DOI
Mô tả: Thời gian áp dụng của quy định công ty phải nhỏ hơn hoặc bằng ngày hiện
Mô tả: Ngày phát hành cổ phiếu phải nhỏ hơn hoặc bằng ngày hiện tại
Nội dung: LIPH1I LI PHATHANH O PH1.NGAYPH <= GETDATE ()
Bối canh: PHATHANH
Mô tả: Số lượng cổ phiếu phát hành phải lớn hơn 0
Nội dung: LIPH1 L PHATHANH L1 PH1.SLPH > 0
Trang 2211 RBII:
Bối cảnh: LLCHSUGIA
Mô tả: Giá tham chiếu của lịch sử giá phải lớn hơn 0
Nội dung: OLS1 O LICHSUGIA LH LS1.GIATHAMCHIEU > 0
Bối canh: LICHSUGIA
Mô tả: Ngày của lịch sử giá phải nhỏ hơn hoặc bằng ngày hiện tại
Nội dung: LLS1 O LICHSUGIA O LS1.NGAY <= GETDATE ()
Mô tả: Thời điểm của Niêm yết phải nhỏ hơn hoặc bằng ngày hiện tại
Nội dung: LNY1 LI NIEMY ET L NY1.THOIDIEM <= GETDATE(Q
Bối canh: BANHANHQDSAN
Mô tả: Thời gian áp dụng của quy định được ban hành phải nhỏ hơn hoặc bằng ngày hiện tại
Nội dung: LIBH1 L BANHANHQDSAN H BH1:THOIGIANAPDUNG <= GETDATE (0)
Tần ảnh hưởng:
Mô tả: Giá trị của Ban hành quy định sàn phải lớn hơn hoặc bằng 0
Ndi dung: OBH!1 O BANHANHQDSAN O BHL1.GIATRI >= 0
Trang 2316 RB16:
Bối cảnh: LENHDAT
Mô tả: Tất cả lệnh đặt phải đặt lệnh có số lượng lớn 0
Ndi dung: OLD1 O LENHDAT O LD1.SLDAT > 0
Mô tả: Tất cả lệnh đặt phải đặt lệnh có giá đặt lớn hơn 0
Néi dung: OLD1 O LENHDAT 0 LD1.GIADAT > 0
Bối canh: LENHUNG
Mô tả: Ngày ứng của lệnh ứng phải nhỏ hơn hoặc bằng ngày hiện tại
Néi dung: OLU1 O LENHUNG O LU1.NGAYUNG <= GETDATE ()
Trang 2421 RB21:
Bối canh: LENHUNG
Mô tả: Ngày bán trong lệnh ứng phải nhỏ hơn hoặc bằng ngày hiện tai
Noi dung: OLU1 O LENHUNG O LU1.NGAYBAN <= GETDATE ()
Mô tả: Số tin ứng của một lệnh ứng phải lớn hơn 0
Nội dung: LLU1 O LENHUNG O LU1.SOTIENUNG > 0
Bối canh: LENHUNG
Mô tả: Phí ứng trong một lệnh ứng phải lớn hơn 0% và nhỏ hơn 100%
Ndi dung: OLU1 O LENHUNG O 0 < LU1.PHIUNG < 100
Mô tả: Số lượng khớp của một lệnh khớp phải lớn hơn hoặc bằng 0
Nội dung: LLKI LENHKHOPTI LK1.SLKHOP >= 0
Mô tả: Ngày khớp của một lệnh khớp phải nhỏ hơn hoặc bằng ngày hiện tại
Ndi dung: OLK1 O LENHKHOPO LK1.NGAYKHOP <= GETDATE ()
Trang 2526 RB26:
Bối cảnh: LENHKHOP
Mô tả: Giá khớp của lệnh khớp phải lớn hơn 0
Nội dung: LLKI LENHKHOPTI LK1.GIAKHOP >0
Mô tả: Được ứng tỉ ñn khi mà thơi gian bán nhỏ hơn 2 ngày
Ndi dung: OLU1 O LENHUNG DATEDIFF (day, LU1.NGAYBAN, LUI.NGAYUNG) < 2
O_ Rang bu6c toàn vẹn có bối cảnh nhi li quan hệ:
H1 Ràng buộc toàn vẹn v`êkhóa ngoại
1 RBI:
3 RB3:
Trang 26Mô tả: Một quy định có thể được thay đổi bởi nhỉ 'âi nhân viên và một nhân viên
có thể thay đổi nhi âi quy định
Ndi dung: THAYDOI[MANV] 0 NHANVIEN[MANV] AND
THAYDOI[MAQDCTY] O COPHIEU[MAQDCTY]
Bảng tần ảnh hưởng:
NHANVIEN - + + (MANY)
RB4:
Bối cảnh: NDT, SOHUU, COPHIEU
Mô tả: Mỗi nhà đầ tư sở hữu nhi âi cổ phiếu và một cổ phiếu được sở hữu bởi nhi âi nhà đi tư
Nội dung: SOHUU[MATK] H NDT[MATK] AND SOHUU[MACPIDT
COPHIEU - + + (MACP)
RBS:
Bối cảnh: COPHIEU, PHATHANH, NGAYPH
Mô tả: Một ngày có thể phát hành nhi âi cổ phiếu, một cổ phiếu có thể phát hành nhỉ 'âi đợt với nhi lâi ngày khác nhau
Nội dung: PHATHAH[MACP] 0 COPHIEU[MACP] AND
Trang 27- Ndi dung: NIEEMYET[MASAN] 0 SANGIAODICH[MASAN] AND
NIEMYET + - + (MASAN, MACP)
COPHIEU - + + (MACP)
7 RB7:
- Béi canh: LICHSUGIA, COPHIEU, NGAY
- Ndi dung: LICHSUGIA[MACP] 0 COPHIEU[MACP] AND
COPHIEU - + + (MACP)
8 RB8:
BANHANHOQDSAN[MAQDSAN] 0 QUYDINHGIAODICH[MAQDSAN]
Trang 28
Bảng tần ảnh hưởng:
Mô tả: Một lệnh đặt chỉ thuộc một tài khoản ngân hàng
Nội dung: LENHDAT[MATKNH] H TKNH[MATKNH]
Nội dung: LENHUNG|[MATKNH]I TAIKHOANNGANHANG[IMATKNH]
Bối cảnh: LENHDAT, LOAILENH
Mô tả: Mỗi lệnh đặt chỉ thuộc một loại lệnh
Néi dung: LENHDAT[MALOAI] O LOAILENH[MALOAI]
Bối cảnh: LENHDAT, COPHIEU
Mô tả: Mỗi lệnh đặt chỉ được đặt duy nhất một cổ phiếu