Salve ragazzi, dovrei creare un programma di genealogia, quindi un database che tenga conto degli ascendenti e dei discendenti di una famiglia, compresi i rami collaterali.
Ora il mio tallone d'Achille è proprio che io con gli alberi in informatica non ci ragiono.
Sto iniziando a creare il programma d'interfaccia e mi serve una base da cui partire col database.
Ho pensato ad una tabella "Persona" strutturata come di seguito:
Dove molti dati sono dati per null, dato che possono essere mancanti, ma non è questo il punto.
Ovvero, quando vado a inserire la tabella per il figlio, metto come riferimento al padre l'id_persona.
Insomma una procedura che non è possibile realizzare a mano, credo servano le foreign key.
Mi date una mano?
PS: Forse andava in database->MySQL
Ora il mio tallone d'Achille è proprio che io con gli alberi in informatica non ci ragiono.
Sto iniziando a creare il programma d'interfaccia e mi serve una base da cui partire col database.
Ho pensato ad una tabella "Persona" strutturata come di seguito:
Codice:
CREATE TABLE `persona` (
`id_persona` int(10) UNSIGNED NOT NULL,
`id_account` int(10) UNSIGNED NOT NULL,
`nome` varchar(256) NOT NULL,
`cognome` varchar(256) NOT NULL,
`sesso` tinyint(3) UNSIGNED NOT NULL COMMENT '0=sconosciuto, 1=maschio, 2=femmina',
`data_nascita` date DEFAULT NULL,
`data_morte` date DEFAULT NULL,
`data_matrimonio` date DEFAULT NULL,
`luogo_nascita` varchar(1024) DEFAULT NULL COMMENT 'Città, nazione',
`luogo_morte` varchar(1024) DEFAULT NULL COMMENT 'Città, nazione',
`luogo_matrimonio` varchar(1024) DEFAULT NULL COMMENT 'Città,nazione',
`note` varchar(4096) DEFAULT NULL,
`id_madre` int(10) UNSIGNED DEFAULT NULL,
`id_padre` int(10) UNSIGNED DEFAULT NULL,
`id_figlio` int(10) UNSIGNED DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='Tabella contenente i dati della persona';
- id_persona è l'identificativo di record di questa tabella ( indicizzata e autoincrementante )
- id_account proviene dalla scheda personale, cioè chi compila l'albero, per identificarne un prorpietario;
- gli altri dati sono identificata la persona a cui il record è riferito;
- id_padre, id_madre e id_figlio, sono riferiti ai genitori e ai figli; ovviamente a null perché potrei non avere i dati e non avere discendenza.
Ovvero, quando vado a inserire la tabella per il figlio, metto come riferimento al padre l'id_persona.
Insomma una procedura che non è possibile realizzare a mano, credo servano le foreign key.
Mi date una mano?
PS: Forse andava in database->MySQL
Ultima modifica: