数据库-列的完整性约束-FOREIGN KEY- 外键

引言

在现实生活理的外键 你在家 孩子或者父母 都是外键 你是你 我是我 家庭相当于外键 连接没一个人 并且设置一个编号用来表示在这个家庭里
游戏 也是一样的 比如说
国民游戏王者荣耀 技能和皮肤 就是外键
通过编号找到技能 按+选择技能,随着英雄升级 技能也得到了升级
在 来看皮肤 啊皮肤也是一样的道理 皮肤加数值 总之是为了满足自己的舒适度 好像没有皮肤就不能玩一样 别忘了经典名场面:菜就多练 ,输不起就别玩

匹配“游戏内 的道具 道具是独立存在 并且匹配完 消失 无论是成功 失败 都会消失

原神是角色扮演类角色养成类 开放世界游戏 原神 玩家可以获得角色 玩家操控主角进行探索 探索到的到达一定的等级
开启祈愿 玩家可以利用游戏资源,原石进行祈愿 祈愿结果会保存 祈愿 是概率学研究所以 原石是非常宝贵的资源
当然抽卡 概率为每一抽0.6概率 概率百分之五十抽到复刻或者 当前出的角色,最多九十抽一个五星 剩下百分之五十常驻卡池随机出 也许有点臭至少能接受 强不强有什么用 你最终还是得刷圣遗物 培养 命座提升肯定啦
每一个角色都有一个编号 重复的角色会转换成,命座,命座增强 每个角色都有特点 每天日常培养角色,刷材料,刷圣遗物(生之花,死之羽,时之沙 空之杯 理之冠),说到圣遗物非常有兴趣,随机概率副词条 好的词条暴击率/暴击伤害率 元素精通 攻击力、攻击力百分比 元素伤害加成
装备圣遗物这个关键如何设计这个装备圣遗物 在程序 :圣遗物类 角色类 装备圣遗物类 还得角色ID 和圣遗物比如说 是生之花 绑定两个角色ID和圣遗物ID)就可以了 形成了关联性

实现

# 列的完整性约束foreign Key 外键

 create  database foreignKeyStudy;
 use foreignKeyStudy ;

# 在现实生活理的外键 你在家 孩子或者父母 都是外键  你是你 我是我 家庭相当于外键 连接没一个人  并且设置一个编号用来表示在这个家庭里 
# 游戏 也是一样的 比如说
#国民游戏王者荣耀 技能和皮肤 就是外键 
#通过编号找到技能 按+选择技能,随着英雄升级 技能也得到了升级 
#在 来看皮肤 啊皮肤也是一样的道理 皮肤加数值  总之是为了满足自己的舒适度 好像没有皮肤就不能玩一样  别忘了经典名场面:菜就多练 ,输不起就别玩 

#匹配“游戏内 的道具  道具是独立存在 并且匹配完  消失 无论是成功 失败 都会消失   

#原神是角色扮演类角色养成类 开放世界游戏  原神 玩家可以获得角色 玩家操控主角进行探索 探索到的到达一定的等级
# 开启祈愿  玩家可以利用游戏资源,原石进行祈愿  祈愿结果会保存 祈愿 是概率学研究所以 原石是非常宝贵的资源 
# 当然抽卡  概率百分之五十抽到复刻或者 当前出的角色(插入图片),最多九十抽一个五星  剩下百分之五十在常驻卡池随机出  也许有点臭至少能接受 强不强有什么用 你最终还是得刷圣遗物 培养  命座提升肯定啦
# 每一个角色都有一个编号 重复的角色会转换成,命座,命座增强 每个角色都有特点 每天日常培养角色,刷材料,刷圣遗物(生之花,死之羽,时之沙 空之杯  理之冠),说到圣遗物非常有兴趣,随机概率副词条 好的词条暴击率/暴击伤害率  元素精通 攻击力、攻击力百分比 元素伤害加成
# 装备圣遗物这个关键如何设计这个装备圣遗物 在C++程序 :圣遗物类 角色类  装备圣遗物类 还得角色ID 和圣遗物比如说 是生之花 绑定一个角色ID和圣遗物ID)就可以了 形成了关联

# 角色
create table Characters( id int primary key auto_increment  , name varchar(64) unique);
#圣遗物
create table  Artifacts (id  int primary key auto_increment , name varchar(64), type enum('生之花','死之羽','时之沙', '空之杯 ','理之冠'), Level int, MainStat varchar(64),SubStats text );
#装备圣遗物
create table CharacterArtifacts( Charactersid int ,Artifactsid int ,primary key (Artifactsid) ,foreign Key (Charactersid) references Characters(id),foreign Key (Artifactsid) references Artifacts(id));


# 创建角色 
insert  into Characters values(0,"小森");
insert  into Characters  (name)values("安柏");
insert  into Characters  (name)values("凯亚");

# 创建圣遗物 
insert into Artifacts values(101,'xxx','生之花',20,'生命值 4780','暴击率 10.5% 暴击伤害 20.8% 攻击 15.6% 元素精通 46');

insert into Artifacts (name,type,Level ,MainStat,SubStats)values ('xxx','死之羽',20,'攻击力311','暴击率 10.5% 暴击伤害 20.8% 攻击 15.6% 元素精通 46');

insert into Artifacts (name,type,Level ,MainStat,SubStats) values('xxx','时之沙',20,'元素精通187','暴击率 10.5% 暴击伤害 20.8% 攻击 15.6% 攻击 56');

insert into Artifacts (name,type,Level ,MainStat,SubStats) values('xxx','空之杯',20,'元素精通187','暴击率 5.5% 暴击伤害 24.8% 攻击 5.6% 攻击 16');

insert into Artifacts (name,type,Level ,MainStat,SubStats)values ('xxx','理之冠',20,'元素精通187','暴击率 3.5% 暴击伤害 14.8% 攻击 15.6% 攻击 16');

select *from  Characters;


select *from  Artifacts;

insert  into Characters (name) values("枫原万叶");

#给枫原万叶装备圣遗物处理 (逻辑层)
insert into CharacterArtifacts values(4,101);

insert into CharacterArtifacts values(4,102);

insert into CharacterArtifacts values(4,103);
insert into CharacterArtifacts values(4,104);
insert into CharacterArtifacts values (4,105);

select *from characterartifacts;

select Artifactsid from  CharacterArtifacts where Charactersid =0;
select Artifactsid from  CharacterArtifacts where Charactersid =4;


# 武器
create table Weapon( Weaponid int primary key ,name varchar(64),Charactersid int ,foreign key (Charactersid) references characters(id));

insert into  weapon (Weaponid,name) values(201,'铁蜂刺');

select *from weapon ;

update weapon set Charactersid=4 where Weaponid=201;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小森程序员

若能帮助到你,小费自愿付费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值