W krajach hiszpańskojęzycznych używamy więcej niż jednego nazwiska, na przykład:
Imię ↘ ↙ Nazwisko
Pedro Arturo Rodríguez Loyola
Drugie imię ↗ ↖ (?)
Próbuję modelować dane dla nazwiska pacjenta. W naszym kraju jest to ważne, więc nie mogę zaniedbać drugiego nazwiska, ale chciałbym zbudować aplikację, która ma sens dla innych programistów, szczególnie z krajów anglojęzycznych.
Stworzyłem podobne pytanie na English.SE , ma pewne spostrzeżenia na temat tego, dlaczego ważne jest zachowanie obu wartości.
data-modeling
Pablo Olmos de Aguilera C.
źródło
źródło
name
pola?Odpowiedzi:
Osoba ma 1 lub więcej imion i 1 lub więcej nazwisk i ewentualnie tytuł. Te imiona mają do nich porządek. Od lokalizacji i kultury zależy określenie sposobu odniesienia się do danej osoby.
Dla
Pedro Arturo Rodríguez Loyola
(kontakt nr 1) masz cztery wiersze:W ten sposób nie ogranicza się do żadnej struktury, ale nadal ma sens dla danego kontaktu. Co robisz, gdy masz kogoś z 3 lub 4 imionami lub nazwiskami? czy panieńskie nazwisko?
Zauważ, że zmieniłem kolejność z poprzedniej wersji tej odpowiedzi - kolejność jest porządkiem obejmującym całe imię, a nie tylko porządek w obrębie rodzaju imienia, ponieważ w niektórych kulturach nazwisko jest najważniejsze, być może podzieliłeś części tytułowe „Sir John Smith II”.
Dodatkowe czytanie
źródło
To może pomóc. Post jest humorystyczny, ale wnikliwy.
[Imię] [Nazwisko] nie jest uniwersalną zasadą dla nazwisk. To jest po prostu powszechne tam, gdzie mieszkasz. Jeśli narzucisz w tym reguły, prędzej czy później będziesz mieć osoby, których nie można dodać do twojego systemu.
Zasadniczo upewnij się, że nałożysz jak najmniej ograniczeń i umożliwisz elastyczność między rzeczywistą przechowywaną nazwą a wszelkimi dodatkowymi.
Wybrałbym coś takiego:
Na przykład moje imię nie jest poprawnie zapisywane w większości języków europejskich, ze względu na specyficzne dla Rumunii znaki diakrytyczne (więc za każdym razem, gdy piszę swoje imię poza moim krajem ojczystym, technicznie piszę je nieprawidłowo - aby ludzie mogli je czytać i wymawiać).
Kilka interesujących przykładów nazw i linków:
http://en.wikipedia.org/wiki/Nicholas_Barbon
http://en.wikipedia.org/wiki/Prince_%28musician%29
http://en.wikipedia.org/wiki/P_diddy
http://en.wikipedia.org/wiki/Burmese_name
źródło
To nie jest skomplikowana sprawa ..... albo czegoś mi brakuje.
Posiadaj następujące pola:
name
(varchar),lastname
(varchar).Następnie formularz do wypełnienia pełnej nazwy, przykład:
Jorge Patricio
i nazwiskoPèrez Gonzáles
.W wyszukiwaniu masz wiele operatorów porównania, na przykład w MySQL, takich jak
like
które pomogą ci szukać.Najczęściej skomponowane nazwiska są zawsze w porządku.
Pérez González
najczęściej mówi w ten sposób swoje nazwisko, a nie w odwrotnej kolejności.Nadmiernie projektujesz swoją bazę danych w inny sposób.
źródło
Istnieją trzy rodzaje nazwisk osobistych: Polynyms (imiona z wieloma składnikami), Mononimy (imiona z tylko jednym składnikiem, ex „Cher”) i Pictonimy (imiona reprezentowane przez zdjęcia, ex The Artist ).
Osoba może mieć wiele nazwisk, odgrywać role , na przykład Legal Name i Preferred Name.
Polynym ma kilka elementów, z których należy podać imię i nazwisko. Istnieje kilka rodzajów nazwisk:
3 jest ważny, ponieważ oczekuje się, że zostanie on przemówiony jako pan Fernández de Calderón , a nie pan Fernández de Calderón García-Iglesias.
Zasadniczo więc należy podać obowiązkowe pole nazwiska i nullable drugie pole nazwiska.
źródło
Jak modelujesz różne elementy czyjegoś imienia? Ty nie . Zamiast modelować osobne pola dla wszystkich składników czyjegoś imienia i nazwiska, a także ich preferowanego pozdrowienia, apelacji, nieformalnej nazwy, nazwy użytkownika, pseudonimu i obsługi, modeluj tylko to, na czym ci zależy.
Szanse są dla twojego systemu tak naprawdę obchodzą tylko cztery „nazwiska” dla kogoś:
Wiele systemów po prostu użyłoby czyjejś oficjalnej nazwy dla # 1 i # 2, pozostawiając jedyne, na których ci zależy, jako „ciąg reprezentujący nazwę użytkownika” i „ciąg reprezentujący sposób sortowania tych pierwszych”.
Z perspektywy modelowania danych zdefiniuj tylko te wartości, których faktycznie potrzebujesz. Najlepszym sposobem optymalizacji przechowywania tych wartości jest szczegół implementacji - taki, który spowoduje problemy tylko w przypadku nadmiernej optymalizacji. (Jasne, „mógłbyś” po prostu zapisać imię i nazwisko, ale co byś zrobił dla kogoś, kto ma tylko jedno imię?)
źródło
Rozważmy to w inny sposób.
Twój system musi się łączyć z innymi systemami, nie ma znaczenia, jak elastyczny jesteś, jeśli nie są. Więc co robią systemy, z którymi musisz przesyłać dane?
Kiedy dzwonię do lekarza, by umówić się na spotkanie, pytają mnie o datę urodzenia, systemy wyświetlają im listę pasujących osób, a następnie pytają o moje imię i nazwisko, a na koniec proszę o adres, aby potwierdzić, że wybrali właściwa osoba.
Podczas rozmowy ze mną lekarz musi znać adres. muszą również znać nazwisko, aby napisać list, jeśli do mnie piszą.
Dlatego nie jest to tylko jedno pole tekstowe, które dopuszcza spacje. Nie ma powodu, aby nawet oddzielić imię od nazwiska, chyba że będziesz przetwarzał je w ten sam sposób.
źródło
Almodóvar
a nieFernando
.