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

báo cáo thực hành cơ sở dữ liệu

33 827 2

Đ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 33
Dung lượng 2,14 MB

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

Nội dung

báo cáo thực hành cơ sở dữ liệu

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC HÀNH

CƠ SỞ DỮ LIỆU

Giáo viên hướng dẫn : NGUYỄN VĂN NGUYÊN

Sinh Viên Thực Hiện : PHAN ĐĂNG MÙI

Nhóm : 07B Lớp : 09T4

Trang 3

BÁO CÁO THỰC HÀNH

CƠ SỞ DỮ LIỆU

I/ Thực hành bằng Access:

Câu 1: Sử dụng ngôn ngữ SQL để tạo cấu trúc của các bảng dữ liệu sau:

DSTRUONG ( MATRUONG , TENTRUONG, DIACHI ) DSKHOA ( MATRUONG, MAKHOA, TENKHOA, SODT ) DANHSACH ( MASV ,MAKHOA,HOTEN, NGAYSINH, LOP,

HOCBONG)

BANGDIEM ( MASV , DTBK1, DTBK2, DTBK3, DTBK4 )

Bài làm:

a/ CREATE TABLE DSTRUONG(

MATRUONG TEXT(2) PRIMARY KEY,

TENTRUONG TEXT(20),

DIACHI TEXT(30));

Nhập dữ liệu:

Trang 4

MASV TEXT(4) PRIMARY KEY UNIQUE ,

Trang 5

Nhập dữ liệu:

d/ CREATE TABLE BANGDIEM(

MASV TEXT(4) PRIMARY KEY,

DTBK1 DOUBLE,

DTBK2 DOUBLE,

DTBK3 DOUBLE,

DTBK4 DOUBLE);

Trang 6

Nhập dữ liệu:

Câu 2: Sử dụng ngôn ngữ SQL để thay đổi cấu trúc của bảng dữ liệu

a Thêm truờng GHICHU có kiểu MEMO vào trong bảng DANHSACH

b Thêm trường TBCONG có kiểu DOUBLE vào trong bảng BANGDIEM

c Thêm trường QUEQUAN có kiểu TEXT và GIOITINH có kiểu YES/NO

vào bảng DANHSACH và lập chỉ mục trường QUEQUAN

Bài làm:

a/ ALTER TABLE DANHSACH

ADD GHICHU MEMO;

Trang 7

b/ ALTER TABLE BANGDIEM

ADD TBCONG DOUBLE;

c/ ALTER TABLE DANHSACH

ADD QUEQUAN TEXT(30) UNIQUE,GIOITINH YESNO;

Trang 8

Câu 3: Sử dụng ngôn ngữ SQL để tạo các truy vấn chọn sau

a Chọn MATRUONG, MAKHOA, TENKHOA trong bảng DSKHOA.

b Chọn MATRUONG, MAKHOA, SODT trong bảng DSKHOA của

những trường có MATRUONG bắt đầu là Q

c Chọn MASV, MAKHOA, HOTEN của những sinh viên sinh trong

khoảng thời gian từ 20/10/74 đến 20/10/76 trong bảng DANHSACH

d Chọn MASV, HOTEN, LOP, HOCBONG của những sinh viên có

MASV bắt đầu là Q và thuộc lớp Tin học hoặc Hoá học hoặc kinh tế trong bảngDANHSACH ( HOTEN đổi thành Họ và tên)

e Chọn những sinh viên có tên THANH sinh trong tháng 10/76 hoặc có

HOCBONG trong khoảng từ 150000 đến 200000

Trang 9

c/ SELECT MASV, MAKHOA, HOTEN

FROM DANHSACH

WHERE NGAYSINH BETWEEN #10/20/1974# And #10/20/1976#;

d/ SELECT MASV, HOTEN AS [Họ Tên], LOP, HOCBONG

FROM DANHSACH

WHERE MASV Like 'T*' And LOP IN ('TIN','HOA','KINH TE');

Trang 10

Câu 4: Sử dụng ngông ngữ SQL để tạo các truy vấn tính tổng sau:

a Tạo một truy vấn để tính tổng HOCBONG của mỗi khoa.

b Tạo một truy vấn thống kê xem mỗi khoa số lượng sinh viên là bao

nhiêu?

c Tạo một truy vấn để tính tổng HOCBONG của mỗi lớp trong mỗi khoa.

d Tạo một truy vấn thống kê xem mỗi trường có bao nhiêu khoa?

