0% encontró este documento útil (0 votos)
27 vistas11 páginas

Practica0 01

Este código SQL crea una base de datos llamada 'GESTION' y dos tablas: 'PROPIETARIOS' y 'LOCALES'. Las tablas contienen campos como DNI, NOMBRE, DIRECCIÓN y CÓDIGO con restricciones como claves primarias y foráneas. Luego se agregan datos y se realizan consultas y actualizaciones para manipular la información.

Cargado por

Rodrigo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas11 páginas

Practica0 01

Este código SQL crea una base de datos llamada 'GESTION' y dos tablas: 'PROPIETARIOS' y 'LOCALES'. Las tablas contienen campos como DNI, NOMBRE, DIRECCIÓN y CÓDIGO con restricciones como claves primarias y foráneas. Luego se agregan datos y se realizan consultas y actualizaciones para manipular la información.

Cargado por

Rodrigo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

TECNOLOGICO DE ESTUDIOS

SUPERIORES DE ECATEPEC

HERNANDEZ TORRES RODRIGO

5651

ADMINISTRACION DE BASE DE DATOS

PROFESOR: ABRAHAM JORGE JIMÉNEZ

PRACTICA 0.0 ADMINISTRADOR CORPORATIVO


RESUMEN
Este código es un script de SQL que crea una base de datos llamada GESTION y
dos tablas dentro de esa base de datos: PROPIETARIOS y LOCALES.

CREATE DATABASE GESTION: Aquí creamos una base de datos llamada


"GESTION".

GO: El comando "GO" se utiliza para separar bloques de comandos en SQL


Server. En este caso, separa la creación de la base de datos de las instrucciones
siguientes.

USE GESTION: El usar la base de datos quiere decir que cada elemento que
hagamos después de esta instrucción afectara a la base de datos, asi como es la
creación de tablas y la edición y organización de las mismas.

GO: Otra vez, se utiliza para separar bloques de comandos.

CREATE TABLE PROPIETARIOS: Esto crea una tabla llamada "PROPIETARIOS"


en la base de datos "GESTION".

(DNI CHAR(10) NOT NULL CONSTRAINT pk_prop PRIMARY KEY, NOMBRE


CHAR(25) NOT NULL, DIRECCION CHAR(30)): Define las columnas de la tabla
"PROPIETARIOS". La primera columna es "DNI" de tipo CHAR(10) que no puede
ser nula (NOT NULL) y es la clave primaria de la tabla (PRIMARY KEY), se podría
decir como el DNI del propietario. Luego sigue la columna "NOMBRE" de tipo
CHAR(25) que tampoco puede ser nula, y finalmente la columna "DIRECCION" de
tipo CHAR(30) que tampoco puede ser nula,(Todas las columnas son elementos
descriptivos de un propietario de locales, por ello la tabla siguiente).

CREATE TABLE LOCALES: Esto crea una tabla llamada "LOCALES" en la base
de datos "GESTION".

(CODIGO CHAR(5) NOT NULL CONSTRAINT pk_loc PRIMARY KEY, DNI


CHAR(10) NOT NULL, UBICACIÓN CHAR(4) NOT NULL, SUPERFICIE DEC (8,2)
NOT NULL, CONSTRAINT fk_loc FOREIGN KEY (DNI) REFERENCES
PROPIETARIOS (DNI)): Define las columnas de la tabla "LOCALES". La primera
columna es "CODIGO" de tipo CHAR(5) que no puede ser nula y es la clave
primaria de la tabla, luego sigue la columna "DNI" de tipo CHAR(10) que no puede
ser nula, luego la columna "UBICACIÓN" de tipo CHAR(4) que tampoco puede ser
nula, luego la columna "SUPERFICIE" de tipo DECIMAL(8,2) que tampoco puede
ser nula. Además, se establece una restricción de clave externa (FOREIGN KEY)
llamada "fk_loc" en la columna "DNI", que hace referencia a la columna "DNI" en la
tabla "PROPIETARIOS", asegurando así la integridad referencial entre las dos
tablas.

Además, hay una restricción que asegura que el "CODIGO" es único en la tabla,
es decir, no puede haber dos locales con el mismo código. Esto se hace con
"CONSTRAINT pk_loc PRIMARY KEY".

