|
|
1
2
你可能想把这个放在四张桌子里 **Companies** Name OtherInfo CompanyID **States** Name OtherInfo StateID **Cities** Name StateID CityID OtherInfo **CompaniesInCities** CompanyID CityID 这样,州和城市就可以脱离公司而存在。 至于要选择它们的控件,如果要选择单个城市,请使用Ajax CascadingDropDownList 可能是最好的选择。 在没有多页刷新的情况下进行此操作,至少如果我正确理解您的意思,对用户来说将是非常困难的,并且可能会令人困惑。你最好的办法是让他们尽可能无痛,这可能涉及到使用Ajax,也可能不涉及使用Ajax。 |
|
|
2
0
要回答您的第一个问题,我会将其存储如下: STATE ---------------------------- STATE_KEY NOT NULL NUMBER COUNTRY NOT NULL VARCHAR2(3) (ISO 3-letter code) STATE_SHORT NOT NULL VARCHAR2(30) STATE_NAME NOT NULL VARCHAR2(30) CITY ---------------------------- CITY_KEY NOT NULL NUMBER STATE NOT NULL NUMBER (FK into STATE) CITY_NAME NOT NULL VARCHAR2(30) LAT NUMBER LOG NUMBER COMPANIES ---------------------------- STATE_ID NUMBER NOT NULL (FK into State) .... Other Data Cols..... 您可以考虑做的一件事是将公司与City Key和FK链接到City,并拥有一个类似于USA;FL;NULL和USA;CA;NULL的城市来代表该州内的所有城市。通过这种方式转换为基于特定城市的公司并不会真正改变您的总体计划。如果你知道你总是在与与州有联系的公司打交道,那么在公司中做州ID(如上图所示)是比较可取的。 祝你的项目好运。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 8 月前 |
|
Marc Guillot · 记录值时忽略冲突 9 月前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 9 月前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 9 月前 |