Logo Studenta

DABD-U2-EA-ALMM

¡Este material tiene más páginas!

Vista previa del material en texto

Universidad Abierta y a Distancia
de México
División de Ciencias Exactas, Ingeniería y Tecnología
Desarrollo de software
Semestre: 4
Asignatura: Administración de bases de datos
Unidad de aprendizaje: 2
Actividad: 
Ciudad de México, Noviembre del 2022
Diseño: DL-CPL
 
ÍNDICE
INTRODUCCIÓN	3
INSTRUCCIONES	3
DESARROLLO DE LA ACTIVIDAD	4
CONCLUSIONES	8
REFERENCIAS BIBLIOGRÁFICAS	8
INTRODUCCIÓN 
El objetivo del siguiente trabajo es el practicar las sentencias SQL necesarias para implementar (DDL) bases de datos, manipular los datos (DML) para generar información y garantizar la seguridad de la información (DCL),con base a los requerimientos del contexto de una organización. Y se lograra por medio del aprendizaje basado en resolución de problemas, donde se explicará la forma de implementar y gestionar los datos de una base de datos conforme a los requerimientos de información a través del proceso de diseño, implementación y gestión de la misma con base a un caso de estudio propuesto por mi.
INSTRUCCIONES
1. Esboza de forma breve el contexto de una base de datos inédita, no usada en semestres anteriores, la cual debe cumplir con los siguientes criterios.
a. El proyecto tendrá un mínimo de 4 tablas (no cuentan tablas de catálogo como teléfono, Estado, municipio, puestos, usuarios, categorías, etc.)
b. No deberá corresponder a algún modelo de base de datos ya entregado en materias de semestres anteriores, aunque se esté recursando la asignatura.
c. No deberá formar parte de un proyecto actual o pasado de la empresa donde labora.
d. Debe estar apegado a la realidad.
e. La Base de Datos debe estar plenamente normalizada.
2. Construye el modelo relacional ya normalizado con las sentencias DDL, (no se admiten respaldos o volcados SQL, debe construirse desde cero )
3. Muestra las sentencias para realizar las siguientes acciones:
a. Crea la base de datos, sus tablas, llaves primarias y llaves foráneas.
b. Cambia la llave primaria de una tabla por otro campo
c. Actualiza las relaciones de acuerdo con el cambio del punto anterior.
d. Modifica el nombre de una tabla.
e. Crea un usuario llamado “usuario1” que tenga permisos para acceder a una sola tabla de la base de datos.
f. Crea un usuario llamado “usuario2” para acceder de forma remota a la base de datos, solo con permisos select.
g. Crea una conexión la base de datos con el usuario “usuario2” desde un teléfono inteligente o tablet con alguna de las aplicaciones indicadas en la lista de aplicaciones incluida en el material de apoyo.
4. Redacta una conclusión donde explique lo más destacado que hayas aprendido en esta unidad.
5. Carga tu archivo en la sección que le corresponde.
DESARROLLO DE LA ACTIVIDAD
DESCRIPCION:
Un taller mecánico quiere llevar un registro y control de la información de sus clientes y vehículos para poder conocer mas de ellos y ofrecer descuento cuando cuenten con un código de registro. Para este caso es importante que cada cliente se le asigne un Asesor que solamente pueden ser Jefes, y se cree un expediente de registro de ingreso de los vehículos de los clientes con información acerca de a quien le pertenece, cuantas veces a ingresado, el modelo de vehículo, plaza y el responsable que manipulo el vehículo por ultima vez, para hacer eso también se debe de conocer los empleados, su puesto que desempeñan dentro de la empresa.
Tabla Clientes
	Cliente
	Nombre
	Apellido
	Dirección
	teléfono
	CodigoRegistro
	Asesor
	1
	Juan
	Lopez
	Av. Rio 4
	5551234560
	Abc1
	1
	2
	Chona
	Diaz
	Calle Pino 8
	7773456712
	NULL
	4
	3
	Pepe
	Juárez
	Blv. Ruiz 2
	6639876342
	Abc2
	4
Tabla Archivo
	Expediente
	ID_cliente
	Numvisitas
	Vehiculo
	Placa
	Responsable
	A001
	1
	2
	Seat Ibiza
	LSD001
	1
	A002
	1
	5
	BMW Serie 3
	CBD710
	2
	A003
	2
	7
	Ford Lobo
	THC420
	2
	A004
	3
	2
	Kia Rio
	COC400
	3
	A005
	3
	1
	Nissan Tsuru
	MDM412
	3
	A006
	3
	4
	Audi A4
	WHI731
	1
