(Bevor jemand fragt, ist dies rein nur für die Lernerfahrung, nichts mehr)MySQL-Struktur für ein soziales Netzwerk
Ich experimentiere durch ein soziales Netzwerk von Grund auf neu in PHP/MySQL zu machen, aber ich bin mit Mühe für sie der optimalen MySQL Struktur denken, momentan habe ich:
Dies ist eine Tabelle, die alle Benutzer Info speichert:
fname varchar (300),
sname varchar (300),
pass varchar (400),
email varchar (300),
gender varchar (300),
dob varchar (200),
uid varchar (300),
PRIMARY KEY (id)
Dieses entsteht, wenn sich ein Benutzer anmeldet, ihre eigene persönliche Tabelle:
id int(20) NOT NULL auto_increment,
uid varchar (300),
photo_url varchar (400),
pfid varchar (300),
phototime datetime,
video_url varchar (400),
vfid varchar (300),
videotime datetime,
status longtext,
sid varchar (300),
statustime datetime,
blog longtext,
bid varchar (300),
blogtime datetime,
about_bio longtext,
about_current_job longtext,
about_secondary_school longtext,
about_primary_school longtext,
about_college longtext,
about_university longtext,
about_workemail longtext,
about_homeemail longtext,
about_phonenumber longtext,
about_relationshipstatus longtext,
about_relationshipwith longtext,
PRIMARY KEY (id)
)";
Die Sitzungen Tabelle zu verfolgen, ob jemand in angemeldet ist oder nicht:
id int(20) NOT NULL auto_increment,
sid varchar(300),
uid varchar(300),
PRIMARY KEY (id)
Haben Sie nicht auf Beziehungen bekommen noch nicht, aber ich dachte:
id int(20) NOT NULL auto_increment,
requestby varchar(200),
requestto varchar(200),
status varchar(200)
Es gibt ein paar Probleme ... zuerst, erstellen Sie keine neue Tabelle für jeden Benutzer, die nicht verwaltbar wäre. Fügen Sie stattdessen Datensätze zu vorhandenen Tabellen hinzu, wenn ein neuer Benutzer hinzugefügt wird. Als nächstes müssen Sie Ihre Datentypen straffen. Speichern Sie nicht alles in varchars und machen Sie das varchar nicht länger als das, was zum Speichern des Wertes benötigt wird, wie zum Beispiel 'gender varchar (300)', 'dob varchar (200)', etc ... –
Das ist einfach mein allgemeines Feedback, aber hatten Sie eine spezifische Frage? –
Guter Punkt. Es gibt keine Frage hier: S –