欢迎光临
我们一直在努力

课题:综合训练2-1

授课课时:2 授课地点:三教202
授课形式:教学做合一

教学目标
(一)知识目标:

  1. 掌握数据库的创建与表的设计方法。
  2. 掌握视图和存储过程的创建与使用。

(二)能力目标:

  1. 能够设计和实现一个简单的图书管理信息系统。
  2. 熟练使用SQL进行数据库操作。

(三)素质目标:

  1. 提升学生的数据库设计与操作能力。
  2. 培养解决实际问题的综合能力。

教学重难点
(一)重点:数据库表的设计与创建。
(二)难点:理解外键约束及其在表设计中的作用。

教学资源
教科书、PPT、 Navicat 、’头歌’在线实验平台

教学方法
(一)教法
1.讲授法 2.示范法 3.讨论法
(二)学法
1.自主学习 2.实践操作 3.归纳总结

教学过程设计
(一)课前任务
预习数据库基本操作和表设计,熟悉SQL数据插入、更新和查询语法

(二)课程导入
今天我们将设计和实现一个图书管理信息系统,通过实际操作掌握数据库的基本操作、视图和存储过程。

(三)综合实训内容

实训项目:图书管理信息系统的设计与实

一、数据库与表的创建

  1. 创建数据库 BookDB
CREATE DATABASE BookDB DEFAULT CHARSET utf8;

2.创建数据表 T_bookT_cardT_borrow

USE BookDB;

CREATE TABLE T_book (
    Book_no VARCHAR(20) PRIMARY KEY,
    Book_name VARCHAR(100),
    Author VARCHAR(50),
    Price DECIMAL(10,2),
    Qty INT,
    Loan_qty INT
);

CREATE TABLE T_card (
    Card_no VARCHAR(20) PRIMARY KEY,
    Card_name VARCHAR(30),
    Address VARCHAR(200),
    Mobile VARCHAR(11)
);

CREATE TABLE T_borrow (
    Borrow_id BIGINT PRIMARY KEY,
    Book_no VARCHAR(20) NOT NULL,
    Card_no VARCHAR(20) NOT NULL,
    Borrow_date DATETIME,
    Return_date DATETIME,
    FOREIGN KEY (Book_no) REFERENCES T_book (Book_no),
    FOREIGN KEY (Card_no) REFERENCES T_card (Card_no)
);

二、插入测试数据

  1. 向表 T_book 插入数据:
INSERT INTO T_book VALUES 
('B1001', '数据库应用', '曾建华', 58, 15, 12),
('B1002', 'java程序设计', '李勇', 45, 15, 20),
('B1003', 'html5与css3', '刘强', 65, 15, 8),
('B1004', 'Python', '王芳', 42, 5, 5),
('B1005', 'jsp编程', '李小明', 60, 5, 7);

2.向表 T_card 插入数据:sql复制代码

INSERT INTO T_card VALUES 
('C1001', 'Kate', '无', '13578954578'),
('C1002', 'Marry', '无', '13596547896'),
('C1003', 'Jarry', '无', '13878954512'),
('C1004', 'Tom', '无', '13732148965'),
('C1005', 'Tinna', '无', '15978954532');

3.向表 T_borrow 插入数据:

INSERT INTO T_borrow VALUES 
(1, 'B1001', 'C1001', '2010-11-15', '2010-11-12'),
(2, 'B1003', 'C1002', '2010-11-16', '2010-12-11'),
(3, 'B1002', 'C1003', '2010-11-30', '2010-12-24'),
(4, 'B1004', 'C1003', '2020-02-15', '2020-06-12'),
(5, 'B1004', 'C1001', '2020-06-15', '2020-07-12'),
(6, 'B1001', 'C1002', '2020-10-15', NULL);

三、数据操作

  1. 将“李”姓作者的所有图书单价下调10%:sql复制代码UPDATE T_book SET Price = 0.9 * Price WHERE Author LIKE '李%';
  2. 查询出日期在2010-10-31至2010-11-30之间借出的图书信息:sql复制代码SELECT T_book.* FROM T_book JOIN T_borrow ON T_book.Book_no = T_borrow.Book_no WHERE Borrow_date BETWEEN '2010-10-31' AND '2010-11-30';
  3. 查询出没有还书的借书人姓名:sql复制代码SELECT Card_name FROM T_borrow JOIN T_card ON T_borrow.Card_no = T_card.Card_no WHERE Return_date IS NULL;
  4. 查询出手机号为“135”开头的所有借书人姓名:sql复制代码SELECT Card_name FROM T_card WHERE Mobile LIKE '135%';

四、视图和存储过程

  1. 编写视图查询库存数量小于10册的图书信息:sql复制代码CREATE VIEW v_bookInfor AS SELECT * FROM T_book WHERE Qty < 10; SELECT * FROM v_bookInfor;
  2. 编写存储过程查询指定借阅者的借阅次数:sql复制代码DELIMITER $$ CREATE PROCEDURE p_borrow(IN cardno VARCHAR(20), OUT num INT) BEGIN SELECT COUNT(card_no) INTO num FROM T_borrow WHERE card_no = cardno; END $$ DELIMITER ; CALL p_borrow('C1001', @num); SELECT @num;

课程总结
本课程的综合实训项目涵盖了MySQL核心知识点。通过这个综合实训,可以巩固并提高MySQL开发技能。

课后作业
统计各借书人的累计借阅天数

教学反思
在内容组织、实战案例设计和教学方式方面,我还有很大的提升空间

赞(0) 打赏
未经允许不得转载:留留工作室 » 课题:综合训练2-1

评论 抢沙发

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册