jueves, 6 de junio de 2013

Crear una tabla en SQL Server 2005

Esto es un pequeño manual de cómo crear en SQL Server  Tablas y asignarle las Claves y las Foreing Keys correspondientes, al final viene un script para crear una tabla mediante código.

Para generar la tabla.

Crear una tabla en SQL Server
 nombre y tipo de campo SQL Server
 Y luego elegimos del nombre de la tabla


nombre de tabla SQL Server
 Para poner claves.
Añadir claves a una tabla de SQL Server
 Elegimos el campo clave y pulsamos
elegir claves en una tabla de SQL Server
 Con lo que queda
campo clave SQL Server
 Si queremos que la clave sean varios campos, selecionamos los campos deseados y pulsamos.campo clave SQL Server

campo clave SQL Server

 Para crear una foreing Key simple.


foreing key SQL Server

foreing key SQL Server

 Nos abre el diálogo
foreing key SQL Server
 Pulsamos Add y luego el botón
 Con lo que sale
foreing key SQL Server

Pulsamos OK y ya tenemos nuestra Foreing Key, cerramos con close.
 Para crear una foreing Key complejo.

foreing key complejo SQL Server

Aparecen dos colunnas, si intentamos dar al OK nos da un mensaje de error del tipo


foreing key complejo SQL Server

Para evitar esto, hay que elegir la columna que se quiere relacionar y poner  <none> en las que no corresponda la relación


foreing key complejo SQL Server

Ahora si deja crear la relación.

Generación mediante scripts


Para generar las tablas, sus claves y foreing keys se puede hacer por código del siguiente modo:

USE [model]
GO
/****** Object:  Table [dbo].[tbAtiende]    Script Date: 08/30/2011 10:55:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tbAtiende](
      [intID] [tinyint] IDENTITY(1,1) NOT NULL,
      [strID_MED] [char](5) NOT NULL,
      [strID_PAC] [char](5) NOT NULL,
 CONSTRAINT [PK_tbAtiende] PRIMARY KEY CLUSTERED
(
      [strID_MED] ASC,
      [strID_PAC] 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

No hay comentarios:

Publicar un comentario