Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да увеличите автоматично varchar

  1. Идеята при проектирането на база данни е всеки елемент от данни да бъде отделен. И всеки елемент има свой собствен тип данни, ограничения и правила. Това c0002 не е едно поле, а две. Същото с XXXnnn или каквото и да е. Това е неправилно и сериозно ще ограничи възможността ви да използвате данните и да използвате функции и съоръжения на базата данни.

    Разбийте го на два отделни елемента от данни:
    column_1 CHAR(1)
    column_2 INTEGER

    След това задайте AUTOINCREMENT на column_2

    И да, вашият първичен ключ може да бъде (column_1, column_2) , така че не сте загубили каквото и да е значение c0002 има за вас.

  2. Никога не поставяйте доставчици и клиенти (каквото и да означава "c" и "s") в една и съща таблица. Ако направите това, няма да имате таблица с база данни, ще имате плосък файл. И различни проблеми и ограничения, произтичащи от това.

    Това означава, нормализирайте данните. В крайна сметка ще получите:

    • една таблица за Person или Organisation съдържащ общите данни (Name, Address ...)
    • една таблица за Customer съдържащи специфични за клиента данни (CreditLimit ...)
    • една таблица за Supplier съдържащи специфични за доставчика данни (PaymentTerms ...)
    • без двусмислени или незадължителни колони, следователно без нулеви стойности
    • няма ограничения за използване или SQL функции
      .

    И когато трябва да добавите колони, вие го правите само там, където е необходимо, без да засягате всички други дела на плоския файл. Обхватът на ефекта е ограничен до обхвата на промяната.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свързване с локална база данни на SQL Server с помощта на C#

  2. Търсене на низове със заместващи символи на триграма в SQL Server

  3. 6 начина за проверка на размера на база данни в SQL Server с помощта на T-SQL

  4. Функции срещу съхранени процедури

  5. Какъв е правилният SQL тип за съхраняване на .Net времеви интервал със стойности> 24:00:00?