Basta sfogliare il nostro schema db e trovare un campo chiamato 'IsFemale'Il nome IsFemale è inappropriato per una colonna del database?
Il nome è buono o è un po 'ridicolo?
Basta sfogliare il nostro schema db e trovare un campo chiamato 'IsFemale'Il nome IsFemale è inappropriato per una colonna del database?
Il nome è buono o è un po 'ridicolo?
Hai mai intenzione di verificare "IsFemale" vero/falso?
Non sarebbe più appropriata una colonna come "PersonType" o qualcosa del genere? In questo modo, potresti avere "femmina", "maschio", "compagnia" e così via - più valori possibili.
Marc
PS: ma se si sceglie di utilizzare una colonna di "bit" (booleano), poi la "è" o "ha" prefisso è una buona scelta, a mio parere - rende del tutto evidente che è un booleano!
femminile e maschile non si escludono a vicenda, quindi dovrete venire con qualcosa per transessuali, unisex, ecc
Per fare questo come enterprisey possibile, creare una colonna GenderTypeID
:
GenderTypes
-----------
GenderTypeID Name Greeting
1 Male Dear Sir
2 Female Dear Madam
3 Unisex Dear Sir and Madam
4 Unknown Dear Sir or Madam
5 Android Dear Artificial Life Form
... e così via.
...Il prodotto della mia azienda ha qualcosa di simile. Le scelte sono maschili, femminili, transgender maschio/femmina, transgender femminile/maschile, e qualcosa che significa asessuato, pensavo che il termine esatto per l'ultimo mi sfugge al momento. – rmeador
Forse dovresti fare riferimento ai MOO quando crei una lista di genere: "LambdaMOO supporta le designazioni personalizzate di genere e viene fornito con i seguenti preset: neutro, maschio, femmina, o, Spivak, splat, plurale, egotistico, reale e secondo -person "da http://en.wikipedia.org/wiki/LambdaMOO –
È inoltre necessario considerare entità legali, come le società. Certamente non maschio o femmina, ma non entrambi. –
Forse nominare la colonna "genere" (char con "M", "F") sarebbe più "sensibile".
Questo è quello che uso, ma non perché è più "sensibile". Lo uso perché è più facile da leggere, utilizza lo stesso spazio di dati e può essere esteso per supportare aziende e ermafroditi, se necessario. –
@John - I miei caratteri devono essere più grandi dei tuoi ... I miei amano allungarsi e occupare 8 bit. ;) –
Gender
sembra una scelta migliore, ma se si desidera o è necessario utilizzare una colonna booleana, ci sono solo due scelte: IsMale o IsFemale.
Cosa c'è di sbagliato con il classico "sesso" e sostenere sottotipi come M, F, ecc ...
Beh, la cosa tipica è quella di avere colonna "sesso", ma si può finire con clienti clueless cercando di archiviarlo con valori come "due volte a settimana".
Altro problema è che dipende dalla lingua. Ad esempio in inglese M significa M an, mentre in spagnolo può significare M ujer (donna).
Per risolvere questo problema, rendi 1 carattere ... ovviamente che lascia ancora "Y" come risposta ... –
Hmmm. "N" sarebbe "neutro" o "no"? Sto solo pensando ... – EricSchaefer
"due volte a settimana" ... lol ... Entrambi sono buoni punti, comunque. –
isFemale indica un problema più grande con lo schema, una cosa del genere dovrebbe essere generalizzato, o forse anche out normalizzato:
simili, muniti di una colonna sesso sul vostro tavolo, che è un FK a una tabella di sesso:
---------------------
| ID | Type |
|-------------------|
| 1 | Male |
| 2 | Female |
| 3 | Yes Please |
---------------------
Nota, in realtà non farlo, è sciocco, a meno che non si pianifichi di supportare sessi insoliti. Penso comunque che una colonna generica sia meglio di un bit isFemale.
È necessario attenersi allo ISO standard se possibile.
ISO/IEC 5218Information technology - Codici per la rappresentazione dei sessi umani è uno standard internazionale che definisce una rappresentazione dei sessi umani attraverso un codice a una sola cifra dalla lingua. ...
I quattro codici specificati nella norma ISO/IEC 5218 sono:
- 0 = non nota,
- 1 = maschio,
- 2 = femmina,
- 9 = non applicabile.
La norma specifica che il suo uso può essere riferito dal designatore "SESSO".
La mia linea preferita: "Lo standard afferma esplicitamente che non si deve attribuire alcun significato al fatto che il maschio è codificato come 1 e la femmina come 2. La codifica riflette semplicemente la pratica esistente nei paesi che hanno iniziato questo standard." Quindi inutilmente politicamente corretto –
Ottima idea. Comportamento standardizzato facilmente argomentato! Non lo sapevo neanche. –
@John: il "unnecessariry" può essere discusso e dipende molto dal contesto, ma la cosa buona è che il PC non fa male qui. –
Se stai chiedendo se è ridicolo, dipende. Sarebbe meglio che Male fosse, sciovinista? (Sto scherzando!)
La mia ipotesi è che chiunque abbia progettato il database abbia pensato a regole aziendali speciali per le donne e l'ha progettato in questo modo.
Non c'è davvero una ragione per cui il maschio dovrebbe essere vero e la femmina dovrebbe essere falsa, ed è possibile che il database sia meno efficiente nell'usare un confronto di caratteri e caratteri.
Da un punto di vista della programmazione, evitare booleani nelle tabelle ha senso per le stesse ragioni per cui è opportuno evitare i valori booleani nei parametri di funzione.
Ogni database con cui ho mai lavorato ha utilizzato un nome di colonna di Sesso con valori 0 per Femmina e 1 per Maschio. Ho sempre pensato che questi valori fossero assegnati più o meno allo stesso modo in cui le apparecchiature elettroniche hanno connettori descritti come femmina o maschio.
Se IsFemale è ridicolo dipende o meno dall'intenzione del sistema, tuttavia sembra che abbia dipinto l'applicazione in un angolo. I campi di genere, ad esempio, possono essere ampliati per ospitare "tipi" aggiuntivi, ma IsFemale ovviamente sarà sempre vero o falso e quindi non estensibile.
Per i sistemi semplici in cui non c'è ambiguità sessuale, utilizzo IsMale. L'alternativa sarebbe utilizzare una tabella di ricerca se i requisiti includono individui intersessuali. Se si hanno solo maschi e femmine, l'uso di qualcosa di diverso da un valore booleano introduce complessità e ambiguità inutili nel sistema.
È chiaro che l'interrogante è preoccupato (giustamente) dell'errore del progettista del database di prendere in considerazione il linguaggio neutro rispetto al valore.
(Si prega di essere consapevole del fatto che politicamente corretta è (giustamente) non è più il linguaggio considerato accettato, valore neutro.)
Come designer computer, è necessario un particolare obbligo di garantire i vostri disegni non lo fanno, inavvertitamente o meno , includere o propagare preferenza di genere o superiorità.
Mentre il progettista può aver supposto ingenuamente che IsFemale dia alle donne un valore 1 e quindi superiore/superiore, ai valori reali viene spesso assegnato il valore -1. Per non parlare delle culture in cui 0 è un valore sacro.
Nella prossima settimana, copriremo le persone che sono intersex e la teoria queer e le sue implicazioni per gli standard di denominazione delle variabili.
Penso che ci sia anche un motivo tecnico per non chiamarlo così. Non è un campo booleano semanticamente. La domanda a cui cerca di rispondere è (di solito) non: "è questa persona donna?", Ma piuttosto il più generale "che sesso è questa persona?" E la risposta a questo non è né "vera" né "falsa". –
E: non dare * a * il sesso un trattamento preferito lo rende non-PC ... err. ... senza valore neutrale? –
Mi chiedo quale applicazione abbia effettivamente per quel campo ... –
quello con cui sto lavorando al momento (interno) – boingboing9999
Non dimenticare: ci sono generi diversi da uomini e donne. – mislav