Bai 3 de Cuong Bai Giang

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Bài 3.

Mô hình dữ liệu mức logic


- Mục đích: Cung cấp cho sinh viên kiến thức về thiết kế cơ sở dữ liệu logic.
- Yêu cầu: Sinh viên nắm được các bước thiết kế 1 cơ sở dữ liệu mức logic, biết
cách thiết kế 1 csdl theo 2 cách tiếp cận từ trên xuống và từ dưới lên; biết cách
Tích hợp kết quả từ hai cách tiếp cận
- Hình thức tổ chức dạy học: Lý thuyết, tự học
- Thời gian: Lý thuyết( trên lớp: 2; online: 2) Tự học, tự nghiên cứu: 6
- Nội dung chính:
1. Các bước tiến hành thiết kế CSDL

Các yêu cầu dữ liệu


Phân
tích Mô hình hóa dữ liệu

Các quan hệ ứng cử


Thiết kế
logic Chuẩn hóa quan hệ

Các bảng trong CSDL


quan hệ
Thiết kế vật lý
Hỗ trợ cài đặt vật lý dữ
liệu

• Phân tích dữ liệu yêu cầu:


– Thực hiện đồng thời với mô hình hóa dữ liệu
– Tìm hiểu về nghiệp vụ và các quy tắc nghiệp vụ
• Mô hình hóa dữ liệu:
– Xây dựng mô hình thực thể liên kết
– Xây dựng từ điển dữ liệu
• Xác định các quan hệ ứng cử: Chuyển từ mô hình thực thể liên kết thành mô
hình quan hệ (bản ghi logic)
• Chuẩn hóa các quan hệ: Chuẩn hóa các quan hệ ít nhất về dạng chuẩn 3 (3NF)
(bản ghi logic)

1
• Các bảng trong CSDL quan hệ: quyết định cấu trúc thực sự của bảng của
CSDL quan hệ
• Hỗ trợ các cài đặt vật lý trong CSDL: Thiết kế các bảng dựa trên một hệ quản
trị CSDL cụ thể
2. Mô hình hóa dữ liệu
Mô hình hóa dữ liệu là quá trình xây dựng biểu đồ thực thể liên kết (Entity
Relationship Diagram-ERD) từ các yêu cầu về dữ liệu và quy tắc nghiệp vụ trong
giai đoạn 1. ERD bắt đầu bằng cách xác định bằng trực giác các đối tượng quan trọng
(hay các thực thể) dựa vào những dữ liệu mà hệ thống lưu giữ và sau đó xác định các
thuộc tính là những đặc điểm mô tả mỗi thực thể cùng với các mối quan hệ giữa các
thực thể.
Các bước xây dựng ERD
Bước 1. Xác định thực thể chính và định danh thực thể
• Xác định các thực thể chính: đối tượng thực (VD: Xe, sinh viên, máy bay…),
quan niệm (VD: hợp đồng bảo hiểm, chuyến bay) về dữ liệu cần thiết được lưu
trữ. Tên thực thể là danh từ
• Kiểm tra rằng mỗi thực thể thỏa mãn
- Có nhiều thể hiện
- Có một định danh
- Có ít nhất một thuộc tính mô tả
- Tham gia vào ít nhất một quan hệ
Bước 2. Xác định quan hệ giữa các thực thể
• Thiết lập sự tồn tại của các quan hệ (vẽ đường thẳng và đặt tên quan hệ)
• Tên của quan hệ là động từ.
• Xác định các ràng buộc về số lượng lớn nhất và nhỏ nhất các thể hiện tham gia
vào quan hệ.
- Quan hệ 1:n
• Mỗi Lớp có thể có 0, 1 hoặc nhiều Sinh viên
• Mỗi Sinh viên cần học trong một và chỉ một Lớp

2
- Quan hệ 1:1
• Mỗi Sinh viên cần phải có một và chỉ một hồ sơ
• Mỗi Hồ sơ phải thuộc về một Sinh viên

