Urgent, Many-to-many relationships.....HELP!!!!
От | Dalton Shane |
---|---|
Тема | Urgent, Many-to-many relationships.....HELP!!!! |
Дата | |
Msg-id | 200202262041.UAA11972@cs.may.ie обсуждение исходный текст |
Ответы |
Re: Urgent, Many-to-many relationships.....HELP!!!!
|
Список | pgsql-sql |
Hi, I'm a final year computer science student working on a database project. Basically I have two many-to-many relationships in my database but I don't know how to implement this in PostgreSQL. Here's an example of what I'm talkinng about. I have a table voter and a table candidates. Because of the many-to-many relationship between these two table, I created a linking table c_voting. I reference both primary keys from voter and candidates to produce a composite primary key for c_voting. see tables below However when I go to stick data in c_voting, I get a referential integrity error, which says the primary key and foreign key don't match. Basically the primary key in voter is an integer while the primary key in c_voting is (integer, integer) ie. the two foreign keys. The same happens for the candidate table. The theory is sound, it's just the syntax that's killing me How do I get over this problem? I have to hand this thesis up in 2 weeks, so I'm getting desperate for any help I can get. Thanks in advance to those who may reply to this email From Shane. CREATE TABLE voter (v_number integer NOT NULL PRIMARY KEY, v_name varchar(20),v_surname varchar(20),v_birth date,v_address varchar(50),v_marital varchar(10),v_job varchar(15) ); CREATE TABLE candidates (c_number integer NOT NULL PRIMARY KEY, c_name varchar(20),c_surname varchar(20),c_party varchar(20),c_constituency varchar(35) ); CREATE TABLE c_voting (v_number integer NOT NULL CONSTRAINT cvote_ref_voter REFERENCES voter ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, c_number integer NOT NULL CONSTRAINT cvote_ref_can REFERENCES candidates ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED -- I tried these combinationsbelow seperately but got nowhere--primary key(v_number, c_number)--foreign key (v_number) references voter (v_number),--foreignkey (c_number) references candidates(c_number) );
В списке pgsql-sql по дате отправления: