1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO cáo CUỐI kỳ môn hệ cơ sở dữ LIỆU viết các câu lệnh SQL để thực hiện các thao tác sau

19 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Cuối Kỳ Môn Hệ Cơ Sở Dữ Liệu
Tác giả Quách Thịnh
Người hướng dẫn GV Trần Thanh Phước
Trường học Trường Đại Học Tôn Đức Thắng
Chuyên ngành Hệ Cơ Sở Dữ Liệu
Thể loại báo cáo
Năm xuất bản 2021
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 19
Dung lượng 532,23 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong quá trình thực hiện bài báo cáo, do lượng kiến thức và kinh nghiệm thực tiễn còn hạn chế nên kết quả còn nhiều thiếu sót, em kính mong nhận được ý kiến đóng góp của thầy đề từ đó b

Trang 1

BÁO CÁO CUỐI KỲ MÔN HỆ CƠ SỞ DỮ LIỆU

[]

Người hướng dẫn: GV Trần Thanh Phước

Người thực hiện: Quách Thịnh - 51800814

Lớp : 18050203

Khoá : 22

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021

Trang 2

BÁO CÁO CUỐI KỲ

MÔN HỆ CƠ SỞ DỮ LIỆU

[]

Người hướng dẫn: GV Trần Thanh Phước

Người thực hiện: Quách Thịnh - 51800814

Lớp : 18050203

Khoá : 22

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021

Trang 3

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành cùng sự tri ân sâu sắc tới toàn thể quý thầy

cô, giảng viên, viên chức đang giảng dạy và làm việc tại trường Đại học Tôn Đức Thắng, đặc biệt là quý thầy cô ở Khoa Công nghệ thông tin đã tạo điều kiện và thời gian tận tình giúp đỡ em trong quá trình thực hiện bài báo cáo này cũng như quá trình học tập tại trường.

Trên hết, em xin được tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Văn Phước – Giảng viên Khoa Công nghệ thông tin vì đã hết lòng giảng dạy, truyền đạt kiến thức quý báu đến tất cả sinh viên nói chung và bản thân em nói riêng một cách tận tình và nghiêm túc Nhờ lượng kiến thức của thầy truyền đạt mà đã giúp em hoàn thành thuận lợi bài báo cáo này nói riêng và vững vàng hơn trong lượng kiến thức khổng lồ của môn học.

Trong quá trình thực hiện bài báo cáo, do lượng kiến thức và kinh nghiệm thực tiễn còn hạn chế nên kết quả còn nhiều thiếu sót, em kính mong nhận được ý kiến đóng góp của thầy đề từ đó bản thân em có thể cải thiện kỹ năng trình bài báo một cách tinh

tế và chuẩn mực hơn trong các bài báo cáo sắp tới.

Kinh chúc thầy có nhiều sức khỏe và thành công trong công việc.

Em xin chân thành cảm ơn!

Trang 4

ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là sản phẩm đồ án của riêng tôi và được sự hướng dẫn của

TS Nguyễn Văn A; Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo.

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc.

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm

về nội dung đồ án của mình Trường đại học Tôn Đức Thắng không liên quan đến

những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có).

TP Hồ Chí Minh, ngày 18 tháng 7 năm 2021

Tác giả (ký tên và ghi rõ họ tên)

Quách Thịnh

Trang 5

Phần đánh giá của GV chấm bài

_ _ _ _ _ _ _

Tp Hồ Chí Minh, ngày tháng năm

(kí và ghi họ tên)

Trang 6

MỤC LỤC

LỜI CẢM ƠN i

Phần đánh giá của GV chấm bàị iii

MỤC LỤC 1

PHẦN 1 – Tạo bảng và thực hiện các câu lệnh SQL 3

Câu 1: Viết các câu lệnh SQL để thực hiện các thao tác sau: 3

ạ Tạo Cơ sở dữ liệu, tạo bảng có ràng buộc khó chính khóa ngoạị 3

b Thêm dữ liệu cho bảng theo đúng trình tự bên 1 trước bên nhiều saụ Mỗi bảng ít nhất 5 dòng dữ liệụ 4

