Member 11856456 Ответов: 2

Как мне нормализовать эти 3 конкретных столбца?


Я работаю над разработкой генеалогической программы. В ходе этого процесса я столкнулся с этими вопросами, касающимися места рождения.

Вот колонки, которые у меня есть:
Место рождения
State_of_birth
County_of_birth

однако не во всех местах есть Штаты и округа. это был один из вопросов, с которым я имею дело. другая проблема заключается в том, что если я строго использую place_of_birth в качестве одного столбца, то я сталкиваюсь с использованием запятых. Например, человек родился в Балтиморе, штат Мэриленд. Я помню, что читал, что вы не должны использовать запятые в своей таблице базы данных.

Что я уже пробовал:

Я подумал, что, может быть, я мог бы разделить это по округам и иметь отдельные таблицы для того, как они делают свои рождения. Однако я не уверен, что это эффективный способ справиться с этой проблемой.

2 Ответов

Рейтинг:
9

Super Lloyd

нормализовать-это другое. в основном речь идет о том, чтобы избежать дублирования информации.

во всяком случае, вы вполне можете иметь запятую в своем тексте, просто если вы передадите встроенный пользовательский ввод в свои запросы, это вызовет проблему, т. е.:

var uName = "lloyd, "<br />
...<br />
var sql = "select * from user where name like '" + uNname + "'";


который вы решаете, никогда не имея встроенного пользовательского ввода, вместо этого используйте параметр SQL-запроса

var cmd = new SqlCommand("select * from user where name like $user");<br />
cmd.Parameters.Add("user", "lloyd, ");


Рейтинг:
16

Peter Leow

Я никогда не был в штате. Однако это не мешает мне провести небольшое исследование, и вот что я нашел:
1. По данным Независимый город (США) - Википедия[^]

Цитата:
Бюро переписи населения США использует графства в качестве своей базовой единицы для представления статистической информации и рассматривает независимые города как эквиваленты графств для этих целей.

2. Таким образом, каждое место в Штатах имеет уникальный код ST/CTY, как показано на рисунке Кодовые номера штата/округа FIPS с присвоенным номером MSA - OWCP - Министерство труда США[^]
Вооружившись этим знанием:
1. Создайте поисковую таблицу, скажем "место", содержащую три столбца - st_cty, state_name и county_name, где st_cty - это первичный ключ
2. Ваша исходная таблица должна иметь столбец с надписью "place_of_birth", который ссылается на st_cty в этой таблице "place" в качестве внешнего ключа.