Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 生成外键并将其转换为一个复合主键_Sql - Fatal编程技术网

Sql 生成外键并将其转换为一个复合主键

Sql 生成外键并将其转换为一个复合主键,sql,Sql,我在创建office表时遇到问题。我在office表中创建了外键,然后将它们转换为复合主键。这是我可以做的还是有其他方法连接此表?您可以这样做,但只要将两个字段都保留为外键就足以连接到Office表 你真的应该为办公室创建一个单独的id,无论经理id是什么,或者办公室搬到附近的城市/城镇,id都将保持不变 create table Manager ( manager_id Integer(4) constraint manager_id_pk PRIMARY KEY(ma

我在创建office表时遇到问题。我在office表中创建了外键,然后将它们转换为复合主键。这是我可以做的还是有其他方法连接此表?

您可以这样做,但只要将两个字段都保留为外键就足以连接到Office表

你真的应该为办公室创建一个单独的id,无论经理id是什么,或者办公室搬到附近的城市/城镇,id都将保持不变

create table Manager
(
    manager_id Integer(4)
        constraint manager_id_pk PRIMARY KEY(manager_id),
    DateOfBirth Integer(10),
    Salary  Integer(20),
    SEX varchar(10),
    Contact Integer(10),
);

create table Regional_Manager
(
    manager_id Integer(4)
        constraint manager_id_fk References Manager(manager_id),
    DateOfBirth Integer(10),
    Salary Integer(20),
    SEX varchar(10),
    Contact Integer(10),
    Off_Address varchar(30)
        constraint Off_Address_fk References Office(Off_Address),
    city_id integer(4)
        constraint city_id_fk References City(city_id)
);

create table Operational_Manager
(
    manager_id Integer(4)
        constraint manager_id_fk References Manager(manager_id),
    DateOfBirth Integer(10),
    Salary Integer(20),
    SEX varchar(10),
    Contact Integer(10),
    department_id Integer(4)
        constraint department_id_fk References Department(department_id),
    DateOfBirth Integer(10),
);

create table Office
(
    Off_Address varchar(30),
    num_rooms Integer(10),
    num_floors Integer(10)
    city_id Integer(10),
    manager_id Integer(4)
        constraint manager_id_fk References Manager(manager_id),
    city_id Integer(10),

    constraint city_id_fk References City(city_id),
    PRIMARY KEY(manager_id,city_id)
);

评论不用于扩展讨论;这段对话已经结束。
create table Office(
Off_id Integer(4), 
Off_Address varchar(30),
num_rooms Integer(10),
num_floors Integer(10)
city_id Integer(10),
manager_id Integer(4)
constraint manager_id_fk References Manager(manager_id),
city_id Integer(10),
constraint city_id_fk References City(city_id),
PRIMARY KEY(Off_id)
);