Bài làm

Trang 12

d/

SELECT MATRUONG, COUNT(*) AS [SO KHOA]

FROM DSKHOA

GROUP BY MATRUONG;

Câu 5: Sử dụng ngôn ngữ SQL để tạo các truy vấn tham số sau:

a Tạo một truy vấn tham số thống kê xem mỗi mức HOCBONG mỗi khoa

có bao nhiêu sinh viên

b Tạo một truy vấn tham số để thống kê xem số lượng sinh viên sinh trong

mỗi tháng của năm 1976 của mỗi khoa là bao nhiêu?

Bài làm:

a/

SELECT MAKHOA, ([Ngaysinh]) AS [Tháng sinh], Count(Hoten) AS [Số SV]FROM DANHSACH

GROUP BY Makhoa, Month([Ngaysinh]), Year([ngaysinh])

HAVING (Year([ngaysinh])=1979 and month(ngaysinh)=[Nhap thang sinh])

Trang 13

b/

bài 6: Sử dụng ngông ngữ SQL để tạo các truy vấn tạo bảng sau:

a Tạo một bảng DIEMLUU gồm tất cả các trường trong bảng DIEMTHI.

b Tạo một bảng DSLUU gồm các trường MASV, MAKHOA, HOTEN từ

bảng DANHSACH của những sinh viên sinh trước ngày 20/11/76

c Tạo một bảng DSLUU1 gồm các trường HOTEN, LOP của những sinh

viên thuộc lớp Tin K25A và sinh năm 1985 hoặc trước năm 1978.

Trang 14

c/

SELECT [hoten], [lop] INTO dsluu1

FROM danhsach

WHERE (lop="K25A" and (year(ngaysinh)=1985) or year(ngaysinh)<1978)

Bài 7: Sử dụng ngôn ngữ SQL để tạo các truy vấn nối dữ liệu sau:

a Tạo một truy vấn nối dữ liệu từ bảng DIEMLUU vào DIEMTHI nhưng

chỉ gồm các trường DTBK1, DTBK2

b Tạo một truy vấn nối dữ liệu từ bảng DIEMLUU vào DIEMTHI nhưng chỉ

gồm các trường DTBK1, DTBK2, DTBK3 đối với những bản ghi ghi có DTBK3>=8Bài làm:

Trang 15

SELECT DIEMLUU.DTBK1, DIEMLUU.DTBK2

FROM DIEMLUU;

b/ INSERT INTO BANGDIEM ( DTBK1, DTBK2, DTBK3 )

SELECT DIEMLUU.DTBK1, DIEMLUU.DTBK2, DIEMLUU.DTBK3 FROM DIEMLUU

WHERE DIEMLUU.DTBK3>=8;

Trang 16

Câu 8: Sử dụng ngôn ngữ SQL để tạo các truy vấn cập nhật dữ liệu sau:

a Tính giá trị trường DTBCONG của bảng DIEMTHI theo công thức

(DTBK1+ DTBK2+ DTBK3+ DTBK4)/4

b Tăng HOCBONG thêm 100.000 cho những sinh viên có MASV bắt đầu

là Q trong bảng DANHSACH

c Giảm HOCBONG đi 50.000 cho những sinh viên có năm sinh từ 1975

đến 1978 hoặc những sinh viên có tên NHAN

Bài làm:

a/

