Category: CLASES


EJERCICIO 4

“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 matrícula, marca y modelo, el color y el precio de venta de cada coche. Los datos que interesa conocer de cada cliente son el NIF, nombre, dirección, ciudad y número de teléfono: además, los clientes se diferencian por un código interno de la empresa que se incrementa automáticamente cuando un cliente se da de alta en ella. Un cliente puede comprar tantos coches como desee a la empresa. 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 asociado 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
filtro, 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”.

Al igual que en los ejercicios anteriore se desarrollo paso a paso pero ya de manera mas directa ya que con la practica podemos identificar las entidades, de este ejercicio, asi como, los atributos de cada entidad y la relacion entre cada entidad.

Quedando de la siguiente manera:

En el ejrcicio se decidio agregar el codigo en la entidad cliente devido a la practicidad de poder contar con un codigo numerico que es más sencillo en la creación de una base de datos en lugar del R.F.C., devido a que esté es alfanumerico y no se ordena adecuadamente en una base de datos ya en forma.

Anuncios

EJERCICIO 3

“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 (DNI, nombre, dirección y teléfono). Los profesores imparten módulos, y cada módulo tiene un código y un nombre. Cada alumno está matriculado en uno o varios módulos. De cada alumno se desea guardar el nº de expediente, nombre, apellidos y fecha de nacimiento. Los profesores pueden impartir varios módulos, pero un módulo sólo puede ser impartido por un profesor. Cada curso tiene un grupo de alumnos, uno de los cuales es el delegado del grupo”.

siguiendo los mismos pasos que en los ejercicios anteriores obtuvimos el siguiente modelo:

“Se desea informatizar la gestión de una empresa de transportes que reparte paquetes por toda España. Los encargados de llevar los paquetes son los camioneros, de los que se quiere guardar el dni, nombre, teléfono, dirección, salario y población en la que vive.

De los paquetes transportados interesa conocer el código de paquete, descripción, destinatario y dirección del destinatario. Un camionero distribuye muchos paquetes, y un paquete sólo puede ser distribuido por un camionero.

De las provincias a las que llegan los paquetes interesa guardar el código de provincia y el nombre. Un paquete sólo puede llegar a una provincia. Sin embargo, a una provincia pueden llegar varios paquetes.

De los camiones que llevan los camioneros, interesa conocer la matrícula, modelo, tipo y potencia. Un camionero puede conducir diferentes camiones en fechas diferentes, y un camión puede ser conducido por varios camioneros”.

Siguiendo los mismos pasos que en el ejercicio uno nos dio como resultado el siguiente diagrama de entidad relación.

En esta clase realizamos los pasos  del modelo entidad relación. Los cuales nos dicen que el primer paso es la descripción textual del problema por lo que tenemos el siguiente problema.

“Una empresa vende productos a varios clientes. Se necesita conocer los datos personales de los clientes (nombre, apellidos, dni, dirección y fecha de nacimiento). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes.

Los productos son suministrados por diferentes proveedores. Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor, y que un proveedor puede suministrar diferentes productos. De cada proveedor se desea conocer el NIF, nombre y dirección”.

Ensegida nos damos a la tarea de buscar y enumerar verbos y sustantivos como nos indica el segundo paso. Obteniendo los siguientes:

Sustantivos: clientes, producto, proveedores, nombre, apellido, R.F.C., dirección, fecha de nacimiento, codigo, precio unitario.

Verbos: compra, suministra, vender.

El siguiente paso nos dice que los sustantivos son posibles entidades o atributos. Sin olvidarnos que las entidades son posibles objetos que almacenan cierta cantidad de datos del mismo tipo y los atributos son las caracteristicas propias de una entidad obtenemos las siguientes entidades clientes, productos y proveedores y los atributos  lo que distinge a cada uno como por ejemplo clientes que tiene como caracteristicas nombre, R.F.C., dirección, apellidos, fecha de nacimiento y asi con cada entidad.

El siguiente paso nos dice que los verbos son posibles relaciones. Es la relacion que existe entre las entidades por ejemplo:

que el cliente compra un producto, en este ejemplo el comprar es la relación.

En el paso numero cinco nos dice que hay que analizar las fraces para determinar la cardinalidad de las relaciones. En este problema se da como sigue:

Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes. En este caso la cardinalidad se da asi de un cliente a muchos productos y se plasmaria de la siguiente manera de (1,m) y un producto lo compran muchos clientes y se plasma de la siguiente manera (1,m) y asi con cada relación.

En el paso seis se elabora el diagrama el cual nos quedara de la siguiente manera:

El modelo entidad relación (Modelo E-R) fue introducido por Peter Chen.

En la actualidad no hay un solo modelo estandarizado del modelo E-R. Por el contrario, hay estructuras, a partir de las cuales se conforman la mayoría de las variantes E-R.

El modelo E-R consiste en los siguientes pasos:

1.- Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). Aser un diagrama a partir del texto.

2.- Se hace una lista de los sustantivos y verbos que aparecen. Relacionarlos con tablas y columnas para los sustantivos y vervos.

3.- Los sustantivos son posibles entidades o atributos. Esto quiere decir que puede ser una entidad como lo es la de alumnos o los sustantivos como nombre, apellido, etc.

4.- Los verbos son posibles relaciones. un ejemplo seria la venta de un carro a un cliente la relacion es la venta.

5.- Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. Podriamos decir que un auto es vendido a un clienta, pero un cliente compra varios autos. La cardinalidad es de la empresa que vende al cliente y dspues del cliente que compra mas de un auto.

6.- Se elabora el diagrama (o diagramas) entidad-relación.

7.- Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.

Un modelo de datos es un sistema formal y abstracto que permite describir los datos de acuerdo con reglas y convenios predefinidos o podriamos decir que es un conjunto de concepto que permiten describir, a distintos niveles de abstracción, la estructura de una base de datos.

Según Codd.

Un modelo de datos es una combinación de tres componentes:

1.Una colección de estructuras de datos (los bloques constructores de cualquier base de datos que conforman el modelo). En pocas palabras es crear la base de datos.

2.Una colección de operadores o reglas de inferencia, los cuales pueden ser aplicados a cualquier instancia de los tipos de datos listados en (1) , para consultar o derivar datos de cualquier parte de estas estructuras en cualquier combinación deseada. Esto nos quiere decir que existen reglas para la structura de los datos.

3.Una colección de reglas generales de integridad, las cuales explícita o implícitamente definen un conjunto de estados consistentes –estas reglas algunas veces son expresadas como reglas de insertar-actualizar-borrar. Son los procedimientos basicos de insertar, actualizar y borrar.

USO DE UN MODELO DE DATOS.

I.Como una herramienta para especificar los tipos de datos y la organización de los mismos que son permisibles en una base de datos específica. En esta parte podremos explicar en que consisten los tipos de datos, asi como la organización.

II. Como una base para el desarrollo de una metodología general de diseño para las bases de datos. En esta parte es necesario tener el conocimiento para implementar una base de datos.

III. Como una base para el desarrollo de familias de lenguajes de alto nivel para manipulación de consultas ( querys ) y datos. En este apartado lo que se desea es entrar a la base para buscar la información.

IV.Como el elemento clave en el diseño de la arquitectura de un manejador de bases de datos. Aqui podriamos decir que es el archivo la pieza clave.

LOS MODELOS DE DATOS SE CLASIFICAN EN:

1.- Modelos externos.

persiguen satisfacer las necesidades de los usuarios.

2.- modelos conceptuales.

busca optimizar los recursos de información de las organizaciones en su sonjunto.

modelos internos.

sirven para construir el esquema físico o interno

Un S.G.B.D. debe incluir al menos las siguientes funciones.