Câu 2: Viết câu lệnh SQL thực hiện các yêu cầu: 5

ạ Cho biết những dữ án có nhiều nhận viên tham gia nhất 5

ORDER BY COUNT(MADA) DESC 5

b Liệt kê tất cả nhân viên và mã dữ án mà nhân viên đó tham gia, nếu nhân viên đó chưa tham giá dự án nào thì cột Mã dữ án để trống (null) 5

ORDER BY NHANVIEN.MANV 6

Câu 3: Viết các hàm : 6

ạ Viết hàm trả về số lượng dự án mà một nhân viên đã tham giạ Cho biết: Hàm có 1 tham số đầu vào là Mã nhân viên 6

SELECT * FROM CAU3ẮNV03') 6

b Viết hàm trả về danh sách gồm: Mã nhân viên, tên nhân viên, tên thân nhân của nhân viên, tổng số dự án đã tham gia, tổng số thời gian đã tham giạ Danh sách giảm dần theo tổng số dự án, nếu tổng số dự án bằng nhau thì tăng dần theo tổng số thời gian đã tham giạ 6

Câu 4 : Viết các thủ tục : 6

ạ Thêm vào một nhân viên, có kiểm tra khóa chính, khóa ngoạị 6

EXEC CAU4A 'NV12', N'Đ ườ ng Đ i Hi p', '6/3/1989', N'Ngũ ạ ệ Hành S n', N'Nam', '12000000', 'XAYDUNG' ơ 6

Trang 7

b Tăng lương cho những nhân viên có từ 3 thân nhân trở lên thêm 20.000.000 đồng Tăng 10.000.000 đồng cho nhân viên có từ 1 đến 2 thân nhân 6

EXEC CAU4B 7

Câu 5 : Viết các trigger : 7

a Xoá một nhân viên nào đó, nhưng nếu nhân viên đó có thân nhân thì không được xoá 7

b Thêm dữ liệu vào bảng Phân công theo ràng buộc sau: chỉ những nhân viên >= 30 tuổi mới được tham gia dự án từ 100 ngày trở lên 7

PHẦN 2 – Thực hiện các yêu cầu của lược đồ quan hệ 9

Câu 1 : Tìm tất cả các khóa (khóa dự tuyển) của lược đồ quan hệ 9

Câu 2 : Tìm phủ tối thiểu của tập phụ thuộc hàm 9

Câu 3 : Xác định dạng chuẩn cao nhất của lược đồ quan hệ 10

Câu 4 : Nếu lược đồ quan hệ chưa đạt dạng chuẩn BC, đưa lược đồ về dạng chuẩn BC 10

PHẦN 3 – Thực hiện vẽ mô hình ERD, chuyển mô hình ERD sang mô hình quan hệ.13 Câu 1: Viết đặc tả 13

Câu 2: Vẽ ERD 13

Câu 3: Chuyển ERD sang mô hình quan hệ 13

Trang 8

PHẦN 1 – Tạo bảng và thực hiện các câu lệnh SQL Cho lược đồ CSDL như sau:

NHANVIEN (MANV, HOTEN, NGAYSINH, DCHI, PHAI, LUONG, MAPB)

Tân từ: Mỗi nhân viên có mã số nhân viên, họ tên, ngày sinh, địa chỉ, giới tính (PHAI),

có mức lương (LUONG) và thuộc vào một phòng ban (MAPB).

THANNHAN (MANV, TENTN, PHAI, NGAYSINH, QUANHE)

Tân từ: Bảng THANNHAN lưu trữ thông tin về người thân của một nhân viên bao gồm

mã nhân viên, tên nhân nhân (TENTN), giới tính, ngày sinh và quan hệ (QUANHE) với nhân viên.

PHONGBAN (MAPB, DIADIEM) DUAN (MADA, TENDA, DIADIEM, MAPB)

Tân từ: Mỗi dự án có một mã dự án (MADA) duy nhất, tên dự án, địa điểm thực hiện

dự án, và do một phòng ban (MAPB) phụ trách.

PHANCONG (MANV, MADA, THOIGIAN)

Tân từ: Mỗi nhân viên sẽ được phân công tham gia một hoặc nhiều dự án, và thời gian tham gia các dự án của nhân viên (đơn vị tính là Ngày)

Câu 1: Viết các câu lệnh SQL để thực hiện các thao tác sau:

a Tạo Cơ sở dữ liệu, tạo bảng có ràng buộc khó chính khóa ngoại.

CREATE DATABASE BAOCAOCUOIKI

USE BAOCAOCUOIKI

CREATE TABLE PHONGBAN (

MAPB VARCHAR (10) PRIMARY KEY , DIADIEMPB NVARCHAR (100) )

CREATE TABLE DUAN (

MADA VARCHAR (10) PRIMARY KEY , TENDA NVARCHAR (50),

DIADIEMAD NVARCHAR (100), MAPB VARCHAR (10) FOREIGN KEY REFERENCES PHONGBAN (MAPB) )

CREATE TABLE NHANVIEN (

MANV VARCHAR (10) PRIMARY KEY , HOTEN NVARCHAR ( 50 ),

NGAYSINH DATE , DCHI NVARCHAR (100), PHAI NVARCHAR (10), LUONG INT ,

Trang 9

MAPB VARCHAR (10) FOREIGN KEY REFERENCES PHONGBAN (MAPB) )

CREATE TABLE THANNHAN (

MANV VARCHAR (10) FOREIGN KEY REFERENCES NHANVIEN (MANV), TENTN NVARCHAR ( 50 ),

PHAITN NVARCHAR ( 10 ), NGAYSINHTN DATE , QUANHE NVARCHAR ( 20 ),

PRIMARY KEY (MANV, TENTN ) )

CREATE TABLE PHANCONG (

MANV VARCHAR (10) FOREIGN KEY REFERENCES NHANVIEN (MANV), MADA VARCHAR (10) FOREIGN KEY REFERENCES DUAN (MADA), THOIGIAN INT ,

PRIMARY KEY (MANV, MADA ) )

b Thêm dữ liệu cho bảng theo đúng trình tự bên 1 trước bên nhiều sau Mỗi bảng ít nhất 5 dòng dữ liệu.

INSERT INTO PHONGBAN VALUES

( 'KITHUAT' , N'Qu n 3, TP HCM' ậ ), ( 'KETOAN' , N'Qu n 7, TP HCM' ậ ), ( 'KINHDOANH' , N'Qu n 7, TP HCM' ậ ), ( 'THIETKE' , N'Qu n 4, TP HCM' ậ ), ( 'XAYDUNG' , N'Qu n 2, TP HCM' ậ ), ( 'VATLIEU' , N'Qu n 2, TP HCM' ậ )

INSERT INTO DUAN VALUES

( 'DA01' , N'Shop th i trang' ờ , N'Qu n 5, TP HCM' ậ , 'THIETKE' ), ( 'DA02' , N'Th ươ ng m i đi n t ' ạ ệ ử N'Qu n 3, TP HCM' ậ , 'KETOAN' ), ( 'DA03' , N'Quay s may m n' ố ắ , N'Qu n 6, TP HCM' ậ , 'KINHDOANH' ), ( 'DA04' , N'Năng l ượ ng m t tr i' ặ ờ , N'T nh Bình D ỉ ươ ng' , 'XAYDUNG' ), ( 'DA05' , N'Trang tr i' ạ , N'T nh Thái Nguyên' ỉ , 'KINHDOANH' )

SET DATEFORMAT DMY

INSERT INTO NHANVIEN VALUES

