Categories et sous categories

Répondre
isitien
le 18/11/2006 à 15:29
isitien
Salut,

Je voudrais faire un script de musique, qui comporte des categories principales, des sous categories et les chansons, par exemple:

Categories principales:
- Francaise
- Anglaise
- Latino

Sous Categories de la categorie principale Francaise:
- Chanteur 1
- Chanteur 2
- Chanteur 3

Les Chansons du chanteur 1:
- Chanson 1
- Chanson 2
- Chanson 3

Je veux utiliser une seule base de donnee pour tout ca, sachant que je vais lister les categories principales, choisir une seule et apres choisir la langue et le chanteur pour que je puisse inserer les chansons de chaque chanteur dans la categorie.

Est ce que vous avez une idee sur ca, le principe de fonctionnement.

Merci
moogli
le 19/11/2006 à 03:43
moogli
salut,

quatre tables :
- categorie principale (id, nom ...)
- sous categorie (id, idcategoriePrincipale, nom ...)
- liaison catégorie, sous catégorie et chanson
- chanson

tu définit la catégorie principale (et récupère l'id de celle ci). L'id va servir de liaison (jointure) entre la catégorie pricipale et la ou les sous - catégorie(s) !
idem pour sous-categorie et chanson !

@+
Il en faut peu pour être heureux !!!!!
isitien
le 19/11/2006 à 16:53
isitien
Donc ca serait ainsi:

table_categorie_principale
id
nom
date

table_sous_cat
id
id_table_cat_principale
nom
date

table_chanson
id
id_table_sous_cat
nom
date

table_liaison
id
id_table_cat_principale
id_table_sous_cat
id_table_chanson
isitien
le 23/11/2006 à 15:44
isitien
Est ce les tables sont correctes:

Categories generales:
CREATE TABLE `sawtiyat` (
`id` int(11) NOT NULL auto_increment,
`sawtiyat` varchar(50) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`icon` varchar(255) NOT NULL default '',
`url` varchar(50) NOT NULL default '',
`information` text NOT NULL,
PRIMARY KEY (`id`)
)TYPE=MyISAM;

Sous categories:
CREATE TABLE `moughani` (
`id` int(11) NOT NULL auto_increment,
`moughani` varchar(50) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`icon` varchar(255) NOT NULL default '',
`url` varchar(50) NOT NULL default '',
`information` text NOT NULL,
`sawtiyat_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ;

Les Albums:
CREATE TABLE `shareet` (
`id` int(11) NOT NULL auto_increment,
`shareet` varchar(50) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`icon` varchar(255) NOT NULL default '',
`url` varchar(50) NOT NULL default '',
`information` text NOT NULL,
`moughani_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ;

Les chansons:
CREATE TABLE `onshouda` (
`id` int(11) NOT NULL auto_increment,
`onshouda` varchar(50) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`icon` varchar(255) NOT NULL default '',
`url` varchar(50) NOT NULL default '',
`information` text NOT NULL,
`shareet_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ;
LupusMic
le 24/11/2006 à 14:16
LupusMic
`date` datetime NOT NULL default '0000-00-00 00:00:00',


À quoi ça sert de préciser une valeur non-pertinante ? Autant laisser le champs à null. La nullitude d'un champs signifie quelque chose.

Il me semble que Type est déprécié et qu'il faille utiliser engine.

Et enfin... 50 caractères pour une URL, tu vas pas aller loin ;)
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours