1. Trang chủ
  2. » Công Nghệ Thông Tin

ASSIGNMENT CƠ SỞ DỮ LIỆU

22 2,6K 20

Đ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

Định dạng
Số trang 22
Dung lượng 4,89 MB

Nội dung

ALTER TABLE SINHVIEN ADD CONSTRAINT SINHVIEN_FK_maSV PRIMARY KEYmaSV; Tạo bảng SACH, khóa chính: CREATE TABLE SACH maSach nchar5 not null, ALTER TABLE SACH ADD CONSTRAINT SACH_PK_maSach

Trang 1

ASSIGNMENT

CƠ SỞ DỮ LIỆU

Trang 2

Câu 1 Phân tích bài toán, xác định các thực thể và các thuộc tính của chúng

Trang 3

o Tên sinh viên

N

N

Trang 4

Câu 2: Thiết kế sơ đồ ERD:

Thông tin

Ho ten Tên

Họ

MSV

Thẻ sinh viên Email

Chuyen nghanh hoc

Số điện thoại

Ho ten

Tên

Họ

Giá tiền Bản sao

Quản lý

Trang 5

Sinh viên:

SÁCH:

PHIẾU MƯỢN SÁCH:

hosinhvien Text(50) Họ và tên lót sinh viên

Tên cột Kiểu dữ liệu Mô Tả

chuyennghanhhoc Text(100) Chuyên ngành học

Trang 6

Ghichu Text(255) Ghi chú

Câu 3 Tạo các bảng trong CSDL, tạo các ràng buộc: khoá chính, khoá ngoại, ràng buộc duy nhất, ràng buộc kiểm tra …

Tạo bảng SINHVIEN, khóa chính;

