Tema I. Conceptos Generales ::Universidad del Mar::
::Campus Puerto Escondido ::
Bases de Datos I MTI Remedios Fabián Velasco Ver. 1.1 Cuarto Semestre Licenciatura en Informática
Simbología Concepto importante Base de Datos Tarea o ejercicio Aplicaciones
Tablas – Entidades - Relaciones Bases de Datos I
Universidad del Mar - 07/2008
Tabla 2
MTI Remedios Fabián Velasco
Temario 1 Conceptos generales 1.1 Objetivos de los sistemas de base de datos. 1.2 Administración de los datos y administración de bases de datos. 1.3 Niveles de arquitectura. 1.3.1 Nivel físico. 1.3.2 Nivel conceptual. 1.3.3 Nivel de visión.
1.4 Modelos de datos.
1.4.1 Modelo entidad-relación. 1.4.2 Modelo relacional. 1.4.3 Modelo de redes. 1.4.4 Modelo jerárquico. 1.4.5 Modelo orientado a objetos.
1.5 Independencia de los datos. 1.6 Lenguaje de definición de datos. 1.7 Lenguaje de manejos de base de datos. 1.8 Manejador de base de datos. 1.9 Administrador de la base de datos (DBA). 1.10 Usuarios de la base de datos. 1.11 Estructura general del sistema. 1.12 Arquitectura de sistemas de bases de datos. 1.12.1 Sistemas centralizados. 1.12.2 Sistemas cliente/servidor. 1.12.3 Sistemas paralelos. 1.12.4 Sistemas distribuidos.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Introducción Manejo de una gran cantidad de datos en empresas o instituciones.
• Por lo que es necesario disponer de medios de hardware y software. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Tradicionalmente… La información se almacenaba en archivos, estos archivos no guardaban ninguna relación entre sí y los datos podían repetirse dando lugar a información redundante
Bases de Datos I
Universidad del Mar - 07/2008
Dependencia
MTI Remedios Fabián Velasco
Actualmente …
Aplicación Ventas Aplicación Compras
Aplicación …
Aplicación N Independencia
BB DD
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Ejercicio Analiza la forma de almacenamiento tradicional, con la manera de almacenar en una base de datos, menciona ventajas, desventajas. ¿Cuál de las dos formas, desde tu punto de vista, es más óptima para desarrollar un software profesional? ¿Por qué?
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1. Conceptos generales Dato:
Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos.
Información:
Es un conjunto ordenado de datos los cuales son manejados según la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a información, primero se debe guardar lógicamente en archivos.
Campo:
Es la unidad más pequeña a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una característica de un individuo u objeto.
Registro:
Colección de campos de iguales o de diferentes tipos.
Archivo:
Colección de registros almacenados siguiendo una estructura homogénea.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1. Conceptos generales Base de datos (BD):
Bases de Datos I
Es un conjunto de datos persistentes que es utilizado por los sistemas de aplicación de alguna empresa. Datos interrelacionados, creados con un SGBD (Sistema Gestor de Bases de Datos). Una BD es una colección de datos que están lógicamente relacionados entre sí. La descripción y definición de los datos se encuentra almacenada en la propia BD. Los datos están estructurados según un modelo de BD que refleja las relaciones y restricciones que tienen estos datos en el mundo real. El contenido de una base de datos engloba la información de una organización, para que los datos estén disponibles a los usuarios. Los tres componentes principales de un sistema de base de datos son el hardware, el software SGBD y los datos a manejar, es importante mencionar el personal encargado del manejo del sistema. Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1. Conceptos generales En resumen una BD:
Bases de Datos I
Está compuesta de datos persistentes. Sirve a una o más aplicaciones. Existe independencia entre los datos y los programas que los manejan. Es accesible a múltiples usuarios de forma simultánea. Hay independencia entre los datos y los programas que los van a tratar. Maneja la Coherencia. Asegura no redundancia innecesaria. una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. Maneja seguridad de los datos.
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.1 Objetivos de los sistemas de base de datos. Compartir datos: Las aplicaciones existentes pueden compartir la información de la base de datos, Ventas
Almacén Venta en línea
además es posible desarrollar nuevas aplicaciones para operar sobre los mismos datos. Bases de Datos I
BD - Librería
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.1 Objetivos de los sistemas de base de datos. Reducir la redundancia: En sistemas que no son de base de datos, cada aplicación tiene sus propios archivos exclusivos. Este hecho puede conducir a una redundancia considerable de los datos almacenados, con el consecuente desperdicio de espacio de almacenamiento.
Puesto
Bases de Datos I
Personal
Escolaridad
Archivo1
Archivo2
Universidad del Mar - 07/2008
Puesto
MTI Remedios Fabián Velasco
1.1 Objetivos de los sistemas de base de datos. Evitar la inconsistencia Cuando la redundancia no esta controlada, podría un dato estar representado por dos entidades distintas en la base de datos, entonces necesariamente habrá ocasiones en que las dos entidades no coincidan, digamos, cuando una de ellas ha sido actualizada y la otra no. En esos momentos decimos que la base de datos es inconsistente. Una base de datos inconsistente es BD – Personal capaz de proporcionar a sus usuarios Puesto información Tabla 1 correcta o Tabla 2 contradictoria. Puesto
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.1 Objetivos de los sistemas de base de datos. Manejo de transacciones
Una transacción es una unidad de trabajo lógica, que por lo regular comprende varias operaciones de la base de datos (en particular, varias operaciones de actualización).
Transacción
Transferir una cantidad de efectivo de AaB 2. 3. 4. 5.
Retirar el efectivo de la cuenta A Depositarlo en la cuenta B Actualizar cantidad en cuenta A Actualizar cantidad en cuenta B
Si el usuario declara que las dos actualizaciones son parte de la misma transacción, entonces el sistema puede garantizar que se hagan ya sea ambas o ninguna de ellas, aún cuando el sistema fallara (por falta de suministro eléctrico) a la mitad del proceso. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.1 Objetivos de los sistemas de base de datos. Mantener la integridad El objetivo de la integridad es asegurar que los datos de la base de datos estén correctos. La inconsistencia entre dos entradas que pretenden representar el mismo hecho es un ejemplo de la falta de integridad; desde luego, este problema sólo puede surgir sí existe redundancia en los datos almacenados. No obstante, aun cuando no exista redundancia, la base de datos podría seguir conteniendo información incorrecta. Por ejemplo un empleado podría aparecer con 400 horas laboradas durante la semana, en lugar de 40 ó como parte de un departamento que no existe. El control centralizado de la base de datos puede ayudar a evitar estos problemas mediante restricciones de integridad (también conocidas como reglas del negocio) que serán verificadas siempre que se realice una operación de actualización. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.1 Objetivos de los sistemas de base de datos. Cumplir la seguridad Es posible establecer diferentes restricciones para cada tipo de acceso (recuperación, inserción, eliminación, etc.) para cada parte de la información de la base de datos. Sin dichas restricciones la seguridad de los datos podría estar en mayor riesgo que en un sistema de archivos tradicionales; es decir, la naturaleza centralizada de un sistema de base de datos requiere, que también sea establecido un buen sistema de seguridad.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.1 Objetivos de los sistemas de base de datos. Equilibrar los requerimientos en conflicto Al conocer los requerimientos generales de la empresa, el DBA (administrador de la BD) puede estructurar los sistemas de manera que ofrezcan un servicio general que sea “el mejor para la empresa”. Por ejemplo, es posible elegir una representación física de los datos almacenados que proporcione un acceso rápido para las aplicaciones más importantes.
Cumplir los estándares Con el control central de la base de datos, el DBA puede asegurar que todos los estándares aplicables en la representación de los datos sean observados. Estos estándares podrían incluir alguno o todos los siguientes: departamentales, de instalación, corporativos, de la industria, nacionales, e internacionales. En forma similar, los estándares en la asignación de nombres y en la documentación de los datos, también son muy convenientes como una ayuda para compartir y entender los datos.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.2 Administración de los datos y administración de bases de datos. Es imperativo que exista una persona que administre los datos, los entienda junto con las necesidades de la empresa a un nivel e administración superior. La labor del administrador de datos (DA) es decidir en primer lugar que datos deben ser almacenados en la base de datos y establecer políticas para mantener y manejar esos datos una vez almacenados. Un ejemplo de estas políticas podría ser que indicará quién puede realizar qué operaciones sobre ciertos datos y bajo que circunstancias, es decir, una política de seguridad de los datos. El administrador de datos es un administrador, no de TI. Bases de Datos I
Universidad del Mar - 07/2008
Administrador de Datos
MTI Remedios Fabián Velasco
1.2 Administración de los datos y administración de bases de El responsable de implementar datos. las decisiones del
administrador de datos es el administrador de base de datos (DBA). Por lo tanto el DBA es un profesional de TI. El trabajo del DBA consiste en crear la base de datos real e implementar los controles técnicos necesarios para hacer cumplir las diversas decisiones de las políticas hechas por el administrador de datos. El DBA también es responsable de asegurar que el sistema opere con el rendimiento adecuado y debe proporcionar una variedad de otros servicios técnicos. El DBA tendrá el equipo de programadores de sistemas y Universidad del Mar - 07/2008 Bases de Datos I otros asistentes técnicos.
Administrador de Bases de Datos
MTI Remedios Fabián Velasco
1.3 Niveles de arquitectura. Existen diferentes niveles de abstracción para simplificar la interacción de los usuarios con el sistema: Interno, conceptual y externo (específicamente el de almacenamiento físico, el del programador y el del usuario). La interrelación entre estos tres niveles de abstracción se ilustra en la siguiente figura. Nivel externo o de visión
Nivel conceptual o lógico
Nivel interno o físico Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.3.1 Nivel físico o interno Es la representación del nivel más bajo de abstracción, en éste nivel se describe en detalle la forma en como se almacenan los datos en los dispositivos de almacenamiento Por ejemplo, mediante índices para el acceso aleatorio a los datos. Es el más cercano al almacenamiento físico que tiene que ver con la forma en que los datos están almacenados físicamente.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.3.2 Nivel conceptual o nivel lógico El siguiente nivel de abstracción, describe que datos son
almacenados realmente en la base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en términos de su estructura de diseño. El nivel conceptual de abstracción lo usan los administradores de bases de datos, quienes deben decidir qué información se va a guardar en la base de datos. Consta de las siguientes definiciones: Definición de los datos: Se describen el tipo de datos y la longitud de campo todos los elementos en la base. Los elementos por definir incluyen artículos elementales (atributos), totales de datos y registros conceptuales (entidades). Relaciones entre datos: Se definen las relaciones entre datos para enlazar tipos de registros relacionados para el procesamiento de archivos múltiples. NOTA: En el nivel conceptual la base de datos aparece como una colección de
registros lógicos, sin descriptores de almacenamiento. Los archivos conceptuales no existen físicamente. La transformación de registros conceptuales a registros se del lleva cabo por el sistema y es transparente al Velasco Universidad Mar - a 07/2008 Bases de Datos I físicos para el almacenamiento MTI Remedios Fabián
1.3.3 Nivel de visión o nivel externo Nivel más alto de abstracción, es lo que el usuario final puede visualizar del sistema terminado, describe sólo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar muchas visiones para la misma base de datos. BD
Vista Controlador Vista Empleado Bases de Datos I
Vista Cliente
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Ejemplo de los tres niveles: Nivel externo
Usuario 1
Usuario 2
Usuario 3
Vista 1
Vista 2
Vista 3
Nivel conceptual
Nivel Interno
Organización Física de los datos
Bases de Datos I
Vista externa 1 sNo
nombre aPatern
Esquema Conceptual
Esquema Interno
Vista externa 2 edad
salario
nStaff nombre nSuc
nStaff nombre aPatern fechaNac salario
Struct STAFF{ int nStaff; int nSuc; char nombre[15]; char aPatern[15]; struct date fechaNac; float salario; struct STAFF *next; /* apuntador al siguiente registro STAFF*/ }; Index nStaff; index nSuc; /*define indices de STAFF*/
BD
Disco duro
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.4 Modelos de datos Modelo: Es una representación de la realidad que contiene las características generales de algo que se va a realizar. En base de datos, esta representación la elaboramos de forma gráfica.
¿Qué es modelo de datos? Es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semántica asociada a los datos y restricciones de consistencia. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Los modelos de datos se dividen en tres grupos: Modelos lógicos basados en objetos. Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuración bastante flexible y permiten especificar restricciones de datos explícitamente. Existen diferentes modelos de este tipo, pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-Relación y Orientado a Objetos.
Modelos lógicos basados en registros. Se utilizan para describir datos en los niveles conceptual y físico. Estos modelos utilizan registros e instancias para representar la realidad, así como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lógica global de la base de datos y para proporcionar una descripción a nivel más alto de la implementación. Los tres modelos de datos más ampliamente aceptados son: Modelo Relacional, Modelo de Red y Modelo Jerárquico.
Modelos físicos de datos. Se usan para describir a los datos en el nivel más bajo, aunque existen muy pocos modelos de este tipo, básicamente capturan aspectos de la implementación de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son: Modelo unificador y Memoria de elementos. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.4.1 Modelo entidad-relación. Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de entidades, que son objetos que existen y que se distinguen de otros por sus características, por ejemplo: un alumno se distingue de otro por sus características particulares como lo es el nombre, o el numero de control asignado al entrar a una institución educativa, así mismo, un empleado, una materia, etc.
Las entidades pueden ser de dos tipos: Tangibles: Son todos aquellos objetos físicos que podemos ver, tocar o sentir. Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.
Las características de las entidades en base de datos se llaman atributos, por ejemplo el nombre, dirección teléfono, grado, grupo, etc. son atributos de la entidad alumno; clave, número de seguro social, departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con más entidades a través de
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.4.1 Modelo entidad-relación. El modelado entidad-relación es una técnica para el modelado de datos utilizando diagramas entidad relación. No es la única técnica pero sí la más utilizada. El E-R consiste en los siguientes pasos:
Bases de Datos I
Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). Se hace una lista de los sustantivos y verbos que aparecen. Los sustantivos son posibles entidades o atributos. Los verbos son posibles relaciones. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. Se elabora el diagrama (o diagramas) entidad-relación. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama. Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
cita a
artículo
es escrito por
Diagrama E-R de Autores de artículos
autor
pertenece a
institución
Entidad: objeto (real o abstracto) acerca del cual se recoge información de interés para la base de datos. Relación: asociación o correspondencia existente entre entidades. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Fecha 1:N
Cliente
1
*
Realiza
Pedido *
RFC
artículos
Se compone de
*
NSerie
N:M
Cantidad
Atributos: cada una de las propiedades o características de una entidad o relación. Uno a uno 1:1 Cardinalidad: nº máximo y nº mínimo de Una a muchos 1:N ó 1: * ocurrencias de cada entidad que intervienen Muchos a muchos N:M en la relación. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.4.2 Modelo relacional
RFC
En este modelo se representan los datos y las relaciones entre estos, a través de una colección de tablas, en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendrá la base de datos y las columnas corresponden a las características (atributos) de cada registro localizado en la tupla; Considerando nuestro ejemplo del y el artículo: Nombre Puesto Salario
BOJF880101
Francisca Bojorges Jímenez
Vendedor
3500
CUOG881101
Cruz Ortiz Gemma
Vendedor
3500
CICA880901
Chinchilla Cortés Areli
Vendedor
3500
GAGH881226
García Gaspar Hermenegildo
Vendedor
3500
Relación: artículo
Relación: empleado
¿cómo se representan las relaciones entre las entidades en este modelo? Bases de Datos I
Clave
Descripción
Costo
P001
Microsoft Office 2007
5750
P002
Microsoft Windows Vista
3800
P003
WebSphere Modeler
15000
P004
Suite Lotus
4900
P005
Aris Modeler
18000
P006
WebSphere Monitor
18000
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.4.2 Modelo relacional Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: Es un atributo el cual definimos como atributo principal, es una forma única de identificar a una entidad. Por ejemplo, el RFC de un empleado se distingue de otro por que los RFC no pueden ser iguales.
Ahora si, las formas de representar las relaciones en este modelo son: 1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relación. Tomando en cuenta que la llave primaria del empleado es su RFC, y la llave primaria del artículo es la Clave. 2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de laRFC otra tabla. Clave Clave
Descripción
Costo
RFC
P001
BOJF880101
P001
Microsoft Office 2007
5750
BOJF880101
P002
CICA880901
P002
Microsoft Windows Vista
3800
CICA880901
P003
GAGH881226
P003
WebSphereModeler
15000
GAGH881226
P004
CICA880901
P004
Suite Lotus
4900
CICA880901
P005
P005
Aris Modeler
18000
CUOG881101
P006
CUOG88110 1 BOJF880101
P006
WebSphere Monitor
18000
BOJF880101
P001
CICA880901
P001
Microsoft Office 2007
5750
CICA880901
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Ejercicio Analiza las dos soluciones anteriores del modelo relacional. Indica cuáles son las ventajas y las desventajas de cada una de ellas.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.4.3 Modelo de redes. Representa los datos mediante colecciones de registros y sus relacione se representan por medio de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan en un conjunto de gráficas arbitrarias. BOJF880101
CUOG881101
CICA880901
GAGH881226
Francisca Bojorges Jímenez
Cruz Ortiz Gemma
Chinchilla Cortés Areli
Vendedor
Vendedor
P001
Microsoft Office 2007
5750
P006
WebSphere Monitor
18000
3500
Vendedor
García Gaspar Hermenegildo
3500
P005
Aris Modeler
P002
Microsoft Windows Vista
3800
P004
Suite Lotus
4900
3500
Vendedor
3500 P003
Bases de Datos I
18000
Universidad del Mar - 07/2008
WebSphere Modeler
15000 MTI Remedios Fabián Velasco
1.4.4 Modelo jerárquico. Muy parecido al modelo de red en cuanto a las relaciones y datos, ya que éstos se representan por medio de registros y sus ligas. La diferencia radica en que están organizados por conjuntos de árboles en lugar de gráficas arbitrarias. BOJF88010 1
Francisca Bojorges Jímenez
CICA88090 1
Bases de Datos I
Vendedor
Chinchilla Cortés Areli
Vendedor
P001
Microsoft Office 2007
5750
P006
WebSphere Monitor
18000
3500
3500
CUOG881101
GAGH881226
P002
Microsoft Windows Vista
3800
P004
Suite Lotus
4900
Universidad del Mar - 07/2008
Cruz Ortiz Gemma
Vendedor
3500
García Gaspar Hermenegildo
Vendedor
P005
18000
P003
Aris Modeler
WebSphere Modeler
3500
15000
MTI Remedios Fabián Velasco
1.4.5 Modelo orientado a objetos. El modelo orientado a objetos amplía la definición de Entidad para incluir no sólo los atributos que describen el estado del objeto, sino también las acciones asociadas con el objeto, es decir su comportamiento. En este caso, decimos que el objeto encapsula tanto el estado como el comportamiento.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Siguiendo el ejemplo de empleado y artículo: Clases Empleado
Artículo
Atributos o Estado rFC nombre puesto salario
Atributos o Estado clave descripción precio
Mensaje:Vende
Comportamiento o Métodos vender(Artículo)
RFC= BOJF880101 Nombre= Francisca Bojorges Jímenez
Puesto = Vendedor Salario = 3500
Comportamiento o Métodos
Mensaje:Ve nde
Clave = P001 Descripción =
Microsoft Office
2007
Precio =
5750
Instancias = objetos
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.5 Independencia de los datos. Se refiere a la protección contra los programas de aplicación que puedan originar modificaciones cuando se altera la organización física o lógica de la base de datos. Existen dos niveles de independencia de datos.
Bases de Datos I
Independencia física de datos: Es la capacidad de modificar el esquema físico sin provocar que se vuelvan a escribir los programas de aplicación. Independencia lógica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicación. Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.6 Lenguaje de definición de datos. Data definition language (DDL). Un lenguaje que permite al DBA o al usuario describir y nombrar las entidades, atributos y relaciones requeridas por la aplicación, junto con cualquier restricción asociada de integridad y seguridad. Permite especificar los tipos de datos, estructuras y restricciones de los datos. Integridad Seguridad Todas las especificaciones son almacenadas en la base de datos.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.7 Lenguaje de manejos de base de datos. Data manipulation language (DML). Facilidad para la obtención de datos específicos (lenguaje de consulta). Provee operaciones básicas de manipulación de datos que se encuentran almacenado en la base de datos.
DML Procedural Permite al usuario decirle al sistema exactamente como manipular los datos.
DML No Procedural Permite al usuario definir que datos necesita más que como manipularlos. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.8 Sistemas de Gestión de Base de Datos. Un sistema de software que permite a los usuarios definir, crear, mantener y controlar el acceso a la base de datos. Es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea específica. El objetivo primordial de un sistema de gestión de base de datos es proporcionar un entorno que sea conveniente y eficiente para extraer, almacenar y manipular información de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente, por lo que este paquete funciona como interfase entre los usuarios y la base de datos. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Historia de los Sistemas de Base de Datos Primera generación Jerárquica De red
Segunda generación Relacional
Tercera generación Entidad relación Orientadas a objetos
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Funciones del SGBD Almacenamiento, actualización y extracción de datos. Debe proporcionar a los usuarios la
capacidad de almacenar, extraer y actualizar datos de la base de datos. Ocultar detalles internos de implementación física.
Un catálogo accesible por el usuario. Proporcionar un catálogo en el que se almacenan las descripciones de los elementos de datos y que sea accesible por parte de los usuarios. Es un repositorio de información que describe los datos contenidos en la base de datos, es decir, los “datos acerca de los datos” o metadatos.
Soporte de transacciones. Debe proporcionar un mecanismo que garantice que se lleve a cabo todas las
actualizaciones correspondientes a una determinada transacción, o que no se lleve ninguna. Una transacción es una serie de acciones, mediante las cuales se accede al contenido de DB, acciones de un único usuario o programa de aplicación. Si fallará la transacción la BD quedaría en estado incoherente.
Servicios de control de concurrencia. Proporcionar un mecanismo para garantizar que la BD se actualice correctamente cuando haya múltiples usuarios actualizando de manera concurrente la base de datos.
Servicios de recuperación. mecanismo para recuperar la BD si resulta dañada de alguna forma. Falla de hardware, error de software, fallo de soporte físico, el usuario aborte la aplicación.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Funciones del SGBD Servicios de autorización. Proporcionar un mecanismo para garantizar que sólo los usuarios autorizados puedan acceder a la base de datos. Seguridad hace referencia a la ptotección frente accesos no autorizados.
Soporte para la comunicación de datos. Debe poder integrarse con software de comunicaciones. El SGBD recibe solicitudes en forma de mensajes de comunicacións y responde a ellas de forma similar. Procesamiento distribuido.
Servicios de integridad. Proporcionar un medio de garantizar que tanto los datos de la BD como los cambios
efectuados en los mismos se adecuen a ciertas reglas. Integridad es la corrección y coherencia de datos almacenados. La integridad esta relacionada con la CALIDAD de los propios datos. Se suele expresar en términos de restricciones que son reglas de coherencia que la BD no debe violar.
Servicios para mejorar la independencia de los datos. Incluir funcionalidades para permitir que los programas sean independientes de la estructura real de la base de datos. La independencia se consigue mediante mecanismos de vistas.
Servicios de utilidad. Proporcionar una serie de servicios de utilidad. Ayudan al DBA a administrar la DB de
forma efectiva. Utilidades que funcionan a nivel interno y externo: Importación, Monitorización, Análisis estadístico. Reorganización de índices, recolección y reasignación de memoria.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.9 Administrador de la base de datos (DBA). Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente tiene (n) experiencia en DBMS, diseño de bases de datos, Sistemas operativos, comunicación de datos, hardware y programación.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.10 Usuarios de la base de datos.
Administrador de Datos (DA) Administrador de la Base de Datos(DBA) Diseñadores de la base de datos (Lógica y física) Programadores de aplicaciones (Visión) Usuarios finales (Ingenuos y sofisticados) Usuarios sofisticados. Interactúan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. Usuarios especializados. Usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. Usuarios ingenuos. Podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseño interno del mismo por ejemplo: un cajero.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.11 Estructura general del sistema.
Hardware Abarca desde una PC hasta una red de computadoras. Software DBMS ó SGBD, sistema operativo, software de red (si fuera necesario) y programas de aplicación. Datos Datos utilizados por la organización y una descripción de esos datos, llamado esquema. Procedimientos Instrucciones y reglas que deberían ser aplicados al diseño y uso de la base de datos y el DBMS. Personas Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Componentes de un SGBD Procesador de consultas. Transforma consultas en instrucciones de bajo nivel. Gestor de BD. Comunica las consultas enviadas por usuarios y aplicaciones, llama al gestor de archivos para satisfacer esas solicitudes. Gestor de archivos. Manipula los archivos de almacenamiento subyacentes y gestiona la asignación de espacio de memoria Preprocesador DML. Convierte instrucciones DML a funciones en el lenguaje host. Compilador DDL. Convierte instrucciones DDL en tablas que contienen metadatos. Gestor de catálogo. Gestiona y mantiene el catálogo del sistema. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Componentes de un SGBD
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Componentes de un GBD Control de autorización. Comprobar autorizaciones de los usuarios. Procesador de comandos. Una vez comprobada la autorización pasa el control al procesador de comandos. Comprobador de integridad. Verifica que la operación solicitada satisface todas las restricciones de integridad. Optimizador de consultas. Determina estrategia óptima para la ejecución de consultas. Gestor de transacciones. Procesamiento requerido para las operaciones que recibe de las transacciones. Planificador. Garantiza que las operaciones concurrentes no entren en conflicto unas con otras. Gestor de recuperación. Garantiza la coherencia de la base de datos cuando se produzcan fallos. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Componentes de un GBD
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Tarea Analizar el SGBD que utilizarán Elegir qué SGBD utilizar (VFP, Access, Postgress) Analizar cuál de las funciones vistas soporta En qué generación de SGBD lo clasificarían.
Enviar la tarea a mi correo, toda copia será sancionada.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12 Arquitectura de sistemas de bases de datos. La arquitectura de los sistemas de bases de datos está enormemente influenciada por el sistema informático en el que se ejecuta el sistema de bases de datos. Los sistemas de bases de datos pueden ser centralizados o cliente-servidor, donde una máquina que hace de servidor ejecuta trabajos de múltiples máquinas clientes. Los SGBD también pueden diseñarse para explotar las arquitecturas paralelas de computadoras. Las bases de datos distribuidas abarcan muchas máquinas separadas geográficamente. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.1 Sistemas centralizados. Los sistemas de bases de datos centralizados son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora. Un sistema monousuario típico es una unidad de sobremesa utilizada por una única persona que dispone de una sola CPU, de uno o dos discos fijos y que trabaja con un sistema operativo que sólo permite un único usuario. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.1 Sistemas centralizados.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.1 Sistemas centralizados. No tienen control de concurrencia, que no es necesario cuando solamente un usuario puede generar modificaciones. Las facilidades de recuperación en estos sistemas o no existen o son primitivas; por ejemplo, realizar una copia de seguridad de la base de datos antes de cualquier modificación. La mayoría de estos sistemas no admiten SQL y proporcionan un lenguaje de consulta muy simple que, en algunos casos, es una variante de QBE. En cambio, los sistemas de bases de datos diseñados para sistemas multiusuario soportan todas las características de las transacciones.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.1 Sistemas centralizados. Por el contrario un sistema multiusuario típico tiene más discos y más memoria, puede disponer de varias CPU y trabaja con un sistema operativo multiusuario. Se encarga de dar servicio a un gran número de usuarios que están conectados al sistema a través de terminales.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.1 Sistemas centralizados. Desventajas Enorme carga de trabajo a la computadora central. La computadora central tenía que ejecutar el SGBD y las aplicaciones. La computadora central es la encargada también de llevar a cabo las tareas por cuenta de las terminales, por ejemplo formatear los datos para la visualización en pantalla.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura de Servidor de Archivo Procesamiento distribuido en toda la red. Arquitectura de servidor de archivos Características: El servidor almacena los archivos que el SGBD y las aplicaciones necesitan. El SGBD y las aplicaciones se ejecutan en cada estación de trabajo, solicitando el archivo al servidor cada vez que es necesario Desventajas: Gran cantidad de tráfico en la red Una copia del SGBD en cada estación de trabajo El control de concurrencia, integridad y recuperación son muy complejos. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.2 Sistemas cliente/servidor. Las PC son ahora más rápidas, más potentes y más baratas,
los sistemas se han ido distanciando de la arquitectura centralizada. Como consecuencia, los sistemas centralizados actúan hoy como sistemas servidores que satisfacen las peticiones generadas por los sistemas clientes. El término cliente-servidor hace referencia ala forma en que interactúan los componentes de para formar el sistema. Hay un proceso cliente que necesita algún recurso y un servidor que proporciona el recurso. No es obligatorio que el cliente y el servidor residan en la misma máquina.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.2 Sistemas cliente/servidor. La funcionalidad de una base de datos se puede dividir a
grandes rasgos en dos partes: la parte visible al usuario y el sistema subyacente. El sistema subyacente gestiona el acceso a las estructuras, la evaluación y optimización de consultas, el control de concurrencia y la recuperación. La parte visible al usuario de un sistema de base de datos está formado por herramientas como formularios, diseñadores de informes y facilidades gráficas de interfaz de usuario. La interfaz entre la parte visible al usuario y el sistema subyacente puede ser SQL o una aplicación.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.2 Sistemas cliente/servidor. Los sistemas servidores de transacciones o servidores de consultas, proporcionan una interfaz a través de la cual los clientes pueden enviar peticiones para realizar una acción que el servidor ejecutará y cuyos resultados se devolverán al cliente. Los sistemas servidores de datos permiten a los clientes interaccionar con los servidores realizando peticiones de lectura o modificación de datos en unidades tales como archivos o páginas. Los servidores de datos de los SGDB soportan unidades de datos de menor tamaño que los archivos, como páginas, tuplas u objetos. Proporcionan facilidades de indexación de datos, así como facilidades de transacción de modo que los datos nunca se quedan en un estado inconsistente si falla una máquina cliente o un proceso.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.2 Sistemas cliente/servidor. La arquitectura del servidor de transacciones es, la arquitectura más ampliamente utilizada. un sistema servidor de transacciones típico consiste en múltiples procesos accediendo a los datos en una memoria compartida
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura cliente-servidor en dos niveles. El cliente (nivel 1) es responsable de la presentación de los datos al usuario. El servidor (nivel 2) es responsable de suministrar servicios de datos al cliente Ventajas: Amplio acceso a BD existentes. Alto y creciente desempeño. Reducción en el costo de hw. Reducción en el costo de comunicación. Incrementa la consistencia. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura cliente-servidor en dos niveles.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura cliente-servidor en dos niveles. El lado del cliente presentaba dos problemas relacionados con la escalabilidad. Cliente ‘Gordo’, necesitaba demasiados recursos para correr efectivamente (memoria, procesador, velocidad de procesamiento, etc). Las tareas de administración del lado del cliente eran bastante significativas.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura cliente-servidor en tres niveles. Surge en 1995. La nueva arquitectura proponía tres niveles cada uno de los cuales corre en diferentes plataformas. Nivel 1. Interfaz de usuario. Se ejecuta en la computadora del usuario final (Cliente delgado) Nivel 2. Lógica del negocio y procesamiento de datos. Se ejecuta en un servidor que a menudo se denomina servidor de aplicaciones. Nivel 3. SGBD. Almacena los datos requeridos por el nivel intermedio. Este nivel puede ejecutarse en un servidor independiente, denominado servidor de base de datos.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura clienteservidor en tres niveles.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura cliente-servidor en tres niveles. Ventajas El hardware es menos costoso ya que utiliza “clientes delgados”. El mantenimiento de las aplicaciones esta centralizado, al transferir la lógica de negocios desde las plataformas de los usuarios finales a un único servidor de aplicaciones. Elimina problemas de distribución de sw. Mayor modularidad, resulta mas sencillo modificar o sustituir uno o dos niveles sin que los otros se vean afectados. Resulta más fácil equilibrar la carga de procesamiento al separar la lógica principal de negocio de las funciones de base de datos. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura cliente-servidor en multi-niveles. La arquitectura multinivel se utiliza en aquellas aplicaciones que pueden beneficiarse de ser divididas en capas de componentes. La suma de los niveles forma el todo. La integridad de cada nivel queda independiente de los otros.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Arquitectura cliente-servidor en multi-niveles. En las aplicaciones Interfaz
Bases de Datos I
Multi-niveles, los tres componentes están contenidos en capas totalmente independientes y separadas. Esta separación entre las capas de Tecnología, Reglas de Negocio y Base de datos, posibilita utilizar, reemplazar o re-utilizar cada componente, en nuevas combinaciones conforme a requisitos empresariales
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.3 Sistemas paralelos. Mejoran la velocidad de procesamiento y de E/S mediante la utilización de CPU y discos en paralelo. La fuerza que ha impulsado a los sistemas paralelos de bases de datos ha sido la demanda de aplicaciones que manejan bases de datos muy grandes (del orden de terabytes, esto es, 1012 bytes) o que tienen que procesar un número enorme de transacciones por segundo (del orden de miles de transacciones por segundo). Los sistemas de bases de datos centralizados o cliente-servidor no son suficientemente potentes para soportar tales aplicaciones. Una máquina paralela de grano grueso consiste en un pequeño número de potentes procesadores; una máquina masivamente paralela o de grano fino utiliza miles de procesadores más pequeños.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.3 Sistemas paralelos. La ganancia de velocidad y la ampliabilidad son dos aspectos importantes en el estudio del paralelismo. La ganancia de velocidad se refiere a la ejecución en menos tiempo de una tarea dada mediante el incremento del grado de paralelismo. La ampliabilidad se refiere al manejo de transacciones más largas mediante el
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.3 Sistemas paralelos.
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.4 Sistemas distribuidos. En un sistema distribuido de bases de datos se almacena la base de datos en varias computadoras. Varios medios de comunicación, como las redes de alta velocidad o las líneas telefónicas, son los que pueden poner en contacto las distintas computadoras de un sistema distribuido. No comparten ni memoria ni discos. Las computadoras de un sistema distribuido pueden variar en tamaño y función pudiendo abarcar desde las estaciones de trabajo a los grandes sistemas. Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.4 Sistemas distribuidos.
Las bases de datos distribuidas normalmente se encuentran en varios lugares geográfico Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
1.12.4 Sistemas distribuidos. Datos compartidos. La principal ventaja de construir un sistema distribuido de bases de datos es poder disponer de un entorno donde los usuarios puedan acceder desde una única ubicación a los datos que residen en otras ubicaciones. Autonomía. La principal ventaja de compartir datos por medio de distribución de datos es que cada ubicación es capaz de mantener un grado de control sobre los datos que se almacenan localmente. Disponibilidad. Si un sitio de un sistema distribuido falla, los sitios restantes pueden seguir trabajando. En particular, si los elementos de datos están replicados en varios sitios, una transacción que necesite un elemento de datos en particular puede encontrarlo en varios sitios. De este modo, el fallo de un sitio no implica la caída
Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Tarea Imagina que te encuentras a cargo de las operaciones de la base de datos de una empresa cuyo trabajo principal es el de procesar transacciones. La empresa crece rápidamente cada año y el sistema informático actual se ha quedado pequeño. ¿Qué arquitectura sería más conveniente para la BD de tu empresa? ¿Qué o cuáles factores consideraste para tu decisión y por qué? Enviar por correo con Nombre de archivo: Tarea4-NomAlumno.doc ej: Tarea4Areli.doc Bases de Datos I
Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco
Bibliografía utilizada Libros:
Fundamentos de Bases de Datos. Abraham Silberschatz, Henry F. Korth, S. Sudarshan Sistemas de Bases de Datos. Thomas M. Connolly y Carolyn Begg
Papers:
A relational model of data for large shared data banks. E.F. Codd. IBM Research Laboratory San Jose California. 1983. El modelo relacional de bases de datos. Javier Quiroz. Boletín de Política Informática 2003.
Imágenes: Bases de Datos I
Libro de Silberschatz Diapositivas de apoyo del libro de Connolly Universidad del Mar - 07/2008
MTI Remedios Fabián Velasco