Louis Davidson

Louis is the editor of this Simple-Talk website. Prior to that, has was a corporate database developer and data architect for a non-profit organization for 25 years! Louis has been a Microsoft MVP since 2004, and is the author of a series of SQL Server Database Design books, most recently Pro SQL Server Relational Database Design and Implementation.

Follow Louis Davidson via

31 August 2022
31 August 2022

Into the unknown, sort of

0
2
Over half of my life ago, I was looking for a job. I had written a bunch of triggers and stored procedures at my first job, but I was relatively green. I had just (barely) gotten my degree in Computer Science, and was looking to get out of Cleveland, TN. I checked around and found … Read more
0
2
03 August 2021
03 August 2021

Using Filetable to Find Duplicate Image Files with Different Names

In my article “Filetables, Great For Business, Great For Hobbyist”, I implemented the basis of a hobby database I use for my Twitter accounts (@disneypicaday and @dollywoodp), where I post daily pictures of theme parks. As my inventory of prepped pictures has grown, one thing has become a major pain. Duplicates. I have tens of … Read more
20 March 2021
20 March 2021

Determining actions you can take with Edge and Node tables in SQL Server

0
4
One of the interesting things about working with many-to-many relationships in SQL Server with graph tables instead of a relational table is that unlike a relational many-to-many table, by default an edge may can implement relationships from lots of different tables (nodes). You can also limit what nodes can be related using which edges. For … Read more
0
4
15 March 2021
15 March 2021

The Issue\Purpose of Multiple Edge Constraint/Conditions

Edge constraints were added in SQL Server 2019 to make the node to edge relationship stricter/enforced, and more like typical foreign key constraints. When used, they define what node types can be used in the from and to position of the edge. What makes edges different than a many-to-many relationship in a relational table is … Read more
12 March 2021
12 March 2021

Ways to get and deal with invalid node identifiers in SQL Server Edge references

One of the weirder things about graph tables in SQL Server is the mysterious backend implementation. The values you see when working with these objects look like this: {“type”:”node”,”schema”:”dbo”,”table”:”Node1″,”id”:0}, but when you get errors, you don’t see the json, you see what this represents (two integers for the object_id and unique id in the graph … Read more
26 October 2020
26 October 2020

Ignore the technology for a moment, let’s talk about the problem

Twelve and a half years ago I wrote my largest hit count article of my writing career Ten Common Database Design Mistakes. It currently shows as having over 1.2 million hits, despite having a misspelling in the first paragraph. After this length of time, you would think that things would have changed and we would … Read more