sábado, 3 de octubre de 2015

Ejercicios del 2 al 5 por Juan Jesús

Ejercicio 2

A partir del siguiente enunciándose desea realizar el modelo Entidad-Relación.

“Se desea informatizar la gestión de una empresa de transportes que reparte paquetes en todo México. Los encargados de llevar los paquetes son los camioneros, de los que se quiere guardar la curp, nombre, teléfono, salario y población en la que vive. De los paquetes transportados interesa conocer el código de paquete, descripción, remitente, destinatario y dirección del destinatario. Un camionero distribuye varios paquetes, y un paquete solo puede ser distribuido por un camionero. De las ciudades a las que llegan los paquetes interesa guardar el código de la ciudad y el nombre. Un paquete solo puede llegar a una ciudad. Sin  embargo, a una ciudad pueden llegar varios paquetes, de los camiones que llevan los camioneros, interesa conocer la matricula, modelo, tipo y potencia. Un camionero puede conducir diferentes camiones en fechas diferentes, y un camión puede ser conducido por varios camioneros” 


 Ejercicio 3

A partir del siguiente enunciado se desea realizar el modelo Entidad-Relación.

“se desea diseñar la base de datos de un instituto. En la base de datos se desea guardar los datos de los profesores del instituto (ID_cated, nombre, dirección y teléfono). Los profesores imparten cursos, y cada curso tiene un código y nombre. Cada alumno esta matriculado en uno o varios cursos. De cada alumno se desea guardar el N° de matricula, nombre, apellidos y fecha de nacimiento. Los profesores pueden impartir varios cursos, pero un curso solo puede ser impartido por un profesor. Cada curso tiene un grupo de alumnos, uno de los cuales es el jefe de grupo.



Ejercicio 4

A partir del siguiente enunciado se desea realizar el modelo Entidad-Relación.

“Se desea diseñar una base de datos para almacenar y gestionar la información empleada por una empresa dedicada a la venta de automóviles, teniendo en cuenta los siguientes aspectos: la empresa dispone de una serie de coches para su venta. Se necesita conocer la matricula, marca y modelo, el color y el precio de venta de cada coche para su venta. Los datos que interesa conocer de cada cliente son el RFC, nombre, dirección, ciudad y número de teléfono: además, los clientes se diferencian por un código interno de la impresa que se incrementa automáticamente cuando un cliente se da de alta en ella. Un coche determinado solo puede ser comprado por un único cliente. El concesionario también se encarga de llevar a cabo las revisiones que se realizan a cada coche. Cada revisión tiene asociada un código que se incrementa automáticamente por cada revisión que se haga, de cada revisión se desea saber si se ha hecho cambio de aceite, si se ha hecho cambio de frenos u otros. Los coches pueden pasar varias revisiones en el concesionario”.




Ejercicio 5

A partir del siguiente enunciado se desea realizar el modelo Entidad-Relación.

“una clínica necesita llevar un control informatizado de su gestión de pacientes y médicos. De cada paciente se desea guardar el código, nombre, apellidos, dirección, población, estado, código postal, teléfono y fecha de nacimiento. De cada médico se desea guardar el código, nombre, apellidos, teléfono y especialidad. Se desea llevar el control de cada uno de los ingresos que el paciente hace en el hospital. Cada ingreso que hace el paciente queda registrado en la base de datos. De cada ingreso se guarda el código de ingreso (que se incrementara automáticamente cada vez que el paciente realice un ingreso), el numero de habitación y cama en el que el paciente realiza el ingreso y la fecha de ingreso. Un medico puede atender vario ingresos, pero el ingreso de un paciente solo puede ser atendido poro un único medico. Un paciente puede realizar varios ingresos en el hospital.




ejemplos: Ejercicio 2:





Ejemplo Ejercicio 3:




Ejemplo Ejercicio 4:





Ejemplo Ejercicio 5:




viernes, 4 de septiembre de 2015

Sistema Gestor de Bases de Datos



Sistema Gestor de Bases de Datos

Consiste en una conexión de base de datos interrelacionados y un conjunto de programas para acceder a dichos datos, La colección de datos se denomina base de datos y contiene información relevante para un objetivo especifico.



Modelos de Datos que Existen

Modelo Entidad-Relación Entidad: Conjunto de entidades (tipo de entidad): Objeto del mundo real distinguible de otros objetos. Una entidad se describe usando un conjunto de atributo. Una colección de entidades similares.