Definición de los Datos. El SGBD debe ser capaz de aceptar las definiciones de datos en versión fuente y convertirlas en la versión objeto. El SGBD debe incluir componentes procesadores para cada uno de los lenguajes de definición de datos (LDD).  (DATE, 1993).

Manipulación de los Datos. El SGBD debe atender las solicitudes de los usuarios para extraer, actualizar, adicionar o suprimir datos. El SGBD debe incluir un componente procesador del Lenguaje de manipulación de datos (LMD).

Seguridad e Integridad de los Datos. El SGBD debe supervisar las solicitudes de los usuarios y rechazar los intentos de violar las medidas de seguridad e integridad definidas por el Administrador de la Base de Datos DBA. (DATE, 1993).

Recuperación y concurrencia de los datos. El principal objetivo de la implantación de una base de datos es poner a disposición de un gran numero de usuarios en conjunto integrado de datos, estos datos podrán ser manipulados por los diferentes usuarios y es ahora cuando se debe garantizar la coherencia de los datos después de las diversas manipulaciones.

Estos temas ya se an analizado con anterioridad por consiguiente no se descriviran.

DEFINICIÓN.

Consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a esos datos.  El Objetivo primordial de un SGBD es proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer y almacenar información de la base de datos (KORTH, 1995).

ESTRUCTURA GENERAL DE UN SISTEMA DE GESTIÓN DE BASE DE DATOS.

Un Sistema de Gestión de Base de Datos se divide en módulos que tratan cada una de las responsabilidades del sistema general. Los componentes funcionales de un SGBD (KORTH, 1995)  incluyen:

1.- Procesador de Consultas. Traduce sentencias en un lenguaje de consultas a instrucciones de bajo nivel que entiende el gestor de la base de datos.

2.- Gestor de la Base de Datos. Proporciona la interface entre los datos de bajo nivel almacenados en la  base de datos y los programas de aplicación y las consultas que se hacen en el sistema.

3.- Gestor de Archivos. Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas para representar la información almacenada en disco.

4.- Pre compilador del Lenguaje de Manipulación de Datos DML. Convierte las sentencias en DML incorporadas en un programa de aplicación en llamadas normales a procedimientos en el lenguaje principal.

5.- Compilador del Lenguaje de Definición de Datos DDL. Convierte sentencias en DDL en un conjunto de tablas metadatos o “datos sobre datos”.

6.- Gestor del Diccionario de Datos. Almacena metadatos sobre la estructura de la base de datos.

7.- Control de autorización. Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita.

8.- Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos.

9.- Control de la integridad. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias.

10.- Optimizador de consultas. Este módulo determina la estrategia óptima para la ejecución de las consultas.

11.- Gestor de transacciones. Este módulo realiza el procesamiento de las transacciones.

12.- Planificador (scheduler). Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos.

13.- Gestor de recuperación. Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo.

14.- Gestor de buffers. Este módulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este módulo también se le denomina gestor de datos.

El SGBD es una aplicación que permite a los usuarios definir, crear y mantener la BD y proporciona un acceso controlado a la misma.

Debe proporcionar los siguientes servicios.

1.-  Creación y definición de la base de datos.

2.- Manipulación de los datos.

3.- Acceso controlado a los datos mediante mecanimos de seguridad

4.- Mantener integridad y consistencia de los datos.

5.- Acceso compartido a la base de datos.

6.- Mecanismos de copias de respaldo y recuperación

COMPONENTES DE UN GESTOR DE BASE DE DATOS.

1.-Lenguajes

1.1.- Lenguaje de definición de datos (DDL).

1.2.- Lenguaje de manipulación de datos (DML)

2.- Diccionario de datos: lugar donde se deposita información sobre todos los objetos que forman la base de datos (estructura lógica y física de los datos, definiciones de todos los objetos de la base de datos…).

3.- Usuarios de los SGBD.

3.1.- Usuarios de la categoría DBA (administradores).