- Quan hệ n:n
• Mỗi Sinh viên có thể học 0, 1 hoặc nhiều Môn học
• Mỗi Môn học được học bởi 0, 1 hoặc nhiều Sinh viên

• Xem xét quan hệ n-n và đưa ra thực thể kết hợp (nếu có)
Bước 3. Gắn các thuộc tính mô tả cho các thực thể
• Gắn mỗi thuộc tính vào chỉ một thực thể thích hợp
• Nếu không chắc chắn là thuộc tính có thuộc thực thể hay không thì cần phải
nghiên cứu sâu hơn để quyết định
Bài tập: Vẽ ERD cho hệ thống quản lý đào tạo
Trường ĐHCNHN xây dựng hệ thống quản lý đào tạo theo tín chỉ, cho phép sinh
viên đăng ký môn học cho mỗi học kỳ. Hệ thống lưu trữ các thông tin sau:s
- Sinh viên khi nhập học được phân vào các lớp hành chính để quản lý. Thông
tin về sinh viên bao gồm mã sv, Họ tên sv, Ảnh, Ngày sinh, gi ới tính, n ơi sinh,
Số CMT, Ngày cấp, Địa chỉ liên hệ, ĐT. Thông tin về lớp Lớp: Mã lớp, Tên
lớp, khóa, Bậc đào tạo, ngành học, Giáo viên chủ nhiệm. Mỗi sinh viên thuộc 1
lớp, 1 lớp có nhiều sinh viên.
- Mỗi lớp thuộc một ngành đào tạo nào đó. Một ngành có thể m ở nhi ều l ớp.
Thông tin về ngành bao gồm Mã ngành, tên ngành, bậc đào tạo, S ố h ọc k ỳ đào
tạo
- Trước khi học kỳ mới bắt đầu phòng Đào tạo căn cứ vào tiến độ đào tạo, mở
các lớp học phần cho học kỳ đó. Thông tin của các lớp h ọc ph ần bao g ồm Mã
lớp, Tên lớp học phần, Phòng học, Ngày bắt đầu, TKB, Thời gian thi, Số lượng
3
SV tối đa, Số lượng sinh viên đăng ký, Giáo viên dạy. Mỗi l ớp h ọc ph ần được
mở cho 1 môn học. Mỗi môn học có thể mở 0,1 hoặc nhi ều lớp h ọc ph ần..
Thông tin về môn học bao gồm mã môn học, Tên môn học, Hình thức đánh
giá, Số TC, Bậc đào tạo.
- Mỗi lớp học phần được phân công cho 1 giáo viên dạy, Mỗi giáo viên d ạy
nhiều lớp học phần. Thông tin về giáo viên bao gồm: Mã giáo viên, H ọ tên,
Ngày sinh, Giới tính, Địa chỉ, Điện thoại
- Trước khi học kỳ mới bắt đầu 1 tháng, mỗi sinh viên có th ể đăng ký h ọc t ừ 6
đến 8 lớp học phần mở cho học kỳ đó(không quá 20 tín chỉ). Mỗi lớp học phần
thông thường cho phép tối đa 80 sinh viên đăng ký học. Khi tham gia học ở
các lớp học phần sinh viên sẽ có điểm chuyên cần, điểm thường xuyên, điểm
thi giữa kỳ và điểm thi cuối kỳ

3. Xác định các quan hệ ứng cử


Các quan hệ ứng cử được xác định bẳng cách chuyển đổi từ ERD sang mô hình
quan hệ theo quy tắc sau:
• Mỗi thực thể trong ERD biểu diễn thành 1 quan hệ ( bản ghi logic)
• Mỗi thuộc tính trong ERD biểu diễn thành 1 thuộc tính trong quan hệ tương ứng
• Thuộc tính khóa trong ERD thành 1 thuộc tính khóa chính trong quan hệ tương
ứng
• Đối với quan hệ:
- Quan hệ 1-1: Có 2 cách chuyển đổi:
 Cách 1: Lấy khóa chính của bảng này sang làm khóa ngoại bảng kia

