授课课时:2 授课地点:三教202
授课形式:教学做合一
教学目标
(一)知识目标:
- 掌握数据库设计的基本流程和方法。
- 理解E-R图、逻辑数据模型、物理数据模型的概念及其相互关系。
(二)能力目标:
- 能够根据E-R图和数据模型设计数据库和数据表。
- 能够运用SQL语句进行数据的增删改查操作。
(三)素质目标:
- 培养细致严谨的逻辑思维能力。
- 提升解决实际问题的应用能力。
教学重难点
(一)重点:掌握数据库设计流程和SQL语句的编写。
(二)难点:理解并应用数据表间的关系设计。
教学资源
教科书、PPT、 Navicat 、’头歌’在线实验平台
教学方法
(一)教法
1.情境创设法 2.任务驱动教学 3.类比教学法
(二)学法
1.探究式学习 2.练习巩固法 3.归纳总结法
教学过程设计
(一)课前任务
熟悉SQL基础,理解E-R图、逻辑数据模型和物理数据模型的概念。
(二)课程导入
通过《图书管理信息系统》的借书管理子模块,我们将学习数据库设计的基础,包括创建数据库、数据表,建立表之间的关系,以及执行数据插入和查询操作,掌握数据库在信息管理中的应用。
(三)知识储备
- 数据库设计基础:掌握创建数据库(CREATE DATABASE)和选择数据库(USE)的SQL命令。
- 数据表构建:了解如何根据E-R图和逻辑数据模型创建数据表(CREATE TABLE),并定义字段名、数据类型及约束(如PRIMARY KEY, REFERENCES)。
- 关系建立:通过外键(FOREIGN KEY)在不同数据表之间建立关系,确保数据的引用完整性。
- 数据插入:学习如何向数据表中插入数据(INSERT INTO),包括单条和多条记录的插入。
- 数据更新:掌握如何使用UPDATE语句对数据表中的记录进行更新操作。
- 数据查询:了解SELECT语句的基本用法,包括INNER JOIN子句进行表连接查询,以及WHERE子句用于条件筛选。
- 条件查询:学习如何使用LIKE关键字和IS NULL进行更复杂的条件查询。
- 数据库操作实践:通过具体的图书管理信息系统案例,实践数据库的创建、表的构建、数据插入、更新和查询操作。
(四)学生项目实践:
- 数据库与数据表创建:学生应使用SQL语句创建数据库
BookDB
,并根据给定的E-R图和字段名定义创建T_card
、T_book
、T_borrow
三个数据表。 - 数据表关系建立:学生应理解物理数据模型中各数据表之间的关系,并通过外键约束在SQL中实现这些关系。
- 数据插入操作:学生应练习使用INSERT语句向各数据表中添加测试数据。
- 数据更新与查询:学生应掌握使用UPDATE语句对数据进行更新,以及使用SELECT语句进行条件查询,包括日期范围查询和模式匹配查询。
示例代码:
-- 创建数据库BookDB
CREATE DATABASE BookDB;
USE BookDB;
-- 创建数据表T_card, T_book, T_borrow
-- 创建语句省略,参照上文
-- 插入测试数据到各表
-- 插入语句省略,参照上文
-- 更新操作:将“李”姓作者的所有图书单价下调10%
UPDATE T_book
SET Price = Price * 0.9
WHERE Author LIKE '李%';
-- 查询操作:查询日期在2010-10-31至2010-11-31之间借出的图书信息
SELECT T_borrow.*, T_book.Book_name
FROM T_borrow
INNER JOIN T_book ON T_borrow.Book_no = T_book.Book_no
WHERE T_borrow.Borrow_date BETWEEN '2010-10-31' AND '2010-11-31';
-- 查询没有还书的借书人姓名
SELECT DISTINCT T_card.Card_name
FROM T_card
INNER JOIN T_borrow ON T_card.Card_no = T_borrow.Card_no
WHERE T_borrow.Return_date IS NULL;
-- 查询手机号为“135”开头的所有借书人姓名
SELECT DISTINCT T_card.Card_name
FROM T_card
WHERE T_card.Mobile LIKE '135%';
通过这些实践任务,学生将加深对数据库设计、SQL语句编写及数据操作的理解,并提升解决实际问题的编程技能。
课程总结:
本课通过图书管理系统案例,学习了数据库设计、SQL语句编写及数据操作,提升了数据库应用实践能力。
课后作业:
- 继续完成课堂中的数据表关系建立和数据操作任务。
- 模拟上机训练,练习SQL语句的编写和执行。
教学反思:
评估学生对数据库设计流程的掌握情况,考虑增加更多实际案例,加强学生对SQL操作的理解和应用。