---
title: "SQL relations considered harmful?"
url: "https://osherove.com/blog/2004/2/17/sql-relations-considered-harmful.md"
canonical: "https://osherove.com/blog/2004/2/17/sql-relations-considered-harmful.html"
published: "2004-02-17T20:31:00"
updated: "2004-02-17T20:31:00"
tags: [".Net Original"]
author: "Roy Osherove"
description: "OK. So I'm no SQL server guru but I do consider myself to know *something* about it. Which is why it was really weird to read this post and realize that I have no idea what that guy was talking about. Domains? Not using…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# SQL relations considered harmful?

By Roy Osherove February 17, 2004 In [.Net Original](https://osherove.com/blog/category/net-original)

**Historical article** · Originally published February 17, 2004; technical details may be outdated.

OK. So I'm no SQL server guru but I do consider myself to know \*something\* about it. Which is why it was really weird to read [this post](http://weblogs.sqlteam.com/davidm/archive/2004/02/17/882.aspx) and realize that I have no idea what that guy was talking about. Domains? Not using a relation in favor of exporting domain views? using CHECK constraints instead of relations? I know CHECK constraints but funnily enough I was never in a position to actually use them for these kinds of things. Guess that comes with not knowing the territory..

How widespread are these methods? when should I use them? are there any specific guidelines that talk about this issue in particular somewhere where I can get more enlightenment?

## More in .Net Original

[All posts in .Net Original](https://osherove.com/blog/category/net-original)

- Feb 19, 2004

    ### [Get your resource kit (and disregard the kit name)](https://osherove.com/blog/2004/2/19/get-your-resource-kit-and-disregard-the-kit-name.html)

- Feb 18, 2004

    ### [Stuff to know about the Data Application Block](https://osherove.com/blog/2004/2/18/stuff-to-know-about-the-data-application-block.html)

- Feb 17, 2004

    ### [\[Article\] Make your .Net application support scripting - the practical way](https://osherove.com/blog/2004/2/17/article-make-your-net-application-support-scripting-the-prac.html)

- Feb 11, 2004

    ### [Watch me speak at IVCUG: Regex and Plugins](https://osherove.com/blog/2004/2/11/watch-me-speak-at-ivcug-regex-and-plugins.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
