Beruflich Dokumente
Kultur Dokumente
Mdulo I: Introduccin
.- Conceptos Generales
Conceptos
Qu es Dato? Qu es Informacin? Qu es un Campo? Qu es un Registro? Qu es un Archivo? Qu es un Modelo de Datos? Qu es una Base de Datos?
Conceptos
Dato = es el elemento primario del concepto Informacin, es una palabra en singular que se refiere a un hecho.
Se puede mencionar que es la representacin convencional de una unidad mnima de informacin.
Informacin = es un conjunto organizado de datos que constituye un mensaje sobre un cierto fenmeno, ente o persona, lo cual nos puede ayudar a resolver problemas y tomar decisiones, ya que su uso racional es en base al conocimiento. Campo = es una columna o pieza de informacin. Registro o Tupla = es un sistema o conjunto completo de campos, con sus respectivos datos.
6
Conceptos
Archivo o Fichero = es una coleccin o conjunto organizado de registros. Ejemplo: una agenda telefnica es un archivo, esto ya que contiene una lista de registros, cada uno de los cuales consiste en varios campos como: nombre, apellido_1, apellido_2, direccin, nmero de telfono, nmero de celular, etc
Modelo de Datos = Es un conjunto de datos almacenados entre los que existen relaciones lgicas, diseadas para satisfacer los requerimientos de informacin de una empresa u organizacin.
Base de Datos (BD) = Tcnicamente se puede ver como un almacn de datos relacionados con diferentes modos de organizacin, diseado para representar algunos aspectos del mundo real, de inters al diseador de la mismo.
Conceptos
Base de Datos (BD) = Es una entidad administrada, en la cual se pueden almacenar datos de manera estructurada y relacionada, con la menor redundancia posible para que diferentes programas y usuarios puedan utilizar estos datos. Una base de datos es un sistema de archivos o ficheros electrnicos.
Los datos almacenados en una base de datos deben presentar las siguientes propiedades:
Estructurados, para facilitar la comparticin de los datos por aqullos que lo necesiten.
Operacionales y transaccionales, lo que permite manipularlos aplicando operadores para obtener los resultados deseados. Las operaciones transaccionales garantizan que se completar la operacin o por el contrario, si esto no es posible, no se realizar ningn cambio.
Con sentido semntico, es decir, que tengan un significado concreto. ntegros, en el sentido de que deberan siempre reflejar una realidad existente, sin inconsistencias ni contradicciones.
10
Una base de datos proporciona a los usuarios el acceso a datos para que puedan visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. Se convierte ms til a medida que la cantidad de datos almacenados crece. Una base de datos puede ser local, es decir que puede utilizarla slo un usuario en un equipo, o puede ser distribuida, es decir que la informacin se almacena en equipos remotos y se puede acceder a ella a travs de una red.
La principal ventaja de utilizar bases de datos es que mltiples usuarios pueden acceder a ellas al mismo tiempo.
11
Las caractersticas elementales que debe reunir una base de datos son las siguientes:
Integridad: Una base de datos puede considerarse como una unificacin de varios archivos de datos independientes, donde se elimina parcial o totalmente cualquier redundancia entre ellos. Hay que mantener la coherencia entre todos los datos y, para ello, se pueden emplear ms normas de entrada o reglas de validacin. Comparticin: Las partes individuales de la base de datos han de poder ser compartidas entre varios usuarios distintos, mantenindose la integridad entre los datos. Proteccin Contra Fallos: Es necesario chequear la integridad de los datos en todo momento y guardar siempre copia de seguridad ante la eventualidad de catstrofes.
12
Restricciones de Seguridad y Confidencialidad: Para mantener la seguridad en el acceso a los datos, los administradores de la base de datos han de crear una jerarqua de acceso, que permitir o impedir a los usuarios hacer una u otra accin sobre dicha base de datos. Interfaz de Alto Nivel: La base de datos ha de poder ser accedida y modificada mediante lenguajes tipo SQL (query). Mltiples Vistas de los Datos: Debe ser posible recuperar la informacin deseada de la base de datos en el formato requerido: listados, grficos, etc.
13
Las ventajas que se desprenden de la utilizacin de las bases de datos son las siguientes:
Independencia de los Datos Respecto a los Tratamientos y Viceversa: Un cambio en los tratamientos no impone un nuevo diseo lgico y/o fsico de la base de datos. Coherencia de los Resultados: En todos los tratamientos se utilizan los mismos datos, por lo que los resultados de stos son coherentes y comparables. Mejor Disponibilidad de los Datos para el Conjunto de los Usuarios: Los datos se comparten entre las aplicaciones, existiendo una mayor disponibilidad y una transferencia ms eficiente.
Mayor Valor Informativo: El valor informativo del conjunto de datos es superior a la suma del valor informativo de los elementos individuales.
14
Mejor y Ms Normalizada Documentacin: La mayora de los SGBD incluyen una descripcin de los datos dentro del sistema. Mayor Eficiencia en la Captura, Validacin e Ingreso de Datos al Sistema: Por no existir redundancia de datos. Reduccin del Espacio de Almacenamiento: La disminucin de redundancias y las tcnicas de compactacin hacen que disminuya el espacio en disco.
15
16
Otra forma de ver las diferentes ventajas de una base de datos es la siguiente:
Independencia de datos y tratamiento. Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento). Coherencia de resultados. Reduce redundancia : Acciones lgicamente nicas. Se evita inconsistencia. Mejora en la disponibilidad de datos No hay dueo de datos (No igual a ser pblicos). Ni aplicaciones ni usuarios. Guarda descripciones (Idea de catlogos).
17
Otra forma de ver las diferentes ventajas de una base de datos es la siguiente:
Cumplimiento de Ciertas Normas. Restricciones de seguridad. Accesos (Usuarios a datos). Operaciones (Operaciones sobre datos).
18
Instalacin Costosa: ya que se necesitan equipos, nuevas instalaciones o ampliaciones, sistemas operativos, compiladores, SGBD comerciales, computadores mayores, etc. Personal Especializado: Se requiere disponer de conocimientos especficos. Desfase Entre Teora y Prctica: Muchos ejecutivos asumen que ciertas capacidades de las bases de datos son ya posibles, cuando, en realidad, son estudios tericos que requieren un desarrollo prctico.
19
20
Preguntas???
Es el software que apoya a las bases de datos locales, cuando se hace necesaria una consulta global y guardando transparencia al usuario Es un conjunto integrado de programas, procedimientos y lenguajes, que suministran tanto a usuarios no informticos como analistas, programadores o DBAs, los medios necesarios para describir, recuperar y manipular los datos, manteniendo su integridad, confidencialidad y seguridad Es la una interfaz grafica entre el usuario y la BD
22
Proporcionar un entorno que sea a la vez conveniente y eficiente al ser utilizado para extraer y almacenar informacin en la base de datos Suministrar la interfaz entre el conjunto de datos y los usuarios Proporcionar herramientas que permitan la automatizacin de procesos sobre los datos almacenados
23
De Descripcin o Definicin.
Para especificar los datos que integran la base de datos, estructura y relaciones entre ellos, reglas de integridad semntica, controles de acceso, as como las caractersticas fsicas y lgicas. Esta funcin la realiza el Lenguaje de Descripcin de Datos, propio del SGBD.
De Manipulacin:
Permite a los usuarios buscar, eliminar o modificar los datos de la base de datos, de acuerdo con las normas de seguridad, lo que se realiza mediante el Lenguaje de Manipulacin de Datos.
24
De Utilizacin:
Rene todas las interfaces que necesitan los diferentes tipos de usuarios para comunicarse con la base de datos y proporciona un conjunto de procedimientos para el administrador.
25
Caractersticas:
Permitir consultas no predefinidas y complejas. Flexibilidad a los cambios. Que tengan independencia fsica de los datos (que los cambios tecnolgicos o fsicos no afecten a nadie) e independencia lgica (que diferentes procesos usuarios puedan tener distintas visiones lgicas de una misma base de datos). Facilitar la eliminacin de la redundancia, manteniendo la integridad de la base de datos y actualizando los datos. Integridad de los datos, respetando las reglas de integridad del modelo (por ejemplo, que una tabla no tenga filas duplicadas).
26
Caractersticas:
Todo SGBD debe disponer de procesos de restauracin o reconstruccin de la base de datos (restore o recovery) a estados anteriores (por ejemplo, mediante copias de seguridad). Seguridad en el sentido de confidencialidad, autorizaciones, derechos de acceso, encriptacin de contraseas, etc. Concurrencia de diversos usuarios a la misma base de datos, superando los problemas de interferencia, mediante el concepto de transaccin (conjunto de operaciones simples que se ejecutan como una unidad, nunca parcialmente, o se ejecutan todas o ninguna). Para evitar interferencias entre transacciones se usan tcnicas como el bloqueo (consistente en que las otras transacciones no pueden acceder a los datos hasta que la actual acabe).
27
28
El SGBD (DBMS) Externo, tambin es conocido tcnicamente con el nombre de Gestor de Consultas del SGBD. El SGBD (DBMS) Interno, tambin es conocido tcnicamente con el nombre de Gestor de Archivos del SGBD. Al Sistema de Administracin de Archivos, tambin es conocido tcnicamente con el nombre de Gestor de Disco del Sistema Operativo .
29
Ejemplos de SGBD
Informix IBM DB2 Ingres Interbase Microsoft SQL Server (2000, 2005, 2008) Oracle Sybase MySQL SQL Xpress Postgre SQL
30
Preguntas???
Es el nivel real de los datos almacenados. Es decir como se almacenan los datos, ya sea en registros , o archivos. Este nivel es usado por muy pocas personas, ya que deben estar calificadas para ello. Este nivel lleva asociada una representacin de los datos, que es lo que denominamos Esquema Fsico.
Es el correspondiente a una visin de la BD desde el punto de visto del mundo real. Es decir tratamos con la entidad u objeto representado, sin importarnos como est representado o almacenado. Este nivel lleva asociado el Esquema Conceptual.
32
Son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios por lo general slo tienen acceso a pequeas parcelas de sta.
El nivel visin es el encargado de dividir estas parcelas. Un ejemplo sera el caso del empleado que no tiene porqu tener acceso al sueldo de sus compaeros o de sus superiores. El esquema asociado a ste nivel es el Esquema de Visin.
33
Modelos de Datos
Modelo: es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar. En base de datos, esta representacin la elaboramos de forma grfica.
Modelo de Datos: es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia.
34
Modelos de Datos
Se usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo representamos los datos de tal forma como nosotros los captemos en el mundo real, tienen una capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos explcitamente. Existen diferentes modelos basados en Objetos, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin.
1.1.- Modelo Entidad-Relacin. ( Clase # 2 ) 1.2.- Modelo Orientado a Objetos. 1.3.- Modelo de Datos Semntico. 1.4.- Modelo de Datos Funcional .
35
Modelos de Datos
Se utilizan para describir datos en los niveles conceptual y fsico. 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 lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la implementacin. Los tres modelos de datos ms ampliamente aceptados son:
2.1.- Modelo de Red. 2.2.- Modelo Jerrquico. 2.3.- Modelo Relacional. ( Clase # 3 )
36
Modelos de Datos
Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos modelos de este tipo, bsicamente capturan aspectos de la implementacin de los sistemas de base de datos.
Existen dos clasificaciones de este tipo que son:
3.1.- Modelo unificador. 3.2.- Memoria de elementos.
37
Preguntas???
Con este modelo representamos al mundo real como registros lgicos que se reflejan en una entidad y que se relacionan entre s por medio de flechas.
Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio de ligas o enlaces, los cuales pueden verse como punteros.
Los registros se organizan en un conjunto de grficas arbitrarias.
39
40
Tiene forma de rbol invertido. Un padre puede tener varios hijos pero cada hijo slo puede tener un padre.
41
Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por medio de registros y sus ligas. La diferencia radica en que estn organizados por conjuntos de arboles en lugar de grficas arbitrarias.
42
Preguntas???
Con el paso del tiempo la informacin que se va acumulando y desechando en la base de datos, ocasiona que est cambie, lo que da el origen a las instancias y a los esquemas de BDs.
Instancia
Se denomina instancia al estado que presenta una base de datos en un tiempo dado. Vemoslo como una fotografa que tomamos de la base de datos en un tiempo t, despus de que transcurre el tiempo t la base de datos ya no es la misma.
44
Esquema
Es la descripcin lgica de la base de datos, encargada de proporcionar los nombres de las entidades y sus atributos especificando las relaciones que existen entre ellos.
Es un banco en el que se inscriben los valores que irn formando cada uno de los atributos. El esquema no cambia los que varan son los datos y con esto tenemos una nueva instancia.
45
Considerando el ejemplo del vendedor que vende artculos, esquema e instancia segn nuestro ejemplo, quedara:
Esquema:
Instancia:
Como podemos observar el esquema nos muestra la estructura en el cual se almacenaran los datos, en este caso en registros cuyos nombres de campos son: por parte del vendedor (Nombre, Puesto, Salario, RFC) y por el artculo (Clave, Costo, Descripcin). La instancia representa a una serie de datos almacenados en los registros establecidos por el esquema, estos datos varan, no permanecen fijos en el tiempo.
46
Cuando hablamos de termino Independencia de Datos, nos referimos a la proteccin contra los programas o aplicaciones, los cuales puedan originar modificaciones cuando se altera la organizacin fsica o lgica de la base de datos. Existen 2 niveles de independencia de datos.
Es la capacidad de modificar el esquema fsico sin provocar que se vuelvan a escribir los programas de aplicacin.
Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicacin.
47
Lenguajes de Datos
Existen dos tipos de lenguajes para la manipulacin de los datos en una BD, los cuales mencionaremos a continuacin:
Permite definir un esquema de base de datos por medio de una serie de definiciones que se expresan en un lenguaje especial, el resultado de estas definiciones se almacena en un archivo especial llamado diccionario de datos.
Permite hacer la manipulacin de datos, mediante las operaciones de insertar, recuperar, eliminar o modificar datos, adems de permitir el acceso de los usuarios a los datos.
48
Lenguajes de Datos
LMD Procedimentales:
Es aquel lenguaje donde se requiere que el usuario especifique que datos necesita y cmo obtenerlos.
LMD No Procedimentales:
Es aquel lenguaje donde se requieren que el usuario especifique que datos necesita, pero esta vez sin especificar cmo obtenerlos.
49
Preguntas???
Fin Clase # 2
Introduccin
Para estar claros en el contexto de diseo de BDs, debemos tener en nuestro conocimiento los conceptos bsicos que hacen referencia a dicho tema, entre ellos tenemos:
Dato Informacin Campo Registro o Tupla Archivo o Fichero Modelo de Datos Base de Datos (BD)
A nivel de historia, el Modelo Entidad-Relacin es un concepto de modelado para BDs, propuesto por Peter Chen en 1976, mediante el cual se pretende 'visualizar' los objetos que pertenecen a una BD como entidades, las cuales tienen unos atributos y se vinculan mediante relaciones.
59
Modelo Entidad-Relacin Es
El modelo de datos basado en una percepcin del mundo real que consiste en un conjunto de objetos bsicos llamados entidades y relaciones entre estos objetos. El encargado de describir los datos tanto en los niveles conceptuales, como a niveles de vistas. Una manera de generar la representacin conceptual de la informacin. Es una tcnica para el modelado de datos utilizando diagramas entidad relacin. No es la nica tcnica utilizada en el diseado de BDs, pero s la ms utilizada. El modelo E-R, tiene su implementacin grfica mediante lo que se conoce como el Diagrama Entidad-Relacin.
60
Se parte de una descripcin textual del problema o sistema de informacin 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-relacin. Se completa el modelo con listas de atributos y una descripcin de otras restricciones que no se pueden reflejar en el diagrama.
61
Dado lo rudimentario de estas tcnicas o pasos, se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos.
Adems hay que complementar que el modelado de datos mediante el uso del modelos E-R, no acaba con el uso de esta tcnica, siempre se necesitan otras tcnicas para lograr un modelo que sea aplicado ya en un SGBD. Brevemente, se mencionan algunas tcnicas que complementan el modelo E-R:
Normalizacin de relaciones.
Conversin de datos en tablas
62
El modelo E-R se basa en los conceptos descritos a continuacin para representar un modelo de la vida real:
Entidades.
Conjunto de Entidades. Relaciones o Asociaciones. Conjuntos de Relaciones. Atributos. Herencia. Composicin.
63
Por ejemplo:
Un alumno se distingue de otro por sus caractersticas particulares como el nombre, el numero de carnet asignado al entrar a la Universidad, as mismo una materia que lleva.
64
Tangibles :
Son todos aquellos objetos fsicos que podemos ver, tocar o sentir.
Intangibles:
Son 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.
65
Por ejemplo:
El conjunto de entidades CUENTA, podra representar al conjunto de cuentas de un banco X. El conjunto de entidades ALUMNO representa a un conjunto de entidades de todos los alumnos que existen en una institucin.
66
Relaciones = se encargan de describe cierta dependencia entre entidades, adems de permitir la asociacin de las mismas.
Una relacin tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, Un Husped (entidad), se aloja (relacin) en una habitacin (entidad).
67
Conjunto de Relaciones = es un grupo de relaciones del mismo tipo. La cantidad de entidades en una relacin determina el grado de la relacin.
Por ejemplo:
La relacin ALUMNO-MATERIA es de grado 2, ya que intervienen la entidad ALUMNO y la entidad MATERIA, La relacin PADRES, puede ser de grado 3, ya que involucra las entidades PADRE, MADRE e HIJO.
68
Aunque el modelo E-R permite relaciones de cualquier grado, la mayora de las aplicaciones del modelo slo consideran relaciones del grado 2. Cuando son de tal tipo, se denominan relaciones binarias. La funcin que tiene una relacin se llama papel, generalmente no se especifican los papeles o roles, a menos que se quiera aclarar el significado de una relacin.
69
Atributos = son las caractersticas o propiedades asociadas al conjunto de entidades o relaciones y que toman valor en una entidad en particular.
Los posibles o valores puede tomar un atributo para un conjunto de entidades se denomina dominio.
70
Simples o Atmicos: son aquellos que no contienen otros atributos. Compuestos: son los que incluyen otros atributos simples.
Monovalorados o Univalorados: es el atributo que toma un solo valor, para una entidad en particular. Multivalorados: es el atributo que para una misma entidad puede tomar muchos valores. Derivados o Calculados: son aquellos atributos cuyos valores se pueden conseguir con operaciones sobre valores de otros atributos. Nulos: son aquellos atributos para los cuales en algn momento no existe o no se conoce su valor.
71
72
73
Preguntas???
Tipos de Relaciones
Dentro del modelo E-R, tenemos 4 tipos de relaciones que pueden establecerse entre entidades, las cuales establecen con cuantas entidades de tipo B se pueden relacionar una entidad de tipo A .
Relacin Uno a Uno ( 1 1). Relacin Uno a Muchos ( 1 N ). Relacin Muchos a Uno ( N 1 ). Relacin Muchos a Muchos ( N N ).
75
Tipos de Relaciones
Relacin Uno a Uno ( 1 1) = Se presenta cuando existe una relacin como su nombre lo indica uno a uno, denominado tambin relacin de matrimonio. Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y viceversa.
Por ejemplo:
La relacin asignacin de automvil que contiene a las entidades EMPLEADO, AUTO, es una relacin 1 a 1, ya que asocia a un empleado con un nico automvil por lo tanto ningn empleado posee ms de un automvil asignado, y ningn vehculo se asigna a ms de un trabajador.
76
Tipos de Relaciones
77
Tipos de Relaciones
Relacin Uno a Muchos ( 1 N ) = Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de entidades del tipo B, y una entidad del tipo B solo puede estar relacionada con una entidad del tipo A. Su representacin grfica es la siguiente:
Ntese en este caso que el extremo punteado de la flecha de la relacin de A y B, indica una entidad A conectada a muchas entidades B.
78
Tipos de Relaciones
Relacin Muchos a Uno ( N 1 ) = Indica que una entidad del tipo B puede relacionarse con cualquier cantidad de entidades del tipo A, mientras que cada entidad del tipo A solo puede relacionarse con solo una entidad del tipo B. Su representacin grfica es la siguiente:
79
Tipos de Relaciones
Relacin Muchos a Muchos ( N N ) = Establece que cualquier cantidad de entidades del tipo A pueden estar relacionados con cualquier cantidad de entidades del tipo B.
80
Ejemplos de Relaciones
Uno a Uno ( 1 1 ).
Uno a Muchos ( 1 N ).
Cliente Cuenta en un banco. Padre Hijos. Bus Pasajeros. Zoolgico Animales. rbol Hojas.
Muchos a Muchos ( N N ).
Preguntas???
Claves o Llaves
Clave o Llave = Es un subconjunto del conjunto de atributos comunes en una coleccin de entidades, que permite identificar unvocamente cada una de las entidades pertenecientes a dicha coleccin.
Asimismo, permiten distinguir entre s las relaciones de un conjunto de relaciones. Existen varios tipos de claves o llaves, entre las cuales veremos las siguientes:
83
Claves o Llaves
Una clave o llave primaria = es aquella columna (pueden ser tambin dos columnas o ms) que identifica nicamente a esa fila. La clave primaria es un identificador que va a ser nico para cada fila. Se acostumbra poner la clave primaria como la primera columna de la tabla pero esto no tiene que ser necesario, si no es ms una conveniencia. Muchas veces la clave primaria es autonumrica. En una tabla puede que tengamos ms de una clave, en tal caso se puede escoger una para ser la clave primaria, las dems claves son las claves o llaves Candidatas. Adems es la posible clave primaria. Una clave o llave fornea = es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla.
84
Claves o Llaves
Una clave o llave alternativa = es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que tambin puede identificar de forma nica a una fila dentro de una tabla.
Ejemplo:
Si en un tabla clientes definimos el nmero de documento (id_cliente) como clave primaria, el nmero de seguro social de ese cliente podra ser una clave alternativa. En este caso no se us como clave primaria porque es posible que no se conozca ese dato en todos los clientes.
Una clave o llave compuesta = es una clave que est compuesta por ms de una columna.
85
Preguntas???
Diagramas E-R
Formalmente, los diagramas E-R son un lenguaje grfico para describir conceptos. Informalmente, son simples dibujos o grficos que describen la informacin que trata un sistema de informacin y el software que lo automatiza. Repasando:
Entidad = Se representa mediante un rectngulo o "caja" etiquetada en su interior mediante un identificador. Ejemplos de entidades habituales en los sistemas de informacin son: factura, persona, empleado. Atributo = Se representan mediante un crculo o elipse etiquetado mediante un nombre en su interior. Cuando un atributo es identificativo de la entidad se suele subrayar dicha etiqueta. Relaciones = Se representa mediante un rombo etiquetado en su interior con un verbo. Este rombo se debe unir mediante lneas con las entidades (rectngulos) que relaciona.
87
Diagramas E-R
Por motivos de legibilidad, los atributos no suelen representarse en un diagrama entidad-relacin, sino que se describen textualmente en otros documentos adjuntos.
88
Un diagrama E-R, puede ser representado tambin a travs de una coleccin de tablas. Para cada una de las entidades y relaciones existe una tabla nica a la que se le asigna como nombre el del conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un nmero de columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo. La transformacin de nuestro ejemplo Venta en la que intervienen las entidades de Vendedor con los atributos RFC, nombre, puesto, salario y Artculo con los atributos Clave, descripcin, costo.
89
Ntese que en la tabla de relacin Venta, contiene como atributos a las llaves primarias de las entidades que intervienen en dicha relacin, en caso de que exista un atributo en las relaciones, este atributo es anexado como una fila ms de la tabla.
90
Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla que se originaria sera la siguiente:
90
Por motivos de legibilidad, los atributos no suelen representarse en un diagrama entidad-relacin, sino que se describen textualmente en otros documentos adjuntos. Los diagramas E-R por si solos, no cumplen su propsito con eficacia debido a que tienen limitaciones semnticas. Por ese motivo se suelen utilizar los diagramas E-R extendidos, los cuales incorporan algunos elementos ms al lenguaje:
91
Una entidad dbil es aquella que no puede existir sin participar en la relacin, es decir, aquella que no puede ser unvocamente identificada solamente por sus atributos. Una entidad fuerte (tambin conocida como entidad regular) es aquella que s puede ser identificada unvocamente. En los casos en que se requiera, se puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad dbil para que esta ltima se pueda identificar.
Las entidades dbiles se representan mediante un doble rectngulo, es decir, un rectngulo con doble lnea.
93
94
El tipo de cardinalidad se representa mediante una etiqueta en el exterior de la relacin, respectivamente: "1:1", "1:N" y "N:M", aunque la notacin depende del lenguaje utilizado, la que ms se usa actualmente es el unificado. Otra forma de expresar la cardinalidad es situando un smbolo cerca de la lnea que conecta una entidad con una relacin:
"0" si cada instancia de la entidad no est obligada a participar en la relacin. "1" si toda instancia de la entidad est obligada a participar en la relacin y, adems, solamente participa una vez. "N" , "M", "*" si cada instancia de la entidad no est obligada a participar en la relacin y puede hacerlo cualquier nmero de veces.
95
Cada esposo (entidad) est casado (relacin) con una nica esposa (entidad) y viceversa. Es una relacin 1:1.
Una factura (entidad) se emite (relacin) a una persona (entidad) y slo una, pero una persona puede tener varias facturas emitidas a su nombre. Todas las facturas se emiten a nombre de alguien. Es una relacin 1:N.
Un cliente (entidad) puede comprar (relacin) varios artculos (entidad) y un artculo puede ser comprado por varios clientes distintos. Es una relacin N:M.
96
97
Preguntas???
Herencia o Generalizacin
99
Herencia o Generalizacin
Ejemplo:
Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos semejantes de No_Cta y Saldo, aunque adems de estos dos atributos, Cta_Ahorro tiene el atributo Tasa_Interes y Cta_Cheques el atributo Saldo_Deudor. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en ambas entidades.
100
Herencia o Generalizacin
La entidad Cta_Ahorro hereda de la entidad CUENTA los atributos No_Cta y saldo, adems del atributo de TasaInteres, de forma semejante Cta_cheque tiene los atributos de No_Cta, Saldo y SaldoDeudor.
Como podemos observar la Generalizacin o Herencia trata de eliminar la redundancia (repeticin) de atributos, al englobar los atributos semejantes. La entidad(es) de bajo nivel cuentan (heredan) todos los atributos correspondientes.
101
Preguntas???
Fin Clase # 3
Introduccin
En este modulo se representar el modelo relacional, que es el modelo lgico en el que se basan la mayora de los SGBD comerciales en uso hoy en da. En primer lugar, trataremos la descripcin de los principios bsicos del modelo relacional, la estructura de datos relacionales y las reglas de integridad. Adems de ver un poco lo que es el lgebra relacional, el cual es un conjunto de operaciones para manipular la estructura de datos relacionales y especificar consultas de datos.
105
Modelo Relacional
El modelo relacional para la gestin de una BD, es un modelo de datos basado en la lgica de predicado y en la teora de conjuntos. Es el modelo ms utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, su idea fundamental es el uso de relaciones. Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados tuplas. Pese a que sta es la teora de las bases de datos relacionales, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar, ya que se piensa en cada relacin como si fuese una tabla que est compuestas por registros (cada fila de la tabla sera un registro o tupla), y columnas (tambin llamadas campos).
106
Modelo Relacional
El hecho de que el modelo relacional est basado en la teora de las matemticas es lo que lo hace tan seguro y robusto. Al mismo tiempo, estas ramas de las matemticas proporcionan los elementos bsicos necesarios para crear una base de datos relacional con una buena estructura y proporcionan las lneas que se utilizan para formular buenas metodologas de diseo. El organizar todos los elementos para conseguir un resultado deseado es lo que se denomina diseo.
107
Modelo Relacional
El modelo relacional representa la segunda generacin de los SGBD. En l, todos los datos estn estructurados a nivel lgico como tablas formadas por filas y columnas, aunque a nivel fsico pueden tener una estructura completamente distinta.
Un punto fuerte del modelo relacional es la sencillez de su estructura lgica. Pero detrs de esa simple estructura hay un fundamento terico importante del que carecen los SGBD de la primera generacin, lo que constituye otro punto a su favor. Dada la popularidad del modelo relacional, muchos SGBD de la primera generacin se han modificado para proporcionar una interfaz de usuario relacional, con independencia del modelo lgico que soportan (de red o jerrquico). Por ejemplo, el sistema de red IDMS ha evolucionado a IDMS/R e IDMS/SQL, ofreciendo una visin relacional de los datos.
108
Modelo Relacional
En los ltimos aos, se han propuesto algunas extensiones al modelo relacional para capturar mejor el significado de los datos, para disponer de los conceptos de la orientacin a objetos y para disponer de capacidad deductiva. El modelo relacional como todo modelo de datos, tiene que ver con tres aspectos de los datos:
109
Una relacin es una tabla con columnas y filas. Un SGBD slo necesita que el usuario pueda percibir la base de datos como un conjunto de tablas. Esta percepcin slo se aplica a la estructura lgica de la base de datos (en el nivel externo y conceptual de la arquitectura de tres niveles ANSI-SPARC). No se aplica a la estructura fsica de la base de datos, solo que si se puede implementar con distintas estructuras de almacenamiento.
110
Cada relacin tiene un nombre y ste es distinto del nombre de todas las dems. Los valores de los atributos son atmicos: en cada tupla, cada atributo toma un solo valor. Se dice que las relaciones estn normalizadas. No hay dos atributos que se llamen igual. El orden de los atributos no importa: los atributos no estn ordenados. Cada tupla es distinta de las dems: no hay tuplas duplicadas. El orden de las tuplas no importa: las tuplas no estn ordenadas.
111
Relaciones base = Son relaciones reales que tienen nombre y forman parte directa de la base de datos almacenada (son autnomas). Vistas = Tambin denominadas relaciones virtuales, son relaciones con nombre y derivadas: se representan mediante su definicin en trminos de otras relaciones con nombre, no poseen datos almacenados propios. Instantneas = Son relaciones con nombre y derivadas. Pero a diferencia de las vistas, son reales, no virtuales: estn representadas no slo por su definicin en trminos de otras relaciones con nombre, sino tambin por sus propios datos almacenados. Son relaciones de slo de lectura y se refrescan peridicamente.
112
Resultados Intermedios = Son las relaciones que contienen los resultados de las
subconsultas. Normalmente no tienen nombre y tampoco persisten en la base de datos.
Resultados Temporales = Son relaciones con nombre, similares a las relaciones base
o a las instantneas, pero la diferencia es que se destruyen automticamente en algn momento apropiado.
113
Un atributo es el nombre de una columna de una relacin. En el modelo relacional, las relaciones se utilizan para almacenar informacin sobre los objetos que se representan en la base de datos. Una relacin se representa grficamente como una tabla bidimensional en la que las filas corresponden a registros individuales y las columnas corresponden a los campos o atributos de esos registros. Los atributos pueden aparecer en la relacin en cualquier orden.
114
Por ejemplo:
La informacin de las oficinas de la empresa inmobiliaria se representa mediante la relacin OFICINA, que tiene columnas para los atributos Onum (nmero de oficina), Calle, Area, Poblacin, Telfono y Fax. La informacin sobre la plantilla se representa mediante la relacin PLANTILLA, que tiene columnas para los atributos Enum (nmero de empleado), Nombre, Apellido, Direccin, Telfono, Puesto, Fecha_nac, Salario, DNI, Onum (nmero de la oficina a la que pertenece el empleado). A continuacin se muestra una instancia de la relacin OFICINA y una instancia de la relacin PLANTILLA.
115
116
Como se pudimos observar, cada columna contiene valores de un solo atributo. En especfico, lo vemos por ejemplo con la columna Onum de la relacin planilla, en la cual slo contiene nmeros de oficinas que existen.
117
Un dominio es el conjunto de valores legales de uno o varios atributos. Los dominios constituyen una poderosa caracterstica del modelo relacional. Cada atributo de una base de datos relacional se define sobre un dominio, pudiendo haber varios atributos definidos sobre el mismo dominio.
La siguiente tabla muestra los dominios de los atributos de la relacin OFICINA. Ntese que en esta relacin hay dos atributos que estn definidos sobre el mismo dominio, Telfono y Fax.
118
119
El concepto de dominio es importante porque permite que el usuario defina, en un lugar comn, el significado y la fuente de los valores que los atributos pueden tomar. Esto hace que haya ms informacin disponible para el sistema cuando ste va a ejecutar una operacin relacional, de modo que las operaciones que son semnticamente incorrectas, se pueden evitar. Por ejemplo:
No tiene sentido comparar el nombre de una calle con un nmero de telfono, aunque los dos atributos sean cadenas de caracteres. Sin embargo, el monto mensual del alquiler de un inmueble no estar definido sobre el mismo dominio que el nmero de meses que dura el alquiler, pero s tiene sentido multiplicar los valores de ambos dominios para averiguar el monto total al que del alquiler.
120
Una tupla es una fila de una relacin. Los elementos de una relacin son las tuplas o filas de la tabla. En la relacin OFICINA, cada tupla tiene seis valores, uno para cada atributo. Las tuplas de una relacin no siguen ningn orden.
El grado de una relacin es el nmero de atributos que contiene. La relacin OFICINA es de grado seis porque tiene seis atributos. Esto quiere decir que cada fila de la tabla es una tupla con seis valores. El grado de una relacin no cambia con frecuencia.
121
La cardinalidad de una relacin es el nmero de tuplas que contiene. Debido a que en las relaciones se van insertando y borrando tuplas a menudo, la cardinalidad de las mismas vara constantemente.
122
Preguntas???
Relaciones N-arias
Las relaciones se clasifican segn el nmero de conjuntos en el producto cartesiano; en otras palabras, el nmero de trminos en la expresin:
relacin unaria: R(x). relacin binaria: R(x, y). relacin ternaria: R(x, y, z). relacin cuaternaria: R(x, y, z, t).
Las relaciones con ms de 4 trminos generalmente se llaman relaciones de n-arias. Por ejemplo: "una relacin 5-aria.
124
Relaciones N-arias
Una relacin n-aria (R) es una generalizacin de la relacin Binaria, donde R est formada por una tupla de n trminos (+ de 5). Relaciones Binarias por ejemplo son "=" y "<" que ocurren en proposiciones tales como "5 < 6" o "2 + 2 = 4".
125
Relaciones N-arias
Ejemplo:
La siguiente relacin, definida sobre el conjunto N de los nmeros naturales, es n-aria, pues posee n trminos.
La relacin dice que cada uno de los trminos es mayor que el anterior. El valor de n es un parmetro fijo, que se puede explicitar, o bien dejar como genrico, para describir un caso general.
126
Preguntas???
Modelo Relacional
A travs de esta grfica se escenifican los componentes bsicos de un MR. Los aspectos ms importantes que se formalizan en este son: la definicin de la estructura, el control de integridad y la manipulacin de los datos.
128
Modelo Relacional
A travs de esta grfica se escenifican los componentes bsicos de un MR. Los aspectos ms importantes que se formalizan en este son: la definicin de la estructura, el control de integridad y la manipulacin de los datos.
Un Esquema Relacional: Est compuesto por un nombre de relacin R, y una lista de atributos A1,A2,...,An, de tal forma que se puede denotar como R(A1,A2,...,An). Ejemplo: R= PERSONA Atributos: Cedula, Nombre, Ubicacin, Ciudad PERSONA(Cedula, Nombre, Ubicacin, Ciudad)
Cada atributo Ai es el nombre de un papel desempeado por algn dominio D, denotado por D(Ai), en el esquema R.
129
Modelo Relacional
El nmero de atributos n, del esquema de relacin se denomina grado de una relacin y el nmero de tuplas es la cardinalidad. Una relacin r, del esquema de relacin R, es el conjunto de n-tuplas r = {t1,t2, ..., tn}. Cada n-tupla t, es una lista ordenada de n valores, donde cada uno de estos es un elemento del dominio de D(Ai), o bien un valor nulo.
130
Las restricciones se interpretan como una condicin que debe ser cumplida por una relacin especfica. Se tienen los siguientes tipos de restricciones:
Restriccin de Clave: Se especifican las claves o llaves de cada esquema de relacin; estos valores deben ser nicos para cada tupla en cualquier caso de ese esquema de relacin.
Ejemplo:
Para el esquema de relacin PERSONA la restriccin por clave est dada por el atributo Cedula. En otros esquemas puede darse por la concatenacin de varios atributos o llaves.
131
Restriccin de Integridad de Entidades: Establece que ningn valor de clave o llave primaria puede ser nulo, ya que el valor de nulo no podra identificar una tupla y menos como nica.
En otras palabras, los atributos que pertenezcan a la clave primaria deben tener valores diferentes a nulo.
Restricciones de Integridad Referencial: Se especifica entre dos relaciones y sirve para mantener la consistencia entre tuplas de las dos relaciones.
En otras palabras, una tupla de una relacin que haga referencia a otra relacin debe referirse a una tupla existente en esa relacin.
Esta restriccin permite el manejo de clave ajena(externa) o fornea , entendiendo a estas como claves heredadas de otra entidad pero que no forman parte de la clave primaria, por esto permite el manejo de valores nulos.
132
Preguntas???
Paso 1 = Mapeo de Relaciones 1:1: Se destruye la relacin y la llave primaria de una de las entidades pasa a la otra como llave fornea. Los atributos de la relacin, si existen, se van hacia la entidad donde qued la llave fornea. Para efectos de la explicacin supongamos que se presenta otra relacin entre proyecto y empleado, dada por la relacin de que un empleado dirige solo un proyecto. Esta porcin del diagrama quedara as:
134
En la grfica se aprecia la forma en que se representan las entidades, las relaciones, los atributos y la cardinalidad de las relaciones.
Como ejercicio vamos clasificar e identificar las entidades y los atributos. Expresar con sus palabras las relaciones e identificar la cardinalidad, expresando su significado.
135
136
Paso 2 = Mapeo de Relaciones 1:n: Se destruye la relacin y la llave primaria de la entidad en uno, esta pasa como llave fornea a la entidad en n.
Los atributos de la relacin, si existen, pasan a la entidad en n. Al final de la lnea de la entidad en n se coloca un tridente o "pata de gallina". Para el ejemplo sera:
137
Paso 3 = Mapeo de Relaciones n:n: Se destruye la relacin reemplazndola por una entidad. Las llaves primarias de las entidades relacionadas van como llaves forneas a la nueva entidad y pasan a componer la llave primaria.
Los atributos de la relacin si existen, sern atributos de la nueva entidad. Se coloca un tridente o pata de gallina a ambos lados de la nueva entidad. Para el caso analizado:
138
Preguntas???
Para definir como podemos pasar de un modelo E-R a un modelo Relacional, debemos tener muy claro que se deben cumplir ciertas caractersticas fundamentales, las cuales son:
140
Ahora te preguntaras cmo se representan las relaciones entre las entidades en este modelo? 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 relacin. Tomando en cuenta que la llave primaria del empleado es su RFC, y la llave primaria del articulo es la Clave.
141
2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.
142
143
144
Preguntas???
Fin Clase # 4