UPDATE BANGDIEM SET TBCONG = ([DTBK1]+[DTBK2]+

Trang 17

b/ UPDATE DANHSACH SET HOCBONG = HOCBONG+100000

WHERE (MASV Like "Q*");

c/ UPDATE DANHSACH SET HOCBONG=HOCBONG - 50000

WHERE (NGAYSINH BETWEEN #1/1/1975# AND #31/12/1978# )

OR( HOTEN LIKE '*Nhân') ;

Trang 18

Câu 9: Sử dụng ngôn ngữ SQL để tạo các truy vấn xoá sau:

a Tạo một truy vấn xoá những sinh viên thuộc khoa toán.

b Tạo một truy vấn xoá những sinh viên sinh trong khoảng thời gian từ

20/10/74 đến 20/10/76 hoặc có HOCBONG=120.000

c Tạo một truy vấn xoá những sinh viên có họ NGUYEN hoặc tên THANH

sinh trong tháng 7 năm 1978

Trang 19

c/ DELETE *

FROM DANHSACH

WHERE ((HOTEN LIKE ‘NGUYEN*’) OR (HOTEN LIKE ‘*THANH’)) AND (NGAYSINH BETWEEN #1/7/1978# AND #31/7/1978# );

Bài 10: Sử dụng ngôn ngữ SQL để tạo các truy vấn dựa trên nhiều bảng sau:

a Tạo truy vấn để hiển thị HOTEN, TENKHOA, LOP, HOCBONG từ 2

bảng dữ liệu DSKHOA và DANHSACH

b Tạo một truy vấn để hiẻn thị TENTRUONG, TENKHOA, HOTEN của

những sinh viên sinh trong năm 1980 từ 3 bảng DSTRUONG, DSKHOA,DANHSACH

c Tạo một truy vấn để hiển thị TENTRUONG, TENKHOA, HOTEN,

DTBK1, DTBK2 tử 4 bảng dữ liệu DSTRUONG, DSKHOA, DANHSACH,DIEMTHI

Bài làm:

a/ SELECT DANHSACH.HOTEN, DSKHOA.TENKHOA, LOP

FROM DSKHOA, DANHSACH

WHERE DSKHOA.MAKHOA=DANHSACH.MAKHOA;

Trang 20

b/ SELECT DSTRUONG.TENTRUONG, DSKHOA.TENKHOA,

DANHSACH.HOTEN

FROM DSTRUONG, DSKHOA, DANHSACH

WHERE NGAYSINH Between #1/1/1980# And #12/31/1980# AND DSTRUONG.MATRUONG=DSKHOA.MATRUONG AND

DSKHOA.MAKHOA=DANHSACH.MAKHOA;

c/ SELECT TENTRUONG, TENKHOA, HOTEN, DTBK1, DTBK2

FROM DSTRUONG, DSKHOA, DANHSACH, BANGDIEM

WHERE DSTRUONG.MATRUONG=DSKHOA.MATRUONG AND DSKHOA.MAKHOA=DANHSACH.MAKHOA AND

DANHSACH.MASV=BANGDIEM.MASV;

Trang 21

Câu 11: Sử dụng ngôn ngữ SQL để tạo các truy vấn con sau:

a Tạo một truy vấn để hiển thị HOTEN, NGAYSINH, LOP của những

sinh viên có DTBK4>=5

b Tạo một truy vấn để hiển thị it nhất một sinh viên có DTBK2<=4

Bài làm:

a/

SELECT HOTEN, NGAYSINH, LOP

FROM DANHSACH, BANGDIEM

WHERE BANGDIEM.DTBK4 IN (SELECT BANGDIEM.DTBK4 FROM

BANGDIEM WHERE BANGDIEM.DTBK4>=5) AND

DANHSACH.MASV=BANGDIEM.MASV);

Trang 22

SELECT DANHSACH.MASV, DANHSACH.MAKHOA, DANHSACH.HOTEN, DANHSACH.NGAYSINH, DANHSACH.LOP, DANHSACH.HOCBONG,

DANHSACH.GHICHU, DANHSACH.QUEQUAN, DANHSACH.GIOITINH

FROM DANHSACH, BANGDIEM

WHERE BANGDIEM.DTBK2 IN (SELECT BANGDIEM.DTBK2 FROM

BANGDIEM WHERE BANGDIEM.DTBK2<=4) AND

DANHSACH.MASV=BANGDIEM.MASV;

Câu 12: Sử dụng ngôn ngữ SQL để tạo các truy vấn hội sau:

a Tạo truy vấn hội để hiển thị HOTEN, DTBK1, DTBK2 từ 2 bảng dữ

liệu DIEMTHI và DIEMLUU

b Tạo truy vấn hội để hiển thị HOTEN, DTBK1, DTBK2, DTBK3 từ 2 bảng

dữ liệu DIEMTHI và DIEMLUU nhưng chỉ hiển thị những sinh viên có DTBK3>=7Bài làm:

a/ SELECT BANGDIEM.MASV,BANGDIEM.DTBK2,BANGDIEM.DTBK3 FROM BANGDIEM

UNION ALL SELECT DIEMLUU.MASV,DIEMLUU.DTBK2,DIEMLUU.DTBK3 FROM DIEMLUU;

Trang 23

SELECT

BANGDIEM.MASV,BANGDIEM.DTBK1,BANGDIEM.DTBK2,BANGDIEM.DTBK3 FROM BANGDIEM

WHERE BANGDIEM.DTBK3>7

UNION SELECT

DIEMLUU.MASV,DIEMLUU.DTBK1,DIEMLUU.DTBK2,DIEMLUU.DTBK3 FROM DIEMLUU

WHERE DTBK3>7;

II/ Thực hành bằng SQL:

Trang 24

MATRUONG nvarchar(2) PRIMARY KEY,TENTRUONG nvarchar(20),

DIACHI nvarchar(30))

-CREATE TABLE DSKHOA

(

MATRUONG nvarchar(2),MAKHOA nvarchar(4) PRIMARY KEY,TENKHOA nvarchar(10),

SODT nvarchar(6),CONSTRAINT fk_matruong FOREIGN KEY(MATRUONG) REFERENCES DSTRUONG

)

Trang 25

2c -ALTER TABLE DANHSACH ADD QUEQUAN nvarchar(20)

ALTER TABLE DANHSACH ADD GIOITINH bit

CREATE INDEX id_qquan ON DANHSACH(QUEQUAN)

Cau

3 -

3a -SELECT MATRUONG,MAKHOA,TENKHOA FROM DSKHOA

3b -SELECT MATRUONG,MAKHOA,SODT FROM DSKHOA

WHERE MATRUONG LIKE 'Q_'

3c -SELECT MASV,MAKHOA,HOTEN FROM DANHSACH

WHERE NGAYSINH BETWEEN '10/20/1974' AND '10/20/1976'

3d -SELECT MASV,HOTEN AS 'Họ và tên',LOP,HOCBONG FROM DANHSACHWHERE (MASV LIKE 'T%') AND (LOP IN ('Tin hoc','Hoa hoc','Kinh te'))

3e -SELECT * FROM DANHSACH

WHERE (HOTEN LIKE '%Thanh') AND

((NGAYSINH BETWEEN '10/1/1976' AND '10/31/1976') OR (HOCBONG BETWEEN 150000 AND 200000))

Cau

4 -

Trang 28

6c -SELECT HOTEN,LOP INTO DSLUU1 FROM DANHSACH

WHERE (LOP='Tin K25A') AND ((YEAR(NGAYSINH)='1985') OR

Trang 29

SELECT DTBK1,DTBK2,DTBK3 FROM DIEMLUU

Trang 30

9b -DELETE FROM DANHSACH

WHERE (NGAYSINH BETWEEN '10/20/1974' AND '10/20/1976') OR

(HOCBONG=120000)

9c -DELETE FROM DANHSACH

WHERE ((HOTEN LIKE 'Nguyen%') OR (HOTEN LIKE '%Thanh')) AND

Trang 31

10b -SELECT A.TENTRUONG,B.TENKHOA,C.HOTEN FROM DSTRUONG AS A,DSKHOA AS B,DANHSACH AS C

WHERE A.MATRUONG=B.MATRUONG AND B.MAKHOA=C.MAKHOA AND YEAR(NGAYSINH)='1980'

10c -SELECT A.TENTRUONG,B.TENKHOA,C.HOTEN,D.DTBK1,D.DTBK2

FROM DSTRUONG AS A,DSKHOA AS B,DANHSACH AS C, BANGDIEM AS DWHERE (A.MATRUONG=B.MATRUONG) AND (B.MAKHOA=C.MAKHOA) AND (C.MASV=D.MASV)

11b -SELECT * FROM DANHSACH AS A,BANGDIEM AS B

WHERE (A.MASV=B.MASV) AND (B.DTBK2<=4)

Trang 32

FROM DANHSACH AS A,DIEMLUU AS B

WHERE (A.MASV=B.MASV) AND (B.DTBK3>=7)

UNION

SELECT A.HOTEN,B.DTBK1,B.DTBK2,B.DTBK3

FROM DANHSACH AS A,BANGDIEM AS B

WHERE (A.MASV=B.MASV) AND (B.DTBK3>=7)

Ngày đăng: 17/07/2015, 17:58

HÌNH ẢNH LIÊN QUAN

Bảng DANHSACH của những sinh viên sinh trước ngày 20/11/76. - báo cáo thực hành cơ sở dữ liệu
ng DANHSACH của những sinh viên sinh trước ngày 20/11/76 (Trang 13)
Bảng dữ liệu DSKHOA và DANHSACH. - báo cáo thực hành cơ sở dữ liệu
Bảng d ữ liệu DSKHOA và DANHSACH (Trang 19)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w