Những chương trình tin học ứng dụng ngày càng nhiều, rất nhiều công việc thủ công trước đây nay đã được sử ly bằng các phần mềm chuyên dụng đã giảm đáng kể công sức, nhanh chóng và chính
Trang 1HỌC PHẦN: CƠ SỞ DỮ LIỆU NHÓM 7
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
Khoa: Công Nghệ Thông Tin
Trang 2ĐỀ TÀI
Trang 3• 1.1 Lời giới thiệu
• 1.2 Phân tích hệ thống kết quả học tập sinh viên
Chương
1:phân tích
và thiết kế
hệ thống
• 2.1Thiết kế cơ sở dữ liệu
• 2.2 Từ điển kiểu dữ liệu
• 2.3 Một số truy vấn sql server
Chương 2:
thiết kế cơ
sở dữ liệu
Trang 4CHƯƠNG 1
Phân tích và thiết kế hệ thống
Trang 51.1 LỜI GIỚI THIỆU
Trong những năm gần đây sự phát triển của ngành IT đã đem lại những thành tựu to lớn trong việc phát triển kinh tế Những chương trình tin học ứng dụng ngày càng nhiều, rất nhiều công việc thủ công trước đây nay đã được sử ly bằng các phần mềm chuyên dụng đã giảm đáng kể công sức, nhanh chóng và chính xác Để có một phần mềm ứng dụng đáp ứng được yêu cầu công việc đặt ra thì những người làm tin học phải biết phân tích thiết kế hệ thống làm việc của của chương trình để từ đó xây dựng nên một phần mền ứng dụng quản lý chương trình đó bằng ngôn ngữ lập trình nào đó những chương trình, phần mềm ứng dụng đóng vai trò quan trọng trong lĩnh vực quản lý, nó là những công cụ hỗ trợ đắc lực và hầu như không thể thiếu nhằm đáp ứng đầy đủ nhất thuận lợi nhất những đòi hỏi của công việc quản lý nhờ những công cụ trợ giúp có sẵn, access hay SQL sever la những phần mềm như vậy nó được ứng dụng rộng rãi trong công tác quản lý không những thế nó con là một ngôn ngữ lập trình khá mạnh giúp cán bộ quản lý có thể viết những chương trình để sử sụng cơ sơ dữ liệu hay giải quyết một yêu cầu nào đó, những phần mền ứng dụng này đã phần nào trợ giúp các nhà quản lý trở lên nhanh chóng, thuận lợi, chính xác và kịp thời với những tính năng có sẵn sát với thực tế quản lý Chương trình quản lý điểm sinh viên là một chương trình được xây dựng nhằm đáp ứng những đòi hỏi đặt ra của quá trình quản lý như nhập thong tin sinh viên, tìm kiếm, thống kê, in báo cáo và rất nhiều công việc khác một cách nhanh chóng và thuận tiện, chính xác một cách hệ thống Trong chương trình phần mền ứng dụng này thì chương trình nghiên cứu phân tích thiết kế hệ thống đóng vai trò rất quan trọng trong việc thiết
kế chương trình phần mền, nhìn vào bản phân tích ta có thể hiểu được người lập trình muốn làm gì, hiểu được sự hoạt động của hệ thống.
Trang 61.2 Phân tích hệ thống kết quả học tập sinh viên
1.2.4
Phân loại các
thuộc
tính vào
1 thự
c thể
Trang 71.2.1 THỰC TRẠNG CỦA HỆ THỐNG QUẢN LÍ ĐIỂM
Hiệu q
uả năng
“tin học hoá hoá” nhờ có
sự trợ của các chương trình, phần mềm ứng dụng
Việc nhập điểm, tìm kiếm, sửa chữa, báo cáo, thống kê cần được
xử lý nhờ máy tính
Đưa
ra máy
Trang 81.2.2 BẢN ĐỒ PHÂN CẤP CHỨC NĂNG
Trang 91.2.3 BẢN ĐỒ LUỒNG DỮ LIỆU
Trang 101.2.4 PHÂN LOẠI CÁC THUỘC TÍNH VÀO 1 TẬP THỰC THỂ
Kiểu thực thể liên kết là nguồn thông tin cần thiết cho hệ thống các kiểu thực thể có thể xuất hiện
ở các tác nhân ngoài các luồng thông tin nội bộ hoặc các kho dữ liệu
Kiểu thực thể môn học: MaMH
,TenMH, SoTiet
Kiểu thực thể điểm:
MaSV,TenSV,DiemThi
Kiểu thực thể lớp:MaLop, TenLop,MaKhoa,HeDT
Kiểu thực thể sinh viên: MaSV,TenSV,MaLop,MaKhoaHoc,NgaySinh,Gi
oiTinh,DiaChi
Kiểu thực thể khóa học:
MaKhoaHoc,TenKhoaHoc
Trang 111.2.5 MÔ HÌNH THỰC THỂ LIÊN KẾT
Diem
MaSVMaMHDiemThi
MonHoc
MaMHTenMHSoTiet
Lop
MaLopTenLopMaKhoaHeDT
SinhVien
TenSVMaSVMaLopMaKhoaHocGioiTinhNGaySinhDiaChi
KhoaHoc
MaKhoaHocTenKhoaHoc
Trang 12CHƯƠNG 2 :
Thiết kế cơ sở dữ liệu
Trang 132.1 THIẾT KẾ CƠ SỞ DỮ LIỆU
Trang 142.2 TỪ ĐIỂN KIỂU DỮ LIỆU
Trang 152.2 TỪ ĐIỂN KIỂU DỮ LIỆU
Tên bảng Tên cột MaKiểu dữ liệu Độ rộng Miêu tả
Trang 162.3 MỘT SỐ TRUY VẤN SQL
Tạo database • Create database QLDSinhVien
Sử dụng
Trang 172.3 MỘT SỐ TRUY VẤN SQL TẠO CÁC
BẢNG SINH VIÊN
tạo bảng sinh viên –
createtable Diem
TenMH
nvarchar(30),
SoTiet
tinyint,
)
Tạo Bảng Lớp
Trang 182.3 MỘT SỐ TRUY VẤN SQL TẠO KHÓA CHÍNH,
KHÓA NGOẠI VÀO
CÁC BẢNG
alter table SinhVien add constraint pk_MaSV
primary key(MaSV)
alter table MonHoc add constraint pk_MaMH primarykey (MaMH)
alter table Lop add constraint pk_MaLop Primarykey(MaLop)
alter table KhoaHoc add constraint pk_KhoaHoc
primary key(MaKhoaHoc)
alter table SinhVien add constraint fk_Lop
foreign key (MaLop) references Lop(MaLop)
alter table Diem add constraint fk_Diem1 foreignkey(MaSV) references SinhVien(MaSV)
alter table Diem add constraint fk_MonHoc foreignkey(MaMH) references MonHoc(MaMH)
alter table SinhVien add constraint fk_KH1
foreign key (MaKhoaHoc) references
KhoaHoc(MaKhoaHoc)
Trang 202.3MỘT SỐ TRUY VẤN SQL
Nhập Dữ Liệu Bảng
Lớp insert into Lop values ('CNTT6', N'Công Nghệ Thông Tin 6', 'CNTT', N'Đai Học')
Trang 212.3 MỘT SỐ TRUY VẤN SQL
Nhập Dữ Liệu Bảng Sinh
Viên insert into SinhVien values
('200001', N'Nguyễn Văn A','CNTT6','K11', 1, '9-12-2002', N'Quảng Ninh'),('200002', N'Nguyễn Văn B','CNTT6', 'K11',0, '9-11-2002', N'Quảng Nam'),('200003', N'Nguyễn Văn D','CNTT6','K11', 1, '9-10-2002', N'Đà Nẵng'),('200004', N'Nguyễn Văn C','CNTT6','K11',1, '9-9-2002', N'Hà Nội'),('200005', N'Nguyễn Văn S','CNTT6','K11', 0, '9-8-2002', N'Cần Thơ'),('200006', N'Nguyễn Văn Z','CNTT6','K11', 1, '9-5-2002', N'Cần Em'),('200007', N'Nguyễn Văn X','CNTT6','K11',0, '9-4-2002', N'Sài Gòn')
Trang 222.3 MỘT SỐ TRUY VẤN SQL
Nhập Dữ Liệu Bảng Môn
Học insert into MonHoc values
('SQL', N'Cơ Sở Dữ Liệu', 45),('GT', N'Giải Tích', 30),
('DS', N'Đại Sô', 30),('KTMT', N'Kiến Trúc Máy Tính', 40),('TRR', N'Toán Rời Rạc', 40)
INSERT DỮ LIỆU VÀO
BẢNG
Trang 242.3 MỘT SỐ TRUY VẤN SQL
Sử dụng ràng buộc check giới hạn số tiết trong bảng MonHoc phải lớn hơn
0-alter table MonHoc add constraint ck_Tiet check (SoTiet>0) Hiển thị số tiết lớn hơn 0
SỬ DỤNG CÂU RÀNG BUỘC
Trang 252.3 MỘT SỐ TRUY VẤN SQL
Sử dụng ràng buộc default đặt mặc định cột ngày sinh 9-11-2000
alter table SinhVien add constraint df_SV default('9-11-2000') for NgaySinh
Trang 262.3 MỘT SỐ CÂU TRUY VẤN
nhập thêm dữ liệu vào bảng sinh viên
insert into SinhVien(MaSV, TenSV,
MaLop, MaKhoaHoc, GioiTinh, DiaChi)
Trang 272.3 MỘT SỐ CÂU TRUY VẤN SQL
Sử dụng câu truy vấn join hiển thị tất cả dữ liệu trong bảng Sinh Viên and bảng Lớp
select * from SinhVien a join Lop b on
a.MaLop=b.MaLop
SỬ DỤNG CÂU TRUY VẤN
Trang 282.3 MỘT SỐ CÂU TRUY VẤN SQL
Sử dụng câu truy vấn nhiều join hiển thị tất cả dữ liệu trong bảng Môn Học, Điểm, Sinh Viên, Lớp, Môn Học
select * from MonHoc a join Diem b on a.MaMH=b.MaMH join SinhVien c on b.MaSV =c.MaSV
join Lop d on c.MaLop=d.MaLop join KhoaHoc e on
c.MaKhoaHoc=e.MaKhoaHoc
Trang 292.3 MỘT SỐ CÂU TRUY VẤN SQL
/* Sử dụng câu truy vấn left join để lấy các giá trị
Từ bảng bên trái(SinhVien) cộng với các giá trị phù hợp của bảng bên phải(Diem)
trường hợp không có giá trị phù hợp sẽ là null */
select * from SinhVien a left join Diem b on
a.MaSV=b.MaSV
Trang 302.3 MỘT SỐ CÂU TRUY VẪN SQL
/* Sử dụng câu truy vấn right join để lấy các giá trị từ bảng bên phải(SinhVien) cộng với các giá trị phù hợp của bảng bên trái(MonHoc, Diem)trường hợp không có giá trị phụ hợp sẽ là null */
select * from MonHoc a right join Diem b on a.MaMH=b.MaMH right joinSinhVien c on b.MaSV=c.MaSV
Trang 332.3 MỘT SỐ TRUY VẤN SQL
Sử dụng câu truy vấn group by để nhóm ngày sinh lại
select count(MaSV) as 'Có Bao Nhiêu Người', year(NgaySinh) as 'Năm Sinh'
from SinhVien
group by YEAR(NgaySinh)
Trang 352.3 MỘT SỐ TRUY VẤN SQL
Sử dụng câu truy vấn delete bảng khóa
học alter table SinhVien drop constraint fk_KH1
alter table KhoaHoc drop constraint pk_KhoaHoc
delete from KhoaHoc
Trang 362.3 MỘT SỐ TRUY VẤN SQL
Sử dụng câu truy vấn update cột Giới tính
update SinhVien set GioiTinh=casewhen TenSV in(N'Nguyễn Văn A', N'Nguyễn văn B',N'Nguyễn văn C', N'Nguyễn văn D') then 0
when TenSV in(N'Nguyễn Văn X', N'Nguyễn văn Z',N'Nguyễn văn S', N'Vu Dinh A') then 1
endselect * from SinhVien
Trang 372.3 MỘT SỐ TRUY VẤN SQL
Sử dụng câu truy vấn in truy xuất dữ liệu
200001 select * from SinhVien where MaSV in(200001)
Trang 382.3 MỘT SỐ CÂU TRUY VẤN SQL
Sử dụng câu truy vấn like tìm địa chỉ có tên
Em select * from SinhVien where DiaChi like ('%Em')
SỬ DỤNG CÂU RÀNG BUỘC