Descarga la aplicación para disfrutar aún más
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
Compartir