Herramientas Informaticas

Autor: juliocesar20200413 Página 135 de 141

Desarrollador web apasionado y gusto por la buena musica

DISEÑO DE BASE DE DATOS

INSTITUTO TECNOLÓGICO

DE LOS MOCHIS 

LIC. INFORMATICA

 

ALUMNOS: 

LEYVA RODRIGUEZ JULIO CESAR 

SOTELO CASTILLO VICTOR RAUL

ENRRIQUE CAMARGO VALDEZ

 

MATERIA:

SISTEMAS DE INFORMACION II

DOCENTE:  

JULIAN GARIBALDI

INTRODUCCIÒN
Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se precie debe tener almacenados todos estos datos en una base de datos para poder realizarlos mediante una aplicación profesional; sin esta funcionalidad resultaría imposible tratar y manejar en su totalidad los datos que leva a cabo la empresa y se perdería un tiempo y un dinero muy valiosos.
Uno de los pasos cruciales en la construcción de una aplicación que maneje una base de datos, es sin duda, el diseño de la base de datos.
Si las tablas no son definidas apropiadamente, podemos tener muchos dolores de cabeza al momento de ejecutar consultas a la base de datos para tratar de obtener algún tipo de información.
No importa si nuestra base de datos tiene sólo 20 registros, o algunos cuantos miles, es importante asegurarnos que nuestra base de datos está correctamente diseñada para que tenga eficiencia y que se pueda seguir utilizando por largo del tiempo.
En este artículo, se mencionarán algunos principios básicos del diseño de base de datos y se tratarán algunas reglas que se deben seguir cuando se crean bases de datos.
Dependiendo de los requerimientos de la base de datos, el diseño puede ser algo complejo, pero con algunas reglas simples que tengamos en la cabeza será mucho más fácil crear una base de datos perfecta para nuestro siguiente proyecto.
Diseño de Bases de Datos
Son muchas las consideraciones a tomar en cuenta al momento de hacer el diseño de la base de datos, quizá las más fuertes sean:
  • La velocidad de acceso.
  • El tamaño de la información.
  • El tipo de la información.
  • Facilidad de acceso a la información.
  • Facilidad para extraer la información requerida.
  • El comportamiento del manejador de bases de datos con cada tipo de información.
  • La velocidad de acceso.
  • El tamaño de la información.
  • El tipo de la información.
  • Facilidad de acceso a la información.
  • Facilidad para extraer la información requerida.
  • El comportamiento del manejador de bases de datos con cada tipo de información.

   
OBJETIVOS DEL DISEÑO DE BASES DE DATOS
Almacenar Solo La Información Necesaria
A menudo pensamos en todo lo que quisiéramos que estuviera almacenado en una base de datos y diseñamos la base de datos para guardar dichos datos. Debemos de ser realistas acerca de nuestras necesidades y decidir qué información es realmente necesaria.
Frecuentemente podemos generar algunos datos sobre la marcha sin tener que almacenarlos en una tabla de una base de datos. En estos casos también tiene sentido hacer esto desde el punto de vista del desarrollo de la aplicación.
Frecuentemente podemos generar algunos datos sobre la marcha sin tener que almacenarlos en una tabla de una base de datos. En estos casos también tiene sentido hacer esto desde el punto de vista del desarrollo de la aplicación.

Normalizar la Estructura de las Tablas. 

Podríamos decir que estos son los principales objetivos de la normalización:

  • Controlar la redundancia de la información.
  • Evitar pérdidas de información.
  • Capacidad para representar toda la información.
  • Mantener la consistencia de los datos.

Seleccionar el Tipo de Dato Adecuado.

 Una vez identificadas todas las tablas y columnas que necesita la base de datos, debemos determinar el tipo de dato de cada campo. Existen tres categorías principales que pueden aplicarse prácticamente a cualquier aplicación de bases de datos:
  • Texto
  • Números
  • Fecha y hora
 Utilizar Índices Apropiadamente
Los índices son un sistema especial que utilizan las bases de datos para mejorar su rendimiento global. Dado que los índices hacen que las consultas se ejecuten más rápido, podemos estar incitados a indexar todas las columnas de nuestras tablas.

Sin embargo, lo que tenemos que saber es que el usar índices tiene un precio. Cada vez que hacemos un INSERT, UPDATE, REPLACE, o DELETE sobre una tabla, MySQL tiene que actualizar cualquier índice en la tabla para reflejar los cambios en los datos.
Usar Tablas Temporales
Cuando estamos trabajando con tablas muy grandes, suele suceder que ocasionalmente necesitemos ejecutar algunas consultas sobre un pequeño subconjunto de una gran cantidad de datos. En vez de ejecutar estas consultas sobre la tabla completa y hacer que MySQL encuentre cada vez los pocos registros que necesitamos, puede ser mucho más rápido seleccionar dichos registros en una tabla temporal y entonces ejecutar nuestras consultas sobre esta tabla. 

Usar Tablas Temporales

Una tabla temporal existe mientras dure la conexión a MySQL. Cuando se interrumpe la conexión MySQL remueve automáticamente la tabla y libera el espacio que ésta usaba.

Recomendaciones

  • Utilizar caracteres alfanuméricos.
  • Limitar los nombres a menos de 64 caracteres (es una restricción de MySQL).
  • Utilizar el guión bajo (_) para separar palabras.
  • Utilizar palabras en minúsculas (esto es más una preferencia personal que una regla).
  • Los nombres de las tablas deberían ir en plural y los nombres de las columnas en singular (es igual una preferencia personal).
  • Limitar los nombres a menos de 64 caracteres (es una restricción de MySQL).
  • Utilizar el guión bajo (_) para separar palabras.
  • Utilizar palabras en minúsculas (esto es más una preferencia personal que una regla).
  • Los nombres de las tablas deberían ir en plural y los nombres de las columnas en singular (es igual una preferencia personal).
  • Utilizar las letras ID en las columnas de clave primaria y foránea.
  • En una tabla, colocar primero la clave primaria seguida de las claves foráneas.
  • Los nombres de los campos deben ser descriptivos de su contenido.
  • Los nombres de los campos deben ser unívocos entre tablas, excepción hecha de las claves.

Wallpapers Temoris Chihuahua

WALLPAPERS TEMORIS

Contiene 81 imagenes

DESCARGAR



Cuestionario de evaluacion de proyectos

Compañeros Cheken si le falta algo, si falta dejenlo como comentario y le corrigo 😀

1.- DEFINA LO QUE ES UN PROYECTO

Un proyecto es un conjunto de acciones que se planifican a fin de conseguir una meta previamente establecida, para lo que se cuenta con una determinada cantidad de recursos.

2.- MENCIONES Y EXPLIQUE BREVE, CUALES SON LOS RECURSOS FUNDAMENTALES DE UN PROYECTO

  1.  tiempo
  2. personas
  3. dinero
  4. equipo


3.- DEFINA QUE ES EVALUACION DE PROYECTOS


La Evaluación de Proyectos es un instrumento que ayuda a medir objetivamente ciertas magnitudes cuantitativas resultantes del estudio del proyecto; para medir objetivamente las premisas y supuestos estas deben nacer de la realidad misma en la que el proyecto estará inserto y en el que deberá rendir sus beneficios .

4.- MENCIONES Y EXPLIQUE LAS FASES DE ADMINISTRACION DE UN PROYECTO Y UBIQUE EN CUAL FASE ESTA LA EVALUACION DE PROYECTOS.

Planificación – Esta etapa se caracteriza por ser un período en el que establecen los objetivos a seguir y el modo en cómo se llevarán a cabo las acciones para lograr cumplirlos.

Ejecución – Es aquella en que se realizan las acciones y tareas planeadas, y que representan la ejecución misma del proyecto. Se refiere a la ejecución de todo aquello que se organizó durante la fase previa de planificación.

Entrega o Puesta en marcha – La que deberá cumplirse en el tiempo que se estipuló en la fase de planificación.


5.- COMO NACE UN PROYECTO

Nace de una idea

Mundo real – Empresa sociedad — Problemas y necesidades – SOLUCION TIC/SI – Idea – Luego el proyecto

6.- QUE ES EVALUACION DE PROYECTOS PRIVADOS Y EVALUACION DE PROYECTOS SOCIALES

