SE1424 NguyenKhanhDuy HE140102 LAB2

You might also like

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

Nguyễn Khánh Duy - HE140102 – SE1424

Lab 2
Exercise 1:
a)
TechNo  techName,deptID,department
deptID  department
schoolID school
JobNo  Date, school, schoolID
TechNo , JobNo Houseworked
Primary Key (techno,JobNo)
b)
R(TechNo,TechName, DeptID, Department, JobNo, Date, SchoolID,
School, Hoursworked)
-1NF:
Chưa là dạng 1NF vì techName chứa nhiều giá trị => để chuyển về dạng
1NF ta chia thành từng hàng khác nhau chứa tên
-2NF:
Techtable (techno, techname, depltID, department)
R1 (techno, job No,date, schoolID, school, Houseworked)
=>R1 chưa phải là dạng chuẩn 2 nên lại tiếp tục tách R1
Job(JobNo ,Date, school, schoolID)
TechJob(techno,jobno,houseworked)
=> chia dưới dạng chuẩn 2NF thành 3 bảng là : Techtable, Job,
TechJob
-3NF:
Các thuộc tính ko khóa ko phụ thuộc trực tiếp vào khóa chính
Bảng Techtable vi phạm dạng chuẩn 3 vì department phụ thuộc bắc cầu
vào khóa chính
=>Chia thành bảng
+) dept ( DeptID, Department)
+) tech ( TechNo, TechName, DeptID)
Bảng job vi phạm dạng chuẩn 3 vì department phụ thuộc vào deptID
=>Chia thanh bảng :
+) school(schoolID, school)
+) jobtable(JobNo ,Date, schoolID)
Bảng TechJob thỏa mãn dạng chuẩn 3:
TechJob(techno,jobno,houseworked)
=> chia dưới dạng chuẩn 3 thành 5 bảng là: TechJob , school, jobtable,
dept , tech
c) BCNF
schoolID  school
=>Chia R thành:
−R 1¿ =(schoolID,school)

−R 2 ¿=( deptID, department)

R3(SchoolID,techoNo,techName, DeptID,Date, Hourworked ,JobNo)


=>Các phụ thuộc hàm của R2 là:
TechNo  techName,deptID
JobNo  Date, schoolID
TechNo , JobNo Houseworked
=>R3 chưa là BCNF
=>Tiếp tục chia R3 thành:
R4(TechNo , JobNo,Houseworked)
R5(JobNo ,Date, schoolID)
R6(TechNo, techName,deptID)
Exercise 2:
 PatientCode ( PatientCode, Social Security Number, date, time,
phone,address, email, occupation, Emergency Contact,
MainReasonForToday’sVisit)
 Patient ( Social Security Number, name, DateofBirth, sex)
 DateOfBirth( DateOfBirth, Age)
 EmergencyContact ( EmergencyContact, Name, Relation, Phone
number )
 R1 ( PatientCode, No, CodeTest )
 R2 ( CodeTest, NameTest, Price, Discount, Result, CodeDoctor )
 R3 ( CodeDoctor, nameDoctor)
 R4 ( Indication, codeMedicine, Quantity )
 R5 ( CodeMedicine, NameMedicine, Unit, unitPrice )
 R6 ( Quantity, UnitPrice, Amount )
 R7 ( Result, Indication )

You might also like