2011-07-15 3 views
-6

Je travaille sur un site web qui marquera la présence de tous les étudiants. Supposons qu'un cours comporte 8 semestres, 5 branches d'études et 6 sujets par branche/sem. Je suis à la recherche d'une meilleure conception de base de données. Ce que je pensais être un tableau pour chaque sujet ayant des colonnes allant de 1 à 6 (un semestre est de 6 mois.) Et puis je peux mettre à jour la présence à la fin de chaque mois. Mais cela signifie près de 8 * 6 * 5 = 240 tables !! Il a fait un peu de recherche sur Google et a trouvé des sujets connexes, y compris des énumérations et des tables de recherche. N'y a-t-il aucun moyen par lequel, comme en C++, je peux faire un tableau de 30 jours et marque la fréquentation journalière et lier ce tableau à une colonne dans le tableau ?? J'utilise MySQL et le codage se fait en PHP.Meilleur design de base de données?

+0

Je ne vois que 3 tables: semestre, les branches et les sujets ... Peut-être que vous voulez lire quelque chose sur la conception de base de données (en particulier sur les clés étrangères et les relations)? – KingCrunch

+2

On dirait des devoirs aussi. – Brian

+0

2personnes éveillées: Ne lui en faites pas moins - c'est une bonne question de novice. Même si c'est méga-évident de notre côté. S'il s'agit d'un doublon [::::], postez la réponse. – gaRex

Répondre

1

1. Oubliez le semestre, ce n'est pas pertinent pour la conception de la DB à des fins de présence. Cela fait partie de la logique métier, qui sera faite du côté PHP. Vous pouvez ajouter une table pour cela, mais cela n'aidera pas beaucoup, sinon pas du tout. Ainsi, si j'étais vous, je l'omettrais tout à fait dans le but de la participation. Cependant, vous pourriez en avoir besoin pour d'autres choses. Faites comme les pros, ayez la table des semestres, vous l'utiliserez certainement à d'autres fins aussi.

2. Pour chaque type créer une table, i.e. .:

Semestres

id, start_date, end_date 

Branches

id, name 

Sujets

id, branch_id, name 

étudiants

id, name, surname, ... 

présence

id, semester_id, subject_id, student_id 

3. Lorsque vous allez chercher les records de fréquentation, faire les calculs pour comparer et voir quelle présence appartient à quel nombre semestre les dossiers de cet étudiant, sur ce sujet, sur ce semestre particulier pour voir combien de présences qui étudiant particulier a.

+0

Pas sûr de l'expression "Oubliez le semestre, ce n'est pas pertinent pour la conception de base de données." :) – gaRex

+0

@gaRex: Mise à jour pour clarifier. – Shef

+0

Ok, alors c'est plus logique maintenant. – gaRex

0

240 tables - est un complet pas-si-bon-mot-ici.

Donc, vous devriez commencer à partir d'ici: * http://en.wikipedia.org/wiki/Relational_database_management_system

Et alors allez ici: * http://en.wikipedia.org/wiki/Relational_model

google aussi sur l'histoire de Dbs et ce qui est: * http://en.wikipedia.org/wiki/Normalization_(database)

Cette Tout devrait vous aider à construire un schéma DB normal.

Essayez également de télécharger/installer des forums opensource, des systèmes, des blogs, etc. Remplissez-les par des données et vérifiez leur organisation dans la base de données.

1

https://stackoverflow.com/questions/6544797/php-and-mysql-problem-please-help

Si vous ne vous sentez pas comme le lien, voici ma réponse de cette question qui vous aidera dans votre quête ... et avant la grande réponse ... si vous avez vraiment fait quelques recherches sur ce que vous voulez faire, poster un schéma, ou quelques exemples sur la façon dont vous voulez essayer de faire quelque chose ....:

La première recherche sur google pour les termes: php mysql form tutorial m'a donné ce qui suit:

+0

Savez-vous, que gooogle est un mot secret, que seuls les vrais professionnels savent? Je pense que google devient déjà comme l'interface de ligne de commande d'unix dans son début.Nous allons bientôt voir un autre moteur de recherche, qui pourrait rechercher avec un thelepaty :) – gaRex

Questions connexes