Un proyecto privado es el que buscan un beneficio financiero legal.

Entonces la evaluación de de un proyecto privado es el análisis de la rentabilidad de un proyecto o asignación de recursos ya sea éste en la creación de un nuevo negocio o evaluar inversiones de empresas en marcha: outsourcing, reemplazo, ampliación, internalización o abandono, en las opciones mencionadas se realiza una evaluación financiera donde lo importante es determinar la rentabilidad sobre la inversión (ROCE).

7.- CUAL ES EL INDICADOR DE MEDICION MAS IMPORTANTE DE LA EVALUACION DE PROYECTOS PRIVADAS.

Rentabilidad de la Inversión = Utilidad Neta /Patrimonio Neto

8.- MENCIONES AL MENOS 3 EJEMPLOS DE PROYECTOS PRIVADOS Y 3 EJEMPLOS DE PROYECTOS SOCIALES.

Proyectos privados

  1. OXXO
  2. CASA LEY
  3. WAL MART
  4. El panadero del tec.
Proyecto sociales
  1. 1. SEP
  2. 2. UAS
  3. 3. AYUNTAMIENTO DE LOS MOCHIS

9.- EXPLIQUE LA RELACION ENTRE LA EVALUACION DE PROYECTOS PRIVADOS Y EVALUACION DE PROYECTOS SOCIALES.

En los dos tipos de proyectos se tiene que analizar que los proyectos sean realizables, si es legal hacerlos, si tiene sentido hacerlos.

En los dos se evalúa el alcance

Como en los dos se gasta tiempo, recurso financiero y mano de obra tienen que analizarse para aprobarse su ejecución

10.- QUE ES UN EMPRENDEDOR Y CUALES SON SUS CARACTERISTICAS.

El emprendedor social representa un nuevo tipo de empresario que integra en su actuación el beneficio social y el económico, entendiendo la actividad empresarial como la mejor herramienta de desarrollo y una respuesta eficiente a la falta de eficiencia de la administración pública.

Características del emprendedor.

En la parte de motivación:

1. Capacidad de compromiso: Tanto consigo mismo, como con los demás.

2. Vocación por el trabajo: Todos los días, casi todo el día hasta sacar las iniciativas adelante.

3. Constancia: Que se puede juntar a la perseverancia y a la fe. Si el emprendedor no cree en sí mismo y en su proyecto, está destinado a fracasar.

4. Empuje: Es la capacidad de sacar las iniciativas adelante, el nivel de sacrificio y entrega y las ganas por cumplir los sueños.

5. Coraje físico y un gran entusiasmo para toda clase de ideas: La pasividad no es una característica de un emprendedor, el entusiasmo y el movimiento continuo sí.

En cuanto al saber:

1. Conocimiento: Ser emprendedor, requiere conocimiento en los temas que se van a desarrollar en los proyectos o actividades, sea cuales sean.

2. Cultura: En un sentido amplio, saberse adaptar a las diversas situaciones y saberse comportar ante las circunstancias.

Existen otras capacidades no tan evidentes:

1. Capacidad de asociación: Una idea grande, difícilmente se desarrolla por una persona, la capacidad de asociarse (bien) es clave en el éxito.

2. Capacidad de mando: Ser el jefe no es sinónimo de poder, ser el guía o líder si lo es….

3. Visión: Donde otras personas ven un problema o una dificultad, un verdadero emprendedor ve una oportunidad…..

4. Generación de Ideas: Es necesario tener ideas, replantearlas e implementarlas constantemente.

5. Capacidad de asumir riesgos: El que no arriesga…. No gana.

6. Capacidad de medir el riesgo: Saber exactamente a que estoy jugando y cuales son mis oportunidades, debilidades y fortalezas.

7. Capacidad de autocrítica: Nadie es perfecto, aprender de los errores y ser consciente de ellos es fundamental.

8. Independencia: Para tomar decisiones y dar mandatos: Es la idea de emprender, conseguir metas propias.

Otras características:
Capacidad de entender los procedimientos legales, crediticios y financieros que se presenten .
Capacidad de innovar y responder ante la adversidad.
Muchas veces he encontrado que una persona emprendedora debe ser sociable, encantador y debe tener capacidad de convocatoria.
Lo importante, es hacer valorar tu trabajo, y hacer valerte como persona como ser intelectual y humano.
Inteligencia y capacidad de análisis.

