0% found this document useful (0 votes)
2 views

create database QLTHUVIEN

The document outlines the creation of a library database named QLTHUVIEN, including tables for books (SACH), readers (BANDOC), borrowing records (MUON), and return records (TRA). It includes constraints for primary and foreign keys, as well as checks for data integrity. Additionally, it provides sample data insertion and various SQL queries to retrieve information about book loans and readers.

Uploaded by

kaixa1601
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

create database QLTHUVIEN

The document outlines the creation of a library database named QLTHUVIEN, including tables for books (SACH), readers (BANDOC), borrowing records (MUON), and return records (TRA). It includes constraints for primary and foreign keys, as well as checks for data integrity. Additionally, it provides sample data insertion and various SQL queries to retrieve information about book loans and readers.

Uploaded by

kaixa1601
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

create database QLTHUVIEN

CREATE TABLE SACH(

MASACH CHAR(5),

TENSACH NVARCHAR(50),

CONSTRAINT PK_SACH_MS PRIMARY KEY (MASACH),

);

CREATE TABLE BANDOC(

MABD CHAR(5),

TENBD NVARCHAR(50),

CONSTRAINT pk_BD_maBD PRIMARY KEY (MABD),

);

CREATE TABLE MUON(

MAMT CHAR(5),

MABD CHAR(5),

MASACH CHAR(5),

NGAYMUON DATE,

CONSTRAINT pk_Muon_MaMT PRIMARY KEY (MAMT),

CONSTRAINT fk_MT_BD FOREIGN KEY (MABD) REFERENCES BANDOC(MABD),

CONSTRAINT fk_MT_Sach FOREIGN KEY (MASACH) REFERENCES


SACH(MASACH),

);

CREATE TABLE TRA(

MAMT CHAR(5),

NGAYTRA DATE,

CONSTRAINT pk_Tra_MaMT PRIMARY KEY (MAMT),

CONSTRAINT fk_MT_MaMT FOREIGN KEY (MAMT) REFERENCES MUON(MAMT)

);
ALTER TABLE SACH

ADD CONSTRAINT chk_MaSach CHECK (MASACH LIKE 'MS%')

ALTER TABLE MUON

ADD CONSTRAINT chk_NgayMuon CHECK (NGAYMUON < GETDATE())

INSERT INTO SACH(MASACH,TENSACH)

VALUES

('MS001',N'JAVA CĂN BẢN'),

('MS002',N'ĐIỆN TỬ SỐ'),

('MS005',N'TIN HỌC ĐẠI CƯƠNG');

INSERT INTO BANDOC(MABD,TENBD)

VALUES

('BD001',N'PHẠM NGỌC MINH'),

('BD013',N'VŨ TUẤN MINH'),

('BD021',N'TRẦN NGỌC HÀ');

INSERT INTO MUON(MAMT,MABD,MASACH,NGAYMUON)

VALUES

('MT001','BD001','MS001','2015-02-01'),

('MT002','BD013','MS001','2015-03-02'),

('MT003','BD013','MS002','2015-10-01');

INSERT INTO TRA(MAMT,NGAYTRA)

VALUES

('MT001','2015-02-06'),

('MT002','2015-02-06');
UPDATE SACH

SET TENSACH = N'KỸ THUẬT LẬP TRÌNH' WHERE TENSACH = N'ĐIỆN TỬ SỐ'

UPDATE MUON

SET NGAYMUON = '2015-09-02' WHERE MAMT = 'MT002'

DELETE FROM TRA

WHERE NGAYTRA < '2015-06-07'

--Truy van

--3.2.1

SELECT TOP 1 TENBD,COUNT(MASACH) AS SOLUONGMUONSACH FROM


BANDOC

INNER JOIN MUON ON MUON.MABD= BANDOC.MABD

GROUP BY TENBD

ORDER BY SOLUONGMUONSACH DESC

--3.2.2

SELECT TOP 1 TENBD,COUNT(MASACH) AS SOLUONGMUONSACH FROM


BANDOC

INNER JOIN MUON ON MUON.MABD= BANDOC.MABD

WHERE MONTH(MUON.NGAYMUON) = 2 AND YEAR(MUON.NGAYMUON) =


2015

GROUP BY TENBD

ORDER BY SOLUONGMUONSACH DESC

--3.2.3

SELECT TOP 1 TENBD,COUNT(MASACH) AS SOLUONGMUONSACH FROM


BANDOC

INNER JOIN MUON ON MUON.MABD= BANDOC.MABD


GROUP BY TENBD

ORDER BY SOLUONGMUONSACH

--3.2.4

SELECT TENBD FROM BANDOC WHERE BANDOC.MABD NOT IN (SELECT


MUON.MABD FROM MUON);

--3.2.5

SELECT MONTH(NGAYMUON) AS THANG,COUNT(MASACH) AS


SOLUONGMUONSACH FROM MUON GROUP BY NGAYMUON,MASACH ORDER
BY SOLUONGMUONSACH

You might also like