Bài tập lớn hệ cơ sở dữ liệu – đề 1

30 25 0
Bài tập lớn hệ cơ sở dữ liệu – đề 1

Đ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

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN HỆ CƠ SỞ DỮ LIỆU – ĐỀ 1 PHẦN 1: TẠO CSDL TRÊN SQL SERVER: I. Tạo bảng dữ liệu với các thuộc tính và ràng buộc 1. Người (ID, CMND, tên, giới tính, ngày sinh, nơi sinh) SET DATEFORMAT DMY; CREATE TABLE NGUOI( ID VARCHAR(20), CMND VARCHAR(10), TEN NVARCHAR(50), GIOITINH CHAR(1), --0 Là Nam, 1 là nữ-- NGAYSINH DATE, NOISINH NVARCHAR(50), PRIMARY KEY(ID), CONSTRAINT CHECK_ID CHECK ((CAST(LEFT(ID,2) AS VARCHAR)) LIKE ''%TS'' OR (CAST(LEFT(ID,2) AS VARCHAR)) LIKE ''%NS''), CONSTRAINT GIATRIGIOITINH CHECK (GIOITINH IN (''0'' , ''1'')), CONSTRAINT CMND_KHONGTRUNG UNIQUE(CMND) ) 2. Thí sinh (mã thí sinh, địa chỉ, điện thoại, giới thiệu) CREATE TABLE THISINH( MATHISINH VARCHAR(20), DIACHI NVARCHAR(50), DIENTHOAI CHAR(10), GIOITHIEU NVARCHAR(4000), PRIMARY KEY(MATHISINH), CONSTRAINT CHECK_MATHISINH CHECK ((CAST(LEFT(MATHISINH,2) AS VARCHAR)) LIKE ''%TS''), CONSTRAINT FK_THISINH_MATHISINH FOREIGN KEY(MATHISINH) REFERENCES NGUOI(ID) ) 3. Nghệ sỹ (mã nghệ sỹ, nghệ danh, thành tích, MCFlag, CSFlag, NSFlag) CREATE TABLE NGHESI( MANGHESI VARCHAR(20), NGHEDANH NVARCHAR(50), THANHTICH NVARCHAR(4000), MCFLAG CHAR(1)

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN HỆ CƠ SỞ DỮ LIỆU – ĐỀ Người hướng dẫn: Cơ Trần Thị Bích Vân Người thực hiện: Giang Vinh Kiệt – 51800420 Khoá: 22 THÀNH PHỐ HỒ CHÍ MINH, 2020-2021 TỔNG LIÊN ĐỒN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN HỆ CƠ SỞ DỮ LIỆU – ĐỀ Người hướng dẫn: Cơ Trần Thị Bích Vân Người thực hiện: Giang Vinh Kiệt – 51800420 Khoá: 22 THÀNH PHỐ HỒ CHÍ MINH, 2020-2021 PHẦN 1: TẠO CSDL TRÊN SQL SERVER: I Tạo bảng liệu với thuộc tính ràng buộc Người (ID, CMND, tên, giới tính, ngày sinh, nơi sinh) SET DATEFORMAT DMY; CREATE TABLE NGUOI( ID VARCHAR(20), CMND VARCHAR(10), TEN NVARCHAR(50), GIOITINH CHAR(1), Là Nam, nữ-NGAYSINH DATE, NOISINH NVARCHAR(50), PRIMARY KEY(ID), CONSTRAINT CHECK_ID CHECK ((CAST(LEFT(ID,2) AS VARCHAR)) LIKE '%TS' OR (CAST(LEFT(ID,2) AS VARCHAR)) LIKE '%NS'), CONSTRAINT GIATRIGIOITINH CHECK (GIOITINH IN ('0' , '1')), CONSTRAINT CMND_KHONGTRUNG UNIQUE(CMND) ) Thí sinh (mã thí sinh, địa chỉ, điện thoại, giới thiệu) CREATE TABLE THISINH( MATHISINH VARCHAR(20), DIACHI NVARCHAR(50), DIENTHOAI CHAR(10), GIOITHIEU NVARCHAR(4000), PRIMARY KEY(MATHISINH), CONSTRAINT CHECK_MATHISINH CHECK ((CAST(LEFT(MATHISINH,2) AS VARCHAR)) LIKE '%TS'), CONSTRAINT FK_THISINH_MATHISINH FOREIGN KEY(MATHISINH) REFERENCES NGUOI(ID) ) Nghệ sỹ (mã nghệ sỹ, nghệ danh, thành tích, MCFlag, CSFlag, NSFlag) CREATE TABLE NGHESI( MANGHESI VARCHAR(20), NGHEDANH NVARCHAR(50), THANHTICH NVARCHAR(4000), MCFLAG CHAR(1), NSFLAG CHAR(1), CSFLAG CHAR(1), PRIMARY KEY(MANGHESI), CONSTRAINT CHECK_MANGHESI CHECK ((CAST(LEFT(MANGHESI,2) AS VARCHAR)) LIKE '%NS'), CONSTRAINT CHECK_MC CHECK(MCFLAG IN( '0' , '1')), CONSTRAINT CHECK_CS CHECK(CSFLAG IN( '0' , '1')), CONSTRAINT CHECK_NS CHECK(NSFLAG IN( '0' , '1')), CONSTRAINT FK_NGHESI_MANGHESI FOREIGN KEY(MANGHESI) REFERENCES NGUOI(ID) ) Chương trình MC dẫn (mã MC, chương trình dẫn) CREATE TABLE CHUONGTRINHMC( MAMC VARCHAR(20), CHUONGTRINHDADAN NVARCHAR(50), PRIMARY KEY(MAMC,CHUONGTRINHDADAN), CONSTRAINT FK_CHUONGTRINHMC_MAMC FOREIGN KEY(MAMC) REFERENCES NGHESI(MANGHESI) ) Album ca sỹ (mã ca sỹ, album) CREATE TABLE ALBUMCASI( MACASI VARCHAR(20), ALBUM NVARCHAR(50), PRIMARY KEY(MACASI,ALBUM), CONSTRAINT FK_ALBUMCASI_MACASI FOREIGN KEY(MACASI) REFERENCES NGHESI(MANGHESI) ) Bài hát (mã hát, tựa hát) CREATE TABLE BAIHAT( MABAIHAT VARCHAR(20), TUABAIHAT NVARCHAR(50) NOT NULL, CONSTRAINT CHECK_MABAIHAT CHECK ((CAST(LEFT(MABAIHAT,2) AS VARCHAR)) LIKE '%BH'), PRIMARY KEY(MABAIHAT) ) Thể loại (mã thể loại, tên thể loại) CREATE TABLE THELOAI( MATHELOAI VARCHAR(20), TENTHELOAI NVARCHAR(50) NOT NULL, CONSTRAINT KHONGTRUNG_TENTHELOAI UNIQUE(TENTHELOAI), CONSTRAINT CHECK_MATHELOAI CHECK((CAST(LEFT(MATHELOAI,2)AS VARCHAR)) LIKE '%TL'), PRIMARY KEY(MATHELOAI) ) Bài hát thuộc thể loại (mã hát, mã thể loại) CREATE TABLE BAIHATTHUOCTHELOAI( MABAIHAT VARCHAR(20), MATHELOAI VARCHAR(20), PRIMARY KEY(MABAIHAT,MATHELOAI) ) ALTER TABLE BAIHATTHUOCTHELOAI ADD CONSTRAINT FK_MABAIHAT_BAIHATTHUOCTHELOAI FOREIGN KEY(MABAIHAT) REFERENCES BAIHAT(MABAIHAT) ALTER TABLE BAIHATTHUOCTHELOAI ADD CONSTRAINT FK_MATHELOAI_BAIHATTHUOCTHELOAI FOREIGN KEY(MATHELOAI) REFERENCES THELOAI(MATHELOAI) Nhạc sỹ sáng tác (Mã nhạc sỹ, mã hát, thông tin sáng tác) CREATE TABLE NHACSISANGTAC( MANHACSI VARCHAR(20), MABAIHAT VARCHAR(20), THONGTINSANGTAC CHAR(1), PRIMARY KEY(MANHACSI,MABAIHAT), CONSTRAINT FK_MANHACSI_NHACSISANGTAC FOREIGN KEY(MANHACSI) REFERENCES NGHESI(MANGHESI), CONSTRAINT FK_MABAIHAT_NHACSISANGTAC FOREIGN KEY(MABAIHAT) REFERENCES BAIHAT(MABAIHAT), CONSTRAINT CHECK_THONGTINSANGTAC CHECK(THONGTINSANGTAC IN ('1','2','3')) ) 10 Tỉnh thành (mã tỉnh thành, tên tỉnh thành) CREATE TABLE TINHTHANH( MATINHTHANH VARCHAR(20), TENTINHTHANH NVARCHAR(50) NOT NULL, PRIMARY KEY(MATINHTHANH), CONSTRAINT KHONGTRUNG_TENTINHTHANH UNIQUE(TENTINHTHANH) ) ALTER TABLE TINHTHANH ADD CONSTRAINT CHECK_MATINHTHANH CHECK(CAST(LEFT(MATINHTHANH,2) AS VARCHAR) LIKE '%TT') 11 Nhà sản xuất (mã nhà sản xuất, tên nhà sản xuất) CREATE TABLE NHASX( MANHASX VARCHAR(20), TENNHASX NVARCHAR(50), PRIMARY KEY(MANHASX), CONSTRAINT CHECK_MANHASX CHECK(CAST(LEFT(MANHASX,3)AS VARCHAR) LIKE '%NSX') ) 12 Kênh truyền hình (mã kênh, tên kênh) CREATE TABLE KENHTRUYENHINH( MAKENH VARCHAR(20), TENKENH NVARCHAR(50) NOT NULL, PRIMARY KEY(MAKENH), CONSTRAINT CHECK_MAKENH CHECK(CAST(LEFT(MAKENH,2) AS VARCHAR) LIKE '%TH') ) 13 Mùa thi (mã mùa thi, ngày tháng năm bắt đầu, ngày tháng năm kết thúc, giải thưởng, địa điểm vòng nhà hát, địa điểm vòng bán kết, địa điểm vòng gala, mã giám đốc âm nhạc, mã giám khảo 1, mã giám khảo 2, mã giám khảo 3, mã MC) CREATE FUNCTION AUTO_MT() RETURNS VARCHAR(5) AS BEGIN DECLARE @MT VARCHAR(5) IF (SELECT COUNT(MAMUATHI) FROM MUATHI) = SET @MT = '0' ELSE SELECT @MT = MAX(RIGHT(MAMUATHI,3)) FROM MUATHI SELECT @MT = CASE WHEN @MT >= AND @MT < THEN 'MT00' + CONVERT(CHAR,CONVERT(INT,@MT) + 1) WHEN @MT >= THEN 'MT0' + CONVERT(CHAR,CONVERT(INT,@MT) + 1) WHEN @MT >= 100 THEN 'MT' + CONVERT(CHAR,CONVERT(INT,@MT) + 1) END RETURN @MT END GO SET DATEFORMAT DMY CREATE TABLE MUATHI( MAMUATHI VARCHAR(20) NOT NULL CONSTRAINT MT DEFAULT [dbo].AUTO_MT(), NGAYTHANGNAMBD DATE, NGAYTHANGNAMKT DATE, CONSTRAINT CK_MUATHI CHECK((MONTH(NGAYTHANGNAMBD)

Ngày đăng: 11/12/2021, 11:08

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan