1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo môn cơ sở dữ liệu trong điều khiển đề tài quản lý thư viện

21 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 21
Dung lượng 858,15 KB

Nội dung

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA ĐIỆN ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN HỌC *********** BÁO CÁO Môn CƠ SỞ DỮ LIỆU TRONG ĐIỀU KHIỂN Đề tài Quản lý thư viện Sinh viên LÊ ĐÌNH LÂM MSV 191601915 Lớp Tự động[.]

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA ĐIỆN - ĐIỆN TỬ BỘ MÔN ĐIỀU KHIỂN HỌC *********** BÁO CÁO Môn: CƠ SỞ DỮ LIỆU TRONG ĐIỀU KHIỂN Đề tài : Quản lý thư viện Sinh viên : LÊ ĐÌNH LÂM MSV : 191601915 Lớp: Tự động hóa – K60 Giảng viên hướng dẫn: NGUYỄN HOÀNG VÂN Hà Nội - 5/2023 Lời cảm ơn Đầu tiên em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Hồng Vân (giảng viên phụ trách mơn học) thầy cô giáo môn điều khiển học tạo điều kiện sở vật chất tinh thần giúp đỡ, hướng dẫn em trong trình học tập làm báo cáo tập lớn Em xin cảm ơn thầy giáo, cô giáo trang bị cho em kiến thức cần thiết bổ ích để hoàn thành báo cáo Do thời gian kiến thức hạn chế nên báo cáo khơng tránh khỏi sai sót Em mong nhận đóng góp bổ sung thầy bạn Cuối xin chân thành cảm ơn tất bạn đóng góp ý kiến hỗ trợ em trình thực làm báo cáo tập lớn Hà Nội – 15/5/2023 MỤC LỤC I Lời giới thiệu đề tài II Nội Dung Thực SQL server: Visual studio : .8 Mô tả hoạt động: 17 II Ứng dụng thực tiễn phát triển hoàn thiện: 21 I Lời giới thiệu đề tài Việc quản lý thư viện vấn đề quan trọng tổ chức giáo dục, nghiên cứu công nghiệp Thư viện nơi chứa giữ tài liệu, sách báo, tài liệu số, tài liệu học liệu tài liệu khác có giá trị tri thức, triển vọng phát triển Như vậy, việc quản lý liệu tài liệu thư viện quan trọng để đảm bảo thơng tin lưu trữ cách xác, đầy đủ dễ dàng truy xuất Báo cáo môn sở liệu thường yêu cầu sinh viên phải có đề tài để áp dụng kiến thức học thực tế Chọn đề tài quản lý thư viện hợp lý, cho phép sinh viên tìm hiểu sở liệu liên quan đến thư viện, đánh giá tìm kiếm giải pháp để quản lý tài nguyên thông tin cách hiệu Thực đề tài giúp sinh viên phát triển kỹ phân tích, thiết kế triển khai sở liệu Nó giúp sinh viên hiểu rõ quy trình quản lý thư viện hội để thử nghiệm phương pháp quản lý thư viện khác để đưa giải pháp tối ưu Trong tổ chức, việc quản lý thư viện thông qua sở liệu quan trọng để đảm bảo thông tin tài nguyên lưu trữ sử dụng cách xác linh hoạt Đề tài quản lý thư viện giúp sinh viên hiểu tầm quan trọng sở liệu việc quản lý tài nguyên giúp nâng cao kỹ lĩnh vực Vì em lựa chọn đề tài quản lý thư viện để làm báo cáo cho học phần sở liệu điều khiển II Nội Dung Thực SQL server: - Sơ đồ quan hệ: - Code xây dựng database: Tạo database create database Library_LAM_TDH_K60 go Sử dụng database use [Library_LAM_TDH_K60] go set ansi_nulls on go set quoted_identifier on go Tạo bảng thủ thư CREATE TABLE THUTHU ( THUTHU_id INT NOT NULL PRIMARY KEY, Hoten NCHAR(20), Diachi NCHAR(20), Sdt INT , Id NCHAR(20), Pass NCHAR(20) ) Tạo bảng sách CREATE TABLE SACH ( SACH_id INT NOT NULL PRIMARY KEY, Tensach NCHAR(20) , Tacgia NCHAR(20) , Namxb date , SoLuong INT ); Tạo bảng người mượn CREATE TABLE DOCGIA ( DOCGIA_id INT NOT NULL PRIMARY KEY, Hoten NCHAR(20) , Diachi NCHAR(20), Sdt INT ); Tạo bảng phiếu mượn sách CREATE TABLE PHIEUMUON ( PHIEUMUON_id INT NOT NULL PRIMARY KEY, THUTHU_id INT , SACH_id INT , DOCGIA_id INT , Ngaymuon DATE, Ngaytra DATE, FOREIGN KEY (SACH_id) REFERENCES SACH(SACH_id), FOREIGN KEY (DOCGIA_id) REFERENCES DOCGIA (DOCGIA_id), FOREIGN KEY (THUTHU_id) REFERENCES THUTHU (THUTHU_id) ); - Code sử dụng triger : Mục đích trigger để cập nhật số lượng sách cịn lại sau có phiếu mượn phiếu trả sách thêm vào Trigger "update_soluong" kích hoạt sau phiếu mượn sách thêm vào Trigger giảm số lượng sách lại đơn vị (sách đưa vào phòng đọc để mượn) tạo trigger để cập nhật số lượng sách lại sau mượn CREATE TRIGGER update_SOLUONG ON PHIEUMUON AFTER INSERT AS BEGIN UPDATE SACH SET SOLUONG = SOLUONG - WHERE SACH.SACH_id = SACH_id; END GO Trigger "update_returned_soluong" kích hoạt sau phiếu trả sách cập nhật Trigger tăng số lượng sách lại lên đơn vị (sách trả lại vào thư viện) tạo trigger để cập nhật số lượng sách sau trả CREATE TRIGGER update_returned_SOLUONG ON PHIEUMUON AFTER UPDATE AS BEGIN UPDATE SACH SET SOLUONG = SOLUONG + WHERE SACH.SACH_id = SACH_id; END GO Thủ tục "soluong" có mục đích để truy vấn số lượng sách lại dựa mã sách ("sach_id") Khi gọi, thủ tục trả số lượng sách lại cho mã sách cho tạo thủ tục để lấy số lượng sách lại CREATE PROCEDURE SOLUONG(@SACH_id int) AS BEGIN SELECT SOLUONG FROM SACH WHERE SACH_id = @SACH_id; END GO - Code thêm liệu vào bảng cách sử dụng câu lệnh INSERT INTO use [Library_LAM_TDH_K60] go insert into THUTHU(THUTHU_id,Hoten,Diachi,Sdt,Id,Pass) values('0000','Le Dinh lam','Quang Ninh','099999999','admin','lamdeptrai') insert into SACH(SACH_id,Tensach,Tacgia,Namxb,SoLuong) values('1000','csdl','Hoang Van','2020','10') insert into DOCGIA(DOCGIA_id,Hoten,Diachi,Sdt) values('2000','Nguyen Tien Dung','99 Nguyen Chi Thanh','088888888') insert into PHIEUMUON(PHIEUMUON_id,THUTHU_id,SACH_id,DOCGIA_id,Ngaymuon,Ngaytra) values('3000','0000','1000','2000','05/10/2023','05/20/2023') Visual studio : - Tạo from đăng nhập: kết nối với SQL sever , truy vấn xuất liệu từ bảng THUTHU Database chứa Id Pass dùng để đăng nhập - Form đăng nhập : - Code form đăng nhập: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Collections; namespace QLTV_LAM_191601915 { public partial class Form1 : Form { //tạo biến cục string strCon = "Data Source=LAPTOP-NAKKT7E0\\SQLEXPRESS;Initial Catalog=Library_LAM_TDH_K60;User ID= sa;Password= Anhlambkqn"; //đối tượng kết nối SqlConnection sqlCon = null; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void butDN_Click(object sender, EventArgs e) { try { if (sqlCon == null) { sqlCon = new SqlConnection(strCon);//Rỗng tạo } //mở kết nối if (sqlCon.State != ConnectionState.Closed) ; sqlCon.Open(); //Đóng mở string tk = TXTId.Text; string mk = TXTPass.Text; string sql = "select * from THUTHU where Id = '" + tk + "' and Pass = '" + mk + "'"; SqlCommand cmd = new SqlCommand(sql, sqlCon); SqlDataReader dta = cmd.ExecuteReader(); if (dta.Read() == true) { MessageBox.Show("Đăng nhập thành công"); Form2 frm = new Form2(); frm.Show(); this.Hide(); } else { MessageBox.Show("Tài khoản mật không đúng"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } private void butT_Click(object sender, EventArgs e) { Application.Exit(); } - Tạo form menu chuyển tiếp form đăng nhập để truy cập form lại - Form menu - Code form menu using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace QLTV_LAM_191601915 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form3 frm = new Form3(); 10 } frm.Show(); this.Hide(); private void button5_Click(object sender, EventArgs e) { Application.Exit(); } private void button3_Click(object sender, EventArgs e) { Form4 frm = new Form4(); frm.Show(); this.Hide(); } } } private void button4_Click(object sender, EventArgs e) { Form5 frm = new Form5(); frm.Show(); this.Hide(); } - Tạo form phiếu mượn truy vấn xuất liệu, thêm/sửa/xóa liệu từ bảng phieumuon - Code form phiếu mượn: using System; using System.Collections.Generic; 11 using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Collections; namespace QLTV_LAM_191601915 { public partial class Form3 : Form { SqlConnection connection; SqlCommand command; string str = "Data Source=LAPTOP-NAKKT7E0\\SQLEXPRESS;Initial Catalog=Library_LAM_TDH_K60;Persist Security Info=True;User ID=sa;password=Anhlambkqn"; SqlDataAdapter adapter = new SqlDataAdapter(); DataTable table = new DataTable(); void loaddata() { command = connection.CreateCommand(); command.CommandText = "select * from PHIEUMUON"; adapter.SelectCommand = command; table.Clear(); adapter.Fill(table); dataGridView1.DataSource = table; } public Form3() { InitializeComponent(); } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb_PM.ReadOnly = true; int i; i = dataGridView1.CurrentRow.Index; tb_PM.Text = dataGridView1.Rows[i].Cells[0].Value.ToString(); tb_TT.Text = dataGridView1.Rows[i].Cells[1].Value.ToString(); tb_S.Text = dataGridView1.Rows[i].Cells[2].Value.ToString(); tb_DG.Text = dataGridView1.Rows[i].Cells[3].Value.ToString(); dateM.Text = dataGridView1.Rows[i].Cells[4].Value.ToString(); dateT.Text = dataGridView1.Rows[i].Cells[5].Value.ToString(); } private void Form3_Load(object sender, EventArgs e) { connection = new SqlConnection(str); connection.Open(); loaddata(); } private void button1_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "insert into PHIEUMUON valeus('" + tb_PM.Text + "', '" + tb_TT.Text + "', '" + tb_S.Text + "', '" + tb_DG.Text + "', '" + dateM.Text + "', '" + dateT.Text + "')"; command.ExecuteNonQuery(); loaddata(); } 12 private void button3_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "delete from PHIEUMUON where PHIEUMUON_id= '" + tb_PM.Text + "'"; command.ExecuteNonQuery(); loaddata(); } private void button2_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "update PHIEUMUON set THUTHU_id = '" + tb_TT.Text + "', SACH_id = '" + tb_S.Text + "', DOCGIA_id= '" + tb_DG.Text + "', Ngaymuon= '" + dateM.Text + "', Ngaytra='" + dateT.Text + "'"; command.ExecuteNonQuery(); loaddata(); } } } private void button5_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.Show(); this.Hide(); } - Tạo form sách truy vấn xuất liệu, thêm/sửa/xóa liệu từ bảng sách - Code form sách using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; 13 using System.Windows.Forms; using System.Data.SqlClient; using System.Collections; using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox; namespace QLTV_LAM_191601915 { public partial class Form4 : Form { SqlConnection connection; SqlCommand command; string str = "Data Source=LAPTOP-NAKKT7E0\\SQLEXPRESS;Initial Catalog=Library_LAM_TDH_K60;Persist Security Info=True;User ID=sa;password=Anhlambkqn"; SqlDataAdapter adapter = new SqlDataAdapter(); DataTable table = new DataTable(); void loaddata() { command = connection.CreateCommand(); command.CommandText = "select * from SACH"; adapter.SelectCommand = command; table.Clear(); adapter.Fill(table); dataGridView1.DataSource = table; } public Form4() { InitializeComponent(); } private void Form4_Load(object sender, EventArgs e) { connection = new SqlConnection(str); connection.Open(); loaddata(); } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb_MS.ReadOnly = true; int i; i = dataGridView1.CurrentRow.Index; tb_MS Text = dataGridView1.Rows[i].Cells[0].Value.ToString(); tb_TS.Text = dataGridView1.Rows[i].Cells[1].Value.ToString(); tb_TG.Text = dataGridView1.Rows[i].Cells[2].Value.ToString(); tb_NXB.Text = dataGridView1.Rows[i].Cells[3].Value.ToString(); tb_SL.Text = dataGridView1.Rows[i].Cells[4].Value.ToString(); } private void button1_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "insert into SACH valeus('" + tb_MS.Text + "', '" + tb_TS.Text + "', '" + tb_TG.Text + "', '" + tb_NXB.Text + "', '" + tb_SL.Text + "')"; command.ExecuteNonQuery(); loaddata(); } private void button3_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "delete from SACH where SACH_id= '" + tb_MS.Text + "'"; 14 } command.ExecuteNonQuery(); loaddata(); private void button2_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "update SACH set Tensach = '" + tb_TS.Text + "', Tacgia= '" + tb_TG.Text + "', Namxb = '" + tb_NXB.Text + "', Soluong='" + tb_SL.Text + "'"; command.ExecuteNonQuery(); loaddata(); } } } private void button5_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.Show(); this.Hide(); } - Tạo form độc giả truy vấn xuất liệu, thêm/sửa/xóa liệu từ bảng docgia - Code form độc giả using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; 15 using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Collections; namespace QLTV_LAM_191601915 { public partial class Form5 : Form { SqlConnection connection; SqlCommand command; string str = "Data Source=LAPTOP-NAKKT7E0\\SQLEXPRESS;Initial Catalog=Library_LAM_TDH_K60;Persist Security Info=True;User ID=sa;password=Anhlambkqn"; SqlDataAdapter adapter = new SqlDataAdapter(); DataTable table = new DataTable(); void loaddata() { command = connection.CreateCommand(); command.CommandText = "select * from DOCGIA"; adapter.SelectCommand = command; table.Clear(); adapter.Fill(table); dataGridView1.DataSource = table; } public Form5() { InitializeComponent(); } private void Form5_Load(object sender, EventArgs e) { connection = new SqlConnection(str); connection.Open(); loaddata(); } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb_MDG.ReadOnly = true; int i; i = dataGridView1.CurrentRow.Index; tb_MDG.Text = dataGridView1.Rows[i].Cells[0].Value.ToString(); tb_TDG.Text = dataGridView1.Rows[i].Cells[1].Value.ToString(); tb_DC.Text = dataGridView1.Rows[i].Cells[2].Value.ToString(); tb_SDT.Text = dataGridView1.Rows[i].Cells[3].Value.ToString(); } private void button1_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "insert into DOCGIA valeus('" + tb_MDG.Text + "', '" + tb_TDG.Text + "', '" + tb_DC.Text + "', '" + tb_SDT.Text + "')"; command.ExecuteNonQuery(); loaddata(); } private void button3_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "delete from DOCGIA where DOCGIA_id= '" + tb_MDG.Text + "'"; command.ExecuteNonQuery(); 16 } loaddata(); private void button2_Click(object sender, EventArgs e) { command = connection.CreateCommand(); command.CommandText = "update DOCGIA set Hoten = '" + tb_TDG.Text + "', Diachi= '" + tb_DC.Text + "', Sdt = '" + tb_SDT.Text + "'"; command.ExecuteNonQuery(); loaddata(); } } } private void button5_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.Show(); this.Hide(); } Mô tả hoạt động: - Khởi chạy chương trình - đăng nhập tài khoản mật (được lấy từ bảng thủ thư “Id , Pass”) - nhập sai MessageBox lên thông báo - ấn ok để nhập lại - messagebox “ đăng nhập thành công “ ấn ok để vào menu 17 - form menu ta click chuột vào button để truy cập vào form tương ứng - form PHIẾU MƯỢN ta cập nhật, thay đổi xóa , chọn trở để quay manu để truy cập form khác 18 19 - form SÁCH - Form ĐỘC GIẢ 20

Ngày đăng: 29/05/2023, 14:57

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

TÀI LIỆU LIÊN QUAN

w