Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
Ad for State of Database Landscape survey
The Voice of the DBA
 

Being Mindful of Design Time

Over the last few years, I've worked a lot with various customers on finding better ways to build database software, often with the principles of DevOps driving the change. A lot of managers and leads want to see a smoother process to help their teams become more efficient. DBAs often want less overhead and friction in the process, while developers just want to deliver code.

In many cases, however, what lots of management wants is speed, and they're looking for ways to increase their current speed, which might be quick enough if you can reduce your bottlenecks. Making communication easier, trying to limit the stoppage from handoffs, and reducing the risk of mistakes are everyone's goals.

However.

What I see too often is that both their current process and the new one are often lacking fundamental database design and modeling. Developers aren't well-trained and make design decisions based on an (often) incomplete spec. They alter schemas to fit the immediate challenge, without thinking about the future. Good database modeling considers the often unasked questions and unspoken rules of the problem space.

Moving to a smoother process that allows code to be merged, tested, and released in a quicker fashion is great if you are writing good code. It's less great if you aren't. Most of us have a lot of poorly architected schemas and don't need more challenges.

I wonder how much time most of you spend on database modeling? Do you try to out more than one design? In this podcast, John Ousterhout talks about designing a system twice. He tries to get his students to come up with a second idea for a problem, which often brings out a better design. I wonder if this might not be a good idea for database modeling as well.

I'm sure most people do their best to build a good data model, but experience often teaches us that the way we decide on a table structure, data types, keys, indexes, and more changes as we learn more. Our experience can help us make choices that perform well over time and don't limit flexibility.

Is design an important part of your development process? Do you have guidelines for your organization? Do you consult more experienced database people? Or to inexperienced people ask you to review their choices? Building a more efficient software development process should help you to move code to production more smoothly, and therefore quicker, but it shouldn't be used to deploy more poorly written solutions. Take the time needed to implement well-designed and tested code.

Steve Jones - SSC Editor

Join the debate, and respond to today's editorial on the forums

Ad for State of Database Landscape survey
 
 Featured Contents
SQLServerCentral Article

T-SQL in SQL Server 2025: Concatenating Strings

Steve Jones - SSC Editor from SQLServerCentral

Like many of you, I have often put strings together (concatenation) with a simple arithmetical operator: +.  We have a few other ways to put strings together, but in SQL Server 2025, we have a new operator that allows us to put strings together. This is the double pipe (||) operator. This article looks at […]

External Article

IoT Meets OLTP: How to Handle Backfilling Challenges in Real-Time Systems

Additional Articles from SimpleTalk

This is the true story of a 64-core SQL Server brought down by poor assumptions about its data. A clustered index designed for neat, sequential IoT inserts was overwhelmed when the real readings arrived late, out of order, and in bulk. The same risk lurks in any high-write system with unpredictable insert patterns. This article shows what can go wrong and how to avoid it.

Blog Post

From the SQL Server Central Blogs - Check Power BI report interactions with Semantic Link Labs

Meagan Longoria from Data Savvy

It can be tedious to check what visual interactions have been configured in a Power BI report. If you have a lot of bookmarks, this becomes even more important....

Blog Post

From the SQL Server Central Blogs - How to Set Up SQL Server 2025, Ollama and NGINX in Docker Without the Headaches

MarlonRibunal from Marlon Ribunal - SQL, Code, Coffee, etc.

Ollama SQL FastStart kit just works out of the box. It makes it easy to spin the whole Docker Compose stack not in minutes but seconds! Continue reading →
The...

Introduction to PostgreSQL for the data professional

Introduction to PostgreSQL for the data professional

Site Owners from SQLServerCentral

Adoption and use of PostgreSQL is growing all the time. From mom-and-pop shops to large enterprises, more data is being managed by PostgreSQL. In turn, this means that more data professionals need to learn PostgreSQL even when they have experience with other databases. While the documentation around PostgreSQL is detailed and technically rich, finding a simple, clear path to learning what it is, what it does, and how to use it can be challenging. This book seeks to help with that challenge.

 

 Question of the Day

Today's question (by Steve Jones - SSC Editor):

 

Getting the Object Code

