Bài báo cáo đồ án quản trị cơ sở dữ liệu khóa 23 đại học chính quy tên đề tài: quản lý sinh viên môn Quản trị cơ sở dữ liệu | Trường đại học kinh doanh và công nghệ Hà Nội
Từ khi xã hội loài người phát triển , việc quản lý các dữ liệu ,thông tin đã trở nên phổ biến và đóng một vai trò quan trọng trong sự phát triển văn minh nhân loại . Trước kia , người ta thường ghi các thông tin , các mạch dữ liệu trên giấy tờ , sổ sách ,… điều này làm cho việc quản lý trở nên phức tạp , khó bảo quản , Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời đọc đón xem!
Môn: Quản trị cơ sở dữ liệu (HUBT)
Trường: Đại học Kinh Doanh và Công Nghệ Hà Nội
Thông tin:
Tác giả:
Preview text:
lOMoAR cPSD| 48641284
BÀI BÁO CÁO ĐỒ ÁN QUẢN TRỊ CƠ SỞ DỮ LIỆU KHÓA 23 ĐẠI HỌC CHÍNH QUY
Tên đề tài: Quản Lý Sinh Viên Lời nói đầu
Từ khi xã hội loài người phát triển , việc quản lý các dữ liệu ,
thông tin đã trở nên phổ biến và đóng một vai trò quan trọng trong sự
phát triển văn minh nhân loại . Trước kia , người ta thường ghi các thông
tin , các mạch dữ liệu trên giấy tờ , sổ sách ,… điều này làm cho việc
quản lý trở nên phức tạp , khó bảo quản , lưu trữ và còn không đủ hiệu
quả . Ngày nay , ở bất kì đâu , từ công ty lớn đến nhỏ , hay bất kì tổ chức
nào thì chúng ta đều dễ dàng bắt gặp việc quản lý các nhân viên , sinh
viên , tiền lương , sách vở , các vật tư , …… bằng các phần mềm quản lý
CSDL và một trong số đó có phần mềm SQL Server do Microsoft phát triển .
Ngay từ khi còn ngồi trên ghế nhà trường , chúng em đã được làm
quen và thực hành việc quản lý các CSDL . Nhận thấy đề tài QUẢN LÝ
SINH VIÊN là một đề tài hay , thiết thực với sinh viên nên em quyết
định làm về quản lý sinh viên trong một trường học với phạm vi vừa
phải . Trong quá trình làm bài không thể tránh khỏi những thiếu sót. Rất
mong thầy cô xem và cho em xin ý kiến . lOMoAR cPSD| 48641284
I. Chương 1:Tổng quan Quản trị cơ sở dữ liệu
1 .Ngôn ngữ lập trình SQL
SQL là tên viết tắt của Structured Query Language, là ngôn ngữ truy vấn
có cấu trúc, cho phép bạn truy cập và thao tác với các cơ sở dữ liệu để
tạo, xóa, sửa đổi, trích xuất dữ liệu.
SQL cũng là ngôn ngữ tiêu chuẩn cho các hệ cơ sở dữ liệu quan hệ. Tất
cả các hệ thống quản trị cơ sở dữ liệu (RDBMS) như MySQL, MS
Access, Oracle, Sybase, Informix, Postgres hay SQL Server đều lấy SQL
làm ngôn ngữ cơ sở dữ liệu tiêu chuẩn.
Nếu tìm hiểu về SQL Server của Microsoft, bạn sẽ biết rằng ngoài SQL,
hệ cơ sở dữ liệu này còn sử dụng T-SQL như ngôn ngữ "địa phương",
Oracle SQL thì dùng thêm PL/SQL,...
SQL manh nha từ năm 1970 khi Dr. Edgar F. "Ted" Codd của IBM mô
tả một mô hình quan hệ cho các cơ sở dữ liệu. Năm 1974, SQL bắt đầu
xuất hiện. 4 năm sau đó, IBM đã phát triển các ý tưởng của Codd và tạo
ra sản phẩm mang tên System/R. Năm 1986, IBM phát triển nguyên mẫu
đầu tiên của cơ sở dữ liệu quan hệ và được tiêu chuẩn hóa bởi ANSI. Cơ
sở dữ liệu quan hệ đầu tiên được phát hành bởi Relational Software (
chính là Oracle bây giờ )
2 . Hệ quản trị cơ sở dữ liệu SQL Server
a. Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) là
phần mềm tương tác với người dùng cuối, ứng dụng và chính cơ sở dữ
liệu để thu thập và phân tích dữ liệu. Phần mềm DBMS bao gồm các
tiện ích cốt lõi được cung cấp để quản trị cơ sở dữ liệu. Tổng cộng của
cơ sở dữ liệu, DBMS và các ứng dụng liên quan có thể được gọi là "hệ
thống cơ sở dữ liệu". Thông thường thuật ngữ "cơ sở dữ liệu" cũng được
sử dụng để nói đến bất kỳ DBMS, hệ thống cơ sở dữ liệu hoặc ứng dụng
nào được liên kết với cơ sở dữ liệu. 1 lOMoAR cPSD| 48641284
b. Hệ quản trị cơ sở dữ liệu SQL Server
MS SQL Server cũng là một hệ quản trị cơ sở dữ liệu được sử dụng rất
phổ biến. Hệ quản trị này được nghiên cứu và phát triển bởi Microsoft Inc.
Vào năm 1989, MS SQL Server chính thức được ra mắt. Ngôn ngữ truy
vấn đầu tiên của hệ quản trị cơ sở dữ liệu này là T-SQL hay ANSI SQL.
Sau nhiều năm, MS SQL Server vẫn luôn nằm trong top các hệ quản trị
cơ sở dữ liệu được sử dụng phổ biến nhất.
Một số tính năng của Hệ quản trị CSDL MS SQL Server là:
– Có thể hoạt động tốt trên hệ điều hành Windows và Linux
– Có thể tương thích với Oracle
– Cung cấp và quản lý khối lượng công việc hiệu quả
– Cho phép cùng lúc nhiều người dùng chung một cơ sở dữ liệu
II. Chương 2 : Phân tích và thiết kế CSDL
2.1 Thiết kế CSDL logic và vật lý
Ta có các thực thể và các thuộc tính cần quản lý:
Thiết kế CSDL mức khái niệm :
-Sinh Viên ( Mã SV , Họ Tên ,Giới Tính, Ngày sinh , Quê Quán , Mã Khoa )
-Khoa ( Mã Khoa , Tên Khoa)
-Môn học( Mã Môn, Tên Môn , Số tiết, Mã Khoa, Mã Giáo Viên,)
- Kết quả ( Lần thi , Điểm Thi , Học Kỳ , Năm Học ) 2 lOMoAR cPSD| 48641284
- Lớp ( Mã Lớp , Tên Lớp , Mã Khoa ) Các mối quan hệ :
Sinh Viên “ thuộc “ Khoa
Kết quả “ của “ Sinh Viên Thiết kế CSDL mức logic:
-Sinh Viên ( Mã SV , Họ tên , Ngày sinh , Địa chỉ , Giới tính , Mã Khoa )
-Khoa (Mã Khoa,Tên Khoa)
-Môn học (Mã Môn ,Tên Môn , Số tiết ) -Kết
quả (Mã Môn , Mã SV , Lần thi , Điểm ) Thiết kế vật lý : Bảng SinhVien: MaSV Ho Ten Gioi Tinh NS Que Quan Ma Khoa
nvarchar(10 nvarchar(50 nvarchar(3 Datetim Nvarchar(50 nvarchar(10 ) e ) ) ) ) Bảng Khoa MAKHOA TENKHOA nvarchar(10) nvarchar(15) Bảng MonHoc MAMH TENMH Ma Khoa SoTiet Ma Giao Vien 3 lOMoAR cPSD| 48641284
nvarchar(10) nvarchar(15) Nvarchar(10) Nvarchar(5 nvarchar(50) ) Bảng Diem MaM MaS CC KT KN Thi Thi Tong Xep Hoc on V L1 L2 Ket Loai Bong
nvarc nvarc Nvar Nvar Nvar Nvar Nvar Nvar Nvar Nvarc
har(1 har(1 char( char( char( char( char( char( char( har(1 0) 0) 5) 5) 5) 5) 5) 5) 5) 5) Bảng Giao Vien
MaGiaoVien TenGiaoVien GioiTinh Ngay Que Quan Sinh nvarchar(15) nvarchar(15)
nvarchar(15) datetime nvarchar(15) Các thao tác sử dụng: Thêm, Sửa,Xóa,Xem
II.2 Thiết kế bảng Create table KHOA (
MaKhoa nvarchar(10) not null primary key, TenKhoa nvarchar(30) ) 4 lOMoAR cPSD| 48641284 Create table SINHVIEN (
MaSV nvarchar(10) not null primary key, HoTen nvarchar(50) , Gioitinh nvarchar(3) , Ngaysinh datetime, QueQuan nvarchar(50) , MaKhoa nvarchar(10) ,
foreign key (MaKhoa) references KHOA(MaKhoa) ) Create table MONHOC (
MaMH nvarchar(10) not null primary key, TenMH nchar(30) , MaKhoa nvarchar(10) , SoTiet nvarchar(5) , MaGiaoVien nvarchar(50) ) Create table Diem ( MaSV nvarchar(10) not null, MaMH nvarchar(10) not null, Diem CC nvarchar(5) , Diem KT nvarchar(5) , Diem KN nvarchar(5) , Diem ThiL1 nvarchar(5) , 5 lOMoAR cPSD| 48641284 Diem ThiL2 nvarchar(5) , Diem TK nvarchar(5) ,
XepLoai nvarchar(5) , HocBong nvarchar(15) ,
foreign key (MaSV) references SINHVIEN(MaSV) ,
foreign key (MaMH) references MONHOC(MaMH) ) Create table GiaoVien (
MaGiaoVien nvarchar(15) not null primary key, TenGiaoVien nvarchar(55) , GioiTinh nvarchar(15) , NgaySinh datetime, QueQuan nvarchar(15) ,
foreign key(MaGiaoVien) references MonHoc(MaMH) ) 6 lOMoAR cPSD| 48641284
Thực hiện các câu lệnh trong chương trình: - Insert : Bảng Điểm:
insert into Diem values ('S01','M02', 9,9,9,9.5,'',9.33)
insert into Diem values ('S02','M01', 9,8,8,7.5,9,8.78)
insert into Diem values ('S03','M03', 5,6,7,5,'',5.33)
insert into Diem values ('S04','M04', 8,7,8,7,'',7.2) Bảng Giáo Viên:
insert into GiaoVien values ('001','Dao Phuong Dung','Nu','06/15/1985','Thai
Binh') insert into GiaoVien values ('002','Nguyen Hoang','Nam','02/28/1988','TP
Ha Noi') insert into GiaoVien values ('003','Nguyen Van
Nam','Nam','01/11/1987','Bac Giang') insert into GiaoVien values ('004','Lam
Ngoc Dieu','Nu','06/16/1990','Nam Dinh') insert into GiaoVien values ('005','Can
Dinh Hiep','Nam','03/29/1985','Ha Tay') insert into GiaoVien values ('006','Le
Duy Hung','Nam','08/25/1995','TP Ha Noi') insert into GiaoVien values ('007','Do
Duy Hai','Nu','07/01/1986','Bac Ninh') 7 lOMoAR cPSD| 48641284 Bảng Khoa:
insert into Khoa values ('K01','CNTT')
insert into Khoa values ('K02','Anh')
insert into Khoa values ('K03','Trung')
insert into Khoa values ('K04','DTVT') 8 lOMoAR cPSD| 48641284 Bảng Môn Học:
insert into MonHoc values ('M01','SQL','K01',90,'001') insert into
MonHoc values ('M02','Ai','K01',90,'004') insert into MonHoc
values ('M03','Tieng Trung 1','K03',60,'007') insert into MonHoc
values ('M04','Tieng Trung 2','K03',80,'002') insert into MonHoc
values ('M05','Song Dien Tu','K04',90,'003') insert into MonHoc
values ('M06','Song Vo Tuyen','K04',45,'005') insert into MonHoc
values ('M07','Anh 4','K02',90,'002') 9 lOMoAR cPSD| 48641284 Bảng Sinh Viên:
insert into SinhVien values ('S01','Minh
Thang','Nam','07/24/1997','TuyenQuang','K01') insert into SinhVien values ('S02','Dich
Long','Nam','06/10/2000','PhuTho','K01') insert into SinhVien values ('S03','Xuan
Thuy','Nam','06/04/2000','An Giang','K02') insert into SinhVien values ('S04','Thuy
Van','Nu','08/01/2000','Nam Dinh','K04') insert into SinhVien values ('S05','Huong
Lan','Nu','04/05/1996','Bac Giang','K03') insert into SinhVien values ('S06','Trong
Hung','Nam','06/01/2000','Bac Giang','K04') insert into SinhVien values ('S07','Bang
Nhi','Nu','02/02/2000','Ca Mau','K02') insert into SinhVien values ('S08','Cong
Thai','Nam','09/06/1999','Nam Dinh','K03') insert into SinhVien values ('S09','Ngoc
An','Nu','08/30/1996','Khanh Hoa','K03') insert into SinhVien values ('S10','Trong
Anh','Nam','09/29/1997','Ha Tay','K01') 10 lOMoAR cPSD| 48641284 Câu lệnh update:
update SinhVien set QueQuan = 'Tuyen Quang' where MaSV = 'S01' update
SinhVien set QueQuan = 'Phu Tho ' where MaSV = 'S02' 11 lOMoAR cPSD| 48641284
Câu lệnh delete: insert into Khoa values ('K05','Co Khi')
delete from Khoa where MaKhoa = 'K05' 12 lOMoAR cPSD| 48641284
Các câu lệnh truy vấn select:
Câu 1: Truy vấn người không có học bổng: 13 lOMoAR cPSD| 48641284
Câu 2: Truy vấn thông tin người có xếp loại Trung Bình
Câu 3:Truy vấn đếm số các môn học: 14 lOMoAR cPSD| 48641284
Câu 4:Truy vấn thông tin của giáo viên có quê ở Hà Nội:
Câu 5:Truy vấn thông tin của giáo viên tên Dung 15 lOMoAR cPSD| 48641284
Câu 6:Truy vấn thông tin của giáo viên sinh năm 1985:
Câu 7: Truy vấn điểm thi cao nhất. 16 lOMoAR cPSD| 48641284 -
Phần Tạo trigger và scalar.
Tạo Trigger không cho xóa dữ liệu của bảng Sinh Viên:
create trigger t_delete_SinhVien on SinhVien for delete as begin Rollback Tran end 17 lOMoAR cPSD| 48641284 Chạy thử trigger: 18 lOMoAR cPSD| 48641284
Tạo Trigger kiểm tra số lượng giáo viên nếu nhiều hơn 7 người thì không cho thêm.
create trigger t_insert_GiaoVien on GiaoVien
for insert as if (Select count(MaGV) from
GiaoVien) >7 begin rollback tran end 19