Tải bản đầy đủ (.pdf) (20 trang)

tiểu luận cuối kỳ cơ sở dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.22 MB, 20 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b> GVHD: ThS Nguyễn Đức Cương </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b> </b>

<b> Hồ Chí Minh, tháng 5 năm 2023DANH SÁCH THÀNH VIÊN NHĨM 8</b>

<b>MSSVHọ và tênCơng việc được phân cơng<sup>Mức độ hồn</sup>thành (%)</b>

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%

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

Phầ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%

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>Mục lục</b>

<b>Phần A: Xây dựng lược đồ ERD và tạo CSDL...1</b>

<b>Câu 1: Xây dựng mơ hình ER...1</b>

<b>Câu 2: Lược đồ quan hệ...2</b>

<b>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</b>

<b>Câu 4: Câu hỏi truy vấn...4</b>

<b>Phần B: Chuẩn hóa dữ liệu cá nhân...6</b>

to read later onyour computer

Save to a Studylist

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>Phần A: Xây dựng lược đồ ERD và tạo CSDL</b>

<b>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</b>

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.

<b>Câu 1: Xây dựng mơ hình ER</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Câu 2: Lược đồ quan hệ</b>

C<small>HINHÁNH</small> (tên chi nhánh, địa điểm)T<small>RẠMĐIỆN</small> (tên trạm điện, tên chi nhánh)

K<small>HÁCHHÀNG</small> (mã khách hàng, tên khách hàng, địa chỉ, số điện thoại)Đ<small>IỆN</small> (mã điện kế, mã khách hàng, tên trạm điện, chỉ số)<small>KẾ</small>

C<small>HỈSỐĐIỆN KẾ</small> (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)

<b>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</b>

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( )

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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'Đồn Ngun Đứ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( )

)

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

INSERT 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', )

<b>Câu 4: Câu hỏi truy vấn 2 SELECT </b>

<b>2 UPDATE</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

/*Cập nhật thông tin mới của khách hàng 14*/

<b>2 DELETE</b>

<b>2 TRUY VẤN LỒNG</b>

<b>2 SUB QUERY</b>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>Phần B: Chuẩn hóa dữ liệu cá nhânCâu 1</b>: 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

<b>Giải câu a:</b>

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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

TENTAU,NGAY→MACHUYEN }

<b>Giải câu b: khoá của Q </b>

{ TENTAU, NGAY, MACHUYEN }{ TENTAU, NGAY, BENCANG } { TENTAU, NGAY, LUONGHANG }{ TENTAU, NGAY, LOAITAU }

Vậy: X+ = X3 = {A,B,C,D,E,G}

<b>Giải Y+</b>

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}

<b>Câu 3: Cho lược đồ quan hệ Q và tập phụ thuộc hàm F </b>

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

<b>Giải câu a:</b>

Ta tìm bao đóng của ABAB+ = {ABEGHI}

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

AB GH là thành viên của F+ vì GH {ABEGHI}Vậy nên ta chứng minh được AB GH

<b>Giải câu b:</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

<b>Câu 4: Cho quan hệ r </b>

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]

<b>Câu 5: Hãy tìm tất cả các khóa cho lược đồ sau:</b>

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ệ.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>Câu 6: Xét lược đồ quan hệ và tập phụ thuộc dữ liệu:</b>

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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Xi 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

<b>Câu 8: Q(A,B,C,D)</b>

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}

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Vậy K1 = {AB}; K2 = {AD}; K3={C} là các khóa

<b>Câu 9: Q(A,B,C,D,E,G)</b>

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.

<b>Giải: </b>

VT : ABCDEGVP:ABCDEGTN: { }TG:{ABCDEG}

Xi (TN U Xi) (TN U Xi)+ Siêukhóa

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

CDG 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

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

ABCDEG ABCDEG ABCDEG

<b>Câu 10: Xác định phủ tối thiểu của tập phụ thuộc hàm sau:</b>

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}

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Phủ 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' = {}.

<b>ẢNH MINH CHỨNG LÀM VIỆC NHÓM</b>

</div>

×