Yêu cầu lưu trữ Bảng LOAINGUOIDUNG: Sử dụng đA lưu trữ các thông tin chỉ tiết về từng loại người sử dụng gồm mã loại và tên loại đA phân biệt các người dùng khi truy cập vào cơ sở dữ...
Trang 1BO GIAO DUC VA DAO TAO TRUONG DAI HQC NGOAI NGU - TIN HOC TP.HCM
KHOA CONG NGHE THONG TIN
BAI BAO CAO KET THUC HOC PHAN
CO SO DU LIEU NANG CAO
PHAN TÍCH, THIẾT KẺ VÀ CÀI ĐẶT CSDL CHO TRUONG HOC QUAN
Trang 21.2.2 Cơ cấu tô CHỨC c n HH nnnnn n HH HH HH HH ni
Bảng 1.3.1: Thông trn lưu trữ LOATNGUOIDUNG
Bảng 1.3.2: Thông tin lưu trữ NGUOIDUƯNG - cà
Bảng 1.3.3: Thông tin lưu trữ NAMHOC c 22222
Trang 3Bang SN lo 0i 0:06 8x90 G211 ỐỐ Bảng 1.3.5: Thông tin lưu trữ MONHOC Q1 022111211111 121 112212011 11111111011111111 111118 1E sa
Bang 1.3.6: Thong tin lưu trữ GIAOVIEN Q.2 21 1211111110101 T1 1111111011111 H1 HH hệt
Bảng 1.3.7: Thông tin lưu trữ LOP - 2.12011211121121 111 111511111111 11111 111211111111 E11 111611111 kka Bảng 1.3.8: Thông tin lưu trữ HOCSINH 022011211211 121 111212011 11111111111 1111111111821 1c xke
Bảng I.3.9: Thông tin lưu LOATDIEM 02 2012112111111 1111111111 11111111111 11 111111101101 11 1 ke
Bang 1.3.10: Thông tin lưu trữ DIEM 12.2221 1211211 122111211151 1111 1111111111121 12011 H ng g1 Hy Bang 1.3.11: Thông tin lưu trữ HOADƠN 4 0 2011211211 111111 1121 110112111011 11111 111 111g ra Bang 1.3.12: Thông tin lưu trữ CHITIETHOADƠN Q0 2002112112112 211021 1212111121111 tre
Bang 1.3.13: Thông tin lưu trữ GLAOVIEN_ LỚP L2 1201211121111 120111011011 1111111 1 1 ve
Trang 4CHƯƠNG 3: PHAN TICH VA THIET KE CO SO DU LIEU
3.1 Mô hình thực thể kết hợp
3.2 Mô tả các thực thể
Bảng 3.2.1: Mô tả thực thA loại người đùng c0 22212111221 1221 1211 15111111111211117 1 11H Hy Bảng 3.2.2: Mô tả thực thA người dùng - 22001211211 121 1111110111111 111 111111111111 111 HH ng kg Bảng 3.2.3: Mô tả thực thA năm học - 0 2012211121121 1 12 112211111181 11111111 21110011 H111 18211 ckg Bảng 3.2.4: Mô tả thực thA học kỳ 2 12112212211 1211111111111111111 1111021 111111 011111111101 1E tk kg Bảng 3.2.5: Mô tả thực thA môn học - L2 2 22112211211 1211121 1111111110211 01 111111111111 2111 001100111 kg Bảng 3.2.6: Mô tả thực thA ø1áo VIÊN ác 2 0102112211211 11111112 1110110111 0111111111 0111111 H1 1k Hkn
Bảng 3.2.8: Mô tả thực thA học sinh - c1 2 12011211121 111 111111 2110111811111 1011 111111101111 H1 H1 trkt Bảng 3.2.9: Mô tả thực thA loại đLÀm 2 2 22 122112211211 12112111111111 11 11 111011 1111111111111 1121 0 kg Bang 3.2.10: M6 ta thyre tha GIA -+1
Bảng 3.2.11: Mô tả thực thA hoá đơn L2 22 2111211221121 1 1211111111 111011011101 1111 1111111101110 k1 kg
Bảng 3.2.12: Mô tả thực thA chỉ tiết hoá đơn 5-5 9 1 2112121111121121121121 1211012111 1e Bảng 3.2.13: Mô tả thực thA chỉ tiết dịch vụ -s 5s Sc 21 1212121121121222212121 2121121 rrg
Bang 3.2.14: M6 ta thực thA giáo viên và ÏỚp 2 2: 2112211211121 15121121 1111111110111 11111111211 kg 3.3 Lược đồ cơ sở dữ liệu quan hệ ° 2-2 <8 Es£ESzESEEseESEExEESEEESE Sợ gErgEvcaờ cay cư Hình 3.3 Lược đồ quan hệ dạng bảng c0 0 2210211211121 121 1111112211012 1011111 1111111121111 1 tra 3.4 Phân tích chuẩn của lược đồ quan hệ
3.4.1 Lược đồ chuẩn Ì àScc St HH HH HT HH HH HH HH HH HH Ho HH sa 3.4.2 Lược đồ chuẩn 2 s St 1n n1 HH HH HH TH Hà HH HH HH HH HH tt HH sa 3.4.3 Lược đô đã đạt chuẩn Ồ ST TT TH ng HH HH HH HH HH HH HH nà tu
3.5 Lược đồ cơ sở dữ liệu quan hệ sau khi chuẩn hóa thành 3NE
Kon oan an e
CHƯƠNG 4: TRIÊỄN KHAI CƠ SỞ DỮ LIỆU TRÊN MS SQL SERVER -.< 5-55 5c:
Trang 54.1 Tạo cơ sở dữ liệu
4.2 Nhập liệu mẫu
4.3 Cài đặt các ràng buộc toàn vẹn
4.4 Cài các store procedure
5.1 Kết quả đạt được
5.2 Kết quả chưa đạt được
5.3 Hướng phát triển mở rộng ứng dụng trong tương lai
Trang 6Bảng 1.3.11: Thông tin lưu trữ HOADON
Bảng 1.3.12: Thông tin lưu trữ CHITIETHOADON
Bảng 1.3.13: Thông tin lưu trữ DICHVU
Bảng 1.3.13: Thông tin lưu trữ GIAOVIEN_LOP
Mô tả thực thA loại người dùng
Mô tả thực thA người dùng
Mô tả thực thA năm học
Mô tả thực thA học kỳ
Mô tả thực thA môn học
Mô tả thực thA øiáo viên
Mô tả thực thA lớp
Mô tả thực thA học sinh
Mô tả thực thA loại đAm
Trang 7Bảng 3.2.10: Mô tả thực thA điAm
Bang 3.2.11: M6 ta thực thA hoá đơn
Bảng 3.2.12: Mô tả thực thA chỉ tiết hoá đơn
Bảng 3.2.13: Mô tả thực thA chi tiết dịch vụ
Bang 3.2.14: Mô tả thực thA giáo viên và lớp
DANH MỤC HÌNH
Hinh 3.1 Mô hình thực thA kết hợp
Hình 3.3 Lược đồ quan hệ dạng bảng
Hình 3.5 Lược đồ cơ sở đữ liệu quan hệ sau khi chuẩn hóa thành 3NE
CHUONG I1: GIỚI THIỆU ĐÈ TÀI
1.1 Giới thiệu
1.1.1 Mở đầu
- Trong thời đại công nghệ phát triAn mạnh mẽ như hiện nay các trường học cũng dần
áp dụng công nghệ hóa vào công việc quản lý học sinh „ thay vì trước đây ta phải ghi số sách các thông tin về hồ sơ học sinh, ,về lâu đài việc này có thA dẫn đến sai sót về mặt thông tin và số sách phải được bảo quản kỹ lưỡng Từ đó nhu cầu về việc sở hữu một hệ thống quản lý đữ liệu về học sinh, điAm số được ra đời
1.1.2 Lý do
- ĐA đáp ứng được nhu cầu áp dụng công nghệ quản lý dữ liệu vào trường học, nhóm
em đã quyết định xây dựng hệ thống cơ sở dữ liệu dành cho việc quản lý học sinh và điAm
số Mục đích của dé tai tập trung vào quản lý các thông tin của học sinh hóa đơn học phí, điAm số của học sinh
Trang 81.2 Khảo sát thực tế
1.2.1 Thong tin chung
Giới thiệu về Trường: Trường THPT ABC là một ngôi trường công lập tọa lạc tại khu vực
trung tâm thành phố, với hơn 1200 học sinh từ lớp 10 đến lớp 12 Trường cam kết cung cấp
một môi trường học tập đa dang va phat triAn toàn diện cho học sinh
Thông tin cơ bản:
® Tên trường: lrường THPT ABC
®_ Địa chỉ: 123 Đường Nguyễn Văn Linh, Quận 1, Thành phố Hồ Chí Minh, Việt Nam
® Quy mô: Diện tích trường khoảng 5.000m2, với 60 phòng học và các phòng chuyên
môn như thí nghiệm, phòng máy tính, thư viện
e© Số lượng nhân viên: Gần 100 nhân viên, bao gồm giáo viên, nhân viên hành chính
và nhân viên dịch vụ
Ngành nghè hoạt động của trường:
® Trường THPT ABC hoạt động trong lĩnh vực giáo dục phô thông, cung cấp chương
trình học theo chuẩn quốc gia với các môn học cơ bản và nâng cao
Thông tin liên hệ:
e© Số điện thoại: 18001234
@ Dia chi email: ABCuschool.edu.vn
Nhán lực:
e© Số lượng nhân viên: 80 giáo viên, 10 nhân viên hành chính, 5 nhân viên dich vụ
@ Chức vụ: Bao gồm giáo viên bộ môn, giáo viên chủ nhiệm, nhân viên thư viện, nhân viên bảo vệ, nhân viên quản lý học sinh
Liên hệ:
© Cac thông tin liên hệ nhân viên được cung cấp trực tiếp qua trường hoặc website của trường đA hỗ trợ học sinh và phụ huynh khi cần thiết
Trang 9Sản phẩm:
® Trường cung cấp các dịch vụ giáo dục, các hoạt động ngoại khóa, và hỗ trợ tư vấn
nghề nghiệp cho học sinh
® Các sản phẩm giáo dục bao gồm khóa học chính quy và bô trợ, các hoạt động văn
hóa nghệ thuật và thA dục thA thao
Quy mô hoạt động:
® Trường cung cấp nhiều phương thức thanh toán cho phụ huynh khi thanh toán học
phí và các chi phi khác liên quan đến việc học tập của học sinh
® Thông tin chỉ tiết của hóa đơn giúp phụ huynh nắm bắt được tiến trình học tập của
học sinh và các chi phi hoc tap
Quan ly va quan ly chat heong:
e Truong ap dung cac hé théng quan ly giao duc hién dai dA t6 chirc va giam sat cong
việc trong trường
e_ Quy trình kiAm soát chất lượng đảm bảo các tiêu chuẩn giáo dục và an toàn cho học sinh và nhân viên trong trường
An toàn và bảo vệ môi trường:
®_ Trường cam kết đảm bảo an toàn lao động và bảo vệ môi trường trong các hoạt động giáo dục va hoc tập hàng ngày
Trang 101.2.2 Cơ cấu tổ chức
TRƯỜNG THPT
ABC Học sinh
| Phong ban giam Phong hoc vu Phong tai chinh Phòng công tác
¡1e 113g 0Ì”
Trưởng phòng
công tác học sinh
1.3 Yêu cầu lưu trữ
Bảng LOAINGUOIDUNG: Sử dụng đA lưu trữ các thông tin chỉ tiết về từng loại người
sử dụng gồm mã loại và tên loại đA phân biệt các người dùng khi truy cập vào cơ sở dữ
Trang 11
dùng
Bảng 1.3.1: Thông tin lưu trữ LOAINGUOIDUNG
Bảng NGUOIDUNG: Sử dụng đA lưu trữ các thông tin chỉ tiết về thông tin người dùng bao gồm mã người dùng, mã loại người dùng, tên người dùng, tên đăng nhập và mật
Trang 12Bảng 1.3.2: Thông tin lưu trữ NGUOIDUNG
Bảng NAMHOC: Sử dụng đA lưu trữ các thông tin chi tiết về từng năm học gồm mã năm học và tên năm học
Bảng HOCKY: Sử dụng đA chia các học ky gồm ma hoc ky và tên học kỷ
Bảng 1.3.3: Thông tin lưu tữ NAMHOC
Trang 13R mã học kỷ
TenHocKy NVARCHA R |30 Dữ liệu mô tải NOT NULL tên học kỷ
Bảng 1.3.4: Thông tin lưu trữ HOCKY
Bảng MONHOC: Sử dụng đA lưu trữ các môn học có trong trường học gồm mã môn, tên môn và sô tiệt học của môn tương ứng
Bảng 1.3.5: Thông tin lưu trữ MONHOC
Bảng GIAOVIEN: Sử dụng lưu trữ thông tin của các ø1áo viên đang piảng dạy tại trường gồm có mã giáo viên, tên giao vién, dia chi, số điện thoại và mã môn đA biết giao viên dạy bộ môn nảo tại trường
13
Trang 14MaGiaoVien | NVARCHA | 10 Dữ liệu mô tả| Khóa chính
TenGiaoVie | NVARCHA | 30 Di ligu mé ta) NOT NULL
DiaChi NVARCHA | 50 Di ligu mé ta) NOT NULL
piáo viên
DienThoai NVARCHA 15 Di ligu mé ta) NOT NULL
piáo viên
MaMon NVARCHA | 10 Dữ liệu m6 ta) Khoa ngoat
giảng dạy
số lớp mà giảng viên được phân công dạy
Bảng 1.3.6: Thông tin lưu trữ GLIAOVIEN
Bảng LOP: Sử dụng đA lưu trữ thông tin của các lớp học gồm mã lớp, tên lớp, mã giáo viên chủ nhiệm đA xác định chủ nhiệm của lớp và mã năm hoc dA biết lớp đó ở năm học nao
Trang 15
Bảng 1.3.7: Thông tin lưu trữ LOP
Bang HOCSINH: Sw dung đA lưu thông tin của các học sinh đang học tại trường gồm mã học sinh, mã lớp đA biết học sinh đang học ở lớp nảo, họ tên, giới tính, ngày sinh, địa chỉ,
họ tên cha, nghề nghiệp cha, họ tên mẹ nghề nghiệp mẹ và email của học sinh
Trang 16HoTenCha NVARCHA_ |30 Dữ liệu mô tả | NULL
Trang 17
Bảng 1.3.8: Thông tin lưu trữ HOCSINH
Bang LOAIDIEM: Su dung đA phân loại các loại đưAm khác nhau gồm mã loại điAm, tên
loại điAm và hệ số của loại điAm đó
3 HeSo INT Dữ liệu mô tả | NOT NULL hệ số điAm
17
Trang 18
Bang 1.3.9: Thông tin lưu LOAIDIEM
Bảng DIEM: Str dung đA lưu thông tin điAm số của học sinh theo môn với mã học sinh,
mã môn, mã năm học, mã học kỷ, mã loại diAm va so diAm
MaHocSinh | NVARCHA | 10 Dữ liệu mô tả | Khoá ngoại
sở hữu điAm
MaMon NVARCHA |10 Dữ liệu mô tả | Khoá ngoại
Trang 19Bảng 1.3.10: Thông tin lưu trữ DIEM
Bảng HOADON: Sử dụng đA lưu các hoá đơn học phí của học sinh gồm ma hoa don, ma học sinh, mã năm học, mã học kỳ, tiền học phí và ngày tạo hoá đơn
MaNamHoc | NVARCHA | 10 Dữ liệu mô tả | Khoá ngoại
R mã năm học
ngay tao hoa don
HoTen NVARCHA |30 Dữ liệu mô tả | NOT NULL
Trang 20Bảng CHITIETHOADON: Sử dụng đA lưu các chỉ tiết hoá đơn gồm mã hoá đơn, tên dịch
vụ, đơn vị tính, số lượng, đơn ø1á, VAT
STT INT Dữ liệu mô tả | Khóa chính
tri gia tang
ThanhTien FLOAT Dữ liệu mô tả | NOT NULL
số tiền được tính
Thanh Toan NVARCHA |20 Dữ liệu mô tả | NOT NULL
thanh toan
Bang 1.3.12: Thông tin lưu trữ CHITIETHOADON
Bảng DICHVU: Sử dụng ổđA lưu các dịch vụ gồm mã dịch vụ, tên dịch vụ, đơn vị tính, don gia
20
Trang 211 MaDichVu NVARCHA | 10 Dữ liệu mô tả | Khóa chính
Bang 1.3.13: Thông tin lưu trữ DICHVU
Bảng GIAOVIEN_LOP (PHANCONG): Được sử dụng như một bảng phân công gồm
mã giáo viên, mã lớp, mã học kỳ và mã năm đA biết giáo viên được phân công vào những lớp nào và ở học kỷ năm học nào
Trang 221.4.1 Yêu cầu hệ thông
- _ Hệ thống cần có khả năng lưu trữ thông tin về cửa hàng nội thất, nhân viên, tỉnh trạng vận chuyAn đơn hàng, sản phâm, quản lý chất lượng, an toàn và bảo vệ môi trường, các thông tin liên quan khác
1.4.2 Yêu cầu dành cho người dùng
- _ Đăng ký/ đăng nhập/ đăng xuất
- _ Xem thông tin điAm số, phân lớp
- _ Xem thông tin hóa đơn
- _ Liên hệ giảng viên
- _ Xem thông tin cá nhân
- _ Xem thông tin hoc phi
-_ Lựa chọn phương thức thanh toán phủ hợp
1.4.3 Yêu cầu dảnh cho người quan tri
- - Đăng nhập
22
Trang 23- - Quản ly Thông Tin Học Sinh:
e@ Thêm, sửa, xóa thông tin học sinh
® Xem danh sách các học sinh có trong hệ thống
e Tìm kiếm học sinh theo các tiêu chí như tên, lớp, ngày sinh,
- Quan ly DiAm Sé:
e Thêm, sửa, xóa điAm số của học sinh
® Xem bảng điAm tổng hợp của học sinh
® Tạo báo cáo điAm theo kỳ học, môn học
- Quan ly Hoe Phi:
@ Ghi nhận các khoản học phí của học sinh
® Theo dõi tình trạng thanh toán học phi
@ Cap nhat thong tin về các khoản nợ, đòi nợ
- - Quản lý Giáo Viên:
e Thêm, sửa, xóa thông tin p1áo viên
® Liệt kê danh sách piáo viên đang giảng dạy
® Theo dõi thông tin về môn học mà giáo viên đảm nhận
- Quan ly Tin Nhan va Thu Phan Hồi:
@ Nhan va quan ly cac tin nhan từ phụ huynh, học sinh
e Xt ly va phan héi cac yéu cau, khiéu nai từ phụ huynh, học sinh
1.4.4 Yêu cầu bảo mật
- - Đăng nhập va xác thực:
23
Trang 24®_ Yêu cầu đăng nhập bằng tên người dùng và mật khâu
® Cung cấp cơ chế xác thực hai yếu tô (2FA) đA tăng cường bảo mật
- Phan quyén truy cap:
® Xác định các vai trò (roles) như quan tri vién, gi40 vién, nhan viên hành chính
và thiết lập quyền hạn tương ứng cho từng vai trò
e©_ Hạn chế truy cập vào các tính năng chỉ đối với các vai trò được cấp phép
- Bảo mật dữ liệu cá nhân:
e Bảo vệ dữ liệu cá nhân theo các tiêu chuẩn và quy định pháp luật hiện hành về bảo vệ dữ liệu
e Mã hóa dữ liệu nhạy cảm như mật khẩu, số điện thoại, địa chỉ email
- _ Bảo mật về mặt vật lý và hệ thông:
®_ Bảo đảm các máy chủ lưu trữ dữ liệu được bảo vệ vật lý an toàn
® Đảm bảo các cơ sở đữ liệu và hệ thông mạng được bảo vệ an toàn và có cơ
chế sao lưu đữ liệu định kỳ đA phòng trường hợp hỏng hóc hoặc tấn công
- Giam sat va ghi nhat ky (Logging and Monitoring):
® Theo dõi các hoạt động không bình thường trong hệ thống thông qua các hệ thông giám sát và ghi nhật ký
® Phát hiện kịp thời các hành vị nghị ngờ đA có biện pháp xử lý phù hợp
1.4.5 Yêu cầu công nghệ
- Phan cing:
May tinh ban:
24
Trang 25@ CPU: Core 17
® RAM: §GB (khuyến nghị nâng cấp lên 16GB đA đảm bảo xử lý đa nhiệm tốt
hơn)
® Ô cứng: 100GB (khuyến nghị lưu trữ đữ liệu trên một ô cứng riêng biệt, ngoài
hệ điều hành đA đảm bảo an toàn và hiệu suất)
®_ Microsoft SQL Server đA lưu trữ và quản lý đữ liệu học sinh, điAm số, hoc phi
® Microsoft Visio: ĐA thiết kế sơ đồ và các biAu đồ liên quan đến quản lý học sinh
e Microsoft NET Framework 4.8: DA hé tro cdc img dụng và dịch vụ được phát triAn trén nén tang nay
- Con newot:
e_ Trình độ chuyên môn Tin học của các đôi tượng ở đây ở mức khá
25
Trang 26CHUONG 2: CO SO LY THUYET
2.1 Mô hình thực thể kết hợp
- - Mô hỉnh thực thA kết hop( Entity Relationship Diagram- ERD), mét so dé ERD hinh
dung hóa các mối quan hệ giữa các thực thA như con người, vật thA, hoặc khái niệm trong một cơ sở dữ liệu Sơ đồ ERD cũng thường hiAn thị các thuộc tính của những thực thA này
- _ Bằng cách định nghĩa các thực thA, các thuộc tính của chúng và hiAn thị mối quan hệ
giữa chúng, một sơ đô ER co thA minh họa câu trúc logic của cơ sở dữ liệu Điêu này
hữu ích cho các kỹ sư mong muôn tài liệu hóa cơ sở đữ liệu như hiện tại hoặc phác thảo thiệt kê của một cơ sở dữ liệu mới
2.2 Phụ thuộc hàm
- _ Phụ thuộc hàm là một khái niệm quan trọng trong thiết kế cơ sở dữ liệu quan hệ
Nó mô tả mỗi quan hệ giữa các thuộc tính trong một bảng Phụ thuộc hàm giúp chúng ta xác dịnh khóa chính và các khóa quan hệ liên quan, cải thiện được hiệu suất, tăng tốc độ truy xuất dữ liệu.Phụ thuộc hàm là một công cụ mạnh mẽ trone việc thiết kê và tôi ưu hóa cơ sở dữ liệu quan hệ
2.3 Các dạng chuẩn
2.4, Bao toàn thông tin
- Bao toan théng tin trong cơ sở đữ liệu (CSDL) là rất quan trong dA dam bao tinh toan vẹn, sự an toàn và quyền riêng tư của thông tin Dưới đây là một số phương pháp
giúp bảo toàn thông tin trong cơ sở dữ liệu:
Sao lưu đữ liệu thường xuyên: Điều này giúp phục hồi dữ liệu trong trường hợp có sự
cố xảy ra như thiết bị hong, virus hoặc lỗi hệ thống
Chia sẻ dữ liệu an toản: Quản lý quyền truy đA giới hạn quyền truy cập vào đữ liệu Thông tin được chia sẻ chỉ cho những người được phép truy cập
26
Trang 27Thiết kế chuẩn hóa CSDL: Sử dụng chuân hóa CSDL đA giảm thiAu sự trùng lặp và đảm bảo tính toàn vẹn của dữ liệu
Xác thực và phân quyền truy cập: Xác định các người dùng được phép truy cập vào
đữ liệu và các quyền hạn của họ trong hệ thống CSDL
2.5 Lập trình cơ sở dữ liệu
Lập trình cơ sở đữ liệu là quá trình xây dựng ứng dụng hoặc hệ thống sử dụng ngôn noữ lập trình đA tương tác và quản lý cơ sở đữ liệu Điều này bao gồm tạo, truy vấn, cập nhật và xóa dữ liệu từ cơ sở dữ liệu Lập trình viên sử dụng các ngôn ngữ như SQL (Structured Query Language) dA thyc hién cac tác vụ này và tương tác voi co SỞ
dữ liệu thông qua API hoặc trình điều khiAn cơ sở dữ liệu Việc lập trình cơ sở đữ
liệu quan trọng đA đảm bảo ứng dụng có thA lưu trữ và truy xuất dữ liệu một cách
hiệu quả, đồng thời giúp bảo vệ dữ liệu và đảm bảo tính nhất quán của cơ sở dữ liệu
Các ngôn ngữ lập trình phổ biến đA tương tác với CSDL bao gồm SQL (Structured Query Language), PL/SQL (Procedural Language/Structured Query Language), va T-SQL (TransactSQL) Tuy vao hé quan tri CSDL sử dụng, các ngôn ngữ này có thA
có các cu pháp khác nhau dA tao cac truy vấn, thêm, xóa hoặc cập nhật dữ liệu trong
CSDL
Lập trình cơ sở dữ liệu cũng liên quan đến các yếu tố khác như bảo mật đữ liệu, đồng
bộ đữ liệu, sao lưu và phục hồi đữ liệu, và các công nghệ liên quan đến phụ thuộc hàm Với sự phát trAn nhanh chóng của công nghệ và xu hướng sử dụng đữ liệu Big Data, lap trinh co sở dữ liệu đang trở thành một lĩnh vực quan trọng và thu hút sự quan tâm của nhiều nhà phát triAn và doanh nghiệp
2.6 Ràng buộc toàn vẹn
Trong một CSDL, luôn luôn tồn tại rất nhiều mối liên hệ ảnh hưởng qua lại lẫn nhau oIiữa các thuộc tính của một quan hệ, ø1iữa các bộ giá trị trong một quan hệ và p1iữa các thuộc tính của các bộ giá trị trong các quan hệ với nhau Các mỗi quan hệ phụ thuộc lẫn nhau này chính là những điều kiện bất biến mà tất cả các bộ của những quan hệ có liên quan trong cơ sở dữ liệu đều phải thỏa mãn ở bất kỳ thoi diAm nao
27
Trang 282.7 NoSQL và NewSQL
2.7.1 NoSQL
(Non-SQL hoặc Not Only SQL) là một loại hệ quản trị cơ so đữ liệu không tuân theo mô hình quan hệ truyền thống của SQL NoSQL được phát triAn đA xử lý các loại dữ liệu phi quan hệ, linh hoạt và có khả năng mở rộng tốt Dưới đây là một số khái niệm, công cụ và ví dụ tương ứng về NoSQL:
b) Công cụ NoSQL:
@ MongoDB: Hé thống cơ so dir ligu dang tai ligu (document) phố biến, lưu trữ dữ liệu dưới dạng JSON-like (BSON) Ví dụ: Lưu trữ thông tin người dùng với các trường như tên, tuôi, địa chỉ trong một tài liệu MoneoDB
@ Redis: Cơ sở dữ liệu dạng key-value nhanh chóng, được sử dụng cho việc lưu trữ cache, phiên làm việc và xử ly dữ liệu tạm thời Ví dụ: Lưu trữ phiên làm việc của người dùng với key là ID người dùng và value là thông tin phiên
® Cassandra: Hệ thống cơ sở dữ liệu cột phân tán, hướng tới tính sẵn sàng cao và khả
năng mở rộng ngang (horizontal scalability) Ví dụ: Lưu trữ thông tin các bài viết
trên mạng xã hội với các cột như tiêu đề, nội dung, tac gia
c) Vi du vé NoSQL:
e Hé thống cơ sở đữ liệu tài liệu: MoneoDB Ví dụ: Lưu trữ thông tin sản phâm trong một cửa hàng trực tuyến, với các trường như tên, ø1á, mô tả và danh sách đặc tính
28
Trang 29e© Hệ thong cơ so đữ liệu key-value: Redis Ví dụ: Lưu trữ thông tin hộp thư đến của người dùng, với key là ID người dùng và value là danh sách các emaIl
e Hệ thống cơ sở dữ liệu cột: Cassandra Ví dụ: Lưu trữ thông tin đữ liệu về đơn hàng trong một hệ thống thương mại điện tử, với các cột như ID đơn hàng, tên khách hàng, sản phẩm, số lượng
2.7.2 NewSQL
Là một loại hệ quản trị cơ sở dữ liệu mới xuất hiện đA cung cấp sự kết hợp giữa tính nhất quán (consistency) và khả năng mở rộng (scalability) trong hệ thống cơ sở dữ liệu quan hệ NewSQL nhắm đến việc cải thiện hiệu suất và khả năng mở rộng của CSDL, quan hệ truyền thông mà vẫn giữ được tính nhất quán và tính toàn vẹn của đữ liệu Dưới đây là một số khái niệm, công cụ và ví dụ tương ứng về NewSQL:
® CockroachDB: Cơ sở dữ liệu NewSQL phân tán, nhất quán vả có khả năng mở rộng
Nó hỗ trợ SQL và cung cấp tính nhất quán trên nhiều vùng địa lý
@ CockroachDB xử lý dữ liệu theo các bảng và hàng giỗng như CSDL quan hệ truyền
Trang 30e Hệ thống cơ sở dữ liệu NewSQL CockroachDB: Ví dụ: Một hệ thống quản lý đặt phòng khách sạn trực tuyến Cơ sở dữ liệu CockroachDB được sử dụng đA lưu trữ thông tin về khách hàng, phòng, giá cả và tình trạng đặt phòng CockroachDB cho
phép mở rộng hệ thông đA xử lý lượng lớn đặt phòng và đảm bảo tính nhất quán của
dữ liệu trong quá trình đặt phòng
e Hệ thống cơ sở dữ liệu NewSQL Google Spanner: Ví dụ: Hệ thống quản lý cơ sở đữ liệu cho một chuỗi cửa hàng bán lẻ Spanner được sử dụng đA lưu trữ thông tin vé san
phẩm, don hang va kho hang Voi kha năng mở rộng ngang và tính nhất quán,
Spanner cho phép cập nhật dữ liệu trên các cửa hàng khác nhau và đồng bộ thông tin tồn kho
CHƯƠNG 3: PHAN TICH VA THIET KE CO SO DU LIEU
3.1 Mô hình thực thể kết hợp
30
Trang 31Hinh 3.1 Mô hình thực thA kết hợp
SIT Thuộc tính | KiAudt | Kích thước Mô tả Rang budc Ghi chi
liệu thông tin
1 MaLoai nvarchar 10 Ma loại | Khóa chính | Mã duy
loại người dùng
2 TenLoai nvarchar 50 Tên loại| NOT
người dùng | NULL
Bang 3.2.1: Mô tả thực thA loại người dùng
SIT Thuệc tính | KiAu dữ| Kích thước | M6 tả | Ràng buộc | Ghi chú
liệu thông tin
người dùng
2 MaLoai nvarchar 10 Ma loại | Khóa ngoại | Tham
bảng LOAINGU OIDUNG
31
Trang 32Bảng 3.2.2: Mô tả thực thA người dùng
SIT Thuộc tính | KLAu dữ Kích thước | M6 ta} Rang bude | Ghi chú
liệu thông tin
năm học
Bảng 3.2.3: Mô tả thực thA năm học
STT Thuộc tính | KiAu dữ| Kích thước | Mô tả | Ràng buộc | Ghi chu
liệu thông tin
1 MaHocKy | nvarchar 10 Mã học kỳ | Khóa chính | Mã duy
32
Trang 33
2 TenHocKy | nvarchar 30 Tên học kỳ | NOT
NULL
Bảng 3.2.4: Mô tả thực thA học kỳ
STT Thuộc tinh | KiAu dữ Kích thước | Mô tả | Ràng buộc | Ghi chú
liệu thông tin
STT Thuộc tính | KLAu dữ Kích thước | M6 tả | Ràng buộc | Ghi chú
liệu thông tin
1 MaGiaoVie | nvarchar 10 Ma giáo | Khóa chính | Mã duy
Trang 34Bảng 3.2.6: Mô tả thực thA giáo viên
STT Thuộc tính | KIAu dữi Kích thước | Mô tả | Ràng buộc | Ghi chú
liệu thông tin
Trang 35Bảng 3.2.7: Mô tả thực thA lớp
STT Thuộc tính | KIAu dữ| Kích thước | Mô tả | Ràng buộc | Ghi chu
liệu thông tin
1 MaHocSin | nvarchar 10 Mã học | Khóa chính | Mã duy
Trang 36học sinh
Bảng 3.2.8: Mô tả thực thA học sinh
STT Thuộc tinh | KiAu dữ Kích thước | Mô tả | Ràng buộc | Ghi chú
liệu thông tin
Trang 37STT Thuộc tinh | KiAu dữ Kích thước | Mô tả | Ràng buộc | Ghi chú
5 MaHocKy | nvarchar 10 Mã học kỷ | Khóa ngoại | C
6 MaLoai nvarchar 10 Mã loại | Khóa ngoại | Tham chiếu
Trang 38Bảng 3.2.10: Mô tả thực thA diAm
SIT Thuộc tính | KiAu dữ| Kích thước | M6 ta} Rang bude | Ghi chú
liệu thông tin
2 MaHocSinh | nvarchar 10 Mã học | Khóa ngoại | Tham chiếu
HoTen nvarchar 30 Họ tên học | NOT
sinh NULL
Bảng 3.2.11: Mô tả thực thA hoá đơn
SIT Thuộc tính |KiAu dữ| Kích thước | M6 ta} Rang bude | Ghi chú
liệu thông tin
Trang 39phân loại nhất của chỉ chi tiết hoá tiết hoá đơn đơn
2 MaHoaDon | nvarchar 10 Mã hoá đơn | Khóa ngoại | Tham chiếu
đến bảng HOADON
3 MaDichVu | nvarchar 10 Mã dịch vụ | Khoá ngoại | Tham chiếu
đến bảng DICHVU
Bảng 3.2.12: Mô tả thực thA chị tiết hoá đơn
SIT Thuộc tính |KiAu dữ| Kích thước | M6 ta} Rang bude | Ghi chú
liệu thông tin
39