What happens when I run this on SQL Server 2022 in the AdventureWorks2022 database?
SELECT OBJECT_DEFINITION (OBJECT_ID(N'dbo.uspGetBillofMaterials')) AS [Object Definition]; 
GO 

Think you know the answer? Click here, and find out if you are right.

 

 

 Yesterday's Question of the Day (by Steve Jones - SSC Editor)

Identify a Slipstream Installation

I get a new SQL Server instance from my build team. How can I tell if the instance was installed using a slipstream installation later?

Answer: look for Slipstream: True in the install log

Explanation: The install log has the entry for slipstream. Ref:  Slipstream Installation - https://learn.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-using-slipstream?view=sql-server-ver17

Discuss this question and answer on the forums

 

 

 

Database Pros Who Need Your Help

Here's a few of the new posts today on the forums. To see more, visit the forums.


SQL Server 2019 - Development
count the number of NULLs in a row - Hi everyone I have a SP that finds the average based on 3 tables.  I need to know how many NULLs are in a row, not column.  The only way I know how to do this is to first find all combinations of outcome and then second use a CASE statement.  This is fine for […]
SQL Azure - Administration
SQL MI Next-gen general purpose tier - Has anyone used Azure SQL MI on the next-gen general purpose tier, Microsoft documentation says it offers better IOPS compared to the regular tier. If the IOPS limit is stated as 10k, is this limit applied per database or is it the upper limit for the entire SQL Managed Instance? Does the IOPS we get […]
SSDT
ETL Framework In Production - Hello, I am leveraging Python within SQL Server Integration Services (SSIS) packages, primarily through the Execute Process Task.   I am extracting Data from E2 SQL to Azure SQL Server. The connection has already been established. I am building complete ETL using Function Extraction of Data (Full load/Incremental Load) Transformation Logging Audit Table Loading The […]
Integration Services
Dts.Events.FireInformation - Is there a way to get this to log? - Using FireInformation is useful when running interactively as the messages appear in the Progress window. However, when deployed to an SSIS catalog and executed from an Agent job, these messages don't appear in SSISDB.catalog.operation_messages - even if the logging level is set to Verbose. Is there a way to get these messages to log in […]
Editorials
Poor Name Choice - Comments posted to this topic are about the item Poor Name Choice
Data > Hype - Comments posted to this topic are about the item Data > Hype
SQLServerCentral.com Website Issues
Large posts full of code not allowed anymore? - Several times now, I've seen a post asking for a solution. I've replied, and posted comprehensive code for the solution, and the post does not add to the thread, but i don't get any error like post too long, or anything. I've tried putting the code in code blocks, and just plain pasting it inline. […]
Article Discussions by Author
Getting the Indexed Columns - Comments posted to this topic are about the item Getting the Indexed Columns
T-SQL in SQL Server 2025: Substring Changes - Comments posted to this topic are about the item T-SQL in SQL Server 2025: Substring Changes
Create and Read the Analysis Services Flight Recorder - Comments posted to this topic are about the item Create and Read the Analysis Services Flight Recorder
Slipstream parameters - Comments posted to this topic are about the item Slipstream parameters
The Last Good DBCC Run - Comments posted to this topic are about the item The Last Good DBCC Run
SQL Server 2022 - Administration
Distributed Availability Group Issue / Misunderstanding. - Not sure if this is a tech mistake I've made or a lack of understanding: Architecture = 2 x 2 node clusters, with 1 x AG each & 1 x testDB in AG1. Aim = to use distributed availability group to port testDB from clusterA to clusterB. Steps: Create DAG on clusterA listener to listener. […]
SQL Server 2022 - Development
Varchar(max) to lines - I have an issue with a varchar(max) field with up to 7000 characters needing to be put in to lines of 85 characters long and keep formatting with char(13) in it and not to break words. Basically it is to take a memo field from a software to import into Business Central Extended Text lines. […]
Deleting data in large table - I have a large table with 17M+ rows for our package record audits.  I've decided to clear out anything older than 3 months which would clear all but 1.2M records.  The table doesn't currently have any indexes.  What's the recommended way to clear the records from the table?  Should i consider adding an index to […]
 

 

RSS FeedTwitter

This email has been sent to {email}. To be removed from this list, please click here. If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com. This newsletter was sent to you because you signed up at SQLServerCentral.com.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -