💡 课堂例题
第 1 章 · 数据库基础 · 共 5 题 · 本章以「教学实例」库的表做观察素材 · 代码可一键复制
1
认识一张关系表
观察教学实例库中 student 表的结构与数据,说出字段、记录、主键分别是什么。
表结构
-- student 表(学生表)结构示意
Sno 学号 主键,唯一标识每个学生
Sname 姓名
Sbirth 出生日期
IDNum 身份证号
Ssex 性别
sage 年龄
sbirthplace 籍贯
class 班级分析:该表共有 8 个字段(列);每一行是一条记录,描述一名学生;
Sno(学号)是主键——因为姓名、年龄、籍贯都可能重复,只有学号能唯一确定一名学生。2
数据 vs 信息
判断下面哪个是"数据",哪个是"信息"。
①
② "周梅是 03 班的一名 14 岁女生,2009 年 12 月出生,湖北武汉人。"
分析:① 是存储在计算机中的符号记录,是数据;② 是人读懂数据后获得的内容,是信息。数据是信息的载体,信息是数据的内容。
('005', '周梅', '2009-12-01', '女', 14, '武汉', '03')② "周梅是 03 班的一名 14 岁女生,2009 年 12 月出生,湖北武汉人。"
分析:① 是存储在计算机中的符号记录,是数据;② 是人读懂数据后获得的内容,是信息。数据是信息的载体,信息是数据的内容。
3
辨析 DB、DBMS、DBS
把下列事物对号入座:MySQL 软件、教学实例库、整个学籍管理系统。
MySQL 软件 → DBMS(数据库管理系统),负责管理数据;
教学实例库 → DB(数据库),实际存放数据的仓库;
整个学籍管理系统 → DBS(数据库系统),包括数据库、MySQL、应用程序和管理员。
教学实例库 → DB(数据库),实际存放数据的仓库;
整个学籍管理系统 → DBS(数据库系统),包括数据库、MySQL、应用程序和管理员。
4
找出实体之间的联系
分析教学实例库中"学生—课程—教师"之间的联系类型。
学生 与 课程:一名学生可以选多门课,一门课可以被多名学生选 → 多对多(m:n),所以需要中间表
教师 与 课程:一名教师可教多门课,一门课通常只由一名教师任教 → 一对多(1:n),在
班级 与 学生:一对多(1:n),在
sc(记录学号、课程号、成绩);教师 与 课程:一名教师可教多门课,一门课通常只由一名教师任教 → 一对多(1:n),在
course 表中加 Tno 字段即可;班级 与 学生:一对多(1:n),在
student 表中加 class 字段。5
为图书角设计表(师生共同完成)
为班级图书角设计一个"图书表",想想需要哪些字段?主键选谁?
设计方案
-- 图书表 book 设计方案(参考)
书号 bno 主键,如 B001,唯一
书名 bname 如《三体》
作者 author
价格 price
是否借出 status 在馆 / 借出要点:书名可能重复(同一本书买了多本),所以要单独编"书号"作主键。如果还要记录"谁借了书",就需要再建一张"同学表"和一张"借阅表"(多对多拆中间表)。