Naming of ID columns in database tables

后端 未结 23 776

I was wondering peoples opinions on the naming of ID columns in database tables.

If I have a table called Invoices with a primary key of an identity column I would c

23条回答
  •  感动是毒
    2020-11-29 18:05

    My preference is also ID for primary key and TableNameID for foreign key. I also like to have a column "name" in most tables where I hold the user readable identifier (i.e. name :-)) of the entry. This structure offers great flexibility in the application itself, I can handle tables in mass, in the same way. This is a very powerful thing. Usually an OO software is built on top of the database, but the OO toolset cannot be applied because the db itself does not allow it. Having the columns id and name is still not very good, but it is a step.

    Select
    i.ID , il.ID From Invoices i Left Join InvoiceLines il on i.ID = il.InvoiceID

    Why cant I do this?

    Select  
        Invoices.ID 
    ,   InvoiceLines.ID 
    From
        Invoices
        Left Join InvoiceLines
            on Invoices.ID = InvoiceLines.InvoiceID
    

    In my opinion this is very much readable and simple. Naming variables as i and il is a poor choice in general.

提交回复
热议问题