我刚开始研究sql,我的老师告诉我们使用mysql workbench但是不太喜欢它。有时它似乎加了我的外键和它们,而不是!我正在尝试使用外键添加表,但它总是告诉我错误!有人可以帮忙吗?这是代码。我做错了什么?这是练习的内容。非常感谢你,我正在努力改进。
我们希望设计一个数据库来管理一组国家移动运营商感兴趣的信息。每个电话接线员的识别码,年营业额和注册办事处的位置。对于每个位置,感兴趣的是识别码,名称,省和区域。每个用户都对用户已与其约定合同的电话接线员,用户的电话号码(标识符),用户的姓名以及合同所要求的每一次通话的费用感兴趣。在所有用户中,用户自己进行的电话呼叫,以及每个呼叫,呼叫者,日期,成本以及它开始的时间和分钟都是感兴趣的。同一用户在同一天的同一分钟内无法启动多个呼叫。每个手机还涉及管理电话呼叫开始的小区,其中每个小区由a标识 位于其所在区域内的唯一编号。 只有两种类型的电话:“短信”和“电话”。对于“电话”呼叫,使用以秒为单位的持续时间,而对于“短信”呼叫,则形成发送消息的字的数量。对于所有运营商和所有合同,“短信”呼叫的费用是通过计算作为第二个会话发送的每个单词来计算的。
MY TABLES:
create table localita(
codice varchar(20),
nome varchar(20),
provincia varchar (20),
codicecella varchar (20),
regione varchar(20),
primary key (codicecella,codice)
);
create table operatori(
idoperatore varchar(20),
fatturato varchar(20),
sede varchar(20),
primary key (idoperatore),
约束外键(sede)引用località(codice) );
create table utenze(
numeroidchiamante varchar(20),
utente varchar(20),
idoperatore varchar(20),
costosec varchar (20),
chiamateeffetuate varchar (20),
numeroidchiamato varchar(20),
primary key (numeroidchiamato,numeroidchiamante, idoperatore),
constraint foreign key (idoperatore) references operatori(idoperatore)
);
create table ChiamateFonia(
chiamante varchar(20),
datechiamate varchar(20),
orario varchar (20),
chiamato varchar(20),
costo varchar (20),
durata varchar (20),
numcella varchar (20),
codiceidcella varchar (20),
primary key (datechiamate,orario),
constraint foreign key (chiamante) references utenze(numeroidchiamante),
constraint foreign key (chiamato) references utenze(numeroidchiamato),
constraint foreign key (numcella) references localita(codicecella)
) ;
create table ChiamateSms(
chiamante varchar(20),
datechiamate varchar(20),
orario varchar (20),
chiamato varchar(20),
costo varchar (20),
numparole varchar(20),
numcella varchar (20),
codiceidcella varchar (20),
primary key (datechiamate,orario),
constraint foreign key (chiamante) references utenze(numeroidchiamante),
constraint foreign key (chiamato) references utenze(numeroidchiamato),
constraint foreign key (numcella) references localita(codicecella)
) ;