( 'NV01' , N'Nguy n Văn A' ễ , '17/4/1997' , N'Qu n 4, TP HCM' ậ , N'Nam' , 14000000 ,

'KINHDOANH' ), ( 'NV02' , N'Nguy n Văn B' ễ , '21/4/1995' , N'T nh Long Xuyên' ỉ , N'Nam' , 10000000,

'XAYDUNG' ), ( 'NV03' , N'Lê Đ c Trí' ứ , '1/6/1988' , N'Qu n 6, TP HCM' ậ , N'Nam' , 25000000 ,

'KITHUAT' ), ( 'NV04' , N'Hoàng Văn Th ng' ố , '25/11/1992' , N'Biên Hòa, Đ ng Nai' ồ , N'Nam' , 8000000 ,

'VATLIEU' ), ( 'NV05' , N'Lý Th Ki t' ế ệ , '13/9/1990' , N'Qu n 3, TP HCM' ậ , N'Nam' , 22000000,

'THIETKE' ), ( 'NV06' , N'Vũ Hoàng Y n' ế , '2/4/1996' , N'Qu n 4, TP HCM' ậ , N'N ' ữ , 12000000 ,

'KETOAN' ),

Trang 10

( 'NV07' , N'Nguy n B o Nh ' ễ ả ư , '22/12/1993' , N'T nh Bình D ỉ ươ ng' , N'N ' ữ , 15000000 ,

'THIETKE' ), ( 'NV08' , N'Đinh Tu n Tú' ấ , '30/3/1989' , N'Qu n 10, TP HCM' ậ , N'Nam' , 19000000,

'THIETKE' ), ( 'NV09' , N'Lê Đ c Anh' ứ , '6/7/1986' , N'T nh Thái Nguyên' ỉ , N'Nam' , 17000000,

'XAYDUNG' ), ( 'NV10' , N'Hoàng Th C m Tú' ị ẩ , '21/12/1994' , N'T nh Thái Nguyên' ỉ , N'N ' ữ , 14000000 ,

'KETOAN' ), ( 'NV11' , N'D ươ ng C m Ly' ẩ , '10/9/1995' , N'Qu n 5, TP HCM' ậ , N'N ' ữ , 12000000 ,

'KINHDOANH' )

INSERT INTO THANNHAN VALUES

( 'NV01' , N'Lê Chí Tài' , N'Nam' , '14/3/1982' , N'Chú' ), ( 'NV02' , N'Nguy n Lô Tô' ễ , N'Nam' , '3/7/1981' , N'D ượ ng' ), ( 'NV03' , N'Nguy n Thanh Mai' ễ , N'N ' ữ , '21/9/1991' , N'V ' ợ ), ( 'NV04' , N'Hoàng Chí Tôn' , N'Nam' , '27/11/1963' , N'B ' ố ), ( 'NV05' , N'D ươ ng C m Th ch' ẩ ạ , N'N ' ữ , '6/1/1994' , N'V ' ợ ), ( 'NV06' , N'Hoàng B o Long' ả , N'Nam' , '27/12/1992' , N'Ch ng' ồ ), ( 'NV07' , N'Tr n Th Tuy t Nhung' ầ ị ế , N'N ' ữ , '5/9/1964' , N'M ' ẹ ), ( 'NV08' , N'Đinh Th B o' ế ả , N'Nam' , '17/6/1986' , N'Anh' ), ( 'NV09' , N'Nguy n Xuân Thanh' ễ , N'N ' ữ , '4/8/1991' , N'V ' ợ ), ( 'NV10' , N'Quách Gia Lâm' , N'Nam' , '21/10/1992' , N'Ch ng' ồ ), ( 'NV11' , N'Tô Chí Thanh' , N'Nam' , '24/2/1982' , N'Chú' )

INSERT INTO PHANCONG VALUES

( 'NV01' , 'DA03' , 14 ), ( 'NV02' , 'DA04' , 180 ), ( 'NV03' , 'DA04' , 180 ), ( 'NV04' , 'DA02' , 7 ), ( 'NV05' , 'DA01' , 14 ), ( 'NV06' , 'DA05' , 7 ), ( 'NV07' , 'DA01' , 14 ), ( 'NV08' , 'DA04' , 14 ), ( 'NV09' , 'DA05' , 180 ), ( 'NV10' , 'DA05' , 30 ), ( 'NV11' , 'DA04' , 30 )

Câu 2: Viết câu lệnh SQL thực hiện các yêu cầu:

a Cho biết những dữ án có nhiều nhận viên tham gia nhất.

SELECT TOP 1 MADA, COUNT(MADA ) AS 'S NV' ố FROM PHANCONG

