Está en la página 1de 12

CREATE DATABASE MICROSOFT

GO
USE MICROSOFT
GO
CREATE TABLE [dbo].[CEO](
[idCeo] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](15) NOT NULL,
[a_paterno] [VARCHAR](20) NOT NULL,
[a_materno] [VARCHAR](20) NOT NULL,
[sexo] [VARCHAR](1) NOT NULL,
[nss] [SMALLINT] NOT NULL,
[edo_civil] [VARCHAR](20) NOT NULL,
[tipo_sangre] [VARCHAR](11) NOT NULL,
[fecha_nacimiento] [DATE] NOT NULL,
[fecha_inicio] [DATE] NOT NULL,
[fecha_fin] [DATE] NOT NULL,
[calle] [VARCHAR](20) NOT NULL,
[colonia] [VARCHAR](20) NOT NULL,
[ciudad] [VARCHAR](20) NOT NULL,
[estado] [VARCHAR](20) NOT NULL,
[codigo_postal] [SMALLINT] NOT NULL,
[e_mail] [VARCHAR](30) NOT NULL,
[lada] [SMALLINT] NOT NULL,
[num_tel] [SMALLINT] NOT NULL,
[num_movil] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[SUCURSAL]
(
[id_sucursal] [SMALLINT] NOT NULL PRIMARY KEY,
[numero_sucursal] [SMALLINT] NOT NULL,
[calle] [VARCHAR](20) NOT NULL,
[colonia] [VARCHAR](20) NOT NULL,
[ciudad] [VARCHAR](20) NOT NULL,
[estado] [VARCHAR](20) NOT NULL,
[codigo_postal] [SMALLINT] NOT NULL,
[mail] [VARCHAR](30) NOT NULL,
[lada] [SMALLINT] NOT NULL,
[num_tel] [SMALLINT] NOT NULL,
[id_ceo] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[PERSONAL]
(
[id_personal] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](15) NOT NULL,
[a_paterno] [VARCHAR](20) NOT NULL,
[a_materno] [VARCHAR](20) NOT NULL,
[sexo] [VARCHAR](1) NOT NULL,
[nss] [SMALLINT] NOT NULL,
[edo_civil] [VARCHAR](20) NOT NULL,
[tipo_sangre] [VARCHAR](11) NOT NULL,
[fecha_nacimiento] [DATE] NOT NULL,
[fecha_inicio] [DATE] NOT NULL,
[fecha_fin] [DATE] NOT NULL,
[calle] [VARCHAR](20) NOT NULL,
[colonia] [VARCHAR](20) NOT NULL,
[ciudad] [VARCHAR](20) NOT NULL,
[estado] [VARCHAR](20) NOT NULL,
[codigo_postal] [SMALLINT] NOT NULL,
[mail] [VARCHAR](30) NOT NULL,
[lada] [SMALLINT] NOT NULL,
[num_tel] [SMALLINT] NOT NULL,
[num_movil] [SMALLINT] NOT NULL,
[id_sucu] [SMALLINT] NOT NULL,
[id_ceo] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[AREA]
(
[id_area] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](15) NOT NULL,
[ubicacion] [VARCHAR](30) NOT NULL,
[caracteristicas] [VARCHAR](30) NOT NULL,
[tel_extencion] [SMALLINT] NOT NULL,
[id_pers] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[USUARIO]
(
[id_usuario] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](15) NOT NULL,
[password] [VARCHAR](15) NOT NULL,
[id_perso] [SMALLINT] NOT NULL,
[id_sucur] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[CLIENTE]
(
[id_cliente] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](15) NOT NULL,
[a_paterno] [VARCHAR](20) NOT NULL,
[a_materno] [VARCHAR](20) NOT NULL,
[sexo] [VARCHAR](1) NOT NULL,
[nss] [SMALLINT] NOT NULL,
[edo_civil] [VARCHAR](20) NOT NULL,
[tipo_sangre] [VARCHAR](5) NOT NULL,
[fecha_nacimiento] [DATE] NOT NULL,
[calle] [VARCHAR](20) NOT NULL,
[colonia] [VARCHAR](20) NOT NULL,
[ciudad] [VARCHAR](20) NOT NULL,
[estado] [VARCHAR](20) NOT NULL,
[codigo_postal] [SMALLINT] NOT NULL,
[e_mail] [VARCHAR](30) NOT NULL,
[lada] [SMALLINT] NOT NULL,
[num_tel] [SMALLINT] NOT NULL,
[num_movil] [SMALLINT] NOT NULL,
[id_usu] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[PRODUCTO]
(
[id_producto] [SMALLINT] NOT NULL PRIMARY KEY,
[tipo] [VARCHAR](30) NOT NULL,
[nombre] [VARCHAR](20) NOT NULL,
[stock_min] [SMALLINT] NOT NULL,
[stock_max] [SMALLINT] NOT NULL,
[existencia] [SMALLINT] NOT NULL,
[categoria] [VARCHAR](20) NOT NULL,
[clave] [SMALLINT] NOT NULL,
[caracteristicas] [VARCHAR](30) NOT NULL,
[id_cli] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo]. [VERSION]
(
[id_version] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](20) NOT NULL,
[costo] [SMALLINT] NOT NULL,
[fecha_venta_mer] [DATE] NOT NULL,
[id_prod] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[LICENCIA]
(
[id_licencia] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](20) NOT NULL,
[costo] [SMALLINT] NOT NULL,
[num_equipos] [SMALLINT] NOT NULL,
[id_ver] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[CERTIFICACION]
(
[id_certificacion] [SMALLINT] NOT NULL PRIMARY KEY,
[nombre] [VARCHAR](20) NOT NULL,
[fecha_validez_cert] [DATE] NOT NULL,
[fecha_insc_curso] [DATE] NOT NULL,
[fecha_fin_curso] [DATE] NOT NULL,
[costo] [SMALLINT] NOT NULL,
[area] [VARCHAR](30) NOT NULL,
[id_produc] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[VENTA]
(
[id_venta] [SMALLINT] NOT NULL PRIMARY KEY,
[numero_venta] [SMALLINT] NOT NULL,
[descripcion] [VARCHAR](30) NOT NULL,
[cantidad] [SMALLINT] NOT NULL,
[precio] [SMALLINT] NOT NULL,
[importe] [SMALLINT] NOT NULL,
[subtotal] [SMALLINT] NOT NULL,
[iva] [SMALLINT] NOT NULL,
[total] [SMALLINT] NOT NULL,
[id_prod] [SMALLINT] NOT NULL,
[id_us] [SMALLINT] NOT NULL,
[id_clie] [SMALLINT] NOT NULL,
[id_ticker] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[TICKER]
(
[id_ticker] [SMALLINT] NOT NULL PRIMARY KEY,
[num_ticker] [SMALLINT] NOT NULL,
[fecha_ticker] [DATE]NOT NULL,
[vendedor] [VARCHAR](40) NOT NULL,
[num_caja] [SMALLINT] NOT NULL,
[id_ven] [SMALLINT] NOT NULL
)
GO
CREATE TABLE [dbo].[FACTURA]
(
[id_factura] [SMALLINT] NOT NULL PRIMARY KEY,
[razon_social] [VARCHAR](40) NOT NULL,
[calle] [VARCHAR](20) NOT NULL,
[colonia][VARCHAR](20) NOT NULL,
[ciudad] [VARCHAR](20) NOT NULL,
[estado] [VARCHAR](20) NOT NULL,
[codigo_postal] [SMALLINT] NOT NULL,
[mail] [VARCHAR](30) NOT NULL,
[id_tick] [SMALLINT] NOT NULL
)
GO
--Agregando FOREIGN KEY
ALTER TABLE SUCURSAL
ADD CONSTRAINT [pk_id_ceo] FOREIGN KEY (id_ceo) REFERENCES CEO (idceo)
GO
ALTER TABLE PERSONAL
ADD CONSTRAINT [pk_id_sucursal] FOREIGN KEY (id_sucu) REFERENCES SUCURSAL (id_su
cursal)
GO
ALTER TABLE AREA
ADD CONSTRAINT [pk_id_personal] FOREIGN KEY (id_pers) REFERENCES PERSONAL (id_pe
rsonal)
GO
ALTER TABLE USUARIO
ADD CONSTRAINT [pk_id_SUC_USU] FOREIGN KEY (id_sucur) REFERENCES SUCURSAL (id_su
cursal)
go
ALTER TABLE CLIENTE
ADD CONSTRAINT [pk_id_cli_us] FOREIGN KEY (id_usu) REFERENCES USUARIO (id_usuari
o)
go
ALTER TABLE PRODUCTO
ADD CONSTRAINT pk_id_pro_cli FOREIGN KEY (id_cli) REFERENCES CLIENTE (id_cliente
)
go
ALTER TABLE VERSION
ADD CONSTRAINT [pk_id_ver_pro] FOREIGN KEY (id_prod) REFERENCES PRODUCTO (id_pro
ducto)
go
ALTER TABLE LICENCIA
ADD CONSTRAINT [pk_id_lic_ver] FOREIGN KEY (id_ver) REFERENCES VERSION (id_versi
on)
go
ALTER TABLE CERTIFICACION
ADD CONSTRAINT [pk_id_CERT_PRO] FOREIGN KEY (id_produc) REFERENCES PRODUCTO (id_
producto)
go
ALTER TABLE VENTA
ADD CONSTRAINT [pk_id_vent_cli] FOREIGN KEY (id_clie) REFERENCES CLIENTE (id_cli
ente)
go
ALTER TABLE VENTA
ADD CONSTRAINT [pk_id_vent_usu] FOREIGN KEY (id_us) REFERENCES USUARIO (id_usuar
io)
go
ALTER TABLE VENTA
ADD CONSTRAINT [pk_id_vent_pro] FOREIGN KEY (id_prod) REFERENCES PRODUCTO (id_pr
oducto)
go
ALTER TABLE TICKER
ADD CONSTRAINT [pk_id_tic_ven] FOREIGN KEY (id_ven) REFERENCES VENTA (id_venta)
go
ALTER TABLE FACTURA
ADD CONSTRAINT [pk_id_fac_tic] FOREIGN KEY (id_tick) REFERENCES TICKER (id_ticke
r)
go
--Agregando los INDEX
--Tabla CEO
CREATE INDEX [idx_nombreceo_ceo]
ON CEO (nombre)
GO
CREATE INDEX [idx_APaterno_ceo]
ON CEO (a_paterno)
GO
CREATE INDEX [idx_AMaterno_ceo]
ON CEO (a_materno)
GO
CREATE INDEX [idx_FechaNacimiento_ceo]
ON CEO (fecha_nacimiento)
GO
CREATE INDEX [idx_FechaInicio_ceo]
ON CEO (fecha_inicio)
GO
CREATE INDEX [idx_FechaSalida_ceo]
ON CEO (fecha_fin)
GO
CREATE INDEX [idx_ciudad_ceo]
ON CEO (ciudad)
GO
CREATE INDEX [idx_estado_ceo]
ON CEO (estado)
GO
CREATE INDEX [idx_lada_ceo]
ON CEO (lada)
GO
--Tabla SUCURSAL
CREATE INDEX [idx_numero_sucursal]
ON SUCURSAL (numero_sucursal)
GO
CREATE INDEX [idx_ciudad_sucursal]
ON SUCURSAL (ciudad)
GO
CREATE INDEX [idx_estado_sucursal]
ON SUCURSAL (estado)
GO
CREATE INDEX [idx_lada_sucursal]
ON SUCURSAL (lada)
GO
--Tabla PERSONAL
CREATE INDEX [idx_nombre_personal]
ON PERSONAL (nombre)
GO
CREATE INDEX [idx_APaterno_personal]
ON PERSONAL (a_paterno)
GO
CREATE INDEX [idx_AMaterno_personal]
ON PERSONAL (a_materno)
GO
CREATE INDEX [idx_FechaNacimiento_personal]
ON PERSONAL (fecha_nacimiento)
GO
CREATE INDEX [idx_sexo_personal]
ON PERSONAL (sexo)
GO
CREATE INDEX [idx_FechaInicio_personal]
ON PERSONAL (fecha_inicio)
GO
CREATE INDEX [idx_FechaSalida_personal]
ON PERSONAL (fecha_fin)
GO
CREATE INDEX [idx_ciudad_personal]
ON PERSONAL (ciudad)
GO
CREATE INDEX [idx_estado_personal]
ON PERSONAL (estado)
GO
CREATE INDEX [idx_lada_personal]
ON PERSONAL (lada)
GO
--Tabla AREA
CREATE INDEX [idx_nombre_area]
ON AREA (nombre)
GO
CREATE INDEX [idx_ubicacion_area]
ON AREA (ubicacion)
GO
CREATE INDEX [idx_caracteristicas_area]
ON AREA (caracteristicas)
GO
--Tabla USUARIO
CREATE INDEX [idx_nombre_usuario]
ON USUARIO (nombre)
GO
CREATE INDEX [idx_password_usuario]
ON USUARIO (password)
GO
--Tabla CLIENTE
CREATE INDEX [idx_nombre_cliente]
ON CLIENTE (nombre)
GO
CREATE INDEX [idx_APaterno_cliente]
ON CLIENTE (a_paterno)
GO
CREATE INDEX [idx_AMaterno_cliente]
ON CLIENTE (a_materno)
GO
CREATE INDEX [idx_sexo_cliente]
ON CLIENTE (sexo)
GO
CREATE INDEX [idx_nss_cliente]
ON CLIENTE (nss)
GO
CREATE INDEX [idx_EdoCivil_cliente]
ON CLIENTE (edo_civil)
GO
CREATE INDEX [idx_Tipo_sangre_cliente]
ON CLIENTE (tipo_sangre)
GO
CREATE INDEX [idx_fecha_nacimiento_cliente]
ON CLIENTE (fecha_nacimiento)
GO
CREATE INDEX [idx_ciudad_cliente]
ON CLIENTE (ciudad)
GO
CREATE INDEX [idx_estado_cliente]
ON CLIENTE (estado)
GO
CREATE INDEX [idx_lada_cliente]
ON CLIENTE (lada)
GO
--Tabla PRODUCTO
CREATE INDEX [idx_tipo_producto]
ON PRODUCTO (tipo)
GO
CREATE INDEX [idx_nombre_producto]
ON PRODUCTO (nombre)
GO
CREATE INDEX [idx_categoria_producto]
ON PRODUCTO (categoria)
GO
CREATE INDEX [idx_clave_producto]
ON PRODUCTO (clave)
GO
CREATE INDEX [idx_caracteristicas_producto]
ON PRODUCTO (caracteristicas)
GO
--Tabla VERSION
CREATE INDEX [idx_nombre_version]
ON VERSION (nombre)
GO
CREATE INDEX [idx_costo_version]
ON VERSION (costo)
GO
CREATE INDEX [idx_fecha_venta_mer_version]
ON VERSION (fecha_venta_mer)
GO
--Tabla LICENCIA
CREATE INDEX [idx_nombre_licencia]
ON LICENCIA (nombre)
GO
CREATE INDEX [idx_costo_licencia]
ON LICENCIA (costo)
GO
CREATE INDEX [idx_num_equipos_licencia]
ON LICENCIA (num_equipos)
GO
--Tabla CERTIICACION
CREATE INDEX [idx_nombre_certificacion]
ON CERTIFICACION (nombre)
GO
CREATE INDEX [idx_fecha_valido_certificacion]
ON CERTIFICACION (fecha_validez_cert)
GO
CREATE INDEX [idx_fecha_inicio_inscripcion_certificacion]
ON CERTIFICACION (fecha_insc_curso)
GO
CREATE INDEX [idx_fecha_fin_inscripcion_certificacion]
ON CERTIFICACION (fecha_fin_curso)
GO
CREATE INDEX [idx_costo_certificacion]
ON CERTIFICACION (costo)
GO
CREATE INDEX [idx_area_certificacion]
ON CERTIFICACION (area)
GO
--Tabla VENTA
CREATE INDEX [idx_numero_venta]
ON VENTA (numero_venta)
GO
CREATE INDEX [idx_descripcion_venta]
ON VENTA (descripcion)
GO
--Tabla TICKER
CREATE INDEX [idx_numero_ticker]
ON TICKER (num_ticker)
GO
CREATE INDEX [idx_fecha_ticker]
ON TICKER (fecha_ticker)
GO
CREATE INDEX [idx_vendedor_ticker]
ON TICKER (vendedor)
GO
CREATE INDEX [idx_num_caja_ticker]
ON TICKER (num_caja)
GO
--Tabla FACTURA
CREATE INDEX [idx_razon_social_factura]
ON FACTURA (razon_social)
GO
CREATE INDEX [idx_ciudad_factura]
ON FACTURA (ciudad)
GO
CREATE INDEX [idx_estado_factura]
ON FACTURA (estado)
GO

También podría gustarte