sql >> Database >  >> RDS >> Sqlserver

Hoe een varchar automatisch te verhogen

  1. Het idee bij het ontwerpen van databases is om elk gegevenselement gescheiden te houden. En elk element heeft zijn eigen datatype, beperkingen en regels. Dat c0002 is niet één veld, maar twee. Hetzelfde met XXXnnn of wat dan ook. Het is onjuist en het zal uw vermogen om de gegevens te gebruiken en databasefuncties en faciliteiten te gebruiken ernstig beperken.

    Verdeel het in twee afzonderlijke gegevensitems:
    column_1 CHAR(1)
    column_2 INTEGER

    Stel vervolgens AUTOINCREMENT in op column_2

    En ja, uw primaire sleutel kan (column_1, column_2) . zijn , dus je hebt niets verloren c0002 heeft voor jou.

  2. Plaats leveranciers en klanten (wat "c" en "s" ook betekenen) nooit in dezelfde tabel. Als je dat doet, heb je geen databasetabel, maar een plat bestand. En verschillende problemen en beperkingen die daaruit voortvloeien.

    Dat betekent:Normaliseer de gegevens. Je zult eindigen met:

    • één tabel voor Person of Organisation met de algemene gegevens (Name, Address ...)
    • één tabel voor Customer met klantspecifieke gegevens (CreditLimit ...)
    • één tabel voor Supplier met leverancierspecifieke gegevens (PaymentTerms ...)
    • geen dubbelzinnige of optionele kolommen, dus geen nulls
    • geen beperkingen op gebruik of SQL-functies
      .

    En als u kolommen moet toevoegen, doet u dat alleen waar dat nodig is, zonder dat dit gevolgen heeft voor alle andere vervolgingen van het platte bestand. De reikwijdte van het effect is beperkt tot de reikwijdte van de verandering.



  1. Wat is het beste PostgreSQL High Availability Framework? PAF vs. repmgr vs. Patroni Infographic

  2. In-Memory OLTP:wat is er nieuw in SQL Server 2016

  3. *ALERT* Kan geen databasefout meer openen met Microsoft Office build 2201

  4. SQL geen groepsfunctie met één groep