Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Ejercicio MODELO FISICO-SQL SERVER-FERRETERIAS, Ejercicios de Programación de Bases de Datos

Ejercicio MODELO FISICO-SQL SERVER-FERRETERIAS incluye diagrama logico, diagrama fisico (Diagrama de Base de Datos), Codigo en SQL

Tipo: Ejercicios

2022/2023

A la venta desde 07/06/2025

lmaogg53
lmaogg53 🇲🇽

6 documentos

1 / 9

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
INSTITUTO TECNOLÓGICO DE CULIACÁN
INGENIERÍA EN SISTEMAS COMPUTACIONALES
TAREA 2: MODELO FISICO-SQL SERVER-FERRETERIAS
ALUMNO: JOSÉ ÁNGEL GARCÍA PÉREZ
MATERIA: TALLER DE BASES DE DATOS
PROFESOR: DANIEL ESPARZA SOTO
FECHA: 15/02/2024
pf3
pf4
pf5
pf8
pf9

Vista previa parcial del texto

¡Descarga Ejercicio MODELO FISICO-SQL SERVER-FERRETERIAS y más Ejercicios en PDF de Programación de Bases de Datos solo en Docsity!

INSTITUTO TECNOLÓGICO DE CULIACÁN

INGENIERÍA EN SISTEMAS COMPUTACIONALES

TAREA 2: MODELO FISICO-SQL SERVER-FERRETERIAS

ALUMNO: JOSÉ ÁNGEL GARCÍA PÉREZ

MATERIA: TALLER DE BASES DE DATOS

PROFESOR: DANIEL ESPARZA SOTO

FECHA: 15 / 02 /202 4

Diagrama Conceptual

Diagrama Físico: Diagrama de Base de Datos

Código en SQL

