小编Vin*_*hak的帖子

SQL数据库设计最佳实践(地址)

当然我意识到没有一种"正确的方法"来设计SQL数据库,但我想在我的特定场景中得到一些关于更好或更差的意见.

目前,我正在设计一个订单输入模块(使用SQL Server 2008的Windows .NET 4.0应用程序),当谈到可以应用于多个位置的数据时,我在两个设计决策之间徘徊.在这个问题中,我将专门提到地址.

地址可以被各种对象(订单,客户,员工,货运等)使用,并且它们几乎总是包含相同的数据(地址1/2/3,城市,州,邮政编码,国家等).我原本打算将每个字段作为列包含在每个相关表中(例如,订单将包含Address1/2/3,City,State等.而Customers也将包含相同的列布局).但我的一部分想要在这种情况下应用DRY/Normalization原则,即有一个名为"Addresses"的表,它通过相应表中的Foreign Key引用.

CREATE TABLE DB.dbo.Addresses
    (
        Id          INT
                    NOT NULL
                    IDENTITY(1, 1)
                    PRIMARY KEY
                    CHECK (Id > 0),

        Address1    VARCHAR(120)
                                NOT NULL,

        Address2    VARCHAR(120),

        Address3    VARCHAR(120),

        City        VARCHAR(100)
                    NOT NULL,

        State       CHAR(2)
                    NOT NULL,

        Country     CHAR(2)
                    NOT NULL,

        PostalCode  VARCHAR(16)
                    NOT NULL
    )

CREATE TABLE DB.dbo.Orders
    (
        Id          INT
                    NOT NULL
                    IDENTITY(1000, 1)
                    PRIMARY KEY
                    CHECK (Id > 1000),

        Address     INT
                    CONSTRAINT fk_Orders_Address
                    FOREIGN KEY REFERENCES Addresses(Id)
                    CHECK (Address > 0)
                    NOT NULL,

        -- …
Run Code Online (Sandbox Code Playgroud)

sql database-design

31
推荐指数
4
解决办法
6万
查看次数

开发抽象语法树

我在互联网上搜索了一些有关开发C#抽象语法树的新手信息,但我只能找到已经"知道"的人的信息.我是一个业务线应用程序开发人员,所以这些主题有点过头了,但这是我自己的教育,所以我愿意花时间学习任何必要的概念.

通常,我想了解从代码字符串开发代码的抽象表示背后的技术.更具体地说,我希望能够使用此AST来执行C#语法突出显示.(我意识到语法高亮并不需要AST,但这似乎是学习一些"编译器"级技术的好机会.)

如果这个问题有点宽泛,我很抱歉,但我不知道该怎么回答.

谢谢!

c# abstract-syntax-tree

12
推荐指数
2
解决办法
1万
查看次数

用于复合主键的外键

谢谢阅读.

是否可以将复合外键用作表的复合主键的一部分?

例如,假设我有两个表:

            CREATE TABLE DB.dbo.Partners
            (
                CONSTRAINT pk_Partners_Id
                PRIMARY KEY (Name, City, State, Country, PostalCode),

                Name                VARCHAR(100)
                                    NOT NULL,

                Address1            VARCHAR(100),

                Address2            VARCHAR(100),

                Address3            VARCHAR(100),

                City                VARCHAR(150)
                                    NOT NULL,

                State               CHAR(2)
                                    NOT NULL,

                Country             CHAR(2)
                                    NOT NULL,

                PostalCode          VARCHAR(16)
                                    NOT NULL,

                Phone               VARCHAR(20),

                Fax                 VARCHAR(20),

                Email               VARCHAR(256)
            )
Run Code Online (Sandbox Code Playgroud)

...然后在第二个表中,我想在第二个表的主键中引用外键:

            CREATE TABLE DB.dbo.PartnerContacts
            (
                CONSTRAINT pk_PartnerContacts_Id
                PRIMARY KEY (fk_PartnerContacts_PartnerId, FirstName, LastName, PhoneNumber, Email),

                CONSTRAINT fk_PartnerContacts_PartnerId
                FOREIGN KEY REFERENCES Partners(Name, City, State, Country, PostalCode),

                FirstName           VARCHAR(75)
                                    NOT NULL,

                MiddleName          VARCHAR(75),

                LastName …
Run Code Online (Sandbox Code Playgroud)

sql foreign-keys primary-key

11
推荐指数
1
解决办法
2万
查看次数

ASP.NET缓存的位置

在IIS 7中管理ASP.NET缓存的方式/位置是什么?我知道它存储在服务器的内存中,但管理它的过程是什么?它是在w3wp.exe的地址空间中,还是在另一个进程/位置?会话数据是否使用缓存,或者会话的工作方式不同吗?

asp.net iis-7 caching

6
推荐指数
1
解决办法
1805
查看次数

IIS 7 URL重写匹配URL

我正在尝试使用URL Rewrite模块在IIS 7中设置规范的默认URL.我认为我误解了如何使用"匹配URL"字段.以下似乎没有做任何事情:

    <rewrite>
        <rules>
            <rule name="EnforceDefaultPage">
                <match url="^http://(?:www\.)?mydomain\.com(?:/)?(?:blog\.aspx)?$" />
                <action type="Redirect" url="http://www.mydomain.com/blog" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite> 
Run Code Online (Sandbox Code Playgroud)

我在很多例子中都注意到人们已经使用HTTP_HOST变量添加了一个条件......但是这与匹配网址有何关系?似乎我应该能够省略任何条件,因为我的正则表达式完全匹配我想要的.

iis-7 url-rewriting

1
推荐指数
1
解决办法
2万
查看次数