Qué es un emprendedor? Es un individuo que es capaz de de acometer un proyecto que es rechazado por la mayoría. Sabe interpretar las características reales del entorno a pesar de que no son aparentes a su competencia. Es capaz de luchar ante cualquier inconveniente que se le atraviesa a su estrategia y no le teme al fracaso. Además, es capaz de crear un grupo con motivación que le da la estructura requerida.


11.- EXPLIQUE COMO HA SIDO LA EVOLUCION DE LOS NEGOCIOS EN TECNOLOGIAS DE LA INFORMACION Y COMO LAS TECNOLOGIAS DE INFORMACION HAN INFLUIDO EN LA EVOLUCION DE CUALQUIER NEGOCIO.

· La evolución de los negocios en tecnologías de la información a estado evolucionando muy rápidamente tan rápido que no pueden ir al mismo ritmo que ellos, tan solo en el desarrollo de software, no se ha podido desarrollar un sistema operativo que aproveche todo el recurso que proporciona el hardware avanzado.

· y no nomas se queda allí, el personal no se puede adaptar para trabajar con facilidad al nuevo software y hardware que están saliendo, por ejemplo, los arquitectos van actualizando su software que no es igual a que usaron hace tres años, igual que los contadores

12.- EXPLIQUE COMO SE ESPERA EL FUTURO DE LOS NEGOCIOS BAJO LA IMPULSO DE LA TECNOLOGIA DE LA INFORMACION.

Serán absorbidas por empresas que usan tecnología, como esta pasando actualmente con los OXXOS que remplazaron las tienditas de la esquina, o el VH que no automatizo el pedido de productos a los proveedores.

13.- MENCIONES CUALES SON LOS FACTORES QUE INFLUYEN DE MANERA POSITIVA EN LA GENERACION DE IDEAS.

  1. · Problemas
  2. · Necesidades
  3. · Deseos
  4. · Mente abierta

1.4 Problemas comunes en el desarrollo de aplicaciones distribuidas


· La compatibilidad de distintos tipos de datos- Como la mayoría de los sistemas son distribuidos heterogéneamente, existe la posibilidad de que se interconecten varios tipos de gestores de base de datos que pueden tener tipos de variables incompatibles.

· Fallas en el servidor
– Es común que los servidores fallen cuando empiezan a trabajar con un volumen mas grande de datos, y es por eso que al principio no muestran este tipo de errores.

· Errores del cliente
– Existe un numero infinito de causas por la que el programa cliente puede fallar, el servidor debe de tener programado los servicios

· Sincronización de horas- Es un error muy común en sistemas distribuidos en un área geográfica que alcanza diferentes zonas horarias, tal es el caso de Hotmail, en la sección de la hora que los enviaste el correo te marque otra hora diferente.

· Seguridad- Un ejemplo muy claro seria en el sistema distribuido en un banco donde dos personas con la misma tarjeta de identificación tratan de hacer un retiro en diferentes zonas geográficas.

· Priorización Con RPC – No puede manejar los picos de carga de trabajo que puede tener un servidor si tiene llamadas RPC de muchos clientes.

· Reintento de llamadas- Si el cliente pide un paquete demasiado grande el servidor alcanza a enviar pero por errores, el servidor responde, pero se pierde la respuesta por fallas en la red, no seria eficiente volver a contestar al servidor.

1.3 Escenarios de utilización de aplicaciones distribuidas

Los escenarios de utilización de aplicaciones distribuidos son muy comunes en la población los escenarios tales como los remote login, correo electrónico, navegación web, telefonía IP, y la compartición de archivos p2p.

Algunos escenarios donde se utilizan las aplicaciones distribuidas son:

MODDLE

Es un ambiente educativo virtual, sistema de gestión de cursos de distribución libre.

Ayuda a los educadores a crear comunidades de aprendizaje en línea. A este tipo de plataformas tecnológicas también se conoce como LMS

WORDPRESS

Es un sistema de gestión de contenido utilizado para crear blogs.

