2010-09-07 4 views
0

Je crée un système de gestion des marques en utilisant php & mysql où la faculté concernée sera en mesure de se connecter et d'entrer les marques des étudiants. Je peux aller avec une table simple mais le problème est qu'il y a 288 sujets différents pour lesquels des marques doivent être saisies. Donc, créer une table mysql avec autant de sujets ne me semble pas très bien. s'il vous plaît me suggérer la meilleure façon de gérer les autorisations utilisateur de sorte que seule la faculté correspondante sera en mesure de saisir des signesgérer les autorisations d'utilisateur dans php

Répondre

0

Tableau <Subjects>

  1. Liste item
  2. SubjectId
  3. SubjectName
  4. SubjectTeacher
  5. .
  6. .

Tableau <Marks>

  1. SubjectId
  2. Date de
  3. Marques
  4. .
  5. .

........... Cela suppose que vous n'ayez qu'un enseignant par sujet. Si vous voulez plusieurs intructors par sujet, supprimer la colonne SubjectTeacher de la table des sujets et faire deux nouvelles tables

Tableau <SubjectInstructor>

  1. SubjectId
  2. IntructorId

Tableau <Instructor>

  1. InstructorId
  2. InstructorName
  3. . .
+0

Ceci est un bon conseil général, mais vous devez éviter d'utiliser des majuscules/minuscules pour les noms de table/colonne - conservez-les en minuscules et utilisez des traits de soulignement pour séparer les mots. En outre, j'aime utiliser 'id' comme clé primaire pour une table, et si quelque chose est un fk dans une autre table, utilisez' foreign_id' où "foreign" est le nom de la table étrangère. Cela rend plus facile de dire ce qui se passe lors de l'écriture des requêtes. – prodigitalson

+0

je l'ai eu. mais n'y a-t-il pas d'autre moyen de gérer des permissions comme: il y aura une seule table dans laquelle il y a une colonne d'autorisations où il y a des identifiants de sujet séparés par un trait de soulignement ou quelque chose ....? S'il vous plaît laissez-moi savoir si c'est possible – user420528

+0

@prodigitalson oui, vous avez raison. J'ai utilisé CamelCase dans ma société actuelle (extension d'une base de données sybase existante) et je suis habitué à la syntaxe (not-so-good). Mes projets dans MySQL suivent les standards que vous venez de donner un exemple. – Stewie

1

Ceci est un problème assez gros et poilu; vous le savez, non? Il est bon que vous ne pensiez pas à la sécurité après coup, mais je ne pense pas que ce soit la sécurité dont vous parlez.

J'ai passé du temps à développer un système de gestion universitaire il y a quelques années. Une partie de la conception requise était assez impliquée. En plus des sujets et des étudiants, nous avons rapidement constaté que nous avions besoin d'une structure de classe pour que nous puissions dire que cet étudiant était sur ce sujet ce trimestre, mais ce n'était pas le prochain trimestre. Et pour dire que ce professeur a enseigné ce sujet à cette classe ce terme, mais un autre professeur a enseigné à cette autre classe le même sujet ce terme. Cela signifiait également que nous devions garder certaines informations sur le moment où les classes étaient, ce qui s'est transformé en un mécanisme de calendrier.(Je n'entrerai pas dans ce détail, car il était très impliqué.) Et puis nous devions garder plusieurs sortes de notes pour un élève dans une classe, ce qui créait plusieurs types de tâches, dont une seule était la fin de l'année. examens à terme. Enfin, nous avons extrait nos étudiants et enseignants dans des contacts génériques. Cela a permis à un système d'autorisation de généraliser pour éditer des objets qu'ils "possédaient". Cela nous permet aussi de soutenir des concepts avancés comme un ancien étudiant qui revient enseigner. Et pour tous les contacts de se connecter dans différentes capacités.

0

Peut être vous pouvez diviser la table en fonction de la classe. mais encore vous devrez faire face à plusieurs autres problèmes. vous feriez mieux d'avoir les tables.

Questions connexes