Database design 足球比赛数据库结构
我正在设计一个足球赔率数据库 我认为: 身份证 霍梅德 阿瓦伊德 赔率 和一个表存储所有足球队名称呼叫团队: 身份证 名字 我想要一个显示以下内容的查询: 身份证 家名 阿瓦尼 赔率 有没有办法提出这样的问题?Database design 足球比赛数据库结构,database-design,Database Design,我正在设计一个足球赔率数据库 我认为: 身份证 霍梅德 阿瓦伊德 赔率 和一个表存储所有足球队名称呼叫团队: 身份证 名字 我想要一个显示以下内容的查询: 身份证 家名 阿瓦尼 赔率 有没有办法提出这样的问题? 或者我需要将团队表拆分为两个表,如:HomeTeam、AwayTeam?一个名为team的表就可以了。home和away ID是引用team表中主键ID的外键 您提议的设计未规范化。您不应该重复数据,因为如果您有单独的主客场团队表,则必须重复数据 create table team (
或者我需要将团队表拆分为两个表,如:HomeTeam、AwayTeam?一个名为team的表就可以了。home和away ID是引用team表中主键ID的外键 您提议的设计未规范化。您不应该重复数据,因为如果您有单独的主客场团队表,则必须重复数据
create table team (
id int not null,
name varchar(20) not null,
primary key(id)
);
create table odds (
home_id int not null,
away_id int not null,
odds varchar(20) not null,
primary key(home_id, away_id),
foreign key(home_id) references team(id),
foreign key(away_id) references team(id)
);
select h.name, a.name, o.odds
from odds as o
join team as h
join team as a
on o.away_id = a.id
on o.home_id = h.id
where h.name = 'home team name'
and a.name = 'away team name'
如果我使用一个表组,您能帮助我吗?查询字符串是什么样子的?它工作得很好,非常感谢。