Thông tin lưu trữ của Khóa học Stt Dữ liệu Kiểu Hình thức nhập Ràng buộc 1 Mã khóa học Text Nhập từ bàn phím Primary key 2 Tên khóa học Text Nhập từ bàn phím 3 Thời gian Date Nhậ
Trang 1TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC THÀNH PHỒ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN
BÀI BÁO CÁO KẾT THÚC HỌC PHẦN CƠ SỞ DỮ LIỆU NÂNG CAO
HỆ THỐNG QUẢN LÝ SINH VIÊN
Giảng viên hướng dẫn: Phạm Minh Dũng Sinh viên thực hiện:
1 Phan Hoàng Việt 21DH114309 2 Mai Trung Kiên 19DH110421 3 Ngô Anh Hào 21DH113601
Thành phố Hồ Chí Minh, tháng 07/2023
Trang 2MỤC LỤC
DANH MỤC BẢNG 6
CHƯƠNG 1: MÔ TẢ ĐỀ TÀI 1
1.1 Giới thiệu tổng quan về đề tài: 1
2.6 Ràng buộc toàn vẹn 15
2.7 NoSQL và NewSQL: 15
2.7.1 NoSQL (Non-SQL): 15
2.7.2 NewSQL 17
2.7.2 Sự giống và khác nhau giữa NoSQL và NewSQL 18
CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 19
Trang 33.3 Lược đồ cơ sở dữ liệu quan hệ 26
3.4 Phân tích chuẩn của lược đồ quan hệ 26
1 Bảng KhoaHoc (Khóa học): 26
2 Bảng Khoa (Khoa): 26
3 Bảng Lop (Lớp): 26
4 Bảng SinhVien (Sinh viên): 27
5 Bảng LOAIGIANGVIEN (Loại giảng viên): 27
6 Bảng GIANGVIEN (Giảng viên): 27
7 Bảng MONHOC (Môn học): 27
8 Bảng DIEM (Điểm): 27
9 Bảng PHONG (Phòng): 27
10 Bảng LICHTHI (Lịch thi): 27
11 Bảng NGANH (Ngành): 27
12 Bảng NGANH_MONHOC (Bảng trung gian): 28
13 Bảng THOIKHOABIEU (Thời khóa biểu): 28
14 Bảng HOCPHI (Học phí): 28
15 Bảng HOADON (Hóa đơn): 28
16 Bảng NganhMonHoc (Bảng trung gian): 28
17 Bảng ThoiKhoaBieu (Thời khóa biểu): 28
CHƯƠNG 4 TRIỂN KHAI CƠ SỞ DỮ LIỆU TRÊN MS SQL SERVER 28
Trang 44.1 Tạo cơ sở dữ liệu 28
4.3 Cài các store procedure 37
4.3.1 Xem thông tin cá nhân của Sinh viên 37
4.3.2 Sửa thông tin cá sinh viên 37
4.3.3 Sửa thông tin cá sinh viên 38
4.3.4 Xóa thông tin sinh viên 39
4.3.5 Xem điểm 39
4.3.6 Tính điểm trung bình học kỳ 39
4.3.7 Sửa điểm sinh viên sinh viên 40
4.3.8 Xóa điểm sinh viên 40
4.3.9 Xem danh sách giảng viên dạy môn học nào 41
4.3.10 Xem học phí năm học 41
4.4 Ràng buộc cơ sở dữ liệu (trigger) 42
4.4.1 Check thời gian khoá học 42
4.4.2 Kiểm tra điểm 42
Trang 54.4.3 Kiểm tra ngày sinh 43
4.4.4.Tên sinh viên không được chứa số 44
4.4.5.Tên sinh viên phải khác nhau: 44
4.4.6.Tên giảng viên phải khác nhau 45
4.4.7.Sinh viên nữ luôn phải ít hơn nam: 46
4.4.8.Mã phòng luôn bắt đầu bằng chữ “P”: 46
4.4.9.Sinh viên phải trên 18 tuổi: 47
4.4.10.Học phí luôn > 0: 47
CHƯƠNG 5 KẾT LUẬN 49
5.1 Kết quả đạt được và chưa đạt được 49
5.1.1 Kết quả đạt được: 49
5.1.2 Kết quả chưa đạt được 49
5.2 Hướng phát triển mở rộng ứng dụng trong tương lai 49
TÀI LIỆU THAM KHẢO 50
PHỤ LỤC: 51
Trang 6DANH MỤC BẢNG
Bảng 1.1 Thông tin lưu trữ của sinh viên 5
Bảng 1.2 Thông tin lưu trữ của Môn họcLỗi! Thẻ đánh dấu không được xác định Bảng 1.3 Thông tin lưu trữ của KhoaLỗi! Thẻ đánh dấu không được xác định Bảng 1.4 Thông tin lưu trữ của Lớp 4
Bảng 1.5 Thông tin lưu trữ của Khóa học 4
Bảng 1.6 Thông tin lưu trữ của Điểm 4
Bảng 1.7 Thông tin lưu trữ của Lịch thi 4
Bảng 1.8 Thông tin lưu trữ của Phòng 5
Bảng 1.9 Thông tin lưu trữ của Học KỳLỗi! Thẻ đánh dấu không được xác định Bảng 1.10 Thông tin lưu trữ của Ngành 6
Bảng 1.11 Thông tin lưu trữ của Giảng viên 6
Bảng 1.12 Thông tin lưu trữ của LoạiGVLỗi! Thẻ đánh dấu không được xác định Bảng 1.13 Thông tin lưu trữ của Hóa đơn 7
Bảng 1.14 Thông tin lưu trữ của Học phíLỗi! Thẻ đánh dấu không được xác
định
Bảng 1.15 Thông tin lưu trữ của Thời khóa biểuLỗi! Thẻ đánh dấu không
được xác định
Bảng 1.16 Thông tin lưu trữ của Dự ánLỗi! Thẻ đánh dấu không được xác
định
Trang 7CHƯƠNG 1: MÔ TẢ ĐỀ TÀI 1.1 Giới thiệu tổng quan về đề tài:
Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của các quốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa và hiện đại hoá như nước ta Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ kỹ thuật số, yêu cầu muốn phát triển thì phải tin học hoá tất cả các ngành, các lĩnh vực
Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần mềm ngày càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả cho con người Các phần mềm hiện nay ngày càng mô phỏng được rất nhiều nghiệp vụ khó khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lý nhanh chóng, và một số nghiệp vụ được tự động hoá cao
Ví dụ như việc quản lý điểm số học sinh trong trường trung đại học Nếu không có sự hỗ trợ của tin học, việc quản lý này phải cần khá nhiều người, chia thành nhiều khâu, mới có thể quản lý được toàn bộ hồ sơ học sinh (thông tin, điểm số, học bạ,…), lớp học (sỉ số, giáo viên chủ nhiệm,…), giáo viên,… cũng như các nghiệp vụ tính điểm trung bình, xếp loại học lực cho học sinh toàn trường (số lượng học sinh có thể lên đến hàng ngàn) Các công việc này đòi hỏi nhiều thời gian và công sức, mà sự chính xác và hiệu quả không cao, vì đa số đều làm bằng thủ công rất ít tự động
Một số nghiệp vụ như tra cứu, thống kê, và hiệu chỉnh thông tin khá vất vả Ngoài ra còn có một số khó khăn về vấn đề lưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém,… Trong khi đó, các nghiệp vụ này hoàn toàn có thể tin học hoá một cách dễ dàng Với sự giúp đỡ của tin học, việc quản lý học vụ sẽ trở nên đơn giản, thuận tiện, nhanh chóng và hiệu quả hơn rất nhiều
1.2 Khảo sát hiện trạng:
Trường Đại Học Tôn Đức Thắng -–Website: https://tdtu.edu.vn/
Trang 8Trang tổng quát các chức năng dành cho sinh viên
Trang tổng quát các chức năng dành cho sinh viên
Trường Đại Học Nguyễn Tất Thành – Website: https://ctsv.ntt.edu.vn/
Trang đăng nhập hệ thống dành cho sinh viên
Trang 9Trang xem thời khoá biểu
Trang thông tin cá nhân của sinh viên
Trang danh sách các học phần có thể đăng ký học kỳ tiếp theo
Trang 10Trang danh sách các học phần đã đăng ký
Chức năng xem lịch thi cá nhân
1.3 Các thông tin cần lưu trữ của đề tài
Bảng 1.1 Thông tin lưu trữ của Khóa học
1 Mã khóa học Text Nhập từ bàn phím Primary key 2 Tên khóa học Text Nhập từ bàn phím
3 Thời gian Date Nhập từ bàn phím
Bảng 1.1 Thông tin lưu trữ của Môn học
1 Mã môn học Text Nhập từ bàn phím Primary key 2 Tên môn học Text Nhập từ bàn phím
3 Số tiết Int Nhập từ bàn phím 5 Số tín chỉ Int Nhập từ bàn phím
Bảng 1.2 Thông tin lưu trữ của Khoa
1 Mã khoa Text Nhập từ bàn phím Primary key 2 Tên khoa Text Nhập từ bàn phím
Trang 11Bảng 1.4 Thông tin lưu trữ của Khoa-Môn học
1 Mã khoa Text Nhập từ bàn phím Primary key 2 Mã môn học Text Nhập từ bàn phím Primary key
Bảng 1.5 Thông tin lưu trữ của Lớp
1 Mã lớp Text Nhập từ bàn phím Primary key 2 Tên lớp Text Nhập từ bàn phím
3 Mã khoa Text Nhập từ bàn phím Foreign key
Bảng 1.6 Thông tin lưu trữ của Sinh viên
1 Mã sinh viên Text Nhập từ bàn phím Primary key 2 Tên sinh viên Text Nhập từ bàn phím
3 Giới tính Text Nhập từ bàn phím 4 Ngày sinh Date Nhập từ bàn phím 5 Quê quán Text Nhập từ bàn phím
6 Mã khóa học Text Nhập từ bàn phím Foreign key 7 Mã lớp Text Nhập từ bàn phím Foreign key
Bảng 1.7 Thông tin lưu trữ của Loại giảng viên
Trang 121 Mã Loại Text Nhập từ bàn phím Primary key 2 Tên Loại Text Nhập từ bàn phím
Bảng 1.8 Thông tin lưu trữ của Giảng viên
1 Mã Giảng viên Text Nhập từ bàn phím Primary key 2 Tên Giảng viên Text Nhập từ bàn phím
3 Mã loại Text Nhập từ bàn phím Foreign key
Bảng 1.9 Thông tin lưu trữ của Môn học - Giảng viên
1 Mã Giảng viên Text Nhập từ bàn phím Primary key 2 Mã môn học Text Nhập từ bàn phím Primary key
Bảng 1.10 Thông tin lưu trữ của Điểm
1 Mã sinh viên Text Nhập từ bàn phím Primary key 2 Mã môn học Text Nhập từ bàn phím Primary key 3 Học kì Int Nhập từ bàn phím Primary key 4 Điểm Int Nhập từ bàn phím
Bảng 1.11 Thông tin lưu trữ của Phòng
1 Mã phòng Text Nhập từ bàn phím Primary key 2 Tên phòng Text Nhập từ bàn phím
Bảng 1.12 Thông tin lưu trữ của Môn học - Phòng
1 Mã môn học Text Nhập từ bàn phím Primary key 2 Mã phòng Text Nhập từ bàn phím Primary key
Bảng 1.13 Thông tin lưu trữ của Lịch thi
Trang 131 Mã môn học Text Nhập từ bàn phím Primary key 2 Mã phòng Text Nhập từ bàn phím Primary key 3 Ngày thi Date Nhập từ bàn phím
Bảng 1.14 Thông tin lưu trữ của Ngành
1 Mã ngành Text Nhập từ bàn phím Primary key 2 Tên ngành Text Nhập từ bàn phím
3 Mã khoa Text Nhập từ bàn phím Foreign key
Bảng 1.3 Thông tin lưu trữ của Thời khóa biểu
1 Mã sinh viên Text Nhập từ bàn phím Foreign key 2 Mã môn học Text Nhập từ bàn phím Foreign key 3 Ngày bắt đầu Date
4 Ngày kết thúc Date
Bảng 1.16 Thông tin lưu trữ của Học phí
1 Năm học Text Nhập từ bàn phím Primary key 2 Gia Int Nhập từ bàn phím
Bảng 1.17 Thông tin lưu trữ của Hóa đơn
1 Mã môn học Text Nhập từ bàn phím Primary Key 2 Năm học Int Nhập từ bàn phím Primary Key 3 Mã sinh viên Date Nhập từ bàn phím Primary Key 4 Tổng tiền Text Nhập từ bàn phím
Trang 141.4 Các yêu cầu khác
o Yêu cầu tìm kiếm: Trình bày cụ thể các thao tác tìm kiếm cần có trong đề tài bao gồm các từ khóa cần tìm và kết quả cần thể hiện
- Thông tin sinh viên:
▪ Hiển thị mã sinh viên, tên sinh viên, địa chỉ,giới tính, ngày sinh - Thông tin về lớp :
▪ Hiển thị mã lớp, tên lớp mà sinh viên đang học - Thông tin về khóa học
▪ Hiển thị khóa học của sinh viên để biết sinh viên thuộc khóa nào - Thông tin về khoa:
▪ Hiển thị khoa mà sinh viên đang theo - Thông tin về điểm :
▪ Hiển thị điểm của cá nhân sinh viên theo từng đợt (đợt 1, đợt 2) ▪ Hiển thị điểm trung bình của sinh viên
- Thông tin về môn học:
▪ Hiển thị danh sách các môn học mà có sự tham gia của sinh viên o Các công thức tính toán cho các xử lý
o Tính toán điểm trung bình của sinh viên
▪ Điểm trung bình = (Tổng điểm của các môn học) / Tổng số môn o Tính toán tổng số tín chỉ đã học
▪ Tổng số tín chỉ = SUM( Số tín chỉ của môn học 1, Số tín chỉ của môn học I)
• Trong đó số tín chỉ của môn học I là số tỉn chỉ của môn học thứ I mà sinh viên đã hoàn thành
o Tính toán điển GPA (Điểm trung bình dựa trên hệ số 4) ▪ GPA = (Tổng (Số tín chỉ * Điểm) ) / Tổng số tín chỉ đã học ▪ Kết quả trả về dựa trên thang điểm 4 mà từ đó ra được danh hiệu: • A: 4.0 điểm
Trang 15• B+: 3.5 điểm • B: 3.0 điểm • C+: 2.5 điểm • C: 2.0 điểm • D+: 1.5 điểm • D: 1.0 điểm
• F: 0 điểm (không hoàn thành) o Tính toán số tín chỉ còn thiếu:
▪ Số tín chỉ còn thiếu = Tổng số tín chỉ yêu cầu – Tổng số tín chỉ đã học o Tính toán tỉ lệ sinh viên thôi học:
▪ Tỉ lệ sinh viên thôi học = Số sinh viên thôi học / Tổng số sinh viên o Các biểu đồ/ đồ thị, các báo cáo theo tháng, quý hay năm, v.v… - Biểu đồ số lượng sinh viên theo năm học:
o Loại biểu đồ: Cột, đường, hoặc vòng tròn o Trục x: Các năm học
o Trục y: Số lượng sinh viên
- Biểu đồ tỷ lệ sinh viên theo giới tính: o Loại biểu đồ: Vòng tròn hoặc cột o Phân loại: Nam, nữ
o Phần trăm sinh viên nam và nữ
- Biểu đồ điểm trung bình theo năm học: o Loại biểu đồ: Đường
o Trục x: Các năm học o Trục y: Điểm trung bình
1.5 Bố cục báo cáo
- Báo cáo danh sách sinh viên xuất sắc:
o Hiển thị danh sách các sinh viên có GPA cao nhất o Có thể sắp xếp theo thứ tự giảm dần của GPA - Báo cáo danh sách sinh viên bị kỷ luật:
o Hiển thị danh sách sinh viên bị kỷ luật và loại kỷ luật tương ứng
Trang 16o Có thể sắp xếp theo thứ tự tăng dần của mã sinh viên hoặc thời gian kỷ luật
- Biểu đồ phân bố điểm theo môn học: o Loại biểu đồ: Cột hoặc đường
o Trục x: Các môn học
o Trục y: Số lượng sinh viên hoặc phần trăm sinh viên theo từng khoảng điểm
- Báo cáo tổng kết kết quả học tập theo kỳ học:
o Hiển thị kết quả học tập của từng sinh viên trong kỳ học
o Bao gồm thông tin về môn học, điểm số, số tín chỉ, và kết quả (đạt/ không đạt)
- Báo cáo danh sách sinh viên nợ học phí:
o Hiển thị danh sách sinh viên chưa thanh toán học phí
o Có thể sắp xếp theo thứ tự tăng dần của mã sinh viên hoặc số tiền nợ
Trang 17CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Mô hình thực thể kết hợp
▪ Mô hình ERD
Trang 202.2 Phụ thuộc hàm
▪ Trong cơ sở dữ liệu, phụ thuộc hàm (functional dependency) là một khái niệm quan trọng liên quan đến việc mô tả mối quan hệ giữa các thuộc tính trong một bảng (table) dữ liệu Đây là một khái niệm cơ bản trong lý thuyết thiết kế cơ sở dữ liệu và giúp xác định quy tắc về việc thêm, sửa đổi hoặc xóa dữ liệu một cách hợp lý để tránh việc dữ liệu bị mất mát hoặc không nhất quán
▪ Một phụ thuộc hàm xảy ra khi một tập hợp của các thuộc tính trong một bảng xác định một cách duy nhất giá trị của một tập hợp khác của các thuộc tính Cụ thể, nếu trong một bảng có hai tập hợp thuộc tính A và B, ta nói A phụ thuộc hàm vào B (được ký hiệu là A -> B) nếu mỗi giá trị của A đối với thuộc tính A luôn xác định một giá trị duy nhất của thuộc tính B
- Dạng chuẩn 3: Các thuộc tính không phụ thuộc bắc cầu vào khóa
- Dạng chuẩn (BCK): Các thuộc tính không khóa không phụ thuộc lẫn nhau - Dạng chuẩn 4: Không cho phép phụ thuộc đa trị không rõ ràng
2.4 Bảo toàn thông tin
- Bảo mật cơ sở dữ liệu là những biện pháp, những cách thức khác nhau mà các doanh nghiệp, tổ chức áp dụng và thực hiện để bảo vệ hệ thống an toàn thông tin cũng như cơ sở dữ liệu của mình khỏi các mối đe doạ từ những cuộc tấn công an ninh mạng cả bên ngoài và bên trong cũng như thực thi các giải pháp data lose prevention nhằm ngăn chặn dữ liệu bị đánh cắp
2.5 Lập trình CSDL
- Lập trình cơ sở dữ liệu (Database Programming) là quá trình tương tác với cơ sở dữ liệu để truy xuất, thêm, sửa đổi và xóa dữ liệu bằng cách sử dụng các ngôn ngữ lập trình và các giao thức/đối tượng liên quan Điều này cho phép ứng
Trang 21dụng và hệ thống có thể tương tác với dữ liệu trong cơ sở dữ liệu, giúp quản lý và xử lý thông tin một cách hiệu quả
2.6 Ràng buộc toàn vẹn
NOT NULL Sử dụng để đảm bảo dữ liệu của cột không được nhận giá trị NULL
DEFAULT Gán giá trị mặc định trong trường hợp dữ liệu của cột không được nhập vào hay không được xác định
UNIQUE Sử dụng để đảm bảo dữ liệu của cột là duy nhất, không trùng lặp giá trị trên cùng 1 cột
PRIMARY KEY (Khóa chính)
Dùng để thiết lập khóa chính trên bảng, xác định giá trị trên tập các cột làm khóa chính phải là duy nhất, không được trùng lặp Việc khai báo ràng buộc khóa chính yêu cầu các cột phải NOT NULL
FOREIGN KEY (Khóa ngoại)
Dùng để thiết lập khóa ngoại trên bảng, tham chiếu đến bảng khác thông qua giá trị của cột được liên kết Giá trị của cột được liên kết phải là duy nhất trong bảng kia
CHECK Bảo đảm tất cả giá trị trong cột thỏa mãn điều kiện nào đó Đây là hình thức sử dụng phổ biến để kiểm tra tính hợp lệ của dữ liệu (validate data)
2.7 NoSQL và NewSQL:
NoSQL và NewSQL là hai thuật ngữ được sử dụng trong lĩnh vực cơ sở dữ liệu để chỉ đến hai hướng tiếp cận khác nhau trong việc quản lý dữ liệu Trong phần này, chúng ta sẽ trình bày rõ các khái niệm, công cụ và ví dụ tương ứng cho NoSQL và NewSQL
2.7.1 NoSQL (Non-SQL):
- Khái niệm: NoSQL là một từ viết tắt của "Not Only SQL", chỉ các hệ quản trị cơ sở dữ liệu không phụ thuộc hoặc không sử dụng SQL (Structured Query Language) để truy vấn dữ liệu NoSQL tập trung vào việc xử lý lượng lớn dữ liệu phi cấu trúc và có khả năng mở rộng tốt
Trang 22- Các công cụ NoSQL:
a MongoDB: Là một hệ quản trị cơ sở dữ liệu không SQL phổ biến, lưu trữ dữ liệu dưới dạng tài liệu JSON (BSON) MongoDB cho phép truy vấn linh hoạt, mở rộng dễ dàng và hỗ trợ replica sets và sharding
b Cassandra: Được phát triển bởi Facebook, Cassandra là một cơ sở dữ liệu phân tán được thiết kế để xử lý lượng lớn dữ liệu trên nhiều máy chủ Nó có khả năng mở rộng tuyến tính và cung cấp khả năng chịu lỗi cao
c Redis: Redis là một cơ sở dữ liệu key-value in-memory Nó hỗ trợ các kiểu dữ liệu phức tạp như list, set, và hash, và được sử dụng phổ biến để lưu trữ dữ liệu tạm thời và cache
- Ví dụ: Giả sử chúng ta có một ứng dụng xử lý dữ liệu người dùng, trong đó thông tin người dùng được lưu trữ dưới dạng tài liệu JSON Chúng ta có thể sử dụng MongoDB để lưu trữ và truy vấn dữ liệu này một cách linh hoạt và mở rộng khi cần thiết
// Ví dụ về bảng "khoa" trong MongoDB Db.khoa.insertMany
Trang 232.7.2 NewSQL
- Khái niệm: NewSQL là một thuật ngữ đề cập đến hệ thống cơ sở dữ liệu mới, kết hợp tính năng của SQL và khả năng mở rộng của NoSQL Mục tiêu của NewSQL là cung cấp tính nhất quán và đáng tin cậy của SQL, đồng thời vẫn duy trì khả năng mở rộng tương tự như NoSQL
- Các công cụ NewSQL:
a CockroachDB: CockroachDB là một cơ sở dữ liệu phân tán, hỗ trợ SQL và có khả năng mở rộng tuyến tính Nó được xây dựng trên mô hình phi cấu trúc và có khả năng chịu lỗi cao
b Google Spanner: Spanner là một cơ sở dữ liệu phân tán được phát triển bởi Google Nó kết hợp tính nhất quán của SQL với khả năng mở rộng của NoSQL Spanner cung cấp khả năng đọc ghi toàn cầu và đáng tin cậy trên nhiều vùng địa lý
Ví dụ bảng "khoa" trong CockroachDB CREATE TABLE khoa (
makhoa VARCHAR(10) NOT NULL PRIMARY KEY, tenkhoa STRING NOT NULL
Trang 24('10', 'Khoa Địa lý');
2.7.2 Sự giống và khác nhau giữa NoSQL và NewSQL
Mô hình dữ liệu Cơ sở dữ liệu quan hệ truyền thống
Dữ liệu phi cấu trúc hoặc bán cấu trúc
Ngôn ngữ truy vấn
Sử dụng sql truyền thống Sử dụng ngôn ngữ truy vấn riêng biệt (ví dụ: BSON, CQL)
Độ nhất quán Đảm bảo ACID (Atomicity, Consistency, Isolation, Durability)
Chấp nhận tính nhất quán yếu (eventual consistency)
Đặc điểm sử dụng
Tính nhất quán cao, mô hình quan hệ truyền thống
Xử lý dữ liệu lớn, lưu trữ phi cấu trúc, khả năng mở rộng
Tóm lại, NoSQL và NewSQL có những sự giống nhau về tính mở rộng, khả năng chịu lỗi và tính linh hoạt Tuy nhiên, chúng khác nhau về mô hình dữ liệu, ngôn ngữ truy vấn, độ nhất quán và đặc điểm sử dụng Lựa chọn giữa hai phương pháp này phụ thuộc vào yêu cầu cụ thể của dự án và ứng dụng
Trang 25CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 3.1 Mô hình thực thể kết hợp
Trang 28
3.2 Mô tả các thực thể 3.2.1 KHOAHOC
▪ Thông tin thuộc tính
1 MaKH char 10 Primary key Mã khóa
3.2.2 KHOA
▪ Thông tin thuộc tính
1 MaKHOA char 10 Primary key Mã khoa
3.2.3 MONHOC
▪ Thông tin thuộc tính
1 MaMH char 10 Primary key Mã môn
3.2.4 KHOA_MONHOC
▪ Thông tin thuộc tính
1 MaMH char 10 Primary key Mã môn 2 MaKhoa char 10 Primary key Mã khoa
3.2.5 LOP
▪ Thông tin thuộc tính
1 MaLOP char 10 Primary key Mã lớp