También hay una restricción que asegura que el "DNI" en esta tabla hace
referencia al "DNI" en la tabla "PROPIETARIOS". Esto garantiza que cada local
esté asociado a un propietario válido. Esto se logra con "CONSTRAINT fk_loc
FOREIGN KEY (DNI) REFERENCES PROPIETARIOS (DNI)".

Como podemos ver, esta base de datos se refiere a diferentes locales o


inmuebles, estos contienen un propietario, donde existe complejidad es al
momento de contener que los locales solo tienen un código y además que su dni
esta relacionado con los dni de los propietarios, es aquí donde comienza el
desarrollo de la practica y donde podemos visualizar que ocurre al ingresar datos
duplicados o también si agregamos locales con el mismo código.
DESARROLLO

Como podemos ver al ejecutar el código antes mostrado ya podemos ver de lado
izquierdo la base de datos ya creada.

Código simple donde manipulamos los datos dentro de la tabla:

INSERT INTO PROPIETARIOS (DNI, NOMBRE, DIRECCION)

VALUES ('12345678RR', 'Rodrigo Hernanandez', 'Calle Siempre Viva 3),

('28765432WQ', 'Mercedes Torres, 'Avenida Pluton'),

('56789034MM', 'Jesus Garcia, 'Calle Arboleda 6');

INSERT INTO LOCALES (CODIGO, DNI, UBICACIÓN, SUPERFICIE)

VALUES ('L-001', '12345678RR', 'Zon1', 100.50),

('L-002', '28765432WQ', 'Zon2', 75.25),

('L-003', '56789034MM', 'Zon3', 50.75);

UPDATE PROPIETARIOS

SET NOMBRE = 'Pedro Marquez'


WHERE DNI = '12345678RR';

-- Modificar un registro en la tabla LOCALES

UPDATE LOCALES

SET UBICACIÓN = 'Zon4'

WHERE CODIGO = 'L-001';

-- Eliminar un registro de la tabla PROPIETARIOS

DELETE FROM PROPIETARIOS

WHERE DNI = '28765432WQ';

-- Eliminar un registro de la tabla LOCALES

DELETE FROM LOCALES

WHERE CODIGO = 'L-002';

Luego tenemos esta instrucción en la cual vemos que la primera parte la cual va
desde “select” hasta “200” es una consulta, la cual selecciona el código y
ubicación de los locales junto con el nombre y dirección de sus propietarios, pero
solo para los locales con una superficie menor a 200.
Después este mismo código nos dice que cambiara en la tabla PROPIETARIOS el
campo DIRECCION, solo si el DNI de este es el especificado por la condición.

Código ya ejecutado hasta el momento:

Como podemos ver, la base de datos ya esta creada como podemos ver a lado
derecho.
Dentro de esta practica podemos violar o crear líneas de código las cuales no
lleven concordancia con la base de datos creada, como puede ser no llenar un
campo o duplicar un dni, esto entre comillas nos saltaría un error debido al uso de
nuestras llaves primarias, aquí lo siguiente:

Como vemos en el recuadro azul tenemos el código que infringe en teoría reglas
que nosotros imponemos en la base de datos, mientras que en el recuadro
morado tenemos los mensajes de error que van referente a este código. Estos
comandos están diseñados para intentar violar diferentes restricciones en tu base
de datos, como la duplicación de claves primarias (DNI), la violación de integridad
referencial al asignar un DNI que no existe en la tabla de propietarios, y la omisión
de un campo requerido (Nombre) que tiene la restricción NOT NULL. Ejecutar
estos comandos te permitirá ver cómo tu base de datos maneja estas situaciones.

MENSAJES DE ERROR:
Vista de los elementos de la base de datos, las
tablas y que contiene cada una de las tablas de
esta misma.

Código completo:
CREATE DATABASE GESTION;
GO
USE GESTION;
GO
CREATE TABLE PROPIETARIOS (
DNI CHAR(10) NOT NULL CONSTRAINT pk_prop PRIMARY KEY,
NOMBRE CHAR(25) NOT NULL,
DIRECCION CHAR(30)
);

CREATE TABLE LOCALES (


CODIGO CHAR(5) NOT NULL CONSTRAINT pk_loc PRIMARY KEY,
DNI CHAR(10) NOT NULL,
UBICACIÓN CHAR(4) NOT NULL,
SUPERFICIE DEC(8,2) NOT NULL,
CONSTRAINT fk_loc FOREIGN KEY (DNI) REFERENCES PROPIETARIOS (DNI)
);
GO
INSERT INTO PROPIETARIOS (DNI, NOMBRE, DIRECCION)
VALUES ('12345678RR', 'Rodrigo Hernanandez', 'Calle Siempre Viva 3'),
('28765432WQ', 'Mercedes Torres', 'Avenida Pluton'),
('56789034MM', 'Jesus Garcia', 'Calle Arboleda 6');

INSERT INTO LOCALES (CODIGO, DNI, UBICACIÓN, SUPERFICIE)


VALUES ('L-001', '12345678RR', 'Zon1', 100.50),
('L-002', '28765432WQ', 'Zon2', 75.25),
('L-003', '56789034MM', 'Zon3', 50.75);

UPDATE PROPIETARIOS
SET NOMBRE = 'Pedro Marquez'
WHERE DNI = '12345678RR';

UPDATE LOCALES
SET UBICACIÓN = 'Zon4'
WHERE CODIGO = 'L-001';
SELECT CODIGO, UBICACIÓN, NOMBRE, DIRECCION FROM LOCALES, PROPIETARIOS
WHERE LOCALES.DNI = PROPIETARIOS.DNI AND SUPERFICIE < 200
GO
PROPIETARIOS SET DIRECCION = 'Alta 87'
UPDATE
WHERE DNI = '13234567R'
Go
-- Intento de insertar otro propietario con el mismo DNI
INSERT INTO PROPIETARIOS (DNI, NOMBRE, DIRECCION)
VALUES ('12345678RR', 'Otro Nombre', 'Otra Dirección');
-- Intento de asignar un local a un DNI que no se encuentra en la tabla propietarios
INSERT INTO LOCALES (CODIGO, DNI, UBICACIÓN, SUPERFICIE)
VALUES ('L-004', '1111111111', 'Zon4', 150.00);
-- Intento de insertar un propietario sin proporcionar un valor para el campo NOT NULL (Nombre)
INSERT INTO PROPIETARIOS (DNI, DIRECCION)
VALUES ('9999999999', 'Dirección Sin Nombre');
DIAGRAMA DE BASE DE DATOS

Visualización de las tablas:


CONCLUSION:
En esta práctica, hemos abordado varios aspectos fundamentales de la
administración de bases de datos con SQL. Comenzamos creando una
base de datos llamada "GESTION" y diseñamos dos tablas:
"PROPIETARIOS" y "LOCALES". En estas tablas, definimos campos como
DNI, NOMBRE, DIRECCION,
CODIGO, UBICACION y
SUPERFICIE, cada uno con sus
respectivos tipos de datos y
restricciones, como claves
primarias y claves foráneas para
garantizar la integridad referencial.

Luego, insertamos datos ficticios en ambas tablas para simular registros de


propietarios y locales comerciales. Utilizamos declaraciones INSERT para
agregar información a las tablas. Además, realizamos actualizaciones en los
datos existentes utilizando declaraciones UPDATE para modificar los
nombres de los propietarios y las ubicaciones de los locales.

Además, exploramos el concepto de consultas SQL con la declaración


SELECT para recuperar datos de las tablas. Utilizamos condiciones como
SUPERFICIE < 200 para filtrar los resultados y mostrar solo los registros
que cumplen con ciertos criterios.

Finalmente, demostramos cómo las restricciones de clave primaria evitan la


inserción de datos duplicados y cómo SQL devuelve errores cuando
intentamos violar estas restricciones. Esta práctica proporcionó una
comprensión básica pero sólida de cómo diseñar, poblar y manipular una
base de datos relacional utilizando SQL.
Estos comandos están diseñados para intentar violar diferentes
restricciones en tu base de datos, como la duplicación de claves primarias
(DNI), la violación de integridad referencial al asignar un DNI que no existe
en la tabla de propietarios, y la omisión de un campo requerido (Nombre)
que tiene la restricción NOT NULL. Ejecutar estos comandos te permitirá ver
cómo tu base de datos maneja estas situaciones.

También podría gustarte