4
hoặc ngược lại
 Cách 2: Gộp 2 bảng làm 1, xác định lại thuộc tính khóa
- Quan hệ 1-N: Lấy thuộc tính khóa chính của bảng cha sang làm thuộc tính
khóa ngoại của bảng con.
- Quan hệ N-N: Chuyển mối liên kết thành lược đồ quan hệ mới, thuộc tính
là thuộc tính của mối liên kết, khóa chính là tổ hợp khóa của hai bảng liên
quan
Bài tập: Chuyển ERD của hệ thống quản lý đào tạo trường ĐHCNHN sang mô hình
quan hệ
NGANH( MaNganh, TenNganh,BacDT, SoHocKy)
LOP(Malop,TenLop, Khoa,BacDT,GVCN,MaNganh)
SINHVIEN(MaSV, HoTenSV, Picture, NgaySinh, NoiSinh, SoCMT,NgayCap,DiaChi,DT,
MaLop)
KETQUA(MaSV, MaLopHP, DiemChuyenCan, DiemTX, DiemGiuaKy, DiemCK)
LOPHOCPHAN(MalopHP, TenLopHP, PhongHoc, NgayBD, TKB, NgayThi, MaGV,
MaMH)
GIAOVIEN(MaGV, HoTenGV, NgaySInh, GioiTinh, DiaCHi, DienThoai)
MONHOC(MaMH, TenMH, HinhThucDG, SoTC, BacDT)

4. Chuẩn hóa quan hệ


• Sử dụng luật chuẩn hóa dữ liệu để kiểm tra các quan hệ ứng cử ở bước trên đã ở
dạng chuẩn 3 (3NF) để đảm bảo không có dị thường dữ liệu (cách tiếp cận từ
trên xuống)
• Ngoài ra chuẩn hóa được xem là cách tiếp cận từ dưới lên vì nó bắt đầu với một
tập hợp các thuộc tính và tổ chức chúng thành các quan hệ có cấu trúc tốt hơn
loại bỏ dư thừa dữ liệu (có thể loại bỏ dữ liệu trùng lặp mà không làm mất mát
thông tin).
• Nguyên tắc chuẩn hóa:
- Nhóm tất cả các thuộc tính liên quan vào trong một quan hệ
- Áp dụng các luật chuẩn hoá để tách quan hệ đó thành các quan hệ có cấu
trúc tốt hơn, giảm bớt dư thừa dữ liệu.
5
Quá trình chuẩn hóa quan hệ chia thành 5 bước
• Bước 1: Lấy danh sách thuộc tính.
• Bước 2: Chuẩn hoá về dạng chuẩn 1.
• Bước 3: Chuẩn hoá về dạng chuẩn 2.
• Bước 4: Chuẩn hoá về dạng chuẩn 3.
• Bước 5: Viết quan hệ dưới dạng bản ghi logic.
Bài tập: Thiết kế CSDL mức logic cho giao diện nhập điểm

Hình 1: Giao diện Chức năng nhập điểm của Giáo viên

0NF 1NF 2NF 3NF


TenMon MalopHP MalopHP MaMH
MalopUuTien MaMH MaMH TenMon
SoTC TenMon TenMon SoTC
MalopHP MalopUuTien MalopUuTien MalopHP
HinhThucThi SoTC SoTC MalopUuTien
MaSV HinhThucThi HinhThucThi MaMH
Ho MalopHP MaSV MaSV
Ten MaSV Ho Ho
MaLopDN Ho Ten Ten
DiemTX1 Ten MaLopDN MaLopDN
MaLopDN MaLopHP MaLopHP
MaMH DiemTX1 MaSV MaSV
DiemTX1 DiemTX1