Modelo Relacional:Una base de datos relacional es una colección de elementos de datos organizados en un conjunto de tablas formalmente descritas desde la que se puede acceder a los datos o volver a montarlos de muchas maneras diferentes sin tener que reorganizar las tablas de la base. La base de datos relacional fue inventada por E.F. Codd en IBM en 1970.

Modelo Orientado a Objetos: Es una base de datos inteligente soporta el paradigma orientado a objetos almacenando métodos y datos, y no solamente datos. Esta diseñada para ser eficaz, desde el punto de vista físico, para almacenar objetos complejos. Evite el acceso a los datos; esto gracias a los métodos almacenados en ella. Es mas segura, ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los métodos que haya utilizado el programador.


       Lenguaje de Manipulación de Datos 

Un lenguaje de Manipulación de Datos (Data Manipulation Languaje (DML)) es un lenguaje proporcionado por el sistema de gestión de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.

El lenguaje de manipulación de datos más popular hoy en día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.
Se clasifican en dos grandes grupos:
.Lenguajes de consulta procedimentales.
.Lenguajes de consulta no procedimentales
El lenguaje de Consulta Estructurado (Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar información de interés de una base de datos, de una forma sencilla.


Lenguaje de definicion de datos


Las principales funcionalidades de SQL como lenguaje de definición (DDL) son la creación, modificación y borrado de las tablas que componen la base de datos, así como de los índices, vistas, sinónimos, permisos, etc. que pudieran definirse sobre las mismas. Este documento introduce los comandos para el trabajo básico con tablas.

  1. CREATE TABLE: Crear una tabla
  2. SHOW TABLES: mostrar tablas
  3. DROP TABLE<nombre de tabla>: Borrar tabla
  4. DESCRIBE <nombre de tabla> Mostrar estructura de una tabla.

Diferencias principales entre un sistema de procesamiento de archivos y un SGBD

 La colección de datos, normalmente llamada base de datos contiene información relevante de un sistema. El objetivo principal de un SGBD es proporcionar una forma practica de almacenar y recuperar la información de manera que sea tanto practica como eficaz. Por otra parte un sistema de procesamiento de archivos nos permite almacenar información  pero mantener información en una organización en un sistema de procesamiento de archivos tiene una serie de inconvenientes importantes, como:
  • Redundancia e inconsistencia de datos.
  • Dificultad en el acceso a los datos.
  • Aislamiento de datos.
  • Problemas de integridad.
  • Problemas de atomicidad. (Falla de dispositivos a nivel físico)
  • Anomalías en el acceso concurrente.
  • Problemas de seguridad.

Conociendo esto, podemos decir que las principales diferencias son que, un sistema de procesamiento de archivo no nos permite indexar la información,  realización búsquedas complejas, consistencia en la información y ni una fácil administración de ella.

Diferencia entre independencia de datos física y lógica

  • Independencia Física de datos: Es la capacidad para modificar el esquema físico sin provocar que los programas de aplicación tengan que reescribirse. Las modificaciones en el nivel físico son ocasionalmente necesarias para mejorar el funcionamiento.

  • Independencia Lógica de datos: Es la capacidad para modificar el esquema lógico sin causar que los programas de aplicación tengan que reescribirse. Las modificaciones en el nivel lógico son necesarias siempre que la estructura lógica de la base de datos se altere.

  • La independencia de datos lógica es más fácil de proporcionar que la independencia de datos física, ya que los programas de aplicación son fuertemente dependientes de la estructura lógica de los datos a los que ellos acceden.


¿Cuales son las responsabilidades mas importantes de un SGBD?

 Las funciones provistas por un SGBD pueden agruparse en tres clases:
  • Consulta y actualización de datos
  • Mantenimiento de esquemas
  • Manejo de transacciones
  Consulta y Actualización


   Ésta es la clase más básica de funciones y la única que es visible "desde afuera". Consiste en un conjunto de herramientas que permite a los distintos tipos de usuarios del SGBD extraer, manipular y modifica la información almacenada en la base de datos.

   Algunos sistemas proveen una única interfaz, llamada generalmente lenguaje de consulta, para ser usada por todos los tipos de usuario. Por ejemplo, el lenguaje SQL permite ejecutar consultas y actualizaciones en una notación vagamente similar al lenguaje natural. La expresión:
    select matricula, nombre
    from alumnos
    where carrera = "Ingeniería" and edad < 21
produce como resultado una tabla con los números de matrícula y los nombres de todos los alumnos menores de edad de la carrera de Ingeniería.


  Mantenimiento de esquemas


   El esquema de la base de datos es la descripción de la estructura de la información almacenada en ella. Por ejemplo, para un sistema basado en tablas, el esquema puede consistir en una lista de tablas en uso, los campos que contienen, el tipo de datos de cada campo, descripciones en lenguaje natural del propósito de cada tabla y cada campo, y restricciones sobre los valores admisibles en cada campo.

   Así como los usuarios necesitan acceder, agregar y modificar datos, también necesitan acceder, agregar y modificar el esquema de datos. Por ejemplo, un usuario que se acerca por primera vez a una base de datos querrá saber antes que nada qué información contiene ésta, un programador puede escribir programas que definan y creen nuevos tipos de entidades, o eliminen algunos preexistentes; el DBA necesita controlar qué usuarios tienen accesos a qué información, formulando reglas de seguridad que se hacen parte del esquema.


  Manejo de Transacciones


   Una de las áreas principales de aplicación de los sgbd's es lo que se llama procesamiento de transacciones. Una transacción es un programa de aplicación, generalmente de duración breve, que accede y actualiza una parte también generalmente pequeña de la base de datos. Típicos ejemplos son un depósito o extracción de una cuenta bancaria, o una reservación en un vuelo, o una verificación de una tarjeta de crédito.

   El manejo de transacciones consiste en controlar múltiples transacciones ejecutando el paralelo sobre una misma base de datos corriendo en un sistema que puede fallar. Los objetivos del gestor de transacciones del sgbd son: evitar que las transacciones interfieran unas con otras al ejecutar en paralelo, y garantizar que la base de datos no sea dañada en forma irreparable por caídas, ya sea del sistema en sí o de alguna de las transacciones. El primero de los objetivos da lugar a lo que se llama control de paralelismo; el segundo, a técnicas de recuperación.


¿Cuales son las funciones principales de la administración de Bases de Datos?

Gestión General de Base de Datos

El DBA es la persona con más conocimientos sobre base de datos en una organización. Como tal, debe entender las reglas básicas de la tecnología de base de datos relacional y ser capaz de comunicarlos con precisión a los demás.

Modelado de Datos y Diseño de Base de Datos

Un DBA debe ser un profesional experto en la recopilación y análisis de las necesidades del usuario para obtener modelos de datos conceptuales y lógicos. Esta tarea es más difícil de lo que parece. Un modelo conceptual de datos describe los requisitos de datos a un nivel muy alto, un modelo de datos lógico proporciona en profundidad los detalles de los tipos de datos, longitudes, relaciones y cardinalidad. El DBA utiliza técnicas de normalización para ofrecer modelos de datos que reflejen las necesidades de los datos de la empresa.

Auditoria

Una de las tareas de un DBA es identificar qué usuarios tienen acceso a insertar, actualizar o eliminar datos, y cuándo. Una auditoría NO sólo podría ser necesaria por un tiempo limitado, para usuarios específicos o datos específicos. También puede ser requerida  24/7 para todos los datos que se introduzcan en el DBMS. Regularmente, para realizar las funciones de autorías los DBAs tienen que trabajar en combinación con los auditores internos y externos de la empresa.

Integración con aplicaciones

La mayoría de las empresas hoy en día utilizan aplicaciones de terceros (casi nadie ya desarrolla sus propias aplicaciones in-house), muy pocas de estas aplicaciones funcionan de manera aislada. En otras palabras, las aplicaciones tienen que interconectarse unas con otras, generalmente utilizando base de datos como el medio para compartir los datos. Los DBAs a menudo se involucran en los procesos de integrar las aplicaciones existentes con las bases datos que administran. Esto puede incluir la creación de aplicaciones a medida, scripts, etc.

Resguardo y recuperación de datos

Uno de los aspectos más fundamentales del trabajo del DBA es proteger los datos de la organización. Esto incluye hacer copias de seguridad periódicas de los datos y mantenerlos a salvo de la destrucción accidental o intencional. Además, diseñar, implementar y probar un plan de recuperación para que cuando se presenten los problemas, los datos se pueden restaurar rápidamente.

Inteligencia de negocios y almacenamiento de datos

Una de las áreas de mayor crecimiento para el DBA es la Inteligencia de Negocios (BI) y almacenamiento de datos. Esto se debe a que cada vez más organizaciones están tratando de extraer toda la información que pueda con el fin de tomar mejores decisiones de negocios.

Planificación de capacidad

En la mayoría de las organizaciones, el número y tamaño de las bases de datos crece rápidamente. Es la responsabilidad del DBA gestionar el creciente volumen de datos y diseñar los planes apropiados para administrarlos. Esto incluye también la gestión del hardware donde se almacenan los datos.

Administración de cambios

La configuración del servidor SQL Server o MySQL, el esquema de base de datos, el código de Transact-SQL, y muchas otras facetas del ecosistema de aplicaciones cambian con el tiempo. A menudo es la responsabilidad del DBA realizar el análisis de impacto antes de realizar los cambios dentro de una DBMS. Implementar cambios, hacer pruebas piloto y documentar todos los cambios y procedimientos es parte del trabajo de un DBA.

Desarrollo de aplicaciones

Muchos administradores de base datos deben de desarrollar aplicaciones y scripts con el objetivo de automatizar tareas relacionadas con la inserción, sustracción o borrado de información dentro del manejador de base de datos. En general, éste debe de colaborar a nivel de integración de sistema con los desarrolladores de aplicaciones, por lo que a veces se ve en la obligación de desarrollar código para casos específicos.

 Listese 7 Lenguajes de programación Procedimentales 

Java

java2
¿Qué es Java? Java es un lenguaje de programación y la primera plataforma informática creada por Sun Microsystems en 1995. Es uno de los lenguajes más demandados, un estándar para software de empresa, contenido basado en la web, videojuegos y aplicaciones móviles, así como el sistema Android. Java está diseñado para trabajar a través de múltiples plataformas de software, lo que significa un programa escrito en OS X, por ejemplo, también podría funcionar en Windows.

Lenguaje C

c
¿Qué es C? C es un lenguaje de programación imperativo desarrollado a principios de la década de 1970. C es el lenguaje más antiguo y más utilizado, proporcionando las bases para otros lenguajes populares, tales como C#, Java, JavaScript y Python. C se utiliza sobre todo para la aplicación de los sistemas operativos.
Debido a que proporciona la base para muchos otros idiomas, es recomendable aprender C (y C++) antes de pasar a los demás.

C++

cplusplus
¿Qué es C++? C++ (también conocido como C Plus Plus), es un lenguaje de nivel intermedio con características de programación orientada a objetos, originalmente diseñadas para mejorar el lenguaje C. C++ hace correr software importante, como Firefox, Winamp y los programas de Adobe. Se utiliza para el desarrollo de software de sistemas, software de aplicaciones, servidores de alto rendimiento y aplicaciones de cliente y videojuegos.

C Sharp (C#)

csharp
¿Qué es C#? Pronunciado como “C Sharp“, C# es un lenguaje multi-paradigma desarrollado por Microsoft como parte de su iniciativa .NET. Combinando principios de C y C++, C# es un lenguaje de propósito general que se utiliza para desarrollar software para Microsoft y Windows.

Objective-C

objectivec
¿Qué es Objective-C? Objective-C es un lenguaje de programación orientado a objetos de uso general utilizado por el sistema operativo de Apple. Corre OS X y iOS de Apple, así como sus APIs, y se puede utilizar para crear aplicaciones para el iPhone, lo que ha generado una gran demanda de este lenguaje de programación que estuvo un tiempo fuera de moda.

PHP

PHP
¿Qué es PHP? PHP (Procesador de Hipertexto) es un lenguaje orientado para script de servidores, diseñado para sitios web dinámicos y el desarrollo de aplicaciones. Se puede integrar directamente en un documento fuente HTML en lugar de un archivo externo, el cual ha hecho que sea un lenguaje de programación popular para los desarrolladores web. PHP corre más de 200 millones de sitios web, incluyendo WordPress, Digg y Facebook.

Python

python
¿Qué es Phyton? Python es un lenguaje de script de alto nivel de servidores para los sitios web y aplicaciones móviles. Es considerado como un lenguaje bastante fácil para los principiantes debido a su facilidad de lectura y por poseer una sintaxis compacta, es decir, los desarrolladores pueden utilizar un menor número de líneas de código para expresar un concepto en comparación a otros lenguajes. Phytoncorre las aplicaciones web para Instagram, Pinterest y Rdio a través de su framework web asociado, Django, y es utilizado por Google, Yahoo! y la NASA.