CREADOR DE WIKIS – MEDIAWIKI

Mediawiki es un software para wikis libre, programado en el lenguaje PHP.

Es el software utilizado por Wikipedia y otros proyectos de la misma (wikcionario, wikilibros, etc.)

Mediawiki puede ser instalado en los servidores web apache e internet information services y como base de datos utiliza Mysql o Postgresql.

ADMINISTRADOR DE BASE DE DATOS WEB – PHPMYADMIN

Phpmyadmin es una herramienta escrita en PHP con la intención de manejar la administración de Mysql a través de las páginas Web, utilizando internet.

Actualmente se puede crear y eliminar bases de datos, crear, eliminar y alterar tablas, borrar editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos y tablas en diversos formatos.

Este proyecto se encuentra vigente desde 1998, siendo el mejor evaluado en la comunidad de descargas de sourceforge.net como la descarga del mes de diciembre del 2002

1.2.4 De conexión entre capas

Como tecnología, las arquitecturas de capas proporcionan una gran cantidad de beneficios para las empresas que necesitan soluciones flexibles y fiables para resolver complejos problemas inmersos en cambios constantes.

Todas las aplicaciones basadas en capas permitirán trabajar con clientes ligeros, tal como, navegadores de internet, WebTV, Teléfonos inteligentes, PDAS (Personal Digital Assistants o Asistente Digital Personal) y muchos otros dispositivos preparados para conectarse al internet.

De este, modo las arquitecturas de capas se están posicionando rápidamente como la piedra angular de los desarrollos de aplicaciones empresariales y las compañías están adoptando esta estrategia a una velocidad de vértigo como mecanismo de posicionamiento en la economía emergente que tiene su base en la red (lo que ha venido a denominar “nueva economía”)

Actualmente, la red (internet, intranets y extranets) es el ordenador o, Como diría Sun microsystems, el ordenador es la red, este paradigma está creando un cambio fundamental en los modelos de computación que, a su vez, proporciona desafíos y oportunidades como nunca antes se había producido.

Esquema de arquitectura de 3 capas

1.2.3 De base de datos

La historia de las bases de datos empieza a mediados de los años cincuentas en el momento que empezaron a utilizarse los ordenadores para automatizar la gestión de las empresas, fundamental mente con los desarrollos de COBOL, caracterizándose por el uso de tecnologías orientadas a la estructuración de datos mediante modelos jerárquicos

Por ejemplo

· IMS de IBM

· IDMS de Cullinet

Todos estos de lógica procedimental, que obliga al programador desplazarse de registro a registro, hecho que indica escasa flexibilidad

A principios de los años setentas se aplico el trabajo del Dr. Codd, el modelo relacional, en donde los datos se representan en tablas constituidas por filas y columnas.

Ejemplo de sistemas que usaron este modelo:

· Oracle

· DB2

· INGRES

· INFORMIX

Codd propuso dos lenguajes para manipular los datos en las tablas; algebra y calculo relacional que soportan la manipulación de datos sobre la base de operadores lógicos en lugar de modelos jerárquicos y de red.

De allí nace SQL, Lenguaje Estructurado de Consulta donde se manipula por medio de algunos comandos basados en algebra relacional.

En los años ochentas surgen teorías de normalización para que la base de datos tenga la mejor integridad.

1.2.2 De aplicación

La evolución de la aplicación en la arquitectura distribuida se dio de la siguiente forma:

· Aplicación monolítica

· Arquitectura cliente/servidor

· Arquitectura de 3 capas

· Arquitectura de n-capas

Las herramientas para el desarrollo de las aplicaciones distribuidas han tenido un buen avance, al principio se usaba BASIC y Pascal como lenguaje para desarrollar la interfaz entre los años sesentas y setentas.

En 1972 apareció el lenguaje C con el cual se reescribe Unix.

En 1980 apareció C++ que hizo posible la manipulación de objetos.

En los años noventas aparece JAVA que es posible correr aplicaciones en cualquier sistema operativo siempre y cuando tengan la maquina virtual instalada, lo cual facilita el desarrollo de aplicaciones distribuidas heterogéneas.

