Anda di halaman 1dari 2

create database dbRedSocial

go
use dbRedSocial
go
CREATE TABLE [dbo].[Personas] (
[idPersona] INT IDENTITY (1, 1) NOT NULL,
[nombre] VARCHAR (50) NULL,
[apellido] VARCHAR (50) NULL,
[genero] VARCHAR (50) NULL,
[fechaNacimiento] DATE NULL,
[correoElectronico] VARCHAR (50) NULL,
CONSTRAINT [PK_Persona_] PRIMARY KEY CLUSTERED ([idPersona] ASC)
);
go
CREATE TABLE [dbo].[Perfiles] (
[idPerfil] INT IDENTITY (1, 1) NOT NULL,
[nickname] VARCHAR (50) NULL,
[rutaFotoPerfil] VARCHAR (50) NULL,
[carrera] VARCHAR (50) NULL,
[facultad] VARCHAR (50) NULL,
[presentacion] VARCHAR (100) NULL,
[idPersona] INT NULL,
CONSTRAINT [PK_Perfiles] PRIMARY KEY CLUSTERED ([idPerfil] ASC),
CONSTRAINT [FK_Perfiles_Persona] FOREIGN KEY ([idPersona]) REFERENCES [dbo].
[Personas] ([idPersona]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Cuentas] (
[idCuenta] INT IDENTITY (1, 1) NOT NULL,
[login] VARCHAR (50) NULL,
[password] VARCHAR (50) NULL,
[idPersona] INT NULL,
[tipo] VARCHAR (50) NULL,
CONSTRAINT [PK_Cuentas] PRIMARY KEY CLUSTERED ([idCuenta] ASC),
CONSTRAINT [FK_Cuentas_Persona] FOREIGN KEY ([idPersona]) REFERENCES [dbo].
[Personas] ([idPersona]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[PosiblesContactos] (
[idContacto] INT IDENTITY (1, 1) NOT NULL,
[idCuentaOrigen] INT NULL,
[idCuentaDestino] INT NULL,
CONSTRAINT [PK_PosiblesContactos] PRIMARY KEY CLUSTERED ([idContacto] ASC),
CONSTRAINT [FK_PosiblesContactos_Cuentas] FOREIGN KEY ([idCuentaOrigen])
REFERENCES [dbo].[Cuentas] ([idCuenta]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Noticias] (
[idNoticia] INT IDENTITY (1, 1) NOT NULL,
[descripcion] VARCHAR (50) NULL,
[fechaPublicacion] DATETIME NULL,
[idCuenta] INT NULL,
CONSTRAINT [PK_Noticias] PRIMARY KEY CLUSTERED ([idNoticia] ASC),
CONSTRAINT [FK_Noticias_Cuentas] FOREIGN KEY ([idCuenta]) REFERENCES [dbo].
[Cuentas] ([idCuenta]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Mensajes] (
[idMensaje] INT IDENTITY (1, 1) NOT NULL,
[idCuentaOrigen] INT NULL,
[idCuentaDestino] INT NULL,
[mensaje] VARCHAR (MAX) NULL,
CONSTRAINT [PK_Mensajes] PRIMARY KEY CLUSTERED ([idMensaje] ASC),
CONSTRAINT [FK_Mensajes_Cuentas] FOREIGN KEY ([idCuentaOrigen]) REFERENCES
[dbo].[Cuentas] ([idCuenta]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Intereses] (
[idInteres] INT IDENTITY (1, 1) NOT NULL,
[descripcion] VARCHAR (50) NULL,
[idPerfil] INT NULL,
CONSTRAINT [PK_Intereses] PRIMARY KEY CLUSTERED ([idInteres] ASC),
CONSTRAINT [FK_Interes_Perfil] FOREIGN KEY ([idPerfil]) REFERENCES [dbo].
[Perfiles] ([idPerfil]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Albumes] (
[idAlbum] INT IDENTITY (1, 1) NOT NULL,
[tituloAlbum] VARCHAR (50) NULL,
[idPerfil] INT NULL,
CONSTRAINT [PK_Albumes] PRIMARY KEY CLUSTERED ([idAlbum] ASC),
CONSTRAINT [FK_Albumes_Perfiles] FOREIGN KEY ([idPerfil]) REFERENCES [dbo].
[Perfiles] ([idPerfil]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Fotos] (
[idFoto] INT IDENTITY (1, 1) NOT NULL,
[nombreFoto] VARCHAR (50) NULL,
[descripcionFoto] VARCHAR (50) NULL,
[rutaFoto] VARCHAR (100) NULL,
[idAlbum] INT NULL,
CONSTRAINT [PK_Fotos] PRIMARY KEY CLUSTERED ([idFoto] ASC),
CONSTRAINT [FK_Fotos_Albumes] FOREIGN KEY ([idAlbum]) REFERENCES [dbo].
[Albumes] ([idAlbum]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Contactos] (
[idContacto] INT IDENTITY (1, 1) NOT NULL,
[idCuentaOrigen] INT NULL,
[idCuentaDestino] INT NULL,
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED ([idContacto] ASC),
CONSTRAINT [FK_Contactos_Cuentas] FOREIGN KEY ([idCuentaOrigen]) REFERENCES
[dbo].[Cuentas] ([idCuenta]) ON DELETE CASCADE ON UPDATE CASCADE
);
go
CREATE TABLE [dbo].[Canciones] (
[idCancion] INT IDENTITY (1, 1) NOT NULL,
[tituloCancion] VARCHAR (MAX) NULL,
[generoCancion] VARCHAR (MAX) NULL,
[rutaCancion] VARCHAR (MAX) NULL,
[idCuenta] INT NULL,
CONSTRAINT [PK_Canciones] PRIMARY KEY CLUSTERED ([idCancion] ASC),
CONSTRAINT [FK_Canciones_Cuentas] FOREIGN KEY ([idCuenta]) REFERENCES [dbo].
[Cuentas] ([idCuenta]) ON DELETE CASCADE ON UPDATE CASCADE
);

Anda mungkin juga menyukai