اغلب فرآیندهای کسب و کار دادهها را به فرمت sparse در پایگاه داده ذخیره میکنند. اگر برای یک بعد (Dimension) خاص داده ای وجود نداشته باشد ...
چند روز پیش در شرکتمون به یک مشکل برخوردم. موقع ثبت یک ردیف در SQL Server، سیستم پیغام خطای زیر را میداد:
[Cannot insert duplicate key row in object 'dbo.[X]' with unique index 'UniqueIndex'. The duplicate key value is [x
بعد از کمی بررسی دو تا نکته را فهمیدم:
- وقتی روی یک ستون متنی NVARCHAR ایندکس یکتا میگذارید، مقادیر یکسان با حروف بزرگ و کوچک برای SQL یکسان هستند و امکان ثبت را به شما نمیدهد؛ یعنی a=A
- همینطور SQL بین دو مقدار که فقط با فاصله در انتها متفاوت باشند فرقی قائل نمیشود؛ یعنی ' a'='a'