Академический Документы
Профессиональный Документы
Культура Документы
b) Software:
Instaladores de WAMP, busque una versión compatible con su sistema (32/64bits) en:
HeidiSQL http://www.heidisql.com/
Una relación identificadora (identifying relationship), es una relación de uno-a-muchos, en la que la clave primaria de
una entidad fuerte es absorbida por una entidad débil. Se dice que es una entidad débil, porque por sí misma no tiene
modo de identificarse de forma única (no tiene clave primaria).
Un ejemplo: tenemos una aplicación que registra el ingreso de los empleados a las instalaciones de la organización.
He aquí el modelo:
En este caso, existe una relación identificadora porque cada registro de ingreso_a_instalaciones *requiere* que se
especifique el id_empleado
De no especificarse, no se podría saber quién ingresó a las instalaciones. Eso convierte a cada ingreso_a_instalaciones
en una entidad débil, que depende de la existencia de otra entidad (el empleado). El software para modelado usa este
concepto.
Una relación no identificadora (non-identifying relationship) es una relación de uno-a-muchos donde una entidad no
depende de la existencia de otra, porque tiene su propia clave principal.
En este caso, yo puedo usar la clave foránea id_empleado_jefe para establecer qué otro empleado es jefe de un
empleado en particular, pero en sí, cada empleado tiene su id_empleado, por lo que la relación con el *empleado
jefe* no tiene para nada que ver con la existencia del empleado común.
Propósitos de la normalización:
Eliminar registros redundantes y asegurar la dependencia de datos tal que se establezcan relaciones lógicas entre las
tablas con ayuda de relaciones, claves primarias, secundarias.
Instale el paquete WAMP en su computadora Windows, Apache, Mysql y PHP en su computadora, asimismo
MysqlWorkbench.
Descargue HeidiSQL un administrador de bases de datos MySql y conéctese como root a su DBMS local. Permita que
los servicios de Wamp estén activos.
Deje por ahora la consola SQL, ahora pase a usar el Mysql Workbench y cree un nuevo Modelo -> Agregar diagrama,
ahora mediante la herramienta visual establezca la siguiente relación entre las tablas en notación E-R. Dese cuenta si
le conviene usar una relación identificadora o no,(refiérase a la teoría de la página 1)
Ahora exporte su diagrama (mire la figura 4) a un archivo SQL el modelo creado(omitiendo el esquema calificador, es
decir el prefijo de base de datos ), luego cargue el contenido en la consola de comandos de HeidiSql. Previamente
debe seleccionar la base de datos creada antes y dentro de ella ejecutar el contenido de comandos SQL provenientes
del Mysql WorkBech.
TABLA: FABRICANTES
CLAVE_FABRICANTE NOMBRE
1 Microsoft
2 Samsung
3 Easy Mouse
4 Toshiba
5 Kingston
6 Sony
TABLA: ARTICULOS
1 Teclado $ 100 3
3 Mouse $ 80 3
9 CD Rom $ 200 2
Para insertar prueba usando la herramienta visual de HeidiSQL y también usando comandos Sql como por ejemplo:
Pruebe la diferencia, ¿explique en su informe, en qué casos conviene insertar datos mediante commandos SQL?
Conviene insertar datos mediante comandos SQL cuando queremos especificar el orden de todos los datos de la tabla
en forma rápida y sencilla. También el uso de esos comandos permite el mejor manejo y aplicación de los datos a
insertar.
e) Obtener todos los datos del artículo cuya clave de producto es ‘5’
f) Obtener todos los datos del artículo cuyo nombre del producto es ‘’Teclado”
k) Obtener todos los datos de los artículos cuyo precio este entre $100 y $350
l) Obtener el precio medio de todos los productos
m) Obtener el precio medio de los artículos cuyo código de fabricante sea 3
p) Obtener el nombre y precio de los artículos cuyo precio sea mayor a $ 250 y ordenarlos descendentemente
por precio y luego ascendentemente por nombre
q) Obtener un listado completo de los productos, incluyendo por cada artículo los datos del articulo y del
fabricante
r) Obtener la clave de producto, nombre del producto y nombre del fabricante de todos los productos en
venta
s) Obtener el nombre y precio de los artículos donde el fabricante sea "Easy Mouse" ordenarlos
alfabéticamente por nombre del producto
t) Obtener el nombre, precio y nombre de fabricante de los productos que son marca Lexar o Kingston
ordenados descendentemente por precio
u) Añade un nuevo producto: Clave del producto 11, Altavoces de $ 120 del fabricante 2
El resultado final,trae todos los registros de la tablade laizquierda y losvaloresdelatabla de la derecha (solo aquellos
que coinciden con la comparación)
Mostramos todos los registros de la tabla izquierda tengan o no correspondencia con la tabla derecha.
Y2) Cree una consulta que devuelva el producto más caro
Y3) Cree otra tabla que relacione los artículos, fabricantes con clientes y una tabla
de órdenes.
4.1.- Procedimiento parte B
Investigue sobre las 3 formas normalizadas y normaliza la siguiente tabla de estudiantes.
CURSO
IdCurso Curso
001 Bio
002 Maths
003 Physics
CURSO_ESTUDIANTE
Id Nombre Curso
401 Adam Bio
402 Alex Maths
403 Stuart Maths
404 Adam Physics
ESTUDIANTE
Id Nombre Dirección
001 Adam Noida
002 Alex Panipat
003 Stuart Jammu
6. CONCLUSIONES
• Logramos familiarizarnos con estas herramientas visuales que vienen a ser MYSQL
Workbench, una herramienta completa de administración de servidor de
administración de configuración, el usuario y mucho más; por otra parte usamos el
Heidi SQL que permite ver y editar los datos, crear y editar tablas, vistas,
procedimientos, triggers y eventos programados. Además, pudimos exportar la
estructura y los datos ya sea para archivo SQL, porta papeles o en otros servidores.
• Por lo tanto al usar un cliente para generar una consulta a SQL hemos dispuesto de
la instrucción SELECT. Con ella podemos consultar una o varias tablas. Es sin duda el
comando más versátil del lenguaje SQL. El resultado de una consulta SELECT nos
devuelve una tabla lógica. Es decir, los resultados son una relación de datos, que
tiene filas/registros, con una serie de campos/columnas. Cada vez que ejecutamos
la consulta se vuelve a calcular el resultado.
• Por ultimo al realizar las tres FN de normalización, estas nos aseguran a eliminar
redundancias e inconsistencias de dependencia en el diseño de las tablas lo que nos
da a concluir que ayudan a realizar un código PHP más fácil de comprender,
ampliar, y en determinados casos, incluso hacer tu aplicación más rápida.
7. OBSERVACIONES
• Una de las cosas que más impactan sobre el rendimiento de la base de datos es el
hacer búsquedas de texto en cadenas, especialmente en campos de tipo (TEXT) y
usando (%). Intenta evitar que tus aplicaciones realicen este tipo de operaciones.
• Por regla general es buena idea crear índices sobre campos que seleccionas a
menudo, agrupas, ordena, el contrapunto es que cada índice ocupa un espacio
proporcional al número de filas en la tabla.