3.2.- Usuarios de tipo RESOURCE, que pueden crear sus propios objetos y tener acceso a los objetos sobre los que se les ha concedido permisos.

3.3.- Usuarios de tipo CONNECT, que solamente pueden utilizar los objetos a los que se les ha concedido permiso.

4.- Todos los SGBD proporcionan una serie de herramientas de administración.

5.- Permite a los administradores la gestión de la BD y gestión de usuarios y permisos, entre otros.

estos temas ya an sido abordados con anterioridad por lo que no se describira cada acción que realizan.

La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de información, en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos.

Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor, al proceso que responde a las solicitudes. Es el modelo de interacción más común entre aplicaciones en una red.

Por otro lado los clientes suelen ser estaciones de trabajo que solicitan varios servicios al servidor.Ambas partes deben estar conectadas entre sí mediante una red.

Beneficios.

1.- Mejor aprovechamiento de la potencia de cómputo (Reparte el trabajo).

2. -Reduce el tráfico en la Red. (Viajan requerimientos).

3.- Opera bajo sistemas abiertos.

4.- Permite el uso de interfaces gráficas variadas y versátiles.

Este tipo de arquitectura es la más utilizada en la actualidad, debido a que es la más avanzada y la que mejor ha evolucionado en estos últimos años.

Podemos decir que esta arquitectura necesita tres tipos de software para su correcto funcionamiento:
Software de gestión de datos: Este software se encarga de la manipulación y gestión de los datos almacenados y requeridos por las diferentes aplicaciones. Normalmente este software se aloja en el servidor.
Software de desarrollo: este tipo de software se aloja en los clientes y solo en aquellos que se dedique al desarrollo de aplicaciones.
Software de interacción con los usuarios: También reside en los clientes y es la aplicación gráfica de usuario para la manipulación de datos, siempre claro a nivel usuario (consultas principalmente).

Los Clientes interactúan con el usuario, usualmente en forma gráfica. Frecuentemente se comunican con procesos auxiliares que se encargan de establecer conexión con el servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar actividades de sincronización y de seguridad.

caracteristicas:

•  El Cliente oculta al Servidor y la Red.

• Detecta e intercepta peticiones de otras aplicaciones y puede redireccionarlas.

•  Dedicado a la cesión del usuario ( Inicia…Termina ).

•  El método más común por el que se solicitan los servicios es a través de RPC (Remote Procedure Calls).

funciones comunes del cliente:

•  Mantener y procesar todo el dialogo con el usuario.

•  Manejo de pantallas.

•  Menús e interpretación de comandos.

•  Entrada de datos y validación.

•  Procesamiento de ayudas.

•  Recuperación de errores.

•  Generación de consultas e informes sobre las bases de datos.

el servidor:

Conjunto de Hardware y Software que responde a los requerimientos de un cliente. Los Servidores proporcionan un servicio al cliente y devuelven los resultados.

Normalmente el servidor es una máquina bastante potente que actúa de depósito de datos y funciona como un sistema gestor de base de datos (SGBD).

tipos comunes de servidor:

•  Servidor de Archivos (FTP, Novell).

•  Servidor de Bases de Datos (SQL, CBASE,   ORACLE, INFORMIX).

•  Servidor de Comunicaciones

•  Servidor de Impresión.

•  Servidor de Terminal.

•  Servidor de Aplicaciones (Windows NT, Novell).

funciones comunes del servidor:

•  Acceso, almacenamiento y organización de datos.

•  Actualización de datos almacenados.

•  Administración de recursos compartidos.

•  Ejecución de toda la lógica para procesar una transacción.

•  Procesamiento común de elementos del servidor (Datos, capacidad de CPU, almacenamiento en disco, capacidad de impresión, manejo de memoria y comunicación).

•    Gestión de periféricos compartidos.

• Control de accesos concurrentes a bases de datos compartidas.

•  Enlaces de comunicaciones con otras redes de área local o extensa