--Jose Angel Garcia Perez CREATE DATABASE FERRETERIAOFICIAL GO USE FERRETERIAOFICIAL -- CREANDO LAS ENTIDADES GO CREATE TABLE ZONAS( ZONAID INT NOT NULL, ZONANOMBRE NVARCHAR( 50 ) NOT NULL, ZONADESCRIPCION NVARCHAR( 200 ) NULL) GO CREATE TABLE MUNICIPIOS( MUNID INT NOT NULL, MUNNOMBRE NVARCHAR( 50 ) NOT NULL) GO CREATE TABLE FAMILIAS( FAMID INT NOT NULL, FAMNOMBRE NVARCHAR( 50 ) NOT NULL, FAMDESCRIPCION NVARCHAR( 200 ) NULL) GO CREATE TABLE FERRETERIAS( FERRID INT NOT NULL, FERRNOMBRE NVARCHAR( 20 ) NOT NULL, FERRDOMICILIO NVARCHAR( 50 ) NOT NULL, FERRTELEFONO NCHAR( 10 ) NOT NULL) GO CREATE TABLE COLONIAS( COLID INT NOT NULL, COLNOMBRE NVARCHAR( 50 ) NOT NULL, COLCP NCHAR( 5 ) NULL, MUNID INT NOT NULL) GO CREATE TABLE EMPLEADOS( EMPID INT NOT NULL, EMPNOMBRE NVARCHAR( 50 ) NOT NULL, EMPAPEPAT NVARCHAR( 50 ) NOT NULL, EMPAPEMAT NVARCHAR( 50 ) NULL, EMPDOMICILIO NVARCHAR( 50 ) NOT NULL, EMPTELEFONO NCHAR( 10 ) NULL, EMPCELULAR NCHAR( 10 ) NULL, EMPRFC NCHAR( 13 ) NULL, EMPCURP NCHAR( 18 ) NULL, EMPFECHAINGRESO DATETIME NOT NULL, EMPFECHANACIMIENTO DATETIME NOT NULL, ZONAID INT NOT NULL, JEFEID INT NULL) GO CREATE TABLE ARTICULOS( ARTID INT NOT NULL, ARTNOMBRE NVARCHAR( 20 ) NOT NULL, ARTDESCRIPCION NVARCHAR( 200 ) NOT NULL, ARTPRECIO NUMERIC( 10 , 2 ) NOT NULL, FAMID INT NOT NULL) GO CREATE TABLE CLIENTES( CTEID INT NOT NULL,

GO

ALTER TABLE DETALLE ADD

CONSTRAINT FK_DETALLE_ARTICULO FOREIGN KEY (ARTID) REFERENCES ARTICULOS(ARTID),

CONSTRAINT FK_DETALLE_VENTAS FOREIGN KEY (FOLIO) REFERENCES VENTAS (FOLIO)

GO

-- DEFINIENDO LAS LLAVES UNICAS

ALTER TABLE EMPLEADOS ADD

CONSTRAINT UC_EMPLEADOS_RFC UNIQUE(EMPRFC),

CONSTRAINT UC_EMPLEADOS_CURP UNIQUE(EMPCURP)

GO

ALTER TABLE CLIENTES ADD

CONSTRAINT UC_CLIENTES_RFC UNIQUE(CTERFC),

CONSTRAINT UC_CLIENTES_CURP UNIQUE(CTECURP)

--VALORES POR DEFAULT

GO

ALTER TABLE EMPLEADOS ADD

CONSTRAINT DC_EMPLEADOS_DOMICILIO DEFAULT ('SIN DOMICILIO') FOR EMPDOMICILIO,

CONSTRAINT DC_EMPLEADOS_TELEFONO DEFAULT ('SIN TELEFONO') FOR EMPTELEFONO

GO

ALTER TABLE CLIENTES ADD

CONSTRAINT DC_CLIENTES_DOMICILIO DEFAULT ('SIN DOMICILIO') FOR CTEDOMICILIO,

CONSTRAINT DC_CLIENTES_TELEFONO DEFAULT ('SIN TELEFONO') FOR CTETELEFONO

GO

ALTER TABLE COLONIAS ADD CONSTRAINT DC_COLONIAS_CP DEFAULT('00000')FOR COLCP

-- VALORES POR COMPROBACION

GO

ALTER TABLE CLIENTES ADD

CONSTRAINT CC_CLIENTES_SEXO CHECK (CTESEXO IN ('F', 'M')),

CONSTRAINT CC_CLIENTES_RFC_CURP CHECK (CTERFC<>CTECURP),

CONSTRAINT CC_CLIENTES_RFC_LEN CHECK (LEN(CTERFC)= 13 )

GO

ALTER TABLE EMPLEADOS ADD

CONSTRAINT CC_EMPLEADOS_RFC_CURP CHECK(EMPRFC<>EMPCURP)

GO

ALTER TABLE DETALLE ADD

CONSTRAINT CC_DETALLE_PRECIO CHECK (PRECIO> 0 ),

CONSTRAINT CC_DETALLE_CANTIDAD CHECK (CANT> 0 )

GO

ALTER TABLE ARTICULOS ADD

CONSTRAINT CC_ARTICULOS_PRECIO CHECK (ARTPRECIO> 0 )

GO

ALTER TABLE VENTAS ADD

CONSTRAINT CC_VENTAS_FECHA CHECK(FECHA>'1- 1 - 2018')

-- INSERCIONES DE CADA TABLA

GO

INSERT ZONAS VALUES( 1 ,'Norte','Zona Norte') INSERT ZONAS VALUES( 2 ,'Sur','Zona Sur') INSERT ZONAS VALUES( 3 ,'Oeste','Zona Oeste') INSERT ZONAS VALUES( 4 ,'Este','Zona Este') INSERT ZONAS VALUES( 5 ,'Surueste','Zona Surueste') GO INSERT MUNICIPIOS VALUES( 1 ,'Culiacan')

INSERT MUNICIPIOS VALUES( 2 ,'Angostura') INSERT MUNICIPIOS VALUES( 3 ,'Mocorito') INSERT MUNICIPIOS VALUES( 4 ,'Ahome') INSERT MUNICIPIOS VALUES( 5 ,'Elota') GO INSERT COLONIAS VALUES( 1 ,'Miguel Hidalgo','80090', 1 ) INSERT COLONIAS VALUES( 2 ,'Guadalupe Victoria','80150', 2 ) INSERT COLONIAS VALUES( 3 ,'Las Quintas','80230', 3 ) INSERT COLONIAS VALUES( 4 ,'Alturas del sur','80250', 4 ) INSERT COLONIAS VALUES( 5 ,'Loma de Rodriguera','80100', 5 ) GO INSERT FAMILIAS VALUES( 1 ,'Herramientas de medicion','Herramientas utilizadas para la medicion') INSERT FAMILIAS VALUES( 2 ,'Herramientas de corte','Herramientas para cortar') INSERT FAMILIAS VALUES( 3 ,'Herramientas de perforacion','Herramientas para la perforacion de superficies') INSERT FAMILIAS VALUES( 4 ,'Herramientas de union','Herramientas para la union') INSERT FAMILIAS VALUES( 5 ,'Herramientas de acabado','Herramientas de acabado, pintura, etc.') GO INSERT FERRETERIAS VALUES( 1 ,'Ferreteria Micky','Col. Mari, Calle Garib #7893','6673654789') INSERT FERRETERIAS VALUES( 2 ,'Ferreteria Donarumma','Col. Paris Saint Germain, Calle Lomas #1010','6671824122') INSERT FERRETERIAS VALUES( 3 ,'Ferreteria Vinicius','Col. Primavera, Calle Manuel #1254','6671847898') INSERT FERRETERIAS VALUES( 4 ,'Ferreteria Kaká','Col. Chapultepec, Calle Hidalgo #1241','6670956453') INSERT FERRETERIAS VALUES( 5 ,'Ferreteria DonCR7','Col. Real, Buenavista #2854','6678987641') GO INSERT INTO EMPLEADOS VALUES ( 1 , 'Luis', 'González', 'Pérez', 'Calle de la Rosa 123','8112345678', '6681234567', 'LGPP031217ABC', 'LGPP031217ABCCDBA1', ('2024- 02 - 15 09:00:00'), ('1980- 05 - 20'), 1 , NULL); INSERT INTO EMPLEADOS VALUES ( 2 , 'Ana', 'Sánchez', 'García', 'Av. Hidalgo 789', '8248765432', '6671654321', 'ASGG031217XYZ', 'ASGG031217XYZCDBA2', ('2024- 02 - 15 10:30:00'), ('1985- 10 - 10'), 2 , 1 ); INSERT INTO EMPLEADOS VALUES ( 3 , 'Carlos', 'Fernández', 'Martínez', 'Calle del Bosque 456', '8657123456', '6674321098', 'CFMM031217DEF', 'CFMM031217DEFCDBA3', ('2024- 02 - 15 14:45:00'), ('1990- 03 - 25'), 3 , 1 ); INSERT INTO EMPLEADOS VALUES ( 4 , 'Laura', 'Gómez', 'Hernández', 'Paseo de la Victoria 987', '8244432109', '6677788990', 'LGH031217GHI', 'LGH031217GHICDBA4', ('2024- 02 - 15 08:15:00'), ('1982- 09 - 15'), 4 , NULL); INSERT INTO EMPLEADOS VALUES ( 5 , 'Javier', 'Díaz', 'López', 'Av. Independencia 456', '8476789012', '6672012345', 'JDL031217JKL', 'JDL031217JKLCDBA5', ('2024- 02 - 15 11:20:00'), ('1988- 12 - 05'), 5 , NULL); GO INSERT INTO CLIENTES VALUES ( 1 , 'Verónica', 'Santos', 'Gómez', 'Av. Insurgentes #7890', '6675123456',