GROUP BY ( MADA )

ORDER BY COUNT ( MADA ) DESC

b Liệt kê tất cả nhân viên và mã dữ án mà nhân viên đó tham gia, nếu nhân viên đó chưa tham giá dự án nào thì cột Mã dữ án để trống (null).

Trang 11

SELECT NHANVIEN.MANV, PHANCONG.MADA

FROM NHANVIEN

FULL OUTER JOIN PHANCONG ON NHANVIEN MANV PHANCONG MANV =

ORDER BY NHANVIEN MANV

Câu 3: Viết các hàm :

a Viết hàm trả về số lượng dự án mà một nhân viên đã tham gia Cho biết: Hàm có 1 tham số đầu vào là Mã nhân viên.

CREATE FUNCTION CAU3A @MANV VARCHAR ( 10 ))

RETURNS TABLE AS

RETURN SELECT MANV, COUNT(MADA ) AS N'D án tham gia' ự FROM PHANCONG WHERE MANV =

@MANV GROUP BY MANV

Th c thi ự

SELECT FROM CAU3A ('NV03')

b Viết hàm trả về danh sách gồm: Mã nhân viên, tên nhân viên, tên thân nhân của nhân viên, tổng số dự án đã tham gia, tổng số thời gian

đã tham gia Danh sách giảm dần theo tổng số dự án, nếu tổng số dự

án bằng nhau thì tăng dần theo tổng số thời gian đã tham gia.

CREATE FUNCTION CAU3B()

RETURNS TABLE AS

RETURN SELECT PHANCONG MANV, NHANVIEN.HOTEN, COUNT ( THANNHAN.MANV ) AS N'S THÂN Ố NHÂN' , COUNT PHANCONG MANV ) AS N'T ng s d án' ổ ố ự , SUM ( PHANCONG THOIGIAN ) AS N'T ng ổ

th i gian' ờ

FROM NHANVIEN THANNHAN PHANCONG , ,

WHERE NHANVIEN MANV THANNHAN MANV = AND NHANVIEN.MANV = PHANCONG MANV

GROUP BY PHANCONG.MANV, NHANVIEN.HOTEN

ORDER BY COUNT(PHANCONG MANV ) DESC , SUM(PHANCONG THOIGIAN )

Th c thi ự

SELECT FROM CAU3B () Câu 4 : Viết các thủ tục :

a Thêm vào một nhân viên, có kiểm tra khóa chính, khóa ngoại.

CREATE PROC CAU4A @MANV VARCHAR ( 10 ), @HOTEN NVARCHAR (50), @NGAYSINH DATE , @DCHI

NVARCHAR ( 100 ), @PHAI NVARCHAR ( 10 ), @LUONG INT , @MAPB VARCHAR ( 10 ))

AS BEGIN

IF NOT EXISTS SELECT FROM NHANVIEN WHERE MANV @MANV = ) AND EXISTS ( SELECT FROM PHONGBAN WHERE MAPB @MAPB = )

INSERT INTO NHANVIEN VALUES (@MANV, @HOTEN , @NGAYSINH @DCHI @PHAI , , ,

@LUONG, @MAPB)

Trang 12

Th c thi ự

EXEC CAU4A 'NV12', N'Đ ườ ng Đ i Hi p' ạ ệ , '6/3/1989', N'Ngũ Hành S n' ơ , N'Nam', '12000000' , 'XAYDUNG'

b Tăng lương cho những nhân viên có từ 3 thân nhân trở lên thêm 20.000.000 đồng Tăng 10.000.000 đồng cho nhân viên có từ 1 đến 2 thân nhân.

CREATE PROC CAU4B

AS BEGIN

UPDATE NHANVIEN

SET LUONG = LUONG + 20000000

WHERE MANV IN SELECT MANV FROM THANNHAN GROUP BY MANV HAVING COUNT(MANV)

>= 3 ) UPDATE NHANVIEN

SET LUONG = LUONG + 10000000

WHERE MANV IN SELECT MANV FROM THANNHAN GROUP BY MANV HAVING COUNT(MANV)

