Inhaltsverzeichnis
Antwortinhalt:
Heim Backend-Entwicklung PHP-Tutorial Wie ist die Datenstruktur des dreistufigen Rabattsystems? Probleme ändern und abfragen

Wie ist die Datenstruktur des dreistufigen Rabattsystems? Probleme ändern und abfragen

Aug 04, 2016 am 09:21 AM
mysql oracle php postgresql

Wir müssen ein dreistufiges Rabattprojekt durchführen. Die Anforderung besteht darin, die Benutzer der ersten, zweiten und dritten Ebene einer Person anzuzeigen und den Vorgesetzten dieser Person ändern zu können so:
uid 1 2 3
Benutzer-ID gehört dem Vorgesetzten, gehört dem Vorgesetzten, gehört dem Vorgesetzten, Vorgesetzten
1 0 0 0
2 1 0 0
3 2 1 0
4 3 2 1
5 4 3 2
6 3 2 1

Der Vorgesetzte von Benutzer 1 ist die Plattform, und die drei übergeordneten Ebenen sind alle 0. Der Vorgesetzte von Benutzer 6 ist Benutzer 3, sein Vorgesetzter ist 2 und sein Vorgesetzter ist 1. Diese Struktur ist praktisch für Abfragen, wenn Sie jedoch den Standard-Vorgesetzten ändern Wenn diese Person 100.000 Untergebene hat, müssen auch die Vorgesetzten dieser 100.000 Personen Änderungen vornehmen, und der Änderungsbetrag wird zu groß sein.
Bei Änderung in:
uid 1
Benutzer-ID gehört zum Vorgesetzten
1 0
2 1
3 2
4 3
5 4
6 3
Um alle Benutzer auf der dritten Ebene abwärts von diesem Benutzer abzufragen, müssen Sie zuerst alle Benutzer der zweiten Ebene des Benutzers abfragen und dann alle untergeordneten Benutzer aller Benutzer der zweiten Ebene abfragen Das Volumen ist auch sehr groß.
Möchten Sie fragen, ob Sie Kompromisslösungen haben?

Antwortinhalt:

Wir müssen ein dreistufiges Rabattprojekt durchführen. Die Anforderung besteht darin, die Benutzer der ersten, zweiten und dritten Ebene einer Person anzuzeigen und den Vorgesetzten dieser Person ändern zu können so:
uid 1 2 3
Benutzer-ID gehört dem Vorgesetzten, gehört dem Vorgesetzten, gehört dem Vorgesetzten, Vorgesetzten
1 0 0 0
2 1 0 0
3 2 1 0
4 3 2 1
5 4 3 2
6 3 2 1

Der Vorgesetzte von Benutzer 1 ist die Plattform, und die drei übergeordneten Ebenen sind alle 0. Der Vorgesetzte von Benutzer 6 ist Benutzer 3, sein Vorgesetzter ist 2 und sein Vorgesetzter ist 1. Diese Struktur ist praktisch für Abfragen, wenn Sie jedoch den Standard-Vorgesetzten ändern Wenn diese Person 100.000 Untergebene hat, müssen auch die Vorgesetzten dieser 100.000 Personen Änderungen vornehmen, und der Änderungsbetrag wird zu groß sein.
Bei Änderung in:
uid 1
Benutzer-ID gehört zum Vorgesetzten
1 0
2 1
3 2
4 3
5 4
6 3
Um alle Benutzer auf der dritten Ebene von diesem Benutzer abzufragen, müssen Sie zuerst alle Benutzer der zweiten Ebene des Benutzers abfragen und dann alle untergeordneten Benutzer aller Benutzer der zweiten Ebene abfragen Auch das Abfragevolumen ist sehr groß.
Möchten Sie fragen, ob Sie Kompromisslösungen haben?

MySQL-Fremdschlüsselrekursion

Es wird empfohlen, die zweite Lösung zu übernehmen und nur die beiden Felder uid und pid beizubehalten. Dieses Design unterstützt alle Ebenen von Beziehungen, und wenn es eine Aktualisierung gibt, wird die Anzahl der geänderten Datensätze relativ gering sein.
Mehrstufige Abfragen können durch die rekursive Abfragesyntax jeder Datenbank vereinfacht werden, z. B. die CONNECT BY-Anweisung in Oracle oder den CTE von SQLSQLER usw.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Zweck von PHP: Erstellen dynamischer Websites Zweck von PHP: Erstellen dynamischer Websites Apr 15, 2025 am 12:18 AM

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

PHP und Python: Code Beispiele und Vergleich PHP und Python: Code Beispiele und Vergleich Apr 15, 2025 am 12:07 AM

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP: Datenbanken und serverseitige Logik bearbeiten PHP: Datenbanken und serverseitige Logik bearbeiten Apr 15, 2025 am 12:15 AM

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

So starten Sie MySQL von Docker So starten Sie MySQL von Docker Apr 15, 2025 pm 12:09 PM

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

PHP vs. Python: Anwendungsfälle und Anwendungen PHP vs. Python: Anwendungsfälle und Anwendungen Apr 17, 2025 am 12:23 AM

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Warum PHP verwenden? Vorteile und Vorteile erläutert Warum PHP verwenden? Vorteile und Vorteile erläutert Apr 16, 2025 am 12:16 AM

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.

See all articles