Cacophon à © Studio ist von zum richtigen Anfang, aber es gibt viel mehr sie müssen noch denken. Zuallererst, jedes Mal, wenn sie eine Klasse anbieten, müssen sie eine getrennte Aufzeichnung im Klassentisch schaffen. Diese Methode hat Sinn, aber es verursacht ein potenzielles Problem. Deshalb, wenn eine Klasse (wie Electro-akustischer Gamelan) Enden es gewöhnlich wieder in einer neuen Sitzung mit neuen Studenten angeboten wird. Obwohl das eine ganze neue Klasse ist, hat es etwas Information genau wie die vorherige Klasse, wie die Beschreibung, Gebühr, Kurs-Voraussetzungen und so weiter. This method makes sense, but it causes a potential problem. That’s because when a class (like Electro-Acoustic Gamelan) ends, it’s usually offered again in a new session, with new students. Although this is a whole new class, it has some information in common with the previous class, like the description, fee, course requirements, and so on.
Um sich mit dieser Voraussetzung zu befassen, müssen Sie einen anderen Tisch, genannt ClassDescriptions schaffen. Die ClassDescriptions-Aufzeichnung sollte die ganze beschreibende Information für eine Klasse haben. Die Klassenaufzeichnung vertritt eine einzelne, vorgesehene Sitzung einer besonderen Klasse. Auf diese Weise kann die Schule dieselbe Klasse mehrmals ohne Verwirrung anbieten. The Classes record represents a single, scheduled session of a particular class. That way, the school can offer the same class multiple times without confusion.
Um diese Designarbeit zu machen, verbindet sich jede Aufzeichnung in Klassen zu einer einzelnen Aufzeichnung in ClassDescriptions. Es gibt eine Beziehung "ein zu vielen" zwischen ClassDescriptions und Klassen (Abbildung 5-18). ).

Abbildung 5-18. Dank des ClassDescriptions Tisches können Sie dieselbe Beschreibung für mehrere Klassen verwenden, dadurch überflüssige Daten vermeidend.
Cacophon à © Studio muss auch an die klebrige Finanzseite von Dingen denken. Jedes Mal, wenn sie einen Studenten in einer Klasse bringen, müssen sie eine Satz-Gebühr sammeln. Jedes Mal, wenn sie einen Lehrer einer Klasse zuteilen, müssen sie sofort bezahlen. Each time they assign a teacher to a class, they need to pay up.
Zwei Tische können diese Details ausfüllen: TeacherPayments und StudentCharges. Offensichtlich brauchen diese Tische relationshipsbut vielleicht nicht diejenigen Sie erwarten. Sie können annehmen, dass Sie die StudentCharges-Aufzeichnung direkt mit den Aufzeichnungen im Studententisch verbinden sollten. Diese Verbindung hat Sinn, weil Sie wissen müssen, welcher Student Geld schuldet. Jedoch ist es auch wichtig, was das Geld für nämlich, die Klasse dass das Zahlen des Studenten dafür nachzugehen. Mit anderen Worten muss sich jede Aufzeichnung in StudentCharges sowohl den Studenten als auch dem Klassentisch verbinden. Obviously, these tables need relationshipsbut maybe not the ones you expect. You may assume that you should link the StudentCharges record directly to the records in the Students table. That linking makes sense, because you need to know which student owes money. However, it’s also important to keep track of what the money’s for namely, the class that the student’s paying for. In other words, every record in StudentCharges needs to link to both the Students and the Classes table.
Aber es gibt eine leichtere Annäherung. Sie können eine Anstrengung sparen, indem Sie den StudentCharges Tisch direkt mit dem Students_Classes Tisch verbinden. Erinnern Sie sich, jede Aufzeichnung in Students_Classes hat den Studenten und die Klasseninformation für eine Registrierung. Jedes Mal, wenn Sie eine Aufzeichnung in Students_Classes hinzufügen, müssen Sie eine entsprechende Anklage in StudentCharges hinzufügen. Eine Aufzeichnung im Students_Classes Tisch sollte sich zu genau einer Aufzeichnung im StudentCharges Tisch verbinden. Eine ähnliche Beziehung besteht zwischen dem Teachers_Classes und den TeacherPayments Tischen. Abbildung 5-19 zeigt die ganze Bude (nicht einschließlich des ClassDescriptions in der Abbildung 5-18 gezeigten Tisches). Remember, each record in Students_Classes has the student and class information for one enrollment. Every time you add a record in Students_Classes, you need to add a corresponding charge in StudentCharges. One record in the Students_Classes table should link to exactly one record in the StudentCharges table. A similar relationship exists between the Teachers_Classes and TeacherPayments tables. Figure 5-19 shows the whole she-bang (not including the ClassDescriptions table shown in Figure 5-18).
Abbildung 5-19. Jede zugeteilte Klasse läuft auf eine Zahlung auf den TeacherPayments Tisch (verlassene Spitze) hinaus. Jede Registrierung läuft auf eine Anklage auf StudentCharges hinaus (stehen Sie Recht an der Spitze). Obwohl dieses Bild ein bisschen Einschüchtern-auf den ersten Blick, Sie Ihr Weg durch alle Tische und Beziehungen eins nach dem anderen arbeitsfähig sein sollten. Eine Datenbank bauend, ist es am leichtesten, mit einigen Tischen anzufangen, und dann fortzusetzen, hinzuzufügen. Every enrollment results in a charge in StudentCharges (top right). Although this picture’s a bit intimidating at first glance, you should be able to work your way through all the tables and relationships one by one. When building a database, it’s easiest to start with a few tables, and then keep adding on.
Bemerken Sie: Erinnern Sie Sich, um eine isomorphe Beziehung zu schaffen, Sie müssen einen primären Schlüssel oder einen Index verwenden, der Duplikate (Abteilung 4.1.3) nicht erlaubt. In diesem Beispiel müssen Sie einen Index ohne Duplikate zum Student_ClassesID Feld im StudentCharges Tisch, und dem Teacher_ClassesID Feld im TeacherPayments Tisch hinzufügen. Diese Indizes stellen sicher, dass Studenten nur einmal für jede Klasse beladen werden, die sie nehmen, und Lehrer nur eine einzelne Zahlung für jede Klasse bekommen, die sie unterrichten. In this example, you need to add a no-duplicates index to the Student_ClassesID field in the StudentCharges table, and the Teacher_ClassesID field in the TeacherPayments table. These indexes make sure that students get charged only once for each class they take, and teachers get only a single payment for each class they teach.
Diese Datenbank ist ziemlich hoch entwickelt schnell geworden. Und Cacophon à © Studio wird wahrscheinlich noch nicht getan. (Zum Beispiel wird es mehr als wahrscheinlich wollen, dass ein Tisch Studentenzahlungen verfolgt.) Als mit den meisten realistischen Datenbanken können Sie fortsetzen, neue Tische und Beziehungen endlos hinzuzufügen. (For example, it’ll more than likely want a table to track student payments.) As with most realistic databases, you can keep adding on new tables and relationships endlessly.
Beliebtheit: 1 % [?]

arbeitsunfähige Knopf-Druckbefehl Office, wenn ich auf das Beziehungsetikett schaue?






Neue Anmerkungen