Tabla Jefes
	JedeID
	Trabajador
	Nombre
	Apellido
	1
	1
	Javier
	Beltran
	2
	4
	Lorena
	Valdez
Tabla empleados
	IDTrabajador
	Nombre
	Apellido
	Puesto
	1
	Javier
	Beltran
	Jefe de area
	2
	Manuel
	Guzman
	Mecanico
	3
	Teresa
	Ocampo
	Mecanico
	4
	Lorena
	Valdez
	Jefe de area
	5
	Jaime
	Ramirez
	Lavador
1. Crea la base de datos, sus tablas, llaves primarias y llaves foráneas.
Creamos una nueva Base de datos que se llama “u2ea”, y en ella agregamos las siguientes tablas:
CREATE TABLE `u2ea`.`clientes` (`Cliente` INT(3) NOT NULL , `Nombre` VARCHAR(15) NOT NULL , `Apellido` VARCHAR(15) NOT NULL , `Direccion` VARCHAR(25) NOT NULL , `Telefono` INT NOT NULL , `CodigoRegistro` VARCHAR(4) NULL DEFAULT NULL , `Asesor` INT NOT NULL );
CREATE TABLE `u2ea`.`archivo` (`Expediente` VARCHAR(4) NOT NULL , `ID_cliente` INT(1) NOT NULL , `Numvisitas` INT(2) NOT NULL , `Vehiculo` VARCHAR(15) NOT NULL , `Placa` VARCHAR(6) NOT NULL , `Responsable` INT(2) NOT NULL );
CREATE TABLE `u2ea`.`jefes` (`JedeID` INT NOT NULL , `Trabajador` INT NOT NULL , `Nombre` VARCHAR(15) NOT NULL , `Apellido` VARCHAR(15) NOT NULL );
CREATE TABLE `u2ea`.`empleados` (`IDTrabajador` INT NOT NULL , `Nombre` VARCHAR(15) NOT NULL , `Apellido` VARCHAR(15) NOT NULL , `Puesto` VARCHAR(20) NOT NULL );
Posterior agregamos las llaves primarias y llaves foráneas
ALTER TABLE `clientes` ADD PRIMARY KEY(`Cliente`);
ALTER TABLE `archivo` ADD PRIMARY KEY(`Expediente`);
ALTER TABLE `jefes` ADD PRIMARY KEY(`JedeID`);
ALTER TABLE `empleados` ADD PRIMARY KEY(`IDTrabajador`);
ALTER TABLE `clientes` ADD CONSTRAINT `FK_Asesor` FOREIGN KEY (`Asesor`) REFERENCES `empleados`(`IDTrabajador`) ON DELETE RESTRICT ON UPDATE RESTRICT; 
ALTER TABLE `clientes` ADD CONSTRAINT `FK_Cliente` FOREIGN KEY (`Cliente`) REFERENCES `archivo`(`ID_cliente`) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE `archivo` ADD CONSTRAINT `FK_responsable` FOREIGN KEY (`Responsable`) REFERENCES `empleados`(`IDTrabajador`) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE `empleados` ADD CONSTRAINT `FK_IDTrabajador` FOREIGN KEY (`IDTrabajador`) REFERENCES `jefes`(`idtrabajador`) ON DELETE RESTRICT ON UPDATE RESTRICT;
2. Cambia la llave primaria de una tabla por otro campo;
Para este caso cambiaremos la llave primaria de la tabla de Archivo que es “Expediente”, a “Placa”. Para así seguir con la lógica de una llave primaria (que sea única), y teóricamente no debe de existir 2 placas iguales, y así asignarla al cliente.
ALTER TABLE `u2ea`.`archivo` DROP PRIMARY KEY, ADD PRIMARY KEY (`Placa`); 
3. Actualiza las relaciones de acuerdo con el cambio del punto anterior.
ALTER TABLE `archivo` ADD CONSTRAINT `FK_Placa` FOREIGN KEY (`Placa`) REFERENCES `clientes`(`Cliente`) ON DELETE RESTRICT ON UPDATE RESTRICT;
4. Modifica el nombre de una tabla.
Modificamos el nombre de la table jefes a administradores. 
RENAME TABLE jefes TO administradores;
5. Crea un usuario llamado “usuario1” que tenga permisos para acceder a una sola tabla de la base de datos.
CREATE USER 'usuario1'@'localhost';
SELECT * FROM mysql.user;
GRANT SELECT, INSERT ON u2ea.jefes TO ‘usuario1’@’localhost’;
6. Crea un usuario llamado “usuario2” para acceder de forma remota a la base de datos, solo con permisos select.
CREATE USER 'usuario2'@'localhost' IDENTIFIED BY 'pass1' WITH GRANT OPTION;
SELECT * FROM mysql.user;
GRANT SELECT ON *.* TO ‘usuario2’@’localhost’;
7. Crea una conexión la base de datos con el usuario “usuario2” desde un teléfono inteligente o tablet con alguna de las aplicaciones indicadas en la lista de aplicaciones incluida en el material de apoyo.
CONCLUSIONES
Con base en el desarrollo de esta actividad y las actividades posteriores de la unidad 2 de la asignatura puedo concluir que he aprendido a trabajar con el lenguaje de programación de SQL, y sus operaciones básicas, también el manejo, estructura y relaciones en las Bases de datos, que creo que ya había olvidado por falta de practica.
Personalmente creo que esta asignatura es una de las mas importantes dentro de nuestra carrera ya que por lo general siempre estaremos trabando con información, por lo que es importantecomprender el uso y manejo de las bases de datos, también uno de los puestos que mas solicitan es el administrador de información, o Data Analyst por lo que el comprender estos temas te abre muchas oportunidades.
Como comentario personal acerca de las indicaciones de esta actividad, es que el Contenido de la Asignatura así como el material de apoyo que se puede descargar desde la plataforma, es muy escaso o limitado, por lo que no es suficiente para el desarrollo del punto 7 (Conexiones Remotas), donde menciona que debe realizarse por medio de un equipo móvil o Tablet. Creo que hubiera sido mejor omitir ese punto, o permitir realizarlo por medio de MYSQL WORKBENCH, aunque también en alguna asignatura previa se tuvo que realizar una conexión a una Base de Datos por medio de JAVA, pero como repito, las indicaciones y material para realizar ese punto son muy escasos, por ello no se realizaron.
REFERENCIAS BIBLIOGRÁFICAS
· MySQL CONCAT() Function. (s. f.). Recuperado 2 de noviembre de 2022, de https://www.w3schools.com/sql/func_mysql_concat.asp
· MySQL :: MySQL 5.7 Reference Manual :: 2.11.12 Rebuilding or Repairing Tables or Indexes. (s. f.). Recuperado 2 de noviembre de 2022, de https://dev.mysql.com/doc/refman/5.7/en/rebuilding-tables.html
· MySQL :: MySQL 8.0 Reference Manual :: 13.1.9 ALTER TABLE Statement. (s. f.). Recuperado 2 de noviembre de 2022, de https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
· MySQL :: MySQL 8.0 Reference Manual :: 13.1.36 RENAME TABLE Statement. (s. f.). Recuperado 2 de noviembre de 2022, de https://dev.mysql.com/doc/refman/8.0/en/rename-table.html
· MySQL :: MySQL 8.0 Reference Manual :: 13.2.10 SELECT Statement. (s. f.). Recuperado 31 de octubre de 2022, de https://dev.mysql.com/doc/refman/8.0/en/select.html
· MySQL :: MySQL 8.0 Reference Manual :: 13.7.1.6 GRANT Statement. (s. f.). Recuperado 2 de noviembre de 2022, de https://dev.mysql.com/doc/refman/8.0/en/grant.html
· MySQL :: MySQL 8.0 Reference Manual :: 13.7.1.8 REVOKE Statement. (s. f.). Recuperado 2 de noviembre de 2022, de https://dev.mysql.com/doc/refman/8.0/en/revoke.html
· PHP MySQL Create Table. (s. f.). Recuperado 2 de noviembre de 2022, de https://www.w3schools.com/php/php_mysql_create_table.asp
· SQL INSERT INTO Statement. (s. f.). Recuperado 2 de noviembre de 2022, de https://www.w3schools.com/sql/sql_insert.asp

Continuar navegando