Crear una vista (2009-0902)

02/09/2009 - 20:40 por Mauricio | Informe spam
Hola a todos,
tengo 2 tablas, ARCHIVOS y PROYECTOS. Los ARCHIVOS pertenecen a un
PROYECTO. A su vez la tabla PROYECTOS está relacionada consigo misma
dado que representa una estructura en árbol, como las carpetas del
sistema operativo.
Se puede hacer una vista que me genere que me muestre algo así:

NOMBRE PROYECTO ARCHIVO
Contable
Contable/Fuentes Principal.app
Contable/Fuentes Funciones.app
Contable/Fuentes/Backup Old_Funciones.app
Contable/Imagenes Cliente.ico
Contable/Imagenes Logo.bmp

Las estructuras de las tablas es la siguiente:

CREATE TABLE [dbo].[ARCHIVOS](
[IdArchivo] [int] IDENTITY(1,1) NOT NULL,
[IdProyecto] [int] NOT NULL,
[Nombre] [varchar](128) NOT NULL,
[Tamanio] [int] NULL,
[Tipo] [tinyint] NULL,
[Comentario] [varchar](5000) NULL,
[Borrado] [tinyint] NOT NULL,
[Fecha] [datetime] NULL,
[Archivo] [image] NULL,
[IdUsuario] [int] NULL,
[FechaCreacion] [datetime] NULL,
CONSTRAINT [PK_ARCHIVOS] PRIMARY KEY CLUSTERED
(
[IdArchivo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

CREATE TABLE [dbo].[PROYECTOS](
[IDProyecto] [int] IDENTITY(1,1) NOT NULL,
[Nombre] [varchar](50) NOT NULL,
[Comentario] [varchar](5000) NULL,
[IdPadre] [int] NOT NULL,
[Nivel] [tinyint] NULL,
[IdUsuario] [int] NULL,
[Fecha] [datetime] NULL,
[Mojon] [tinyint] NULL,
[NUMEROHISTORIA] [int] NULL,
[NoEnviarNotificacionesVCS] [tinyint] NULL,
[NoEnviarNotificacionesITS] [tinyint] NULL,
CONSTRAINT [PK_PROYECTOS] PRIMARY KEY CLUSTERED
(
[IDProyecto] 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

Espero haber sido lo suficientemente claro. Gracias a todos por su
ayuda.
Saludos.


Mauricio
Copenhague, Dinamarca

Preguntas similare

Leer las respuestas

#1 Ruben Garrigos
02/09/2009 - 22:20 | Informe spam
Hola Mauricio,

Te recomiendo que te plantees el uso de una CTE recursiva. Para más información
sobre éstas: http://msdn.microsoft.com/es-es/lib...86243.aspx

Un saludo,

Rubén Garrigós
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

Hola a todos,
tengo 2 tablas, ARCHIVOS y PROYECTOS. Los ARCHIVOS pertenecen a un
PROYECTO. A su vez la tabla PROYECTOS está relacionada consigo misma
dado que representa una estructura en árbol, como las carpetas del
sistema operativo.
Se puede hacer una vista que me genere que me muestre algo así:
NOMBRE PROYECTO ARCHIVO
Contable
Contable/Fuentes Principal.app
Contable/Fuentes Funciones.app
Contable/Fuentes/Backup Old_Funciones.app
Contable/Imagenes Cliente.ico
Contable/Imagenes Logo.bmp
Las estructuras de las tablas es la siguiente:

CREATE TABLE [dbo].[ARCHIVOS](
[IdArchivo] [int] IDENTITY(1,1) NOT NULL,
[IdProyecto] [int] NOT NULL,
[Nombre] [varchar](128) NOT NULL,
[Tamanio] [int] NULL,
[Tipo] [tinyint] NULL,
[Comentario] [varchar](5000) NULL,
[Borrado] [tinyint] NOT NULL,
[Fecha] [datetime] NULL,
[Archivo] [image] NULL,
[IdUsuario] [int] NULL,
[FechaCreacion] [datetime] NULL,
CONSTRAINT [PK_ARCHIVOS] PRIMARY KEY CLUSTERED
(
[IdArchivo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] )
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

CREATE TABLE [dbo].[PROYECTOS](
[IDProyecto] [int] IDENTITY(1,1) NOT NULL,
[Nombre] [varchar](50) NOT NULL,
[Comentario] [varchar](5000) NULL,
[IdPadre] [int] NOT NULL,
[Nivel] [tinyint] NULL,
[IdUsuario] [int] NULL,
[Fecha] [datetime] NULL,
[Mojon] [tinyint] NULL,
[NUMEROHISTORIA] [int] NULL,
[NoEnviarNotificacionesVCS] [tinyint] NULL,
[NoEnviarNotificacionesITS] [tinyint] NULL,
CONSTRAINT [PK_PROYECTOS] PRIMARY KEY CLUSTERED
(
[IDProyecto] 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

Espero haber sido lo suficientemente claro. Gracias a todos por su
ayuda.
Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida