游戏管理系统数据库设计与操作
一、数据库设计
1 | -- 创建游戏管理系统数据库 |
! 注意:创建包含外键的表时,必须先创建被关联的主表,否则会出现 "表不存在" 的错误
二、操作实例
1. 插入数据
1 | -- 向游戏表插入数据 |
! 常见错误:插入外键数据时,如果关联的主键不存在,会出现 "外键约束失败" 错误。例如向租借表插入 game_id=100 的数据会失败,因为游戏表中没有这个编号。
2. 查询数据
1 | -- 1. 查询所有游戏信息 |
! 注意:判断字段是否为 NULL 时,必须使用 IS NULL 或 IS NOT NULL,不能使用 = 或!=
3. 更新数据
1 | -- 1. 更新游戏库存 |
! 重要提示:执行 UPDATE 语句时必须加上 WHERE 条件,否则会更新表中所有记录,建议操作前先备份数据
4. 删除数据
1 | -- 1. 删除特定租借记录 |
! 常见错误:如果要删除的主表记录被从表引用(有外键关联),会删除失败。需要先删除关联的从表记录,才能删除主表记录。
三、约束分析
1. 主键约束
每个表只能有一个主键
主键值不能重复,也不能为 NULL
例如:不能向 games 表插入 game_id 相同的两条记录
2. 外键约束
保证数据关联性和一致性
从表外键的值必须来自主表对应的主键
例如:rental_records 表的 game_id 必须是 games 表中存在的 game_id
3. 非空约束
确保字段必须有值
例如:向 games 表插入数据时,game_name 和 developer 不能为空
4. 唯一约束
确保字段值不重复
例如:players 表的 contact_number 字段,不能有两个玩家使用相同的联系方式
四、主键外键不对应后果分析
在游戏管理系统数据库中,若主键与外键不对应,会产生一系列严重后果:
- 数据完整性破坏:外键值无对应主键时,从表数据失去关联对象(如租借表 game_id 在游戏表中不存在),导致数据逻辑关联断裂。
- 操作执行错误:主键外键不匹配会导致插入失败;更新主表主键未同步从表会造成关联错误;删除有外键关联的主表记录会失败或产生孤立数据。
- 业务逻辑混乱:主键外键不对应会导致业务计算错误(如游戏租借量统计失准),影响管理决策。
- 数据查询异常:表关联查询时,主键外键不匹配会使 JOIN 操作返回错误结果(如玩家与错误游戏记录关联),影响查询功能。
五、简单表关联查询
1 | -- 查询玩家租借的游戏信息 |
! 注意:JOIN 操作需要指定关联条件,否则会产生笛卡尔积,导致查询结果不正确
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.