BÀI TẬP LỚN Môn : Hệ quản trị CSDL Đề Tài QUẢN LÝ TUYỂN SINHMỤC LỤCA.LỜI NÓI ĐẦUB.NỘI DUNGI.Thiết kế chương trìnhII.Thiết kế cơ sở dữ liệuII.1. Xây dựng cơ sở dữ liệuII.2. Nhập cơ sở dữ liệuII.3. các hàm, thủ tục, view, trigger.FUNCTIONPROCEDUREVIEW TRIGGERC.KẾT LUẬNC.TÀI LIỆU THAM KHẢO
Bộ công thơng Trờng đại học công nghiệp hà nội Khoa công nghệ thông tin BàI TậP LớN Môn : Hệ quản trị CSDL Đề Tài QUảN Lý TUYểN SINH Giáo Viên Hớng Dẫn : Cô Nguyễn Phơng Nga Nhóm sinh viên thực hiện : Đào Quang Mạnh Nguyễn Văn Tú Đàm Mạnh Hùng Đặng Quốc Trung Lớp : ĐH KHMT 3 - K2 Hà Nội, 10 - 2009 mục lục a.LờI NóI ĐầU b.nội dung I. Thiết kế chơng trình II. Thiết kế cơ sở dữ liệu II.1. Xây dựng cơ sở dữ liệu II.2. Nhập cơ sở dữ liệu II.3. các hàm, thủ tục, view, trigger. FUNCTION PROCEDURE VIEW TRIGGER c.KếT LUậN c.tài liệu tham khảo a.LờI NóI ĐầU Ngày nay, song song với quá trình phát triển công nghệ khoa học và kỹ thuật thì ngành công nghệ thông tin đã và đang đóng một vai trò rất quan trọng trong cuộc sống, nó đã đạt đợc những thành tựu rực rỡ với những bớc tiến nhảy vọt. Việc áp dụng những ứng dụng của công nghệ thông tin vào các lĩnh vực đời sống của con ngời ngày càng tăng và nó đã không ngừng can thiệp vào hầu hết các công việc cũng nh mọi lĩnh vực của cuộc sống. Đi đôi với sự phát triển công nghệ chế tạo các thiết bị phần cứng của máy tính thì việc các sản phẩm phần mềm ứng dụng lần lợt ra đời đáp ứng mọi yêu cầu công việc của cuộc sống và nó có tính chất quyết định đến sự thành công đối với từng công việc đã đợc áp dụng. Trên thế giới cũng nh ở Việt Nam, công nghệ thông tin đã trở thành một ngành công nghiệp mũi nhọn. Nó là một ngành khoa học kỹ thuật không thể thiếu trong cuộc sống cũng nh các hoạt động xã hội nh: Quản lý, kinh tế, thông tin. ở nớc ta hiện nay, việc áp dụng tin học hoá trong việc quản lý tại các cơ quan, xí nghiệp đang rất phổ biến và trở nên cấp thiết. Nhng một vấn đề đặt ra trong việc quản lý là làm thế thế nào để chuẩn hoá và quản trị các cơ sở dữ liệu ở các cơ quan, xí nghiệp bởi mỗi xí nghiệp, mỗi cơ quan cách xử lí khác nhau. ở đây chúng em muốn đề cập tới tầm quan trọng của việc phân tích thiết kế cơ sở dữ liệu trong các quản lý ứng dụng. Với mong muốn hiểu đợc tầm quan trọng của việc phân tích & thiết kế một cơ sở dữ liệu cho một hệ thống quản lý. Chúng em đã đa ra một chơng trình quản lý tuyển sinh và xét tuyển trên hệ quản trị cơ sở dữ liệu sql server 2000, đây cũng chỉ là một phơng pháp trong nhiều phơng pháp, nó có thể cha đợc hoàn thiện nhng phần nào giúp chúng em hiểu đợc phần nào vai trò của việc phân tích thiết kế cơ sở dữ liệu trong bài toán quản lý nói chung. b.NộI DUNG III.Thiết kế chơng trình I.1. Mô hình quan hệ dữ liệu của chơng trình I.2. MÔ Tả KHáI QUáT CHứC NĂNG CHƯƠNG TRìNH I.2.1.Tạo cơ sở dữ liệu. Tạo bảng DOI TUONG Tạo bảng DAN TOC Tạo bảng NGANH Tạo bảng KHU VUC Tạo bảng HO KHAU Tạo bảng HOSOTHISINH Tạo bảng DIEM I.2.2. nhập cơ sở dữ liệu Nhập dữ liệu cho bảng KHUVUC Nhập dữ liệu cho bảng DOITUONG Nhập dữ liệu cho bảng DANTOC Nhập dữ liệu cho bảng NGANH Nhập dữ liệu cho bảng HOKHAU Nhập dữ liệu cho bảng HOSOTHISINH Nhập dữ liệu cho bảng DIEM I.2.3. các hàm, thủ tục, view, trigger. FUNCTION Tìm những thí sinh có điểm (của môn đầu) nhập vào. Tra điểm của thí sinh theo số báo danh. Tra điểm của thí sinh theo tên. Xem tổng thí sinh dự thi theo khối. Liệt kê danh sách thí sinh theo từng khối( Sắp xếp theo SBD) Liệt kê danh sách thí sinh theo ngành(Nhập mã ngành từ 1->9) PROCEDURE Tìm kiếm thí sinh theo số báo danh Danh sách thí sinh theo từng khu vực Danh sách thí sinh sắp giảm dần theo tổng điểm của 3 môn thi Tìm điểm u tiên lớn nhất VIEW Thông tin thí sinh và điểm u tiên Tổng điểm (đã cộng điểm u tiên) theo ngành và khối thi Danh sách thí sinh trúng tuyển Điểm chuẩn Kết quả TRIGGER Kiểm tra mã ngành khi nhập vào bảng HOSOTHISINH có trong bảng NGANH không. Kiểm tra Mã Dân Tộc khi nhập vào bảng HOSOTHISINH có trong bảng DANTOC không Kiểm tra Mã Đối Tợng khi nhập Bảng HOSOTHISINH có trong bảng DOITUONG không Kiểm tra Mã Hộ Khẩu khi nhập vào bảng HOSOTHISINH có trong bảng HOKHAU không Kiểm tra Mã Khu Vực khi nhập vào bảng HOKHAU có trong bảng khu vực không IV. XÂY DựNG CƠ Sở Dữ LIệU I.2.1 Tạo cơ sở dữ liệu use master go if exists (Select * from Sysdatabases QLTS where name='QLTS' ) Drop database QLTS go create database QLTS ON PRIMARY ( name=QLTS_data, Filename='C:\BTLSQL\QLTS.mdf', Size=25mb, maxsize=100mb, filegrowth=10% ) LOG ON ( name=QLTS_log, Filename='C:\BTLSQL\QLTS.ldf', Size=10mb, maxsize=unlimited, filegrowth=5mb ) go use QLTS go TAO BANG DOI TUONG create table dbo.DOITUONG ( MaDoiTuong char(2) primary key not null, LoaiDoiTuong nvarchar(20), DiemCongDTuong numeric ) go TAO BANG DAN TOC create table dbo.DANTOC ( MaDanToc char(2) primary key not null, TenDanToc nvarchar(20) not null, DiemCongDToc numeric ) go TAO BANG NGANH create table dbo.NGANH ( MaNganh char(2) primary key not null, TenNganh nvarchar(30), ChiTieu int ) go TAO BANG KHU VUC create table dbo.KHUVUC ( MaKhuVuc char(2) primary key not null, TenKhuVuc char(8), DiemCongKV numeric ) go TAO BANG HO KHAU create table dbo.HOKHAU [...]... dbo.VIEW2 AS SELECT dbo.HOSOTHISINH.SBD, dbo.HOSOTHISINH.HoDem, dbo.HOSOTHISINH.Ten, dbo.HOSOTHISINH.NgaySinh, dbo.HOSOTHISINH.Gioitinh, dbo.KHUVUC.DiemCongKV, dbo.DANTOC.DiemCongDToc, dbo.DOITUONG.DiemCongDTuong, dbo.UT_Max(dbo.HOSOTHISINH.SBD) AS [Max] FROM dbo.HOSOTHISINH INNER JOIN dbo.DANTOC ON dbo.HOSOTHISINH.MaDanToc = dbo.DANTOC.MaDanToc INNER JOIN dbo.DOITUONG ON dbo.HOSOTHISINH.MaDoiTuong = dbo.DOITUONG.MaDoiTuong... TTTSTheoTenKhuVuc AS Select dbo.HoSoThiSinh.SBD,dbo.HoSoThiSinh.HoDem,dbo.HoSoThiSinh.Ten,dbo.Ho SoThiSinh.NgaySinh,dbo.KhuVuc.MaKhuVuc,dbo.KhuVuc.DiemCongkv,dbo KhuVuc.TenKhuVuc From dbo.HoSoThiSinh,dbo.KhuVuc,dbo.HoKhau Where dbo.HoSoThiSinh.MaHoKhau=dbo.HoKhau.MaHoKhau And dbo.HoKhau.MaKhuVuc=dbo.KhuVuc.MaKhuVuc go EXEC TTTSTheoTenKhuVuc GO DANH SACH THI SINH SAP GIAM DAN THEO TONG DIEM CUA 3... Sysobjects Where Name='proc_DSTHISINH_THEOMANGANH') Drop Procedure proc_DSTHISINH_THEOMANGANH go Create Procedure proc_DSTHISINH_THEOMANGANH (@MaNganh char(2),@Khoi char(1)) As Select dbo.HOSOTHISINH.SBD,HoDem,Ten,NgaySinh,GioiTinh,dbo.HOSOTHISINH MaNganh,NguyenVong, diem1,diem2,diem3,(diem1+diem2+diem3) as TongDiem From dbo.DIEM inner join dbo.HOSOTHISINH on dbo.DIEM.SBD=dbo.HOSOTHISINH.SBD inner join dbo.NGANH... dbo.NGANH.TenNganh,dbo.HOSOTHISINH.SBD,HoDem,Ten,NgaySinh,Gioi Tinh,dbo.HOSOTHISINH.MaNganh,NguyenVong, diem1,diem2,diem3,(diem1+diem2+diem3) as TongDiem From dbo.DIEM inner join dbo.HOSOTHISINH on dbo.DIEM.SBD=dbo.HOSOTHISINH.SBD inner join dbo.NGANH on dbo.NGANH.MaNganh=dbo.HOSOTHISINH.MaNganh Where dbo.NGANH.MaNganh=@MaNganh ) go Select * From f_DSTHISINH_THEOMANGANH('1') PROCEDURE From HoSoThiSinh Where SBD... char(2),@Khoi char(1)) As Select dbo.HOSOTHISINH.SBD,HoDem,Ten,NgaySinh,GioiTinh,dbo.HOSOTHISINH MaNganh,NguyenVong, diem1,diem2,diem3,dbo.UT_Max(dbo.HOSOTHISINH.SBD)As DiemCong, (diem1+diem2+diem3+dbo.UT_Max(dbo.HOSOTHISINH.SBD)) as TongDiem From dbo.DIEM inner join dbo.HOSOTHISINH on dbo.DIEM.SBD=dbo.HOSOTHISINH.SBD inner join dbo.NGANH on dbo.NGANH.MaNganh=dbo.HOSOTHISINH.MaNganh Where dbo.NGANH.MaNganh=@MaNganh... TongDiem DESC go Exec proc_DSTHISINH_THEOMANGANH 1,A DANH SACH THI SINH TRUNG TUYEN : use QLTS go If exists (Select Name From Sysobjects Where Name='proc_DSTHISINH_THEOMANGANH') Drop Procedure proc_DSTHISINH_THEOMANGANH go Create Procedure proc_DSTHISINH_THEOMANGANH (@MaNganh char(2),@Khoi char(1)) As Select top 3 dbo.HOSOTHISINH.SBD,HoDem,Ten,NgaySinh,GioiTinh,dbo.HOSOTHISINH MaNganh,NguyenVong, diem1,diem2,diem3,dbo.UT_Max(dbo.HOSOTHISINH.SBD)As... Go THU TUC TIM KIEM THI SINH THEO SO BAO DANH USE QLTS Go If exists (SELECT name From sysobjects Where name='TimKiemTheoSBD') Drop procedure TimKiemTheoSBD Go Create Procedure TimKiemTheoSBD @SoBaoDanh char(10) As SELECT dbo.HoSoThiSinh.HoDem,dbo.HoSoThiSinh.Ten,dbo.HoSoThiSinh.NgaySinh From HoSoThiSinh Where SBD=@SoBaoDanh Go Exec TimKiemTheoSBD DCND0712 GO DANH SACH THI SINH THEO TEN KHU VUC: Use... SACH THI SINH THEO TUNG KHOI (SAP XEP THEO SO BAO DANH) : If exists (Select Name From Sysobjects Where Name='f_DSTHISINH_THEOKHOI') Drop Function f_DSTHISINH_THEOKHOI go Create Function f_DSTHISINH_THEOKHOI (@Khoi char(1)) Returns Table As Return ( Select Khoi,dbo.HOSOTHISINH.SBD,HoDem,Ten,NgaySinh,GioiTinh,MaNganh,Ngu yenVong,diem1,diem2,diem3,(diem1+diem2+diem3) as TongDiem From dbo.HOSOTHISINH inner... dbo.HOSOTHISINH inner join dbo.DIEM on dbo.HOSOTHISINH.SBD=dbo.DIEM.SBD Where dbo.DIEM.khoi=@Khoi ) go Select * From f_DSTHISINH_THEOKHOI('A') LIET KE DANH SACH THI SINH THEO NGANH (NHAP VAO MA NGANH TU 1=>9): If exists (Select Name From Sysobjects Where Name='f_DSTHISINH_THEOMANGANH') Drop Function f_DSTHISINH_THEOMANGANH go Create Function f_DSTHISINH_THEOMANGANH (@MaNganh char(2)) Returns Table... THI SINH THEO SO BAO DANH : If exists (Select Name From Sysobjects Where Name='f_TIMTHEO_SBD') Drop Function f_TIMTHEO_SBD go Create Function f_TIMTHEO_SBD (@SBD char (10)) Returns Table As Return ( Select dbo.HOSOTHISINH.SBD,HoDem,Ten,NgaySinh,GioiTinh,MaNganh,NguyenV ong,(diem1+diem2+diem3) as TongDiem From dbo.HOSOTHISINH inner join dbo.DIEM on dbo.HOSOTHISINH.SBD=dbo.DIEM.SBD Where dbo.HOSOTHISINH.SBD=@SBD