Mỗi trạm điện được đặt tên dựa vào địa danh nơi đặt trạm.Tên trạm có thể trùng giữa các trạm trong các chi nhánh khác nhau, nhưng trong mộtchi nhánh không có trạm trùng tên.. Tất cả điện
Trang 1GVHD: ThS Nguyễn Đức Cương
Trang 2
Hồ Chí Minh, tháng 5 năm 2023DANH SÁCH THÀNH VIÊN NHÓM 8
MSSVHọ và tênCông việc được phân côngMức độ hoànthành (%)
Phần A (Xây dựng mô hình ER, Vẽlược đồ ER, 2 DELETE)
Phần A (Xây dựng mô hình ER, càiđặt CSDL – tạo database trên
SSMS, 2 SELECT)Phần B (Câu 2, câu 3)
100%
Trang 3Phần A (Xây dựng mô hình ER, càiđặt CSDL – tạo database trên
SSMS, 2 SUB QUERY)Phần B (Câu 6, câu 7)
100%
Trang 4Mục lục
Phần A: Xây dựng lược đồ ERD và tạo CSDL 1
Câu 1: Xây dựng mô hình ER 1
Câu 2: Lược đồ quan hệ 2
Câu 3: Cài đặt lược đồ quan hệ vào trong hệ quản trị CSDL SQL Server – nhập liệu mỗi bảng 2
Câu 4: Câu hỏi truy vấn 4
Phần B: Chuẩn hóa dữ liệu cá nhân 6
to read later onyour computer
Save to a Studylist
Trang 5Phần A: Xây dựng lược đồ ERD và tạo CSDL
Bài 9: Hệ thống quản lý việc sử dụng điện trong một công ty điện lực tại một
thành phố Công ty có nhiều chi nhánh Mỗi chi nhánh có tên chi nhánh (khóa), địađiểm Mỗi chi nhánh quản lý việc phân phối điện từ nhiều trạm điện Một trạm điệnchỉ thuộc một chi nhánh Mỗi trạm điện được đặt tên dựa vào địa danh nơi đặt trạm.Tên trạm có thể trùng giữa các trạm trong các chi nhánh khác nhau, nhưng trong mộtchi nhánh không có trạm trùng tên
Mỗi khách hàng có thể thuê bao nhiều điện kế Một điện kế chỉ thuộc mộtkhách hàng Thông tin về khách hàng cần có mã khách hàng (khóa), tên, địa chỉ, sốđiện thoại Một điện kế sử dụng điện từ một trạm điện Tất cả điện kế của một kháchhàng chỉ sử dụng điện từ các trạm do một chi nhánh quản lý Số của điện kế được đặtkhông trùng nhau trong toàn thành phố
Mỗi định kỳ (hàng tháng), nhân viên ghi điện sẽ ghi chỉ số của điện kế Số kwhmột điện kế sử dụng trong tháng mới nhất là hiệu giữa chỉ số mới nhất và chỉ số thángtrước Tất cả các chỉ số hàng tháng đều được lưu giữ Mỗi chỉ số được ghi cần kèmthêm thông tin là tên của nhân viên ghi điện.
Câu 1: Xây dựng mô hình ER
Trang 6Câu 2: Lược đồ quan hệ
CHINHÁNH (tên chi nhánh, địa điểm)TRẠMĐIỆN (tên trạm điện, tên chi nhánh)
KHÁCHHÀNG (mã khách hàng, tên khách hàng, địa chỉ, số điện thoại)ĐIỆN (mã điện kế, mã khách hàng, tên trạm điện, chỉ số)KẾ
CHỈSỐĐIỆN KẾ (mã chỉ số điện kế, mã điện kế, chỉ số KWH, ngày tháng năm, tên nhân viên)
Câu 3: Cài đặt lược đồ quan hệ vào trong hệ quản trị CSDL SQL Server – nhập liệu mỗi bảng
CREATE DATABASE QLSDDGO
USE QLSDDGO
CREATE TABLE CHINHANH (
TENCHINHANH NVARCHAR(50) PRIMARY KEY,DIADIEM NVARCHAR(50)
TENTRAMDIEN NVARCHAR(50)PRIMARY KEY,TENCHINHANH NVARCHAR(50),
FOREIGNKEY (TENCHINHANH)REFERENCESCHINHANH TENCHINHANH( )
Trang 7(N'Trạm điện B1',N'Chi nhánh B'),(N'Trạm điện B2',N'Chi nhánh B'),(N'Trạm điện C1',N'Chi nhánh C'),(N'Trạm điện C2',N'Chi nhánh C'),(N'Trạm điện D1',N'Chi nhánh D'),(N'Trạm điện D2',N'Chi nhánh D'),(N'Trạm điện D3',N'Chi nhánh D'),(N'Trạm điện E1',N'Chi nhánh E'),(N'Trạm điện E2',N'Chi nhánh E'),(N'Trạm điện E3',N'Chi nhánh E')CREATE TABLE KHACHHANG(
MAKHACHHANG INT PRIMARY KEY,TENKHACHHANG NVARCHAR( ),50DIACHI NVARCHAR( ),50
SODIENTHOAI VARCHAR( )10)
INSERT INTO KHACHHANG
(MAKHACHHANG,TENKHACHHANG DIACHI, ,SODIENTHOAI)VALUES
(1,N'Nguyễn Thanh Tùng',N'Địa chỉ A1',210205134),(2,N'Trần Thịnh Đức' N'Địa chỉ A2', ,692987958),(3,N'Lê Thanh Huyền' N'Địa chỉ B1', ,751725992),(4,N'Phạm Thịnh Minh',N'Địa chỉ B2',852557473),(5,N'Phạm Nhật Vượng' N'Địa chỉ C1', ,833923519),(6,N'Trần Đình Long' N'Địa chỉ C1', ,123750242),(7,N'Đoàn Nguyên Đức',N'Địa chỉ C2',974497222),(8,N'Mai Kiều Liên',N'Địa chỉ D1',619060063),(9,N'Hồ Hùng Anh' N'Địa chỉ D2', ,695619995),(10,N'Nguyễn Đăng Quang' N'Địa chỉ D2', ,0367590752),(11,N'Phạm Thanh Hưng' N'Địa chỉ D3', ,485582802),(12,N'Lê Hoàng Quân',N'Địa chỉ E1',711711292),(13,N'Nguyễn Thanh Phương',N'Địa chỉ E2',508516181),(14,N'Trần Kim Thành' N'Địa chỉ E3', ,0152954429)CREATE TABLE DIENKE
MADIENKE INT PRIMARY KEY,MAKHACHHANG INT,
TENTRAMDIEN NVARCHAR( ),50CHISO FLOAT,
FOREIGNKEY (MAKHACHHANG)REFERENCESKHACHHANG MAKHACHHANG( ),
FOREIGN KEY (TENTRAMDIEN) REFERENCESTRAMDIEN TENTRAMDIEN( )
)
Trang 8INSERT INTO DIENKE
(MADIENKE,MAKHACHHANG TENTRAMDIEN CHISO, , )VALUES
(1 5, ,N'Trạm điện C1',2500),(2 2, ,N'Trạm điện A2',5000),(3 8, ,N'Trạm điện D1',1800),(4 14, ,N'Trạm điện E3',3800),(5 11, ,N'Trạm điện D3',7600),(6 9, ,N'Trạm điện D2',1000)CREATE TABLE CHISODIENKE(
MACHISODIENKE INT PRIMARY KEY,MADIENKE INT,
CHISOKWH FLOAT,NGAYTHANGNAM DATE,TENNHANVIEN NVARCHAR( ),50
FOREIGNKEY (MADIENKE)REFERENCES DIENKE(MADIENKE))
INSERT INTO CHISODIENKE
(MACHISODIENKE,MADIENKE CHISOKWH NGAYTHANGNAM TENNHANV, , ,IEN)
VALUES
(1 6, ,1000,'2023-05-01' N'Lê Thu Thủy', ),(2 2, ,5000,'2023-04-01' N'Lê Anh Tuấn', ),(3 5, ,7600,'2023-04-02' N'Lê Anh Tuấn', ),(4 4, ,3800,'2023-02-01' N'Lê Thu Thủy', ),(5 1, ,2500,'2023-01-09' N'Lê Thu Thủy', ),(6 3, ,1800,'2023-04-06' N'Lê Anh Tuấn', )
Câu 4: Câu hỏi truy vấn 2 SELECT
2 UPDATE
Trang 9/*Cập nhật thông tin mới của khách hàng 14*/
2 DELETE
2 TRUY VẤN LỒNG
2 SUB QUERY
Trang 10Phần B: Chuẩn hóa dữ liệu cá nhânCâu 1: Cho lược đồ CSDL
Q(TENTAU, LOAITAU, MACHUYEN, LUONGHANG, BENCANG, NGAY )F = { TENTAU→ LOAITAU
MACHUYEN→ TENTAU,LUONGHANGTENTAU,NGAY→BENCANG,MACHUYEN}a) Hãy tìm các tập phủ tối thiểu của F
b) Tìm tất cả các khóa của Q
Giải câu a:
F = { TENTAU→LOAITAU MACHUYEN→TENTAU MACHUYEN→ LUONGHANG TENTAU,NGAY→ BENCANG TENTAU,NGAY→MACHUYEN }Ta có:
MACHUYEN→TENTAU,TENTAU→LOAITAU MACHUYEN→LOAITAU
(TENTAU) + = TENTAU,LOAITAU, không chứa BENGANG (NGÀY) + = NGAY, không chứa BENCANG
(TENTAU) + = TENTAU, LOAITAU, không chứa MACHUYEN (NGAY) + = NGAY, không chứa MACHUYEN
TENTAU,NGAY→MACHUYEN Tập phủ tối thiểu F:
F = { TENTAU -> LOAITAU MACHUYEN→TENTAU MACHUYEN→ LUONGHANG TENTAU,NGAY→ BENCANG
Trang 11TENTAU,NGAY→MACHUYEN }
Giải câu b: khoá của Q
{ TENTAU, NGAY, MACHUYEN }{ TENTAU, NGAY, BENCANG } { TENTAU, NGAY, LUONGHANG }{ TENTAU, NGAY, LOAITAU }
Vậy: X+ = X3 = {A,B,C,D,E,G}
Giải Y+
Y0 = {C,G}
Xét C A vì C Y0, suy ra Y1 = {A,C,G}, loại C A
Xét CG BD vì CG Y1, suy ra Y2 = {A,B,C,D,G}, loại CG BDXét D EG vì D Y2, suy ra Y3 = {A,B,C,D,E,G}, loại D EGXét các vế còn lại đều nằm trong Y3
Vậy: Y+ = Y3 = {A,B,C,D,E,G}
Câu 3: Cho lược đồ quan hệ Q và tập phụ thuộc hàm F
a) F={AB E; AG I; BE I; E G; GI H} Chứng minh rằng AB GH.b) F={AB C; B D; CD E ; CE GH; G A} Chứng minh rằng AB E; AB
G
Giải câu a:
Ta tìm bao đóng của ABAB+ = {ABEGHI}
Trang 12AB GH là thành viên của F+ vì GH {ABEGHI}Vậy nên ta chứng minh được AB GH
Giải câu b:
Ta tìm bao đóng của AB AB+ = {ABCDEGH}
AB E là thành viên của F+ vì E {ABCDEGH}AB G là thành viên của F+ vì G {ABCDEGH}Vậy nên ta chứng minh được AB E và AB G
Câu 4: Cho quan hệ r
Các phụ thuộc không thỏa là
A→B Vì t2[A]= t4[A] nhưng t2[B] khác t4[B] A→C Vì t2[A]= t4[A] nhưng t2[C] khác t4[C]
Câu 5: Hãy tìm tất cả các khóa cho lược đồ sau:
Q(BROKER,OFFICE,STOCK,QUANTITY, INVESTOR,DIVIDENT)F = {STOCK→DIVIDENT; INVESTOR→BROKER; INVESTOR,STOCK →QUANTITY; BROKER→OFFICE}
TN = {STOCK, INVESTOR}TG = {BROKEN}
TN+ = {STOCK, INVESTOR}+ = {STOCK, INVESTOR, DIVIDENT, BROKEN, OFFICE, QUANTITY}
Vậy: {STOCK, INVESTOR} là khóa của quan hệ.
Trang 13Câu 6: Xét lược đồ quan hệ và tập phụ thuộc dữ liệu:
F = { f1: C→ T; f2: HR→ C; f3: HT→ R; f4: CS→ G; f5: HS→R}Tìm phủ tối thiểu của F
Bước 1: Tách các quan hệ có vế phải chứa 2 thuộc tính.
Bước 2: Xét các quan hệ có vế trái chứa 2 phần tử trở lên xem có dư thừa thuộc tính nào không Nếu dư thì bỏ thuộc tính dư.
Xét HR→ C, có:H+ = {H}R+ = {R}
Không chứa C => Không dưXét HT→ R, có:
H+ = {H}T+ = {T}
Không chứa R => Không dưXét CS→ G, có:
C+ = {CT}S+ = {S}
Không chứa G => Không dưXét HS→ R, có:
H+ = {H}S+ = {S}
Không chứa R => Không dư
Bước 3: Loại bỏ thử từng quan hệ xem quan hệ nào dưLoại C→T, có:
C+ = {C} Không chứa T nên không loại đượcLoại HR→C, có:
HR+ = {HR} Không chứa C nên không loại đượcLoại HT→R, có:
HT+ = {HT} Không chứa R nên không loại được
Trang 14Xi Xi TN (Xi TN)+ Siêu khóa Khóa
Cách 2: Áp dụng hệ quả giải thuật tìm khóa của lược đồ quan hệTD = { D, H} K= Ø
TN = {A,B,C} K
K={A,B,C} là khóa duy nhất của Q
Câu 8: Q(A,B,C,D)
F={AB→C; D→B; C→ABD}Hãy tìm tất cả các khóa của Q
VT :ABCDVP:ABCDTN:{ }TG:{ABCD}
Trang 15Vậy K1 = {AB}; K2 = {AD}; K3={C} là các khóa
Câu 9: Q(A,B,C,D,E,G)
F={AB→C;C →A;BC→D;ACD→B;D→EG;BE→C;CG→BD;CE→G}Hãy tìm tất cả các khóa của Q.
Giải:
VT : ABCDEGVP:ABCDEGTN: { }TG:{ABCDEG}
Xi (TN U Xi) (TN U Xi)+ Siêukhóa
Trang 17CDG CDG ABCDEG CDG
ABCD ABCD ABCDEG ABCDABCE ABCE ABCDEG ABCEABCG ABCG ABCDEG ABCGABDE ABDE ABCDEG ABDEABDG ABDG ABCDEG ABDGABEG ABEG ABCDEG ABEGACDE ACDE ABCDEG ACDEBCDE BCDE ABCDEG BCDEBCDG BCDG ABCDEG BCDGBCEG BCEG ABCDEG BCEGBDEG BDEG ABCDEG BDEGCDEG CDEG ABCDEG CDEGABCDE ABCDE ABCDEG ABCDEABCDG ABCDG ABCDEG ABCDGABCEG ABCEG ABCDEG ABCEGABDEG ABDEG ABCDEG ABDEGACDEG ACDEG ABCDEG ACDEGBCDEG BCDEG ABCDEG BCDEG
Trang 18ABCDEG ABCDEG ABCDEG
Câu 10: Xác định phủ tối thiểu của tập phụ thuộc hàm sau:
Bước 3: Loại bỏ phụ thuộc hàm không cần thiết dựa trên quy tắc loại bỏ thuộc tính không cần thiết:
AB→C (loại bỏ C, vì C đã xuất hiện trong phụ thuộc hàm khác)C→A (loại bỏ A, vì A đã xuất hiện trong phụ thuộc hàm khác)BC→D (không cần loại bỏ)
ACD→B (không cần loại bỏ)BE→C (không cần loại bỏ)CE→AG (không cần loại bỏ)CG→BD (không cần loại bỏ)
Bước 4: Tổng hợp tất cả các phụ thuộc hàm sau quá trình loại bỏ:F' = {BC→D; ACD→B; BE→C; CE→AG; CG→BD}
Trang 19Phủ tối thiểu của tập phụ thuộc hàm F là F'={BC→D; ACD→B; BE→C; CE→AG; CG→BD}.
Bước 3: Loại bỏ phụ thuộc hàm không cần thiết dựa trên quy tắc loại bỏ thuộc tính không cần thiết:
A→C (loại bỏ C, vì C đã xuất hiện trong phụ thuộc hàm khác)B→A (loại bỏ A, vì A đã xuất hiện trong phụ thuộc hàm khác)C→A (loại bỏ A, vì A đã xuất hiện trong phụ thuộc hàm khác)B C (loại bỏ C, vì C đã xuất hiện trong phụ thuộc hàm khác)Bước 4: Tổng hợp tất cả các phụ thuộc hàm sau quá trình loại bỏ:F' = {}
Phủ tối thiểu của tập phụ thuộc hàm F là F' = {}.
ẢNH MINH CHỨNG LÀM VIỆC NHÓM