TenMH
MaLopHP MaMH
6 SoTC
PK={ MalopHP}

MaLopHP Ho

MaSV Ten

MaLopDN
PK={ MalopHP, MaSV}

DiemTX1

MONHOC(MaMH, TenMH, SoTC)


LOPHOCPHAN(MaLopHP, MaMH,MalopUuTien)
SINHVIEN(MaSV, Ho, Ten, MaLopDN)
KETQUA(MaLopHP, MaSV, DiemTX1)
Bài tập 2: Thiết kế CSDL mức logic cho giao diện “Xem kết quả học tập theo lớp
học phần”

GIAOVIEN(MaGV, HoTenGV)
MONHOC(MaMH, TenMH, HinhThucThi, TrinhDO, SoTC)
LOPDOCLAP(MaLopDocLap, MaGV,MaMH,TrangThai,MaLopUuTien)
SINHVIEN(MaSV, HoDem, Ten, MaLopDN)
KETQUA(MaLopDocLap, MaSV, TX1, TX2, TX3, TX4, TX5, TX6, TX7, TX8, TX9,

7
TX10, DiemGK, SoTN, DiemCC, ThiLan1, ThiLan2,GhiChu)

5. Các bảng trong CSDL quan hệ


Kết hợp kết quả từ hai cách tiếp cận theo nguyên tắc:
1. Kiểm tra sự thống nhất về tên gọi của các quan hệ và các thuộc tính trong hai
cách tiếp cận. Nếu cùng tên nhưng khác nghĩa thì phải đặt lại tên cho khác
nhau. Nếu cùng nghĩa nhưng khác tên thì phải đặt lại tên cho giống nhau,
2. Lấy tất cả các quan hệ khác nhau từ hai kết quả. Với hai quan hệ trùng nhau thì
lấy tất cả các thuộc tính có trong hai quan hệ từ hai kết quả. Kiểm tra lại quyết
định thuộc tính nào phù hợp để lại trong mỗi thực thể. Loại bỏ các thuộc tính
không cần thiết.
Bài tập: Hợp kết quả
Bước 1: Mô hình dữ liệu logic hợp nhất từ giao diện nhập điểm và xem kết quả:
GIAOVIEN(MaGV, HoTenGV)
MONHOC(MaMH, TenMH, HinhThucThi, TrinhDo, SoTC)
LOPHOCPHAN(MaLopHP, MaGV,MaMH,TrangThai,MaLopUuTien)
SINHVIEN(MaSV, HoDem, Ten, MaLopDN)
KETQUA(MaLopHP,MaSV, TX1, TX2, TX3, TX4, TX5, TX6, TX7, TX8, TX9, TX10,
DiemGK, SoTN, DiemCC, ThiLan1, ThiLan2, GhiChu)
Bước 2: Hợp kết quả b1 với MHCSDL chuyển từ ERD
NGANH( MaNganh, TenNganh,BacDT, SoHocKy)
LOP(Malop,TenLop, Khoa,BacDT,GVCN,MaNganh)
SINHVIEN(MaSV, HoDem, Ten, Picture, NgaySinh, NoiSinh, SoCMT, NgayCap, DiaChi,
DT, MaLop)
KETQUA(MaSV, MaLopHP, TX1, TX2, TX3, TX4, TX5, TX6, TX7, TX8, TX9, TX10,
DiemGK, SoTN, DiemCC, ThiLan1, ThiLan2, GhiChu)
LOPHOCPHAN(MalopHP, TenLopHP, PhongHoc, NgayBD, TKB, NgayThi, MaGV,
MaMH. TrangThai, MaLopUutien)
GIAOVIEN(MaGV, HoTenGV, NgaySinh, GioiTinh, DiaCHi, DienThoai)
MONHOC(MaMH, TenMH, HinhThucDG, SoTC, BacDT)
Biểu đồ ERD sau khi chỉnh sửa

8
9

You might also like