>= 1 AND COUNT(MANV ) <= ) 2

END

Th c thi ự

EXEC CAU4B

Câu 5 : Viết các trigger :

a Xoá một nhân viên nào đó, nhưng nếu nhân viên đó có thân nhân thì không được xoá.

CREATE TRIGGER CAU5A

ON NHANVIEN

FOR DELETE AS

DECLARE @MANV_DLT VARCHAR ( 10 )

SELECT @MANV_DLT MANV = FROM DELETED

IF EXISTS SELECT * FROM THANNHAN WHERE MANV= @MANV_DLT )

BEGIN PRINT N'Nhân viên này có nhân thân, không đ ượ c xóa' ROLLBACK TRAN

END ELSE DELETE FROM NHANVIEN WHERE MANV @MANV_DLT =

PRINT N'Xóa thành công'

b Thêm dữ liệu vào bảng Phân công theo ràng buộc sau: chỉ những nhân viên >= 30 tuổi mới được tham gia dự án từ 100 ngày trở lên.

CREATE TRIGGER CAU5B

Trang 13

ON PHANCONG

FOR INSERT AS

DECLARE @MANV_INS VARCHAR ( 10 )

DECLARE @MADA_INS VARCHAR ( 10 )

DECLARE @THOIGIAN_INS INT SELECT @MANV_INS MANV = FROM inserted

SELECT @MADA_INS MADA = FROM inserted

SELECT @THOIGIAN_INS THOIGIAN = FROM inserted

IF EXISTS SELECT MANV FROM NHANVIEN WHERE MANV = @MANV_INS AND ( YEAR(GETDATE ())- YEAR ( NGAYSINH )) 30 )

AND EXISTS SELECT * FROM PHANCONG WHERE MANV=@MANV_INS AND MADA =@MADA_INS AND THOIGIAN @THOIGIAN_INS = AND @THOIGIAN_INS >= 100 )

BEGIN PRINT N'Nhân viên ch a đ 30 tu i nên không th tham gia d án trên 100 ư ủ ổ ể ự ngày'

ROLLBACK TRAN END

ELSE BEGIN INSERT INTO PHANCONG VALUES (@MANV_INS, @MADA_INS @THOIGIAN_INS , )

PRINT N'Thêm thành công' END

Trang 14

PHẦN 2 – Thực hiện các yêu cầu của lược đồ quan hệ

Cho lược đồ quan hệ R(U, F), U = MNOPQRS

Câu 1 : Tìm tất cả các khóa (khóa dự tuyển) của lược đồ quan hệ.

Ta có phủ tối thiểu của lược đồ quan hệ G’’ = { S M(1); S R(2); NS Q(3); PQ S(4); MO N(5); N       R(6)}

U = MNOPQRS

UR = MRQSN

UL = SNPQMO

N = U – UR = OP + ¿

N ¿ = OP, lược đồ có nhiều khóa

D = UR – UL = R

L = U – (N D) = MNQS ˅

+ Xét L i gồm 1 thuộc tính + ¿

MOP ¿ = MOPNR + ¿

NOP ¿ = NROP + ¿

QOP ¿ = QPOSMRN = U, K 1 = OPQ là một khóa + ¿

SOP ¿ = SOPMRNQ = U, K 2 = OPS là một khóa + Xét L i gồm 2 thuộc tính

+ ¿

MNOP ¿ = MNOPR Vậy có 2 khóa : OPQ, OPS

Câu 2 : Tìm phủ tối thiểu của tập phụ thuộc hàm.

B1: Phân rã vế phải còn một thuộc tính

F = {S MR; NS QM; PQ RS; MO NR; N      R}

G = {S M(1); S R(2); NS Q(3); NS M(4); PQ R(5); PQ S(6); MO N(7);       

MO  R(8); N R(9)}

B2: Loại bỏ phụ thuộc hàm dư thừa

Bỏ (1), không được, do + S ¿ ¿ = SR

Bỏ (2), không được, do + S ¿ ¿ = SM

Bỏ (3), không được, do NS + ¿ ¿ = NSM

Ngày đăng: 24/12/2023, 12:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w