2011-04-05 80 views
-2

致力於社交網絡項目。只需要將sql語句放在一起來創建表,並且需要一些關於如何完成這些操作的幫助,以及這些關係如何在表之間起作用。SQL語句寫入表?

drop table users; 
drop table intrest; 
drop table friendships; 

create table users(
id INT, 
Fname char(15), 
Lname char(15), 
email char(20), 
street char(15), 
state char(2), 
zip INT, 
age INT, 
gender char (2), 
phone INT, 
Password char(15), 
primary key (id); 

create table Instrests(
id INT, 

create table friendships(

這可以用三個表

到目前爲止,我有這個工作完成。

drop table users; 
drop table intrest; 
drop table friendships; 

create table users(
id INT, 
Fname char(15), 
Lname char(15), 
email char(20), 
street char(15), 
state char(2), 
zip INT, 
age INT, 
gender char (2), 
phone INT, 
User_password char(15), 
primary key (id) 
foriegn key (intrest_id) references intrest(id) 
); 

create table Intrests(
id INT, 
description char(30), 
Primary key (id), 
foreign key (users_id) references users(id) 
); 

create table User_intrest(
foreign key (user_id) references user(id), 
foreign key (intrest_id) references intrest(id) 
); 


create friendships(
User_1_id INT, 
User_2_id INT, 
status Char(20), 
foreign key (user_id) references user(id) 
); 
+3

什麼問題? – Zepplock 2011-04-05 17:40:53

+3

這看起來不像一個完整的問題...請閱讀http://stackoverflow.com/questions/how-to-ask – 2011-04-05 17:41:25

+0

請添加您的整個代碼! – 2011-04-05 17:42:59

回答

1

它看起來像你問如何創建興趣和友誼表?它們是如何相關的?

首先,您需要在drop和create語句中拼寫興趣相同。您的利益將通過ID鏈接回用戶。您可能需要興趣表,興趣ID和說明,以及包含UserID和InterestID的鏈接表。否則,您將列出許多重複的興趣,每個用戶一個。

友誼表可能只是一個鏈接表,將兩個用戶標識鏈接在一起。

試着想像你所需要的數據,並基於該表:

User - 1, name - Joe, other info... 
User - 2, name - Kris, other info.. 
User - 3, name - Lee, other info... 
Interest - 1, name - reading 
Interest - 2, name - parasailing 
Interest - 3, name - skimboarding 
UserInterest - User 1, Interest 2 
UserInterest - User 1, Interest 3 
UserInterest - User 2, Interest 2 
Friendship - User 1, User 2 

那告訴你,喬和克里斯的朋友,他們都喜歡滑翔傘,雖然喬也喜歡淺灘衝浪。

這不會告訴你如何創建表格,但也許它會指出你在正確的方向。如果這是一項家庭作業,而且看起來像這樣,那麼你仍然希望自己做這項工作。

0

如果您計劃在兩個表之間建立多對多關係,您將需要一個位於用戶和興趣之間的中間表。

此外,對於友誼,我還會推薦友誼和用戶之間的中間表,該表具有指向「友誼類型」表的鏈接以標識友誼/關係。

如果ThursdayGeek是正確的,並且這是一項家庭作業,那麼我會在這裏結束我的建議,因爲在實施它們之前還有更多需要了解的中間表。

0
drop table users; 
drop table intrest; 
drop table friendships; 

create table users(
id INT, 
Fname char(15), 
Lname char(15), 
email char(20), 
street char(15), 
state char(2), 
zip INT, 
age INT, 
gender char (2), 
phone INT, 
User_password char(15), 
primary key (id) 
foriegn key (intrest_id) references intrest(id) 
); 

create table Intrests(
id INT, 
description char(30), 
Primary key (id), 
foreign key (users_id) references users(id) 
); 
create table User_intrest(
foreign key (user_id) references user(id), 
foreign key (intrest_id) references intrest(id) 
); 


create friendships(
User_1_id INT, 
User_2_id INT, 
status Char(20), 
foreign key (user_id) references user(id) 
); 

對不起,這不是真的好,反正,這是我迄今爲止所做的sql語句。