Ich entwickle eine klassifizierte Website mit asp.net und meine DB ist mysql. Bitte MSSQL-Benutzer Ich brauche auch deine Unterstützung. Dies ist ein Problem mit dem Datenbankschema, das sich nicht auf einen bestimmten Datenbankanbieter bezieht.Soll ich für jede Kategorie oder eine Tabelle separate Tabellen verwenden, um alle Attribute für eine klassifizierte Website zu speichern?
Ich möchte nur ein wenig Klärung von Ihnen.
da dies hier ist also ein klassifiziertes Website Sie Job-Anzeigen veröffentlichen können, Fahrzeugwerbung, Immobilienanzeigen etc ...
Also habe ich eine Header-Tabelle haben gemeinsame Einzelheiten über die Anzeige zu speichern. wie Titel, Beschreibung und so weiter.
CREATE TABLE `ad_header` (
`ad_header_id_pk` int(10) unsigned NOT NULL AUTO_INCREMENT,
`district_id_fk` tinyint(5) unsigned NOT NULL,
`district_name` varchar(50) DEFAULT NULL,
`city_id_fk` tinyint(5) unsigned DEFAULT NULL,
`city_name` varchar(50) DEFAULT NULL,
`category_id_fk` smallint(3) unsigned NOT NULL,
`sub_category_id_fk` smallint(3) unsigned DEFAULT NULL,
`title` varchar(100) NOT NULL,
`description` text NOT NULL,
...............
PRIMARY KEY (`ad_header_id_pk`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Also, wenn es ein Job aufgeben ich einen anderen Tisch für die relevanten Attribute zu speichern, nur auf eine Stellenanzeige wie Gehalt, Beschäftigungsart, Arbeitszeit
Auch wenn es sich um ein Fahrzeug ad I haben Sie getrennte Tabelle, um Brennstoffart, Getriebetyp usw. zu speichern ...
So habe ich 10 Kategorien. Diese Kategorien werden sich in einem Jahrzehnt nicht ändern. So, jetzt habe ich diese zwei Ansätze
1) Eine Kopftabelle und 10 spezifische Tabellen zu speichern, die jeweils Kategorien Attribute
2) Eine Kopftabelle und eine Attributtabelle , die alle Attribute jeden halten und jede klassifizierte Gruppe. für diejenigen, die nicht relevant sind, halten NULL-Werte
Was ist der beste Weg, dies in Bezug auf Leistung und Skalierbarkeit zu tun.
Für diejenigen, die klassifizierte Websites erstellen, geben Sie mir bitte eine Anleitung. Vielen Dank im Voraus
Kondolenz auf die MySql-Wahl. Während ich mit dem Wunsch nach einer offenen und kostengünstigen DB sympathisiere, ist MySql seit über einem Jahrzehnt hinter Oracle, Sql Server und PostgreSQL zurückgeblieben, und Postgresql ist ebenfalls offen und kostengünstig. –
@JoelCoehoorn Bei allem Respekt Ihre Antwort bezieht sich nicht auf meine Frage :) – Sylar