CREATE TABLE SINHVIEN(

Trang 7

ALTER TABLE SINHVIEN

ADD CONSTRAINT SINHVIEN_FK_maSV

PRIMARY KEY(maSV);

Tạo bảng SACH, khóa chính:

CREATE TABLE SACH(

maSach nchar(5) not null,

ALTER TABLE SACH

ADD CONSTRAINT SACH_PK_maSach

PRIMARY KEY(maSach);

Tạo bảng PHIEUMUONSACH khóa chính, khóa ngoại:

CREATE TABLE PHIEUMUONSACH(

Sophieu int identity not null,

Trang 8

/*Khóa chính*/

ALTER TABLE PHIEUMUONSACH

ADD CONSTRAINT PHIEUMUONSACH_PK_Sophieu

PRIMARY KEY(Sophieu);

/*Khóa ngoại*/

ALTER TABLE PHIEUMUONSACH

ADD CONSTRAINT PHIEUMUONSACH_FK_maSV

FOREIGN KEY(maSV)

REFERENCES SINHVIEN(maSV);

ALTER TABLE PHIEUMUONSACH

ADD CONSTRAINT PHIEUMUONSACH_FK_maSach

FOREIGN KEY(maSach)

REFERENCES SACH(maSach);

Tạo ràng buộc kiểm tra cho bảng sách:

ALTER TABLE SACH ADD CONSTRAINT soluong check(soluong>=1);ALTER TABLE SACH ADD CONSTRAINT giatien check(giatien>=1);ALTER TABLE SACH ADD CONSTRAINT bansao check(bansao>=1)

Trang 9

Câu 5: Nhập dữ liệu cho bảng ghi;

*Bảng SINHVIEN:

insertinto SINHVIEN

(tenSV,hovatenlotSV,maSV,Ngaysinh,Gioitinh ,Chuyennghanhhoc,Email,Sodienthoai)

Trang 10

*Bảng SACH

insert into SACH

(maSach,Tieude,Nhaxuatban,Tacgia,Soluong,Bansao,Giatien,Ngaynhap,Loaisach,Vitridacasach)

values ('IT001','SQL sever','NXB Ha Noi','Herbert

Schildt','30' ,'4','500000','11/12/2017','Cong nghe thong tin','1'),('IT002','Lap trinh huong doi tuong','NXB Ha

Noi','Herbert Schildt','20' ,'4','400000','11/20/2017','Cong nghe thong tin','1'), ('IT003','Tin hoc co so','NXB Ha

Noi','Herbert Schildt','15' ,'4','200000','11/22/2017','Cong nghe thong tin','1'), ('IT004','Photoshop','NXB Ha

Noi','Herbert Schildt','25' ,'4','350000','11/25/2017','Cong nghe thong tin','2'), ('IT005','Photoshop nang cao','NXB Ha Noi','Herbert Schildt','20' ,'4','500000','11/25/2017','Cong nghe thong tin','2')

*Bảng PHIEUMUONSACH

insert into PHIEUMUONSACH

(Sophieu,ngaymuon,ngaytra,tenSV,hovatenlotSV,maSV,maLop,STT,

maSach,soluongsachmuon,tenSach,nhaxuatban,ghichu)

Trang 11

values ('12/11/2017', '12/18/2017', 'Nhat', 'Pham Phu',

'PD02142', 'PT13303', '1', 'IT001', '3', 'SQL sever', 'NXB

Ha Noi', 'Chua tra sach'),('12/13/2017', '12/20/2017',

'Thach', 'Nguyen Van', 'PD02151', 'PT13303', '1', 'IT001',

'2', 'SQL sever', 'NXB Ha Noi', 'Chua tra

sach'),('12/15/2017', '12/22/2017', 'Phuoc', 'Nguyen Thien Hong', 'PD02154', 'PT13303', '1', 'IT002', '2', 'Lap trinh huong doi tuong', 'NXB Ha Noi', 'Chua tra sach'),

('12/20/2017', '12/27/2017', 'Duc', 'Nguyen Kong',

'PD02132', 'PT13303', '1', 'IT003', '3', 'Tin hoc co so',

'NXB Ha Noi', 'Da tra sach'),

('12/20/2017', '12/27/2017', 'Hung','Nguyen Van',

'PD02521', 'PT13303', '1', 'IT005', '2', 'Photoshop nang cao', 'NXB Ha Noi', 'Da tra sach')

Câu 6: Viết câu truy vấn:

Viết câu sử dụng dữ liệu để có thể truy vẫn đến các bảng;

use Assignemnt2;

6.1: Liệt kê tất cả thông tin của các đầu sách gồm tên sách, mã sách, giá tiền , tác giảthuộc loại sách có mã “IT”

Trang 12

SELECT Tieude, maSach, Giatien, Tacgia

FROM SACH

where SACH.maSach like'IT%';

6.2: Liệt kê các phiếu mượn gồm các thông tin mã phiếu mượn, mã sách , ngày mượn, mã sinh viên có ngày mượn trong tháng 01/2017

SELECT sophieu, maSach, ngaymuon, maSV

FROM PHIEUMUONSACH

WHERE PHIEUMUONSACH.ngaymuon like'%2017-12%'

Trang 13

6.3: Liệt kê các phiếu mượn chưa trả sách cho thư viên theo thứ tự tăng dần của ngàymượn sách

SELECT

*FROM PHIEUMUONSACH

WHERE PHIEUMUONSACH.ghichu LIKE'Chua tra sach'ORDERBY

PHIEUMUONSACH.ngaymuon asc

Trang 14

6.4: Liệt kê tổng số đầu sách của mỗi loại sách ( gồm mã loại sách, tên loại sách, tổng số lượng sách mỗi loại)

SELECT maSach, Tieude, Soluong

FROM SACH

6.5: Đếm xem có bao nhiêu lượt sinh viên đã mượn sách

select COUNT(STT)as 'Số sinh viên mượn sách' from PHIEUMUONSACH;

Trang 15

6.6: Hiển thị tất cả các quyển sách có tiêu đề chứa từ khoá “SQL”

SELECT*FROM SACH

where Tieude like'%SQL%';

Trang 16

6.7: Hiển thị thông tin mượn sách gồm các thông tin: mã sinh viên, tên sinh viên,

mãphiếu mượn, tiêu đề sách, ngày mượn, ngày trả Sắp xếp thứ tự theo ngày mượn sách

SELECT SINHVIEN.maSV, SINHVIEN.tenSV,

PHIEUMUONSACH.sophieu, SACH.Tieude, PHIEUMUONSACH.ngaymuon FROM PHIEUMUONSACH INNERJOIN

SACH ON PHIEUMUONSACH.maSach = SACH.maSach INNERJOIN

SINHVIEN ON PHIEUMUONSACH.maSV = SINHVIEN.maSV ORDERBY PHIEUMUONSACH.ngaymuon;

6.8: Liệt kê các đầu sách có lượt mượn lớn hơn 20 lần

select tieude, maSach from SACH

WHERE (select count(soluongsachmuon) from PHIEUMUONSACH)>20

Trang 17

Vì không có sách nào có lượt mượn lớn 20 nên không thể xuất bảng.

6.9: Viết câu lệnh cập nhật lại giá tiền của các quyển sách có ngày nhập kho trước năm2014 giảm 30%

Không có sách nào được nhập dưới năm 2014

Trang 18

6.10: Viết câu lệnh cập nhật lại trạng thái đã trả sách cho phiếu mượn của sinh viên

có mãsinh viên PD12301

UPDATE PHIEUMUONSACH

SET ghichu='Da tra sach'

WHERE maSV='PD02142'

Trang 19

6.11: 1 Lập danh sách các phiếu mượn quá hạn chưa trả gồm các thông tin: mã phiếu mượn, tên sinh viên, email, danh sách các sách đã mượn, ngày mượn

SELECT PHIEUMUONSACH.sophieu, SINHVIEN.tenSV,

SINHVIEN.Email, SACH.Tieude, PHIEUMUONSACH.ngaymuon

FROM PHIEUMUONSACH INNERJOIN

SACH ON PHIEUMUONSACH.maSach = SACH.maSach

Trang 20

6.13: Viết câu lệnh xoá các phiếu mượn có ngày mượn và ngày trả trước ‘1/1/2010’

DELETE FROM PHIEUMUONSACH

WHERE YEAR(ngaymuon)<2010

AND YEAR(ngaytra)<2010

Không có bảng nào có ngày mượn dưới năm 2010

Trang 21

Câu 7: Tổ chức sao lưu dự phòng cho cơ sở dữ liệu

Ngày đăng: 09/05/2018, 21:25

TỪ KHÓA LIÊN QUAN

w