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

Modelo Físico de Base de Datos para Ferretería en SQL Server, Ejercicios de Programación de Bases de Datos

Un modelo físico de una base de datos para una ferretería, desarrollado en sql server. Incluye diagramas conceptuales y lógicos, así como el código sql para la creación de la base de datos, tablas, claves primarias y foráneas, y restricciones. Se definen las entidades, atributos y relaciones necesarias para gestionar la información de zonas, municipios, familias, ferreterías, colonias, empleados, artículos, clientes y ventas. El documento también incluye inserciones de datos de ejemplo para cada tabla, facilitando la comprensión y la implementación del modelo.

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 Modelo Físico de Base de Datos para Ferretería en SQL Server 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',