Aparece en 2001 C# creado por Microsoft que forma parte de .NET, también es multiplataforma como JAVA, la herramienta para desarrollar en Linux es Mono Developed y en Windows Visual Studio.

Las ultimas herramientas mas novedosas para desarrollar aplicaciones en C#, C++, Visual Basic son Visual Studio 2010 que permite hacer la interfaz directamente arrastrando botones etc.

Otra herramienta para el desarrollo de aplicaciones distribuidas es RAD Studio que te permite hacer la programación visual al igual que Visual Studio, solo que RAD Studio cuenta con la opción de programar en Pascal y en C.

No debemos olvidar también la herramienta de APPLE que es Xcode para MAC, que es de gran ayuda para programar no solo para MAC en el ordenador si no que también en sus dispositivos móviles como iPhone, iPod, iPad, Iboard, lo ultimo que han desarrollado en aplicaciones distribuidas es la novedosa nube o su iCloud, que consiste en que si guardas una nota o bajas un programa estos estarán en todos los dispositivos.

1.2 Evolución de las tecnologías para el desarrollo de aplicaciones distribuidas

1.2.1 De interfaz de usuario

En el contexto del proceso de interacción persona-ordenador, la interfaz grafica de usuario, es el artefacto tecnológico de un sistema interactivo que permite a través del uso y la representación del lenguaje visual, una interacción amigable con el sistema informático.

La interfaz grafica de usuario (GUI por sus siglas en ingles Graphical User Interface), es un tipo de interfaz de usuario que utiliza un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz.

Habitualmente las acciones se realizan mediante la manipulación directa para facilitar la iteración del usuario con la computadora

Por ejemplo:

En Windows la interfaz grafica es todo el escritorio, carpetas, menús, iconos; el proceso de abrir una carpeta con la interfaz grafica, solo se tiene que hacer clic sobre la carpeta que se quiere abrir, en cambio, cuando estamos sin interfaz grafica tendremos que usar la consola, o como se llama en Windows, Símbolo de sistema, para abrir una carpeta en el símbolo de sistema es necesario escribir un comando que es: CD nombre de la carpeta

Por ejemplo:

Supongamos que estamos estacionados en el disco duro C: , luego tecleamos CD Windows, con esto estaremos dentro de la carpeta de Windows C: Windows, ahora para saber lo que hay dentro de la carpeta se escribe el comando DIR.

La evolución de la interfaz grafica de usuario ha sido notable, desde la interfaz de usuario de Windows 1, Windows 3.x, Windows 95, Windows Me, Windows XP Vista y Seven, sin olvidar los nuevas interfaces GNU-Linux como KDE y Gnome.

El futuro de la interfaz de usuario para tecnologías de las computadoras es fascinante y lleno de sorpresas increíbles, después de haber mostrado la magia misteriosa de imágenes proyectadas en el aire, será posible manipular los objetos en el aire con nuestras manos, también se han vistos teclados de luz y responden con al tocar la superficie donde se proyectan.

1.1.4 Aplicaciones distribuidas

Una aplicación con distintos componentes se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red.

COMPONENTES DE UNA APLICACIÓN DISTRIBUIDA

1. Lado del servidor.

2. Lado del cliente.

3. Protocolo de la aplicación.

4. Formato de los mensajes.

Lado del servidor: Programa que se ejecuta en un computador, esta a la escucha de un puerto, esperando peticiones de los clientes.

Por ejemplo:

El servidor de correo Hotmail o Gmail, cuando se va a autenticar el usuario y contraseña, el servidor hace los procesos internos para analizar si el usuario existe y concuerda con el usuario.

Lado cliente: Programa que ejecuta el usuario.

Por ejemplo:

· Windows Live Messenger

· Mozilla

· FileZilla

Protocolo de aplicación:

Para la comunicación cliente servidor. El protocolo define el tipo de mensajes intercambiados;

Por ejemplo el protocolo de la capa de aplicación Web HTTP, define el formato y las secuencias de mensajes transmitidos entre el navegador y el servidor Web.

Formato de los mensajes que se intercambian: Forman parte del servicio;

Por ejemplo: en el correo electrónico se define el formato de los mensajes electrónicos.

Página 135 de 141

Creado con WordPress & Tema de Anders Norén