Welcome to Sign in | Help
in Search

Designer + "Generate change script" VS cod scris de mana in SQL 2005

Last post 05-15-2008, 1:56 PM by MrSmersh. 13 replies.
Sort Posts: Previous Next
  •  05-14-2008, 2:59 PM 4905

    Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Observ (sau poate doar mi se pare) ca multa lume obisnuieste sa scrie codul de generare tabele sau chei sau adaugare coloane (deci operatii legate de modificarea structurei bazei de date). Personal prefer ca atunci cand creez tabele sa fac mai intai o noua diagrama si creez direct acolo tabelele, cheile primare si legaturile (deci folosind designerul) iar atunci cand am neaparata nevoie de codul care sa adauge o coloana merg in Design, adaug coloana, dupa care dau "generate change script" si obtin codul de care am nevoie (la fel procedez si cu cheile).

    Deci eu folosesc foarte mult acest "Generate script" si "Script table as" si celelalte functii care genereaza scripturi si (cu cateva mici exceptii) functioneaza foarte bine si mai ales: le obtin intr-un timp relativ scurt Big Smile

    Exista vre-un neajuns la aceasta metoda? Vre-un motiv pt care ar trebui sa scriu codul de mana (in afara de exercitiu)?
    Filed under:
  •  05-14-2008, 10:19 PM 4918 in reply to 4905

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Eu prefer să scriu codul pentru CREATE TABLE de mână, pentru că opţiunea "Generate Script" scrie mult cod inutil. De exemplu, să comparăm următorul script:

    CREATE TABLE Salariati (

          ID int IDENTITY CONSTRAINT PK_Salariati PRIMARY KEY,

          Nume varchar(25) NOT NULL,

          Prenume varchar(25) NOT NULL,

          Sex char(1) NOT NULL CONSTRAINT CK_Salariati_Sex CHECK (Sex='M' OR Sex='F'),

          ID_Sef int CONSTRAINT FK_Salariati REFERENCES Salariati (ID)

    )



    Cu cel generat de Management Studio:


    USE [tempdb]

    GO

     

    /****** Object:  Table [dbo].[Salariati]    Script Date: 05/14/2008 22:17:09 ******/

    SET ANSI_NULLS ON

    GO

     

    SET QUOTED_IDENTIFIER ON

    GO

     

    SET ANSI_PADDING ON

    GO

     

    CREATE TABLE [dbo].[Salariati](

          [ID] [int] IDENTITY(1,1) NOT NULL,

          [Nume] [varchar](25) NOT NULL,

          [Prenume] [varchar](25) NOT NULL,

          [Sex] [char](1) NOT NULL,

          [ID_Sef] [int] NULL,

     CONSTRAINT [PK_Salariati] PRIMARY KEY CLUSTERED

    (

          [ID] ASC

    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

    ) ON [PRIMARY]

     

    GO

     

    SET ANSI_PADDING OFF

    GO

     

    ALTER TABLE [dbo].[Salariati]  WITH CHECK ADD  CONSTRAINT [FK_Salariati] FOREIGN KEY([ID_Sef])

    REFERENCES [dbo].[Salariati] ([ID])

    GO

     

    ALTER TABLE [dbo].[Salariati] CHECK CONSTRAINT [FK_Salariati]

    GO

     

    ALTER TABLE [dbo].[Salariati]  WITH CHECK ADD  CONSTRAINT [CK_Salariati_Sex] CHECK  (([Sex] = 'M' or [Sex] = 'F'))

    GO

     

    ALTER TABLE [dbo].[Salariati] CHECK CONSTRAINT [CK_Salariati_Sex]

    GO

     

     

    Răzvan

  •  05-14-2008, 10:29 PM 4919 in reply to 4918

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    da, tb sa recunosc ca arata mult mai decent.
  •  05-14-2008, 11:40 PM 4921 in reply to 4919

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    comparand cele doua scripturi, de mai sus, mi-am dat seama cum functioneaza de fapt, mecanismul de generat scripturi.
    se creeaza mai intai tabela si apoi aplica separat constrangeri, chei primare etc.

    in fiecare zi inveti ceva nouBig Smile
  •  05-15-2008, 7:43 AM 4923 in reply to 4921

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Mie "generatorul de scripturi" mi-a folosit mult pana cand mi-am "facut mana" in TSQL.  "Scripts Wizard" este super atunci cand ai nevoie sa "scriptezi" obiecte dintr-o baza de date. Eu incerc sa profit de facilitate, fara a "uita" DDL-ul...Smile

     

  •  05-15-2008, 8:23 AM 4924 in reply to 4923

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Si eu prefer de mina in general... Nu imi place cum genereaza dpv text [] la case e SQL Server specific si eu vreau mai general "" care mere cam pe toate. Da adevarat la DDL implica diferenta de tipuri, numa am facut un code generator de DLL, ia structura din SQL Server (rezonabila, adica fara sp si fara tipuri foarte exotice  ) si imi da DLL pentru ce baza imi trebe.
  •  05-15-2008, 8:40 AM 4925 in reply to 4924

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    DDL, DLL??
    m-ati pierdut Smile ce sunt si cu ce se mananca?
  •  05-15-2008, 10:54 AM 4929 in reply to 4925

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    DDL - "data definition laguage"

    DLL - "dynamic link library"

    Cred ca aici e vorba mai degraba de "DDL"...

  •  05-15-2008, 11:30 AM 4932 in reply to 4929

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Diana:

    DDL - "data definition laguage"

    DLL - "dynamic link library"

    Cred ca aici e vorba mai degraba de "DDL"...



    poti sa imi recomanzi o carte de unde sa aflu mai multe despre DDL? (e prima data cand aud despre asta si suna interesant Smile )
  •  05-15-2008, 11:33 AM 4934 in reply to 4929

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Diana:

    ...

    Cred ca aici e vorba mai degraba de "DDL"...

    Off topic: Mea culpa X 3, da asa e, trebuie sa aduc cindva sub control typos astea Smile

  •  05-15-2008, 11:45 AM 4936 in reply to 4932

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Gherry:
    Diana:

    DDL - "data definition laguage"

    DLL - "dynamic link library"

    Cred ca aici e vorba mai degraba de "DDL"...



    poti sa imi recomanzi o carte de unde sa aflu mai multe despre DDL? (e prima data cand aud despre asta si suna interesant Smile )

    http://msdn.microsoft.com/en-us/library/ms190281.aspx

    Se discuta despre "enhancements", dar aici gasesti comenzile...

  •  05-15-2008, 11:51 AM 4937 in reply to 4936

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    thx
  •  05-15-2008, 11:52 AM 4938 in reply to 4934

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    MrSmersh:
    Diana:

    ...

    Cred ca aici e vorba mai degraba de "DDL"...

    Off topic: Mea culpa X 3, da asa e, trebuie sa aduc cindva sub control typos astea Smile


    off topic : eu te-am crezut, eu aveam ceva ce genera chiar DLL - ma rog, clasele pentru DLL in VB6 si/sau .NET si/sau ASP/ASP.NET

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  05-15-2008, 1:56 PM 4945 in reply to 4938

    Re: Designer + "Generate change script" VS cod scris de mana in SQL 2005

    Daca  asa pui problema e si poate DLL... La modul duplicare structura ea e reprezentata pentru engine ca un dataset. Engine execute